/**
* X3DOM 1.8.3-dev
* Build : 7430
* Revision: 88dd0f22972cc621553179878802f9615889133c
* Date: Mon Feb 13 11:33:13 2023 -0500
*/
var x3dom={canvases:[],x3dNS:"http://www.web3d.org/specifications/x3d-namespace",x3dextNS:"http://philip.html5.org/x3d/ext",xsltNS:"http://www.w3.org/1999/XSL/x3dom.Transform",xhtmlNS:"http://www.w3.org/1999/xhtml"};function defineClass(e,t,i){if(e){function n(){}n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t,t.superClass=e}if(i)for(var _ in i)t.prototype[_]=i[_];return t}function array_to_object(e){for(var t={},i=0;i<e.length;i++)t[e[i]]="";return t}x3dom.about={version:"1.8.3-dev",build:"7430",revision:"88dd0f22972cc621553179878802f9615889133c",date:"Mon Feb 13 11:33:13 2023 -0500"},x3dom.nodeTypes={},x3dom.nodeTypesLC={},x3dom.components={},x3dom.geoCache=[],x3dom.BUFFER_IDX={INDEX:0,POSITION:1,NORMAL:2,TEXCOORD:3,TEXCOORD_0:3,COLOR:4,COLOR_0:4,ID:5,TANGENT:6,BITANGENT:7,TEXCOORD_1:8},x3dom.BRDF_LUT="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAMAdJREFUeNrsXduWIruOlGjOzP8/zdceNA+QmbZ19yVJKFh79a6ChKqCkBQRkm38v/8QABBA++/zf+JD2r8k35/4lqIXd1zA/yj7i/ij7rP67jy+psRP77vszG87Lph4T3PnHYEIAAGe/x43BCAoH9L+bZ4i/jwMfotAAEjqxfx+7QL5pvyGAP6vHbxSfFb8TuPXDl6fe0O6bvYH+lm3OwDxP+b1L1ZYtN+O4ykAREJ45MKA5Efj8aB+UcTYCKTc546C3gzd6ZhLfVjfdLvjRj1Q/Ds3uPjpX/m0moujb7SZ8zrTfwBP9iu7d/b9PtFXiBXY8Ye+6eaW/IMCyRndKwUqO5KekgsDPCTBtPSfp0PjibwbakJgZCjc75aoAOBmd6yIjV8E2FN6wkD6vAfTf/X0us7YL5hK/30EabqM+Zo8Pfd1ysteGkAEdIt1swTLgcG4UDoMMMrXc+nffM86IuHMm1uQfyGRqQBIouKUEx7KesBiR5hzdWxNnAN3UDzob3b8p0RKQfeLrJC5XxAS4ueWveyO8AKXQVcqrOspUw2MsKtja+Jp7F/SG81veBqkOl+ECaS/kK0X2qANw7GKAABKesCRyJKrk9XEWfsyl85jkFpI7rOv6eHuL/g8HaS/ubNygUqGYxUB6SVdXqSx+WAYpOhQVteKxS0eCRFet4TefEjujfyaEeoyAvewC1TD1BLHUrSArSX0LO6GgUuHhtJ/GaUgx/ZFbsHu+9/RuINFoHKBIvalKB/99O+J2mD55pR9PP2DWWemOKFrQ+hKemB1VI5zHqECNIiJ6IHyymZ6x30WgN+I9dN211RPoqtlomoEaktgem4d6Phps1jQINz5nS0FEh1P3yE1ZbE8DTE+8DNgj4ZgnfycO1L+YPUImrmfGxIj7mfwzpYCiY5nX5vMLgKaNZRj7fsVU9N/pJEXB/ofmbqZImqny1w3BhQKVDqe0nyy2yazGVHjO6VYUMeL9KT/OkovzX8WFIHmld6rtEcaXu7Tj3Foi7dguk0WGhbSraF0WQh3ynoiIdAmO0f++q92JVNoYhFYFwN3ROIDYeJcWkO4I1c66V+hsClCb9SBCenffAuz4D5pyP6UGOhmL1erA3cEEr1/UJpfEZnrzlbYTCbO5u06MCf91y++qBM8ORjyYHSf0YfvuUogHgMQt0FfFKhe+KIGA/p6wPBSfSibxk4oNsw6MLq2K7kk5a+tR5lo7AzGgHEn8DXBoLSBNTIQbZMxWRxcRSDO6CcaXoGJhr61XWVUD/KfKxqTa2rCXLtzPAYsFwikHCy3ycB3SJufxhFg1IG4uanWAVDdm9GVK4Hx6bVKdwaET2tmnW/sBOnQ8/6jDwDS5KbjkJI/xalxodDq9QAdsrvF9sxF/+B+QQXH+c/C4rBYmZ7Qqc3GACTvF/oA4K1isWWxyoUgP8gZpkNqSIy5+FZUrNlh5Qtcy7md2j5YazHDrxf6AM38fYcsttwhmrBkMWIQiXVgSvofzK9n7zjyjs7AxE7t3FLAr69EMOj4TsliSxjEhswm1gGAznnJ0KCOwoWm7AQxLTwQgE71MVNRMSUGIM+IYG+EacxE4+IRWawVAU5LosMO4O/gYN2pW0OjwPUk+yX4j4SdiVAeIUJTRG1HeMCxHkBKsVoODspiZxJOn97p3sFBxHGbrcGSBCNffwYdOlfprmMy2fuNhzYKtBn2YEytgWqq2Du6qePQ5ghQig7FHdK+9e8hKAeI1jshHgPyCT4m5lP4xJQP9aP359cYyMoa/mzZ4PSAPYUanJiIe/waUueQoiuNjgr4YHe9y8ecldpTWBefWItgPStr7EWbbLM3eRYlQYIOJeuA28zqWIAyzoWm859Q7zbw6w16OOendluFORpA6AN4qtddzKUNURvEye55RWRxpA5oBk7WCApyoSuq4V65ssLZnMvmIykfon0AXfVCYfvY7qfdA6b6LylfMCQG2Pva0+tFNYRGqfyw+270vD/Cs4dwP2uEzXeTHygpENW/BG6ywO/doi+LxXk4FaAYGuDh6bZ/B8LAUEPnQ2vU9hwX30N9Kn7Hzc1uQPdlfWaD5l2XlCzevwmN9Gxdm4TFqdSBxL77kBCviYcCA+FvY0fF77aoHdvn5Xez+b5IuCMS2JkeR2UxxVwmg5n4bk+YzGR7um/hQleeHTpBuXaHQZb/FDboxoSCxwoZF1jUJbyRSdm0iro9Sjc68bW5gWk2GAa3spvMecR7uopAx/3TmU+Q3kQuKGzQ7eMX9EDhoGFggNmhTBD1fLR5ZutZNfMebOhO4y3DJ3y9awExnihbB1N+POu3LhAERm6ie1HpFwQbuoI7lPE6I32uoInZf8hf+LSbcwjPyQ3akYdGMnqqLFQuEBRpHlyyHpHFEHWHBMTH2Lnb59LqQKgUTG3oTvRG36KGu2NgJN+PpPzgNSA2wg62ow/qaIXCjZNIPVHZOYQvDidyI4pse3TkBFjIdN86wq+nOzsWAyt8GwgtjM2VBfHKdkmk6EiqjQJ3fs51h2pkOwDN9q3MiQxfznad++2zrNjpyydQ/WxB6iM2S12dbMrn8dCuB4AU6XedzYA7xPU3/01AmoQL1QGQV8MEywJ46547w8NrYL9BFgeKwAiDn+jqDKZ8QQTjpgNaIrTLUMO3Maeag+5QDtkd8wtdkgC8tT4d1eAt3mi0CIRjYApveVfKB74ksoSp2AoINQp08wdMd6iJJaBY0ypr+SclgVsKAIZ3ibuGJu4QuIOcZ6LY7Uj5zfX1KMSW7CFAVHih2OErCwOvA9AkeJECgb60JeLtGHwm62N2SNXIFkNLLVEf6/UVgyjHDBxn5XvQd6mRKZAwDKcAfVajwF3hDjodAqVL4EcLqwOQQn+NiAj6ozs6Xr4OwIwwWEdp4qOs4vsvu0AgAX1KowCCC4JrxgVd+zKodSO2WEfGcYwLnTbMPAvoYA6K4hitT0VC6spsvhf6AE8vU/Ze9F5VX6MAUguCixlSyHQJQkS/q907iwulBPGZm5DaMQAzwqAvEqbke1AXxSsuEBRADzYK0iYpKZpboUOQlLkW1Ylt7WhAlpSKHFmnLw5On1MlzlG3Hcm7L99nWxmCDQqKCyRyHrtRAMr8HOR3ebDpUFYWy4ERntcHs1WcRf+VTSEILB2eGwaD4LYPQ3Fv9SyQ5AKJnCfbKNA6yhpfgjAdgkG7k0WX+Fwwd7nLoj9+HtlbigDEls9Pd2+WPl0NgGoaVLdW7OVa4Gpfl+1IezC2+EZrrgH0OgBuqyusiUGa7SE9geF0bJ5YB2aZmCegufs9O2xQzQVqc7bRL9uWEUNg7EcIA4lNAbvGlcVQV4yovwl+KZDvUWZ7Utumu8elTVS6iUArxr0m+jaD1k13sie5AiCVxAbqtgiS4r4XcGlrhdFGMAsFKLNx7fsbk8XcITW4U7e9o3EhGATuQB1YsatPH7JpHoinFEVUK4DE77VSYHAeCM76m+6QyMEEkgPt0IRdMaIUX6E0vuHj7YvYERWX2lV3UNTSAuxOiZNiFMIOAz08IqI51UbgvlOcDgmMSK8DcjAwSkOKYce5ENC80/LOOu0UkjugTMnutPLPSQdA9Yaj0xAAj/NAeI8TS1KD3LI16JBtj4p1AAIjD5By+qXZHujeYaU3BiYO+msP4xiUp2uA7pu8JBJADwPR9VeYkmaDNu4QgKOMwaRDXL/KoQKW6w9MPwCFEn+HhE2UhcsYo9fhOdmbXfaPUYjWCyrIX/WQDmjOlFyHxx5BBWl/RZmd6znbdv2tHB+z+UFZkQxeQ75jd62lgLaSenhr9Sskdfe3asehgdEbkAb0K5sIQyUiKprdRWF1UZK1AcvZsjI2M3QLTXPkwRK1+nLK8VR3wi4SS42XS4VHQYFQxro6KRS4v3vIVAwDkQ5xWdxRB4xSAOGRB9FQSkFfveasImBxmwVk7Arjse2+QAB6GIiTQub92SHTRvi60zsgcf2OOuAkeO9igwsZfeJcXu89oX4FUi+4t8tQBRDYvxgGhV42+mIgrRGzPaVoUDFxAp4stug+ayb00XqH0MdOIQilw/x205OztvTOXz8e0KkASKWBI4pgw5apwoPd7w6ZWoJBCipg202DJ4st6RzI7uUfyD9tiihdc0+4HBPII/oEG+n6Z4D7FIhPfZRsnmNdS/kQGJ2whQQq3o5gt0lNAOjg+kp2d1kNxJu+kh6As1a6zIwB/B4ChC0Fqr38yvBRGJEA98DoRERIiN6OAXFQDOko148JVjHwohk9owcs9L9DEH8ElPsrQLM5TJwRlaMQEB6d6AkPxQN1ZbFooaZiybBHU2SGzMjJKYT3xsCJvblTKBBbEwwMwSIjErEL5UhF12SRWyVkh86FuDfdAMoBTWBakxEyY3ij/eL4M+sAXu/n3kuG0WR30LpjXARr2K0XDYM7cWSEB2v3gpSVyXDuItMNYYoPXkZXX8SDYVQh9MbALOvmUtq3+5epG2F6GDSsQywFMna1UpCcOAL2asIHiepDYh3Q4gQlgMhPQfXK7glefB9iousbzy0luPI1722bT+f6bWoUw4AFjI1py2wFVf5SvYslSIxfpfJ6HQBlvt/5GFBwDty339Abb+Q0b0/qePqr3Xe0IqPUwDZPdRmRSGPAG52wTFJtdk2iQ6D3blN1wAiVSOUJMXucN21Db4IqfRjWfQ0ghkGEEQEwYeBJiJCpKr24C1CxlAmPgjzkA6Zm7WP2dAEi8UcyevYVBA0QCQMkwY4US0F8pMI1SWUuxKqAQWNA2Y4KTLeHKPYZKGXHpU/fVATwMnAPPp1tiyJuEs/XBogJXsrWqtgVA8Y0SdVFwEqfNZLpQd/TAerqFFKxqMoP+MoYmI17PPGJ2GiAhr0MMaLgZJEYMLpJymU3KEfeAlfGpL9fbqHQJUeHyxmBL83OptfE/flw79EAPYyo7hCDO1lEEJ1IBd2qr8Op/ePRcjZDete8pjsGtI3505/9+iIwvlDhNMTHr69mgQTzR7szyIjEySKd/YOyAobne9TYtrEUK1YHLAYf7mHFkYHvg+O7dOeKJ3ZHiDALpFGd6k7tMuptIOiKWagPEtumiDhz6wB4aR7lImNH1FIev4gpnQ99fEeE3J+5lHOYHQokKTzSLlOeKIcBObC2oqgOJBd8RnjYJF4g/bhyXxsaQ9v59vyYF7QO9DkXSJSzArEJJ34xqCKuEXhzFqIkEJBalxLUH7KDZGgWbYYg/ghVmno6rnnlvti4N+ILuY7ksWEm/khgGK4RGNsBoWUBYZaxhCVBUFGsSJA9KDyXSi1i6njWC975/r8o2imS1SMi3uFIumsEZoOZ6wdgQ3LiB49d5z7bEM/xjbwYGDxKHrtWTvZfH/hx+A7ch88HkGZksYbaolJgcyTQesBaB5fd739CykNRiC+LARielsPPuRjPfamKAlUcgfFmIbPybB2RCvHAIIvh8KIBwbm0rjpgPErBEJpnCmES/vEysgL9sy5bHRuv8wFI0YjqyA1XCxhzjcizfQINOJv9U8fZ5/kY6HE8OwYlrsSkz7zstPh5USBN+1YI5jkJWQyES4EYXSiBOH5nxZFAn1ugOTEw2cHMvGa8IY0r02fHz5oCfZz3FxXbo3PSz7M4ClIBQA4DUjIfSRyX+CwA+31U9m84oSms98ZAQhMHTl8cun4lVlZfc86vio4LJLEdTenailksBRqtiiNeZv/a1Kc2Y4Nn14HUMoBpJCeQmN8Cu9QFS3+BdlE8mWEgWkCVYg4/RaRVTQeA6zltfI0M4ThQB1bN24QVKgZ+4mAMDGLXDexpr7/m6ffm067EQFD7lpgWn0KybaIpbI1WtYgXkYqyNSSrWCMGIKqYO92ejCDGwRiAVQGwFJ3nVJW75L3XH3+M8FiY1sWxpgFA3ASFI17XLRjEtJG3hl2jifbiGzkGvgPfpz16Vw8B9MLAuEB2jXRxDGx1vAZloVyANMmcgXuqVYzJGLA+mNSUxAibH2BBK9L/W2IV1D4AL+cBlKNGu5sLXEYk8h9TaYCijIWkK82EynDvA7qd6QcEMa5RtHhiAJyM/u63JUCBlDA4crl4vRckbRiQqXpR4DntHlgBZONAHYijPG74YJd27Pmwe4sAnhVO57/m86G7uq4kS4p6gwR0vlSpXuUVWmSDpRziOsGlK0GUR+bSMN7wCqiLuQ/hKWF2fuIHcVG8pl9HwsCylZo+cRDi5HF9/jGkaE/WMnLf65gmjkKtOwZMdK6+/7TIzL5m1QeglAK2SY5N63UHCVC1WW18O75nvA5497v1oZuiZD/v1Rn9veg/RwofIphcFsS+pdml4AgYCMWMJgnUGAA/MNDGdLZudJlCGJbOWYqC9IYA6MDraYzoDkg0zPUhjGwycKxLYVDazG5UhJxQPd9jRp5i19KC8ZS8Ltn3vHJyBRxOwnH3s+4UFMFj6b+KgdiVgir1QE+uYtE+JG0BMYbvjPDs/DgdxnCGJwbACbzoTL50lzaw9b+lJO45lNVS4KZ2jArlbHHA2J0YM4U6SUg8BvrAmilr41Fx2YBRbNBAGFAv7kdLgf1tng7ZHTEMeKYY2H1oIT8JhMoKWL9LLUx3iiQbVDtUmmK4B+lgo1mlIGZMWfjurQPoiVEMUOFoidAKUW8dwKmvv45uwbldZxRsUAYvCoI7kv7NUjCU++PfBu0j3Wm1gZ6Ao2v4hNcZI00IiSvXikWmEHIbFNwuWDAMhkMC5oYEpCsDmtICTbCG6kMvTCNXdpaFCwfAUlPoTkhZ/ycdBjbWx7SE8S2GK0Mw4xpYR685gFkGrxhKCSkyzII6YZ1vOb9xVPsurTPXv+3I5YPhEX+oXBIZsJKMxhmaHqiB9RxHChCYWRl9YhWa/tz3UqM7pCoA6lIhgG+0wyOIewPHtkNqz2sEFILBhbAXfNiVSkP65EQW9JYAmBIbVgUgCOds9zIWKjjGlJBmgD48aGQQGLSjxQZojOdEwJR+kQB3mh4Apxmj8ddMaoA+vEpflycHp8oCBioGdtmjGKgMGCgOCJmiYWtl3TON1IrxsnCOhp4eG10uUFwDzPua3FLA5+TM3I9JphS6XpO/ItwzBCkE0GAMTCkLU6MC3jpkColG2HgF6Pi6KAUYKx2YLwsaU0J3JC7AhXJw1wiSRqgmCQbrnoB4WKR63+4RHQFw7Aw6owKgB/fj63K8IvBERHN8mgJ8RqkDGNAPOfmriwE1BmyUhyPkVwSyj97103d7sjvxkIiVAtLojac6gkDnayblgQWvUKASFWJlmBIbg9/CR/XO4JTFBtDaoPYs0BjJqfa+FbN7ETzo1g27LMSArj4rzIWQHCKk3hmuGwZNMlhWUC1MCZLviIE76bNAEbijwVsUGxRRDRhq8GrGA9rx0EBKgnWU6ihkSQSoCM34lVPU82nU6OTAWMGF6vUABhfiX7MEf0hSsywQVwt1kGBANkRCEc3wQH0gz54dMICCMcKj1gQ7NgZoknqPubDmy2JAvEDZFiXChQxzU8SlpBYSBSTiCJGX+1kdwGDF4PhT2gVoWqXBwOivA33TqZesA7BgdIJfwxphWRkgGjhSiUBFIWDszlQ8oEFyFKvHAJOxHiAkBlLFQUHwirGL1YIY3jcmHS8FhQh2+Y/B7EUzVCkLzaNiKaBGKrh0SMn9/tecC5HOfCIWEI+BmBoO1QFPP9gPrSsLl5W5vg1KcRu0uB9NUlQd/qU8isGsH0z/ZUfMqwOoyNwITdLcGEf7Fi/iB4bImuJfe+vlL7uqZrXlb4pgrnTBGWEAN/HXA3Aq4pWsT8R2gsBMly1TBxLhYRcQE8GpL1wTaRYv6sb3BUegOx5VOsH619id+HdNrJcCkp7YxoMOd2x+AVJNTxmpnlQYigFPDXeaql8aAzDc4cosiMkIX1IkASqJv6ElxEhLUwpKoMtKQOs089Re21BIFtDtzlRq1CdI8UckgdtTy64Q6GYvOCOvvysMChcoXAQQ5QtKUoQ1ESL2RKr5ukp+eAwkdQKyIBRJP2rxoF3m6VH5gqQSUCNKm7NY7xHBslloWDP67z66uUDVMSxWJMjsv/FwpLIghgGWiZ+TH1ZVUIM+7wx42gB1XiTA1GQ+cUfIevFBbXAiFxpc1w/L+lxdGsB2gQJsp0R8Ew+k3IMSI9ISP6HUTdPTPzIZYNQBzMaDIRvM3BxsGI9A/4IxcD4p6uoDuC6QXQS4umWh0ihgoso12ktBSABQJtOLEI9gPR4DWQM07hHF9In7c8+MAbjMqHNGA2RcoNYO4kWgRnYbBnaaV3hRhCC17N+2RPXc79YEx7bPGzgYiIpxXmQ9NHV98MlhEIyEGAXS0Y+iwa8UAarv2SsGsqgoS8FOdQzO416DXh2wuZCGxT5eZFuiMDIx0SsDpi8tOC0MphQEkwKZuZ+UvOsznzLl11Hxem5RCqgMhjoqIEWHlDrQjgxpuR+8YMjLWf/O7MTEjLHqifbopbJ+PBgyNqgJ+mDKbzI9NCSnDIb9M64viEAfxfQvwl3M/Z4Y8OFolog4U5rfIsiHBLx7hHMW1vUTYjwb1KD7otgFOjL6/i2x+5ErYAnrlftZl45UQVA3bVZyvy+IPfY/x9Lp9oimbuAF15tkHmRBCQ3QRkj5I5UuGEkXvI5I0kh/A26G9ZYOeZUBdVKEujAQxYAtlDGia/UpUZfxdwTVoi7BpUweHEj8jALZGoBdcOhdVijEIqDleFKCobm/GpdQKoMtA9wOGnr8R1YCnjCYZefbsuH8zgCcOPYzy/GURTCJfQAT9AL1B8n8aaKiJkL7o7SphQbllQaoE7/cEi5/pUAwIKkQ56YnatESEAaWbPW6BJCZfZjmir6JAk3HeuSyYk2wSISK+0kKjCrrb5xn/xZLoxMq9IulgOpHoagbtL0yRrDeZRnZBSEaA0bHoIvApJjMIAWCc+c9p3P6juCpKVCA/GhZ//BzoBC+LM2/mL0eDMe/hTawwB2IAXTTv14QUM/xIWpku0NroJxaYAnTpyFobWrHqSGxdYJN8iM6oVRXDBTdT2hJDtSJvMzuFcOpU75QH2IxgLFGgRMVGqAjitlN/4E2mQXlgTXEbxmIWIf1vp9rukD68wnaakAFKZKLAFToL1VBBXTOcCS4t7JYa4FJvhBqsxKxyiAHhlEHYqNE012dJUcWTBUDE+38/grwOineSP8c+vVDIuk/agIrAkcpAAH9PNmLVaKZIHK5kGyJSpDVugSi44kdyvhEZ/PkLRZP6FtNf+VKA4h+P2rdADHfVz6KUATEUnDgHiSqwwSx4IfqMYCiHoAQERLfOEMNq9XAtINsd+hquJ+e/nENyoPPkkQwqwTG65LIguocDzWsIY77/TIQ7pRVr9QxEPSAQoRsMeCr4aQd1NHZjcP3XbjHE7HeFw/l05U+gKEEGsSz65scDzWNYXAV2E7b/4Kj+cC1csggAkseoDQogZrbYw7SYdgOmrX4azXQ32uDToQ7dlYAqSHAXSCUtEETD1D7ntq/UJcFC/di/0siP/LaAGVWFO1qIBEVNFXBiDIOxUD+pNR1hwZo21MvyuuDFSBEgbJxVpmepSBuFC0I/0JdFoAZpvIzQbkTVCmMPP2DUA2y9ija1SOT/kV/8/zsvm5JwDlwR0bmcTwAkI0AkXmlcBwRV8BlB0BHv3oPKCHFq4Fcm/SQsP91G2crm8R9kF19cv24Elhh/2vXJAPAaBIzlq8GA1VKtG0LBNBv1o465eslQqsGnLVDV8PYrQPckgo2iadg+swDjt7ojc4OADApfo1CMc0TquSlVRw687Hs/xLTjdgFtRqgdiJGpBpkGFEHKQraoxMhPuUEu3NGncefOFkDaOlfrgY17QFkU9OlL+XWAZF4iaFSuorKrI5q1dtKQGkCRFjQii1PBvGdzegng36EKZFgg07FfQVCVgRAckXLqekG6JUfWpQaUpK9JkSw6QlA5YoiWcwkogpQ7zH3qOE1O8AtpDc0H/HjTr99fxEAkdSdvTXmKecsrHEGRRsB6soAzbAQqNRfJj/1L4Hkn6fdOJXojQxB2BcCZTVmqhQMiuNu4n6FWf9ZT1QqgGKcD0K/6QaU6wQEuBeVQaT+7WZB5MkAcYfnRisXuDTaAoO+kLHFUDYexhnRuodWMJ+5BYHaAHDhXp7l2A195qWWd4IYCSKb9ywgLR5ki10KEnT3CLJ9oUk9gaEwkNpkI7g8DfHjTa7IbyJUAOr+VaQmlwx9adkASN8CG4iIjANFY0DUwWCKYIjqgQ4vqD8e8vuhT4Tj3M06z+Q/LQUihfyQMh0J/vIBOeu3W+7WA9VQr7hHluxbI8htArgpsxAGqi9k20RZ9n9KKYA1s/vv4vrjNUGqALfXmmDyaA/EhuWcHykuHthfTdpXq0n8AE4TQF4GILmiSObyK00EKztBOCyoY2MVTyfA7O7YEDWnyfCdDnfLBSL3pK0I7qWMq27hXIhgkNYWNz+SlJCwNADIygEz8cBlq7tXSjD3h2akxw7Me72fM1z8cwTr+WXhTvuKsJgCPlZjZd+OhudIewo1/ma743QThYGBUM3xbBCj7scWWMgiGjvo1Q0V9L3by8Hipth0OJ5sd6oB8GAuEFcC2OiBOhgaHBpVoZmaRk15K0ctubsAWatkvHGJ0hL1DzKS2sBGZ2CWGIAZKwRg8VLGCz59gggGa7fc9F9C7IVC2/8HggH1BTHI6BAGTqV2UzIGUinapuqy4dCoDFi8kckb4R7YFsUVwdsrESlekLJ8lvTHQ22E3mDQlkTyIQjREhWYj0HKk/a/saoYxoaCYFJHrLMO0CVSe9fmuE8NYBzAKPEfLRhIX05OQbjrl2E4GHA3NGGoFJSEB/XTwZxI0PjSAP+B2c3gcTsIAzltqZ8zRwOQ6P9gfZiFJEFdDV0x/noNcSgqlMMn7WBAUJcEIFscg8rYXBCymgzotoMGhe/S/XzeOL8w96XudCMojsjQ0j8V+YwYdGjgHZFX1pN6RB9456XyL7DJ+nVgJzZX215E7A+ELFGvN3w2+59SCugSubzvBe+EdPSepDqAzPARcK9syBN6Z0rjv+wBl5ke2AllYpDY8bCnc0btsLlG+dqpA4FRuRW5f8oGJ7Ms0aXdqxW/Q9UHIPAsoHrzWpEUdfyKpN1fdgCUQ4udOxW3FJvQbRhR7HAKdRqCb69i7kWXmgmdboAuZf/X5P21BmhcIIUxU5EFX3cbW88y28SumdU6Hdb2OpYKkH+Id4QRlcUNFakDsaOtnd1Cpe6bhtEhCkRv6IKt6GTR6RHVukAEVieVH1pBKB0wEFtFgGKmB2UCFHS4d4dBaQoVvxWC5IrGuVBwJmLgnMmZdWBwGdfUEaBzoI+iC0QgEQaQFbDQ/bWPbpd+A95fg2IqjgZCAmHjOSh8YW2SlTy8ETNtAQg7nlMWhZ3UAbieEkhqgBsd3KNsBjNP0DikWqBD4u9Fer5uVoGJoFfDpYW+XQ2wzPpiN0BfjKvOBZkQH6RAsHICYhb0161foZVxdYhg4ohhAqDsc1mHtkvpH9kf0wKVbwax/0QonB+OeyhmhzKkCMVugNT/EtdPinyGd0VmzcCNoH/F9lUjoLxOPXmJ4KMCSJOV5cnV1eFFcfTv1qqOSQB5QxRBGUn3oBFkniQQw0DMvsi+iAsAF53zBQBN9fsHQHkFe3SsAkC9v+cWDx3odxxLFgNUDmyhWRpJFhlcEkTCAClGPML7BkzZJhrm9r9oDPr0kaDvrQD8+Lr6yF4EuD2f5aJ/DyotBkA/tgyU9M8iAUtJAHIrANmHhqSuCoj2AcwD9rJFoC8SYPZiSHxfsndt0/kVgGriW1WAmvY8q8GOvwfBra4DGvqNNS0gCYBgJBzA1QsCsAPi0dwgqFLGxo5DpthN7Qk3vfv7ESJ4nTwg/Sn3x+04I4zENbgS/9nZf6X5Gh+JJKJRGKkAiqNa62BoRu7YH4f1H9dm/ZgqQN4QkHx6DYuR5le2CPSZPx/n/5zAlKwjkp59gHYagg1Ocv5Tsf8CVQ+CG7WRR1C8TmA7HzWUiZ3XYgYDb3ghSDaozumD/gzE1DCYQ/+QCYl16I/inq6O+2gfgEqoFL5n0wFoKgCHflUEOO4pAXShFAQ5IBPEuIkBnvux+K8xLuXVYSYK4woy2wKbjv4LDkFcQgST2QEopyl36r9n01vTOd5wv08ZNf9i7F8Z6KhT5GaoAXV3SLSA2HmSNkCNVoCxK1a3+zlk+AxD/5tw34rgfQ6CmiEzKvZzplr17imfAAAehQVU4j6+l2Ekr6Mu/rkSEOSP+K2yHgBA2DNUHjuLnK43y/+hEPrFlb74g75YAY7cTK0MePmVBfkpK8CtJj9UU38j5avC13Z+gjeSHBg4rEwsOwOSUYN6SJTeaLN6OCUos7Ab9EZwAJ34ybhHzzA9KBDVew9Cc6xvLX9x07soSt69b1D8SwT4sGb1y33PSVsqmZKJxfoy1JZuspUAwgvqpifGFHCHBkjEEvVEmruXm7vj5WWhj+FIwMoFwkIHw5bR6xWuSC3zAYAHwo0AaPN/CqunSf90AySgh2L8o2KGdg9DkRQPCilCtJDkQjaS/iO+p5v+xYWawfiMw/SzJh2y5ZGqrRFvVCKVk5Vj9qFI/4fwpWpLFQIF+iXibwAPdicox+9J9xsGnLzlGypKWiwpmg7W/VC7CMQ/rXOOAsCvgP6s0/JaDXD0gwvyo6X/XfiWuZ+o4j8786kQfwN8tGmekA3/xJZOIqf+qKrqtg8Agg7ua8TaB7BiBvQ59NNfGfpfMg59BABTwK9ca6b/ffaBisCBWuk+mQ80YYB1SHDIRsY/NW9USu0I7cQoApuDYEemanUgWARScO+oA7Nyf3ab148GfR0Az10hip1riapzTp8BYKR/ourf44tHRYGarF9+y8HtLHwBITz8T1cnQuJgXGrUDDN2ZFxazEK/7SjgZeB4/g/aNEChgGnDRGuAbmtkm/T/ALgpiX+nQLAxn1IB70vAqlUvbJcUeRy6secjEHE3dYzr4LD7GUHtRPSvoz34RaAXKFAlghsLqI6BGxQDP2LiL0C/5/4D98+IaWwfEj58kvYLculQAiJKX0xsbEFgU1RV/ga2/oQxq74bQHgBXL7XQaoDgB8wuslZ3KjMYwuDp/v5jIQjAB4F6IvcX+KeNvZ/8H4Oeopt/WB4vCYVRpQaYfyJ3vEtEc6d9UBHZh84w5k/9kPfgHs9AGo9i4UGaLUvVbSHdpJTCIDXt4+6DuzBUKOAwNz0E6qFv4gSwzb7fihOB4G0HqAbhZjrLqVG3+ZQ/3cz/qsNRygBIPGfZ8d3b3tRnf5fvmdRAYA2oCuIL++vOsGBMBDn21Qb1FYCiokZFcHF2GzfmuAV9uXqY/C+APosAJomAFS5/yA/JJCfw/O5bU+vs/6L9jTf7l9gbVDWYYB8U2iOe7TqPrqfTOGKGppY7Z3NRUByqymcDbU/An0pAEDuAb9Gx+jA/e78EFSknxMe2n2iB0uJpGZLKhcf2tWAUyDqQb8K+phXA/ktISa0wLr3+qResNI3gN4LADgWNJZF4EB/k/tJhv4O+j39H5HAw0Acj9aOgQFhe4lqjx3wmwMGZRdXw3SI4O5MGV/5fsHbp0C/DQBBAW8B8BK+qKO/lrzP6kCPNv2/ug0ohQEq9UE7+xFixzCR7gKBPAc6KEa75W+niTk1JeOfwX0RAEivDM0DoGH/oKN/4z9PuJcV4FkQKnqzh0ED+uAKseYQbN0eFXtkfKGMOMODxoowVHdjHpmEC5Gf3p1of+jXA+AfqwClBdSwf3yZP3uENOh/8Z993nPDghwGDfQj8QCsU8GA2zGqjjNy+Yh78/ZFJ/jHcK9SIGrYP7TaF4oi8HgAaui/HdVgJzzUMB9eCqiOByUGWn0sDbSlabq0MqZsEcR7BRpQUpNwTcrv3vF87uj/FyAeOwLgtSCY4AYy86Gd6hTo37P+qxRsib/aX5O2e6i6BylWBzRFa7qithpGvYwM+j/dLhCk0D+pOn0T6I2/ogoA4v4P1MIXZPTDrXgUigpQZv2dDpVwL6OCXo+iXgGQrFNc+XnuQDn0Z72Xjq1QDHsRp0JwhXb/Gty3AfAobdDS/4HD+jy6Yxv6oYyKnfBsoKfS7akjgeoi8LyH9uOHXRZk7MUb6wygtjLmAwGBp6GfPhvragA8mj5AwXwe2xe3Iv0/4FjtRQXRf/0LB/pf8dBk+oYFlRkd/cO6q7+5tINI5jNNGGhzmhh2Y1IsqE/+4rIIjDunf6TncAQA1R0ALCgQNfynVAIb7WkrAFTor4gQ1iexamGAlv+DeltAZeropLTgid88eKZYRhN5/AUHga6G+yMA/nsTbNDD/YSa/Ijsf0v8bQWQ8n17PzFe4p31qxEh9Gj9oMWJfwMcfwf6sgvUBABAJX8fzwGhh5L+66z/+oKFBP+iTf/SWUYGEYr0ht872bto6/Dph/7iX4K+LIKxCAAh/Re4hwL6O+F5wb3kFw9WChoOYhQE4/gZJSRQapD1W9146gJwW3uMDCB9qJlzwq99f/yjB1Ui+LD/odK+Le8vsv6L9O9hwNI8oQR3VOx8+2yvsJXZw4WGtzDp6wBMWQ18/tafXxBvmwimgwId9j9UCyMfexGAog7AK/2XfEYgOTX0CaVIiBSBshXQrETxNnaekoZX6Nd1q4FntoHpq3BvBgBL/4+S/2wN4z33U/0uEbWYfu27yENCfGMxWgQwaMgofS6dl01OddONoGvi7FOnQV8uUB0APP03FOiA1KNoY+E26gzbRkPifyIGRUaE8k5VhgZwmQ+OLaG61kbhlzmk8ZOnQbcKAEUA7HtFvdL/Rvpb86c5EpIEhlPxfqj9UPsdnaEEctZ+hgX1yYAsO4o8hH8PtesDoCgCuIvg3QDdSH+T41/9AU0MgLTvZrAOBNbmvjeHjaNw2iAQjVL5PxU/mwu07WkOVCzfZRYQfwePQToGYmKnqlMzEBH5UOw5H3v8gaL2zjoc4DeC5ptKx/2/N6IyALYYeDYHKu0rkh/aeL844CkO/XMZoFGgSKZ3y0X8czUm/s0jU0+60Q/9iygQHcsAsNy5sJl/Lpyfg+5vtKf5r6XDfEkIFh+o2xwA1eX8iE/3gjuJ4w/9WgDcSmLTCIDN+TncT2LpHyXLHyQZgJlFGbQeMvRX0DBZV3xZAOxZtu0BF6T/+RWh6XXicfhkdQ9oB7lkZEBAGaPHcK7I2mk5vn/mjxIAsG0DsW+NVUw9EBXof0L/Vq1lUQc/QaBDBOZJLPHEHH60xw+dVXZWps+f2T9NBEPNf16zbUXn60j8BfRLqnP8B4XN3/Af5b2Ux4SSo/mrP+lZczXRIQj6ExB8dwX4R49HvYE9vtB/+D8I9NzZakP/EQM3tqkJKto3u09sN9BHisZAhMxHpyf3f/EwiQJtyeYGQE/0YzHz8zh0MBToVxc6gh4D7NMj6BrH0U+m+FCViX9Mel40AJ5YxNIFeobB45jwKT0fOQb4WS/NF31rq5I7M+c2hjgFf3jJ2PvLAqAKAISaxO8bnOzmD722PxEGnkEy9Wv0O4MymMfbKSMSkWDAzwHNjzXJLtDrRIkbIEJ5XkZ1dliNftIt/wM2UrKvJiri++/QepRfGzQ/7K4JAKTHDQDghi9z81giTLXrT2arC1tLlDp2QMYzTJ5O9NEPlF9MgZ6ew+3Ys/a16HEvBXyJo05aqGFEwDgShDfbd9G/ZvE7nhB4P417HQqECHSDx22rA0X6LxO/trMVRVhwatVJqg8wDlb8jZr9UfZ1fzwbYQjwb6sA9QKx47SLjuF+7b0csYOW8Zkf7P6oBqDbqwLQv+KcvMdB/ZtdPl+mTb3bM/0+zOv/6T/SpVWA2z+gfwD/XvznmALiEz6QP98Hp6LpHcMRPxR+cwWAGzz+AT5j4Hl7yBPOO/pFh4c6ZMBbNxzs2BTkR0u+LQDoRgRwuwHdNw+UXjM/RNW+bny68yUTxI0eapFwwaznD1DQZcLvV0lWV4AX/2nO/tWnO334hB+ibvh80Tbfv9s7AwAR6A7077VrOT3UBS6q3p27QdTv9hMt51Gg5y64/14BANvYc+X5iFResjIp/2a+PRB+kfjnK8A/uN0B/lUbPRCf75+BF/zzSPzF2+UqAN5fCvg4JFjr7zaLevuO/7wAdP4mCn+xJwfAUwHv6wD2ESDgQ84LWOLPzPih+d0B8J9XB0CWvyjrV+r6WOgzEfZD21eL4DvAv4r/0C9bf+jt9wmlA+BG9FTAj3JTON30/CXD3+2rAuBOcA8MNv9uv9tXBgDcCe7F9ugS+SWXF//C5qe2P7UC/E+5Ibr1BtDv/f3dvrAC/C8dO538UPnL1n8wAMiF/q8F9SE3+r3BPRrgd/vd/m4A/CP475vOU/7dfrf3i+DXaXi/2+/2NyvAr3n4u/3pAMBfAPxuf/f2/wMAQAlQpLLpCe4AAAAASUVORK5CYII=",x3dom.caps={PLATFORM:navigator.platform,AGENT:navigator.userAgent,RENDERMODE:"HARDWARE"},x3dom.registerNodeType=function(e,t,i){void 0===x3dom.components[t]&&(x3dom.components[t]={}),i._typeName=e,i._compName=t,x3dom.components[t][e]=i,x3dom.nodeTypes[e]=i,x3dom.nodeTypesLC[e.toLowerCase()]=i},x3dom.isX3DElement=function(e){var t=e.nodeType===Node.ELEMENT_NODE&&e.localName?e.localName.toLowerCase():null;return t&&(x3dom.nodeTypes[e.localName]||x3dom.nodeTypesLC[t]||"x3d"==t||"websg"==t||"route"==t||"import"==t||"export"==t)},x3dom.extend=function(e){function t(){}return t.prototype=e.prototype||e,new t},x3dom.getStyle=function(e,t){var i="",n=document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(e,null):null;return n?i=n.getPropertyValue(t):e.currentStyle&&(t=t.replace(/\-(\w)/g,(function(e,t){return t.toUpperCase()})),i=e.currentStyle[t]),i},x3dom.isa=function(e,t){return e instanceof t},x3dom.getGlobal=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")},window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){window.setTimeout(e,16)},x3dom.toggleFullScreen=function(){if(document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen)document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();else{var e=document.documentElement;e.requestFullScreen?e.requestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullScreen&&e.webkitRequestFullScreen()}},x3dom.debug={INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",EXCEPTION:"EXCEPTION",isActive:!1,isFirebugAvailable:!1,isSetup:!1,isAppend:!1,numLinesLogged:0,maxLinesToLog:1e4,logContainer:null,setup:function(){if(!x3dom.debug.isSetup){try{void 0!==window.console.firebug&&(x3dom.debug.isFirebugAvailable=!0)}catch(e){x3dom.debug.isFirebugAvailable=!1}x3dom.debug.setupLogContainer(),x3dom.debug.isSetup=!0}},activate:function(e){x3dom.debug.isActive=!0,x3dom.debug.logContainer.style.display=e?"block":"none"},setupLogContainer:function(){x3dom.debug.logContainer=document.createElement("div"),x3dom.debug.logContainer.setAttribute("class","x3dom-log")},appendElement:function(e){e.appendChild(x3dom.debug.logContainer)},doLog:function(e,t){if(x3dom.debug.isActive&&(x3dom.debug.numLinesLogged===x3dom.debug.maxLinesToLog&&(e="Maximum number of log lines (="+x3dom.debug.maxLinesToLog+") reached. Deactivating logging..."),!(x3dom.debug.numLinesLogged>x3dom.debug.maxLinesToLog))){var i=document.createElement("p");switch(i.style.margin=0,t){case x3dom.debug.INFO:i.style.color="#00ff00";break;case x3dom.debug.WARNING:i.style.color="#cd853f";break;case x3dom.debug.ERROR:i.style.color="#ff4500";break;case x3dom.debug.EXCEPTION:i.style.color="#ffff00";break;default:i.style.color="#00ff00"}try{i.innerHTML=t+": "+e,x3dom.debug.logContainer.insertBefore(i,x3dom.debug.logContainer.firstChild)}catch(t){void 0!==window.console.firebug&&window.console.warn(e)}if(x3dom.debug.isFirebugAvailable)switch(t){case x3dom.debug.INFO:window.console.info(e);break;case x3dom.debug.WARNING:window.console.warn(e);break;case x3dom.debug.ERROR:window.console.error(e);break;case x3dom.debug.EXCEPTION:window.console.debug(e)}x3dom.debug.numLinesLogged++}},logInfo:function(e){x3dom.debug.doLog(e,x3dom.debug.INFO)},logWarning:function(e){x3dom.debug.doLog(e,x3dom.debug.WARNING)},logError:function(e){x3dom.debug.doLog(e,x3dom.debug.ERROR)},logException:function(e){x3dom.debug.doLog(e,x3dom.debug.EXCEPTION)},assert:function(e,t){e||x3dom.debug.doLog("Assertion failed in "+x3dom.debug.assert.caller.name+": "+t,x3dom.debug.ERROR)},typeOf:function(e){var t=typeof e;return"object"!==t||e?t:"null"},exists:function(e,t,i){return i=i||"function",(e?this.typeOf(e[t]):"null")===i},dumpFields:function(e){var t="";for(var i in e)t+=i+", ";return t+="\n",x3dom.debug.logInfo(t),t}},x3dom.debug.setup(),x3dom.X3DCanvas=function(e,t){var i=this;if(this._canvasIdx=t,this.x3dElem=e,this._current_dim=[0,0],this.fps_t0=(new Date).getTime(),this.lastTimeFPSWasTaken=0,this.framesSinceLastTime=0,this._totalTime=0,this._elapsedTime=0,this.doc=null,this.vrDisplay=null,this.vrDisplayPromise=null,this.vrFrameData=null,this.supportsPassiveEvents=!1,this.devicePixelRatio=window.devicePixelRatio||1,this.lastMousePos={x:0,y:0},x3dom.caps.DOMNodeInsertedEvent_perSubtree=!(-1!=navigator.userAgent.indexOf("MSIE")||-1!=navigator.userAgent.indexOf("Trident")),e.__setAttribute=e.setAttribute,e.setAttribute=function(e,t){switch(this.__setAttribute(e,t),t=parseInt(t),e){case"width":i.canvas.setAttribute("width",t*i.devicePixelRatio),i.doc&&i.doc._viewarea&&(i.doc._viewarea._width=parseInt(i.canvas.getAttribute("width"),0),i.doc.needRender=!0);break;case"height":i.canvas.setAttribute("height",t*i.devicePixelRatio),i.doc&&i.doc._viewarea&&(i.doc._viewarea._height=parseInt(i.canvas.getAttribute("height"),0),i.doc.needRender=!0)}},this.backend=this.x3dElem.getAttribute("backend"),this.backend=this.backend?this.backend.toLowerCase():"none",this.canvas=this._createHTMLCanvas(e),x3dom.debug.appendElement(e),this.canvas.parent=this,this.gl=this._initContext(this.canvas),this.backend="webgl",null==this.gl)return this.hasRuntime=!1,void this._createInitFailedDiv(e);x3dom.caps.BACKEND=this.backend;var n=e.getAttribute("runtimeEnabled");this.hasRuntime=null!==n?"true"==n.toLowerCase():e.hasRuntime,this.showStat=e.getAttribute("showStat"),this.stateViewer=new x3dom.States(e),null!==this.showStat&&"true"==this.showStat&&this.stateViewer.display(!0),this.x3dElem.appendChild(this.stateViewer.viewer),this.showProgress=e.getAttribute("showProgress"),this.progressDiv=this._createProgressDiv(),this.progressDiv.style.display=null!==this.showProgress&&"true"==this.showProgress?"flex":"none",this.x3dElem.appendChild(this.progressDiv),this.vrDiv=this._createVRDiv(),this.x3dElem.appendChild(this.vrDiv),this.showTouchpoints=e.getAttribute("showTouchpoints"),this.showTouchpoints=!!this.showTouchpoints&&this.showTouchpoints,this.disableTouch=e.getAttribute("disableTouch"),this.disableTouch=!!this.disableTouch&&"true"==this.disableTouch.toLowerCase(),this.disableKeys=e.getAttribute("disableKeys"),this.disableKeys=!!this.disableKeys&&"true"==this.disableKeys.toLowerCase(),this.disableRightDrag=e.getAttribute("disableRightDrag"),this.disableRightDrag=!!this.disableRightDrag&&"true"==this.disableRightDrag.toLowerCase(),this.disableLeftDrag=e.getAttribute("disableLeftDrag"),this.disableLeftDrag=!!this.disableLeftDrag&&"true"==this.disableLeftDrag.toLowerCase(),this.disableMiddleDrag=e.getAttribute("disableMiddleDrag"),this.disableMiddleDrag=!!this.disableMiddleDrag&&"true"==this.disableMiddleDrag.toLowerCase(),this.detectPassiveEvents(),this.bindEventListeners()},x3dom.X3DCanvas.prototype.detectPassiveEvents=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),i=function(){};window.addEventListener("testPassiveEventSupport",i,t),window.removeEventListener("testPassiveEventSupport",i,t),this.supportsPassiveEvents=e}},x3dom.X3DCanvas.prototype.bindEventListeners=function(){var e=this;if(this.onMouseDown=function(t){if(!this.isMulti){switch(this.focus(),this.classList.add("x3dom-canvas-mousedown"),t.button){case 0:this.mouse_button=1;break;case 1:this.mouse_button=4;break;case 2:this.mouse_button=2;break;default:this.mouse_button=0}t.shiftKey&&(this.mouse_button=1),t.ctrlKey&&(this.mouse_button=4),t.altKey&&(this.mouse_button=2);var i=this.parent.mousePosition(t);this.mouse_drag_x=i.x,this.mouse_drag_y=i.y,this.mouse_dragging=!0,this.parent.doc.onMousePress(e.gl,this.mouse_drag_x,this.mouse_drag_y,this.mouse_button),this.parent.doc.needRender=!0}},this.onMouseUp=function(t){if(!this.isMulti){var i=this.mouse_button;this.classList.remove("x3dom-canvas-mousedown"),this.mouse_button=0,this.mouse_dragging=!1,this.parent.doc.onMouseRelease(e.gl,this.mouse_drag_x,this.mouse_drag_y,this.mouse_button,i),this.parent.doc.needRender=!0}},this.onMouseOver=function(t){this.isMulti||(this.mouse_button=0,this.mouse_dragging=!1,this.parent.doc.onMouseOver(e.gl,this.mouse_drag_x,this.mouse_drag_y,this.mouse_button),this.parent.doc.needRender=!0)},this.onMouseOut=function(t){this.isMulti||(this.mouse_button=0,this.mouse_dragging=!1,this.classList.remove("x3dom-canvas-mousedown"),this.parent.doc.onMouseOut(e.gl,this.mouse_drag_x,this.mouse_drag_y,this.mouse_button),this.parent.doc.needRender=!0)},this.onDoubleClick=function(t){if(!this.isMulti){this.mouse_button=0;var i=this.parent.mousePosition(t);this.mouse_drag_x=i.x,this.mouse_drag_y=i.y,this.mouse_dragging=!1,this.parent.doc.onDoubleClick(e.gl,this.mouse_drag_x,this.mouse_drag_y),this.parent.doc.needRender=!0}},this.onMouseMove=function(t){if(!this.isMulti){var i=this.parent.mousePosition(t);i.x==e.lastMousePos.x&&i.y==e.lastMousePos.y||(e.lastMousePos=i,this.mouse_drag_x=i.x,this.mouse_drag_y=i.y,this.mouse_dragging?(t.shiftKey&&(this.mouse_button=1),t.ctrlKey&&(this.mouse_button=4),t.altKey&&(this.mouse_button=2),(1==this.mouse_button&&!this.parent.disableLeftDrag||2==this.mouse_button&&!this.parent.disableRightDrag||4==this.mouse_button&&!this.parent.disableMiddleDrag)&&this.parent.doc.onDrag(e.gl,this.mouse_drag_x,this.mouse_drag_y,this.mouse_button)):this.parent.doc.onMove(e.gl,this.mouse_drag_x,this.mouse_drag_y,this.mouse_button),this.parent.doc.needRender=!0,t.preventDefault(),t.stopPropagation())}},this.onDOMMouseScroll=function(t){if(!this.isMulti){this.focus();var i=this.parent.mousePosition(t).y;1==this.parent.doc._scene.getNavigationInfo()._vf.reverseScroll?this.mouse_drag_y-=2*t.detail:this.mouse_drag_y+=2*t.detail,this.parent.doc.onWheel(e.gl,this.mouse_drag_x,this.mouse_drag_y,i),this.parent.doc.needRender=!0,t.preventDefault(),t.stopPropagation()}},this.onKeyPress=function(e){this.parent.disableKeys||(e.preventDefault(),this.parent.doc.onKeyPress(e.charCode)),this.parent.doc.needRender=!0},this.onMouseWheel=function(t){if(!this.isMulti){this.focus();var i=this.parent.mousePosition(t).y;1==this.parent.doc._scene.getNavigationInfo()._vf.reverseScroll?this.mouse_drag_y+=.1*t.wheelDelta:this.mouse_drag_y-=.1*t.wheelDelta,this.parent.doc.onWheel(e.gl,this.mouse_drag_x,this.mouse_drag_y,i),this.parent.doc.needRender=!0,t.preventDefault(),t.stopPropagation()}},this.onKeyUp=function(e){this.parent.disableKeys||this.parent.doc.onKeyUp(e.keyCode),this.parent.doc.needRender=!0},this.onKeyDown=function(e){this.parent.disableKeys||this.parent.doc.onKeyDown(e.keyCode),this.parent.doc.needRender=!0},this.onVrDisplayPresentChange=function(e){if(this.vrDisplay&&this.vrDisplay.isPresenting){var t=this.vrDisplay.getEyeParameters("left"),i=this.vrDisplay.getEyeParameters("right");this._oldCanvasWidth=this.canvas.width,this._oldCanvasHeight=this.canvas.height,this.canvas.width=2*Math.max(t.renderWidth,i.renderWidth),this.canvas.height=Math.max(t.renderHeight,i.renderHeight),this.gl.VRMode=2,this.doc.needRender=!0}else this.vrDisplay&&!this.vrDisplay.isPresenting&&(this.canvas.width=this._oldCanvasWidth,this.canvas.height=this._oldCanvasHeight,this.vrFrameData=null,this.gl.VRMode=1,this.doc.needRender=!0)},null!==this.canvas&&null!==this.gl&&this.hasRuntime){this.canvas.mouse_dragging=!1,this.canvas.mouse_button=0,this.canvas.mouse_drag_x=0,this.canvas.mouse_drag_y=0,this.canvas.isMulti=!1,this.canvas.oncontextmenu=function(e){return e.preventDefault(),e.stopPropagation(),!1},this.canvas.addEventListener("webglcontextlost",(function(e){x3dom.debug.logError("WebGL context lost"),e.preventDefault()}),!1),this.canvas.addEventListener("webglcontextrestored",(function(e){x3dom.debug.logError("recover WebGL state and resources on context lost NYI"),e.preventDefault()}),!1),window.addEventListener("vrdisplaypresentchange",this.onVrDisplayPresentChange.bind(this),!1),this.canvas.addEventListener("mousedown",this.onMouseDown,!1),this.canvas.addEventListener("mouseup",this.onMouseUp,!1),this.canvas.addEventListener("mouseover",this.onMouseOver,!1),this.canvas.addEventListener("mouseout",this.onMouseOut,!1),this.canvas.addEventListener("dblclick",this.onDoubleClick,!1),this.canvas.addEventListener("mousemove",this.onMouseMove,!1),this.canvas.addEventListener("DOMMouseScroll",this.onDOMMouseScroll,!1),this.canvas.addEventListener("mousewheel",this.onMouseWheel,!!this.supportsPassiveEvents&&{passive:!1}),this.canvas.addEventListener("keypress",this.onKeyPress,!0),this.canvas.addEventListener("keyup",this.onKeyUp,!0),this.canvas.addEventListener("keydown",this.onKeyDown,!0);var t={numTouches:0,firstTouchTime:(new Date).getTime(),firstTouchPoint:new x3dom.fields.SFVec2f(0,0),lastPos:new x3dom.fields.SFVec2f,lastDrag:new x3dom.fields.SFVec2f,lastMiddle:new x3dom.fields.SFVec2f,lastSquareDistance:0,lastAngle:0,lastLayer:[],examineNavType:1,calcAngle:function(e){var t=e.normalize().dot(new x3dom.fields.SFVec2f(1,0));return t=Math.acos(t),e.y<0&&(t=Math.PI+(Math.PI-t)),t},disableTouch:this.disableTouch,visMarker:this.showTouchpoints,visMarkerBag:[],visualizeTouches:function(e){if(this.visMarker){for(var t=[],i=null,n=0;n<e.touches.length;n++){var _=e.touches[n].identifier||e.touches[n].streamId;_||(_=0);var r=this.visMarkerBag.indexOf(_);r>=0?((i=document.getElementById("visMarker"+_)).style.left=e.touches[n].pageX+"px",i.style.top=e.touches[n].pageY+"px"):((i=document.createElement("div")).appendChild(document.createTextNode("#"+_)),i.id="visMarker"+_,i.className="x3dom-touch-marker",document.body.appendChild(i),r=this.visMarkerBag.length,this.visMarkerBag[r]=_),t.push(_)}for(var o=this.visMarkerBag.length-1;o>=0;o--){var s=this.visMarkerBag[o];t.indexOf(s)<0&&(this.visMarkerBag.splice(o,1),i=document.getElementById("visMarker"+s),document.body.removeChild(i))}}}};this.disableTouch||(this.canvas.addEventListener("touchstart",(function(i,n){var _,r;switch(this.isMulti=!0,i.preventDefault(),t.visualizeTouches(i),this.focus(),null==n&&(n=this.parent.doc),n._scene.getNavigationInfo().getType()){case"examine":t.examineNavType=1;break;case"turntable":t.examineNavType=2;break;default:t.examineNavType=0}for(t.lastLayer=[],_=0;_<i.touches.length;_++)r=this.parent.mousePosition(i.touches[_]),t.lastLayer.push([i.touches[_].identifier,new x3dom.fields.SFVec2f(r.x,r.y)]);if(t.numTouches<1&&1==i.touches.length)t.numTouches=1,t.lastDrag=new x3dom.fields.SFVec2f(i.touches[0].screenX,i.touches[0].screenY);else if(t.numTouches<2&&i.touches.length>=2){t.numTouches=2;var o=new x3dom.fields.SFVec2f(i.touches[0].screenX,i.touches[0].screenY),s=new x3dom.fields.SFVec2f(i.touches[1].screenX,i.touches[1].screenY).subtract(o),a=s.multiply(.5).add(o),p=s.dot(s);t.lastMiddle=a,t.lastSquareDistance=p,t.lastAngle=t.calcAngle(s),t.lastPos=this.parent.mousePosition(i.touches[0])}if(n._scene.updateVolume(),1==t.examineNavType)for(_=0;_<i.touches.length;_++)r=this.parent.mousePosition(i.touches[_]),n.onPick(e.gl,r.x,r.y),n._viewarea.prepareEvents(r.x,r.y,0,"onmouseover"),n._viewarea.prepareEvents(r.x,r.y,1,"onmousedown"),n._viewarea._pickingInfo.lastClickObj=n._viewarea._pickingInfo.pickObj;else i.touches.length&&(r=this.parent.mousePosition(i.touches[0]),n.onMousePress(e.gl,r.x,r.y,1));n.needRender=!0}),!this.supportsPassiveEvents||{passive:!1}),this.canvas.addEventListener("touchmove",(function(i,n){i.preventDefault(),t.visualizeTouches(i),null==n&&(n=this.parent.doc);var _,r,o,s,a,p,l,d=null,c=null;if(1==t.examineNavType){if(1==i.touches.length){var b=new x3dom.fields.SFVec2f(i.touches[0].screenX,i.touches[0].screenY),u=b.subtract(t.lastDrag);t.lastDrag=b;var m=x3dom.fields.SFMatrix4f.rotationY(u.x/100),h=x3dom.fields.SFMatrix4f.rotationX(u.y/100);c=m.mult(h),n.onMoveView(e.gl,i,t,null,c),d=this.parent.mousePosition(i.touches[0]),n.onPick(e.gl,d.x,d.y),n._viewarea.prepareEvents(d.x,d.y,1,"onmousemove")}else if(i.touches.length>=2){_=new x3dom.fields.SFVec2f(i.touches[0].screenX,i.touches[0].screenY),o=(r=new x3dom.fields.SFVec2f(i.touches[1].screenX,i.touches[1].screenY).subtract(_)).multiply(.5).add(_),s=r.dot(r),a=o.subtract(t.lastMiddle),p=s-t.lastSquareDistance,l=new x3dom.fields.SFVec3f(a.x/screen.width,-a.y/screen.height,p/(screen.width*screen.height*.2));var f=t.calcAngle(r),g=t.lastAngle-f;t.lastAngle=f,c=x3dom.fields.SFMatrix4f.rotationZ(g),t.lastMiddle=o,t.lastSquareDistance=s,n.onMoveView(e.gl,i,t,l,c)}}else i.touches.length&&(2==t.examineNavType&&i.touches.length>=2?(_=new x3dom.fields.SFVec2f(i.touches[0].screenX,i.touches[0].screenY),p=((s=(r=new x3dom.fields.SFVec2f(i.touches[1].screenX,i.touches[1].screenY).subtract(_)).dot(r))-t.lastSquareDistance)/(.1*(screen.width+screen.height)),t.lastPos.y+=p,t.lastSquareDistance=s,n.onDrag(e.gl,t.lastPos.x,t.lastPos.y,2)):(d=this.parent.mousePosition(i.touches[0]),n.onDrag(e.gl,d.x,d.y,1)));n.needRender=!0}),!this.supportsPassiveEvents||{passive:!1}),this.canvas.addEventListener("touchend",(function(i,n){if(this.isMulti=!1,i.cancelable&&i.preventDefault(),t.visualizeTouches(i),null==n&&(n=this.parent.doc),n._viewarea._isMoving=!1,2==t.numTouches&&1==i.touches.length&&(t.lastDrag=new x3dom.fields.SFVec2f(i.touches[0].screenX,i.touches[0].screenY)),0==i.touches.length){for(var _=n._nodeBag.affectedPointingSensors,r=0;r<_.length;++r)_[r].pointerReleased();n._nodeBag.affectedPointingSensors=[]}var o=!1;if(i.touches.length<2&&(1==t.numTouches&&(o=!0),t.numTouches=i.touches.length),1==t.examineNavType){for(r=0;r<t.lastLayer.length;r++){var s=t.lastLayer[r][1];if(n.onPick(e.gl,s.x,s.y),"box"!==n._scene._vf.pickMode.toLowerCase())n._viewarea.prepareEvents(s.x,s.y,1,"onmouseup"),n._viewarea._pickingInfo.lastClickObj=n._viewarea._pickingInfo.pickObj,n._viewarea._pickingInfo.pickObj&&n._viewarea._pickingInfo.pickObj===n._viewarea._pickingInfo.lastClickObj&&n._viewarea.prepareEvents(s.x,s.y,1,"onclick");else{var a=n._viewarea.calcViewRay(s.x,s.y),p=n._scene.doIntersect(a),l=a.hitObject;p&&l&&(n._viewarea._pick.setValues(a.hitPoint),n._viewarea.checkEvents(l,s.x,s.y,1,"onclick"),x3dom.debug.logInfo("Hit '"+l._xmlNode.localName+"/ "+l._DEF+"' at pos "+n._viewarea._pick))}}if(o){var d=(new Date).getTime();t.firstTouchPoint.subtract(t.lastDrag).length()<18&&d-t.firstTouchTime<180&&n.onDoubleClick(e.gl,0,0),t.firstTouchTime=d,t.firstTouchPoint=t.lastDrag}}else t.lastLayer.length&&(s=t.lastLayer[0][1],n.onMouseRelease(e.gl,s.x,s.y,0,1));n.needRender=!0}),!0))}},x3dom.X3DCanvas.prototype._initContext=function(e){x3dom.debug.logInfo("Initializing X3DCanvas for ["+e.id+"]");var t=x3dom.gfx_webgl(e,this.x3dElem);return t?(parseFloat(x3dom.caps.VERSION.match(/\d+\.\d+/)[0])<1&&x3dom.debug.logError("WebGL version "+x3dom.caps.VERSION+" lacks important WebGL/GLSL features needed for shadows, special vertex attribute types, etc.!"),t):(x3dom.debug.logError("No 3D context found..."),this.x3dElem.removeChild(e),null)},x3dom.X3DCanvas.prototype.appendParam=function(e,t,i){var n=document.createElement("param");n.setAttribute("name",t),n.setAttribute("value",i),e.appendChild(n)},x3dom.X3DCanvas.prototype._createInitFailedDiv=function(e){var t=document.createElement("div");t.setAttribute("id","x3dom-create-init-failed"),t.style.width=e.getAttribute("width"),t.style.height=e.getAttribute("height"),t.style.backgroundColor="#C00",t.style.color="#FFF",t.style.fontSize="20px",t.style.fontWidth="bold",t.style.padding="10px 10px 10px 10px",t.style.display="inline-block",t.style.fontFamily="Helvetica",t.style.textAlign="center",t.appendChild(document.createTextNode("Your Browser does not support X3DOM")),t.appendChild(document.createElement("br")),t.appendChild(document.createTextNode("Read more about Browser support on:")),t.appendChild(document.createElement("br"));var i=document.createElement("a");i.setAttribute("href","http://www.x3dom.org/?page_id=9"),i.appendChild(document.createTextNode("X3DOM | Browser Support")),t.appendChild(i);var n=e.getAttribute("altImg")||null;n&&((new Image).src=n,t.style.backgroundImage="url("+n+")",t.style.backgroundRepeat="no-repeat",t.style.backgroundPosition="50% 50%");e.appendChild(t),x3dom.debug.logError("Your Browser does not support X3DOM!")},x3dom.X3DCanvas.prototype._createHTMLCanvas=function(e){x3dom.debug.logInfo("Creating canvas for (X)3D element...");var t=document.createElement("canvas");t.setAttribute("class","x3dom-canvas"),e.getAttribute("style")&&x3dom.debug.logInfo("Inline X3D styles detected");for(var i=["onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onclick","ondblclick","onkeydown","onkeypress","onkeyup","ontouchstart","ontouchmove","ontouchend","ontouchcancel","ontouchleave","ontouchenter","ondragstart","ondrop","ondragover"],n=0;n<i.length;n++){var _=i[n],r=e.getAttribute(_);r&&(x3dom.debug.logInfo(_+", "+r),t.setAttribute(_,r),e.removeAttribute(_))}var o=e.getAttribute("draggable");o&&(x3dom.debug.logInfo("draggable="+o),t.setAttribute("draggable",o)),e.__addEventListener||e.__removeEventListener||(e.__addEventListener=e.addEventListener,e.__removeEventListener=e.removeEventListener,e.addEventListener=function(e,n,_){var r,o=!1;for(r=0;r<i.length&&!o;r++)i[r]===e&&(o=!0);o?(x3dom.debug.logInfo("addEventListener for div.on"+e),t.addEventListener(e,n,_)):(x3dom.debug.logInfo("addEventListener for X3D.on"+e),this.__addEventListener(e,n,_))},e.removeEventListener=function(e,n,_){var r,o=!1;for(r=0;r<i.length&&!o;r++)i[r]===e&&(o=!0);o?(x3dom.debug.logInfo("removeEventListener for div.on"+e),t.removeEventListener(e,n,_)):(x3dom.debug.logInfo("removeEventListener for X3D.on"+e),this.__removeEventListener(e,n,_))}),e.hasAttribute("ondownloadsfinished")&&e.addEventListener("downloadsfinished",(function(){var t={target:e,type:"downloadsfinished"},i=e.getAttribute("ondownloadsfinished");new Function("event",i).call(e,t)}),!0),e.appendChild(t);var s,a,p=e.getAttribute("id");if(null!==p)t.id="x3dom-"+p+"-canvas";else{var l=(new Date).getTime();t.id="x3dom-"+l+"-canvas"}return e.style=e.style||{},null!==(s=e.getAttribute("width"))&&(s.indexOf("%")>=0&&x3dom.debug.logWarning("The width attribute is to be specified in pixels not in percent."),t.style.width=s,e.style.width=s,t.setAttribute("width",s)),null!==(a=e.getAttribute("height"))&&(a.indexOf("%")>=0&&x3dom.debug.logWarning("The height attribute is to be specified in pixels not in percent."),t.style.height=a,e.style.height=a,t.setAttribute("height",a)),t.setAttribute("tabindex","0"),t},x3dom.X3DCanvas.prototype._watchForResize=function(){if(!this.vrDisplay||!this.vrDisplay.isPresenting){var e=[parseInt(x3dom.getStyle(this.canvas,"width"))||0,parseInt(x3dom.getStyle(this.canvas,"height"))||0];this._current_dim[0]==e[0]&&this._current_dim[1]==e[1]||(this._current_dim=e,this.x3dElem.setAttribute("width",e[0]+"px"),this.x3dElem.setAttribute("height",e[1]+"px"))}},x3dom.X3DCanvas.prototype._createProgressDiv=function(){var e=document.createElement("div");e.setAttribute("class","x3dom-progress");var t=document.createElement("div");t.setAttribute("class","x3dom-progress-spinner"),e.appendChild(t);var i=document.createElement("div");return i.setAttribute("id","x3domProgessCount"),i.appendChild(document.createTextNode("Loading...")),e.appendChild(i),e.oncontextmenu=e.onmousedown=function(e){return e.preventDefault(),e.stopPropagation(),!1},e},x3dom.X3DCanvas.prototype._createVRDiv=function(){var e=document.createElement("div");return e.setAttribute("class","x3dom-vr"),e.onclick=function(){this.x3dElem.runtime.toggleVR()}.bind(this),e.oncontextmenu=function(e){return e.preventDefault(),e.stopPropagation(),!1},e},x3dom.X3DCanvas.prototype.mousePosition=function(e){var t=e.target.getBoundingClientRect(),i=Math.round(e.clientX-t.left)*this.devicePixelRatio,n=Math.round(e.clientY-t.top)*this.devicePixelRatio;return new x3dom.fields.SFVec2f(i,n)},x3dom.X3DCanvas.prototype.tick=function(e){this._elapsedTime=this._totalTime?e-this._totalTime:0,this._totalTime=e;var t=this.x3dElem.runtime,i=(new Date).getTime(),n=i-this.lastTimeFPSWasTaken;this.fps_t0;this.fps_t0=i,this.doc.advanceTime(i/1e3);var _,r=(new Date).getTime()-i;if(this.doc.hasAnimationStateChanged()&&(this.doc.isAnimating()?t.onAnimationStarted():t.onAnimationFinished()),this.doc.needRender&&(n>=1e3&&(t.fps=this.framesSinceLastTime/(n/1e3),t.addMeasurement("FPS",t.fps),this.framesSinceLastTime=0,this.lastTimeFPSWasTaken=i),this.framesSinceLastTime++,t.addMeasurement("ANIM",r),0==t.isReady&&(t.ready(),t.isReady=!0),t.enterFrame({total:this._totalTime,elapsed:this._elapsedTime}),this.vrDisplay&&this.vrDisplay.isPresenting?(this.vrFrameData||(this.vrFrameData=new VRFrameData),this.vrDisplay.getFrameData(this.vrFrameData)):this.doc.needRender=!1,this.doc.render(this.gl,this.vrFrameData,this.vrDisplay),this.doc._scene._vf.doPickPass||t.removeMeasurement("PICKING"),t.exitFrame({total:this._totalTime,elapsed:this._elapsedTime}),this.vrDisplay&&this.vrDisplay.isPresenting&&this.vrDisplay.submitFrame()),this.progressDiv)if(this.doc.downloadCount>0?t.addInfo("#LOADS:",this.doc.downloadCount):t.removeInfo("#LOADS:"),"false"!==this.doc.properties.getProperty("showProgress")){if(this.progressDiv){var o=Math.max(+this.doc.downloadCount,0);this.progressDiv.childNodes[1].textContent=""+o,this.doc.downloadCount>0?this.progressDiv.style.opacity="1":this.progressDiv.style.opacity="0"}}else this.progressDiv.style.opacity="0";this.doc.downloadCount<=0&&this.doc.previousDownloadCount>0&&(document.createEvent?((_=document.createEvent("Events")).initEvent("downloadsfinished",!0,!0),this.x3dElem.dispatchEvent(_)):document.createEventObject&&(_=document.createEventObject(),this.x3dElem.fireEvent("ondownloadsfinished",_)));this.doc.previousDownloadCount=this.doc.downloadCount},x3dom.X3DCanvas.prototype.load=function(e,t,i){this.doc=new x3dom.X3DDocument(this.canvas,this.gl,i);var n=this;this.doc.onload=function(){n.hasRuntime?function e(t){n.doc&&n.x3dElem.runtime&&(n._watchForResize(),n.tick(t),navigator.getVRDisplays&&null===n.vrDisplay?(n.vrDisplayPromise||(n.vrDisplayPromise=navigator.getVRDisplays()),n.vrDisplayPromise.then((function(t){t[0]?(n.vrDisplay=t[0],n.vrDisplay.requestAnimationFrame(e,n),n.vrDiv.style.display="block"):(n.vrDisplay=void 0,window.requestAnimFrame(e,n))})).catch((function(t){n.vrDisplay=void 0,window.requestAnimFrame(e,n)}))):navigator.getVRDisplays&&n.vrDisplay?n.vrDisplay.requestAnimationFrame(e,n):window.requestAnimFrame(e,n))}():n.tick()},this.x3dElem.render=function(){n.hasRuntime?n.doc.needRender=!0:n.doc.render(n.gl)},this.x3dElem.context=n.gl.ctx3d,this.doc.onerror=function(){alert("Failed to load X3D document")},this.doc.load(e,t)},x3dom.InputTypes={NAVIGATION:1,INTERACTION:2},x3dom.Viewarea=function(e,t){this._doc=e,this._scene=t,e._nodeBag.viewarea.push(this),this._pickingInfo={pickPos:new x3dom.fields.SFVec3f(0,0,0),pickNorm:new x3dom.fields.SFVec3f(0,0,1),pickObj:null,firstObj:null,lastObj:null,lastClickObj:null,shadowObjectId:-1},this._currentInputType=x3dom.InputTypes.NAVIGATION,this._rotMat=x3dom.fields.SFMatrix4f.identity(),this._transMat=x3dom.fields.SFMatrix4f.identity(),this._movement=new x3dom.fields.SFVec3f(0,0,0),this._needNavigationMatrixUpdate=!0,this._deltaT=0,this._flyMat=null,this._pitch=0,this._yaw=0,this._eyePos=new x3dom.fields.SFVec3f(0,0,0),this._width=400,this._height=300,this._dx=0,this._dy=0,this._lastX=-1,this._lastY=-1,this._pressX=-1,this._pressY=-1,this._lastButton=0,this._points=0,this._numRenderedNodes=0,this._pick=new x3dom.fields.SFVec3f(0,0,0),this._pickNorm=new x3dom.fields.SFVec3f(0,0,1),this._isAnimating=!1,this._isMoving=!1,this._lastTS=0,this._mixer=new x3dom.MatrixMixer,this._interpolator=new x3dom.FieldInterpolator,this._animationStateChanged=!1,this.vrFrameData=null,this.gamepads=null,this.vrLeftViewMatrix=new x3dom.fields.SFMatrix4f,this.vrRightViewMatrix=new x3dom.fields.SFMatrix4f,this.vrLeftProjMatrix=new x3dom.fields.SFMatrix4f,this.vrRightProjMatrix=new x3dom.fields.SFMatrix4f,this.vrControllerManager=new x3dom.VRControllerManager,this._inverseDevicePixelRatio=1/window.devicePixelRatio,this.arc=null},x3dom.Viewarea.prototype.setVRFrameData=function(e){this.vrFrameData=e,this.vrFrameData&&(this.vrLeftViewMatrix.setFromArray(this.vrFrameData.leftViewMatrix),this.vrRightViewMatrix.setFromArray(this.vrFrameData.rightViewMatrix))},x3dom.Viewarea.prototype.updateGamepads=function(e){this.vrControllerManager.update(this,e)},x3dom.Viewarea.prototype.tick=function(e){if(this._scene.getEnvironment()._vf.enableARC&&null==this.arc&&(this.arc=new x3dom.arc.AdaptiveRenderControl(this._scene)),this._mixer.isActive()){if(this._mixer._isVPtarget){var t=this._scene.getViewpoint();t.resetView();var i=t.getViewMatrix().mult(t.getCurrentTransform().inverse());this._mixer.setEndMatrix(i)}var n=this._mixer.mix(e);this._scene.getViewpoint().setView(n)}if(this._interpolator.isActive()){var _=this._interpolator.interpolate(e);this._scene.getViewpoint().setZoom(_)}var r=this.navigateTo(e),o=this._isAnimating;return this._lastTS=e,this._isAnimating=this._mixer.isMixing||this._interpolator.isInterpolating||r,this._isAnimating!=o?this._animationStateChanged=!0:this._animationStateChanged=!1,null!=this.arc&&this.arc.update(this.isMovingOrAnimating()?1:0,this._doc._x3dElem.runtime.getFPS()),this._isAnimating||o},x3dom.Viewarea.prototype.isMoving=function(){return this._isMoving},x3dom.Viewarea.prototype.isAnimating=function(){return this._isAnimating},x3dom.Viewarea.prototype.hasAnimationStateChanged=function(){return this._animationStateChanged},x3dom.Viewarea.prototype.isMovingOrAnimating=function(){return this._isMoving||this._isAnimating},x3dom.Viewarea.prototype.navigateTo=function(e){return this._scene.getNavigationInfo()._impl.navigateTo(this,e)},x3dom.Viewarea.prototype.moveFwd=function(){this._scene.getNavigationInfo()._impl.moveForward(this)},x3dom.Viewarea.prototype.moveBwd=function(){this._scene.getNavigationInfo()._impl.moveBackwards(this)},x3dom.Viewarea.prototype.strafeRight=function(){this._scene.getNavigationInfo()._impl.strafeRight(this)},x3dom.Viewarea.prototype.strafeLeft=function(){this._scene.getNavigationInfo()._impl.strafeLeft(this)},x3dom.Viewarea.prototype.animateTo=function(e,t,i){this._scene.getNavigationInfo()._impl.animateTo(this,e,t,i)},x3dom.Viewarea.prototype.orthoAnimateTo=function(e,t,i){this._scene.getNavigationInfo()._impl.orthoAnimateTo(this,e,t,i)},x3dom.Viewarea.prototype.zoom=function(e){this._scene.getNavigationInfo()._impl.zoom(this,e)},x3dom.Viewarea.prototype.getLights=function(){for(var e=[],t=0;t<this._doc._nodeBag.lights.length;t++)1==this._doc._nodeBag.lights[t]._vf.on&&e.push(this._doc._nodeBag.lights[t]);return e},x3dom.Viewarea.prototype.getLightsShadow=function(){for(var e=this._doc._nodeBag.lights,t=0;t<e.length;t++)if(e[t]._vf.shadowIntensity>0)return!0;return!1},x3dom.Viewarea.prototype.hasPhysicalEnvironmentLight=function(){for(var e=0;e<this._doc._nodeBag.lights.length;e++){var t=this._doc._nodeBag.lights[e];if(x3dom.isa(t,x3dom.nodeTypes.PhysicalEnvironmentLight)&&t._vf.on)return!0}return!1},x3dom.Viewarea.prototype.updateSpecialNavigation=function(e,t){var i=this._scene.getNavigationInfo();if("helicopter"==i.getType()&&!i._heliUpdated){var n=i.getTypeParams(),_=n[0],r=e.getViewMatrix().mult(t.inverse()).inverse();this._from=r.e3(),this._at=this._from.subtract(r.e2()),this._up=new x3dom.fields.SFVec3f(0,1,0),this._from.y=n[1],this._at.y=this._from.y;var o=r.e0(),s=x3dom.fields.Quaternion.axisAngle(o,_).toMatrix(),a=x3dom.fields.SFMatrix4f.translation(this._from);a=a.mult(s),s=x3dom.fields.SFMatrix4f.translation(this._from.negate()),a=a.mult(s),this._at=a.multMatrixPnt(this._at),this._flyMat=x3dom.fields.SFMatrix4f.lookAt(this._from,this._at,this._up),this._scene.getViewpoint().setView(this._flyMat.inverse()),i._heliUpdated=!0}},x3dom.Viewarea.prototype.getViewpointMatrix=function(){var e=this._scene.getViewpoint(),t=e.getCurrentTransform();return this.updateSpecialNavigation(e,t),e.getViewMatrix().mult(t.inverse())},x3dom.Viewarea.prototype.getViewMatrix=function(){return this.vrFrameData?this.vrLeftViewMatrix:this.getViewpointMatrix().mult(this._transMat).mult(this._rotMat)},x3dom.Viewarea.prototype.getViewMatrices=function(){if(this.vrFrameData)return[this.vrLeftViewMatrix,this.vrRightViewMatrix];var e=this.getViewpointMatrix().mult(this._transMat).mult(this._rotMat);return[e,e]},x3dom.Viewarea.prototype.getLightMatrix=function(e){var t,i=(e=e||this._doc._nodeBag.lights).length;if(i>0){var n=this._scene.getVolume();if(n.isValid()){var _=x3dom.fields.SFVec3f.MAX(),r=x3dom.fields.SFVec3f.MIN();n.getBounds(_,r);var o=[],s=this._scene.getViewpoint().getFieldOfView(),a=r.subtract(_),p=a.y/2/Math.tan(s/2)+a.z/2,l=a.x/2/Math.tan(s/2)+a.z/2;for(a=_.add(a.multiply(.5)),t=0;t<i;t++){var d=e[t];if(x3dom.isa(d,x3dom.nodeTypes.PointLight)){var c=d.getCurrentTransform().multMatrixPnt(d._vf.location);a=a.subtract(c).normalize()}else{var b=d.getCurrentTransform().multMatrixVec(d._vf.direction);b=b.normalize().negate(),a=a.add(b.multiply(1.2*(p>l?p:l)))}o.push(d.getViewMatrix(a))}return o}}return Array(i||1).fill(this.getViewMatrix())},x3dom.Viewarea.prototype.getWCtoLCMatrix=function(e){var t,i=this.getProjectionMatrix();return t=0===arguments.length?this.getLightMatrix()[0]:e,i.mult(t)},x3dom.Viewarea.prototype.getWCtoLCMatricesPointLight=function(e,t,i){var n=t._vf.zNear,_=t._vf.zFar,r=this.getLightProjectionMatrix(e,n,_,!1,i);r._00=1,r._11=1;var o,s=[];s[0]=r.mult(e);for(var a=1;a<=3;a++)o=x3dom.fields.SFMatrix4f.rotationY(a*Math.PI/2),s[a]=r.mult(o.mult(e));return o=x3dom.fields.SFMatrix4f.rotationX(Math.PI/2),s[4]=r.mult(o.mult(e)),o=x3dom.fields.SFMatrix4f.rotationX(3*Math.PI/2),s[5]=r.mult(o.mult(e)),s},x3dom.Viewarea.prototype.getWCtoLCMatricesCascaded=function(e,t,i){var n=Math.max(1,Math.min(t._vf.shadowCascades,6)),_=Math.max(0,Math.min(t._vf.shadowSplitFactor,1)),r=Math.max(0,Math.min(t._vf.shadowSplitOffset,1)),o=x3dom.isa(t,x3dom.nodeTypes.SpotLight),s=t._vf.zNear,a=t._vf.zFar,p=this.getLightProjectionMatrix(e,s,a,!0,i);o&&(p._00=1,p._11=1);var l=p.mult(e),d=[];if(1==n)return d[0]=l,d;for(var c=this.getShadowSplitDepths(n,_,r,!0,i),b=0;b<n;b++){var u=this.getLightFittingMatrix(l,c[b],c[b+1],i);d[b]=u.mult(l)}return d},x3dom.Viewarea.prototype.getLightProjectionMatrix=function(e,t,i,n,_){var r=x3dom.fields.SFMatrix4f.copy(_);if(!n||t>0||i>0){var o,s,a=e.inverse().e3(),p=x3dom.fields.SFVec3f.copy(this._scene._lastMin),l=x3dom.fields.SFVec3f.copy(this._scene._lastMax).subtract(p),d=l.length()/2,c=p.add(l.multiply(.5)),b=a.subtract(c).length();return d&&(o=b>d?.8*(b-d):1,s=1.2*(b+d)),t>0&&(o=t),i>0&&(s=i),r._22=-(s+o)/(s-o),r._23=-2*s*o/(s-o),r}return this.getLightCropMatrix(r.mult(e)).mult(r)},x3dom.Viewarea.prototype.getProjectionMatrix=function(){return this.vrFrameData?this.vrLeftProjMatrix.setFromArray(this.vrFrameData.leftProjectionMatrix):this._scene.getViewpoint().getProjectionMatrix(this._width/this._height)},x3dom.Viewarea.prototype.getProjectionMatrices=function(){if(this.vrFrameData)return[this.vrLeftProjMatrix.setFromArray(this.vrFrameData.leftProjectionMatrix),this.vrRightProjMatrix.setFromArray(this.vrFrameData.rightProjectionMatrix)];var e=this._scene.getViewpoint().getProjectionMatrix(this._width/this._height);return[e,e]},x3dom.Viewarea.prototype.getViewfrustum=function(e){var t=this._scene.getEnvironment();if(1==t._vf.frustumCulling){if(0==arguments.length){var i=this.getProjectionMatrix(),n=this.getViewMatrix();return new x3dom.fields.FrustumVolume(i.mult(n))}return new x3dom.fields.FrustumVolume(e)}return null},x3dom.Viewarea.prototype.getWCtoCCMatrix=function(){var e=this.getViewMatrix();return this.getProjectionMatrix().mult(e)},x3dom.Viewarea.prototype.getCCtoWCMatrix=function(){return this.getWCtoCCMatrix().inverse()},x3dom.Viewarea.prototype.calcViewRay=function(e,t,i){var n=i||this.getCCtoWCMatrix(),_=e/(this._width-1)*2-1,r=(this._height-1-t)/(this._height-1)*2-1,o=n.multFullMatrixPnt(new x3dom.fields.SFVec3f(_,r,-1)),s=n.multFullMatrixPnt(new x3dom.fields.SFVec3f(_,r,1)).subtract(o);return new x3dom.fields.Ray(o,s)},x3dom.Viewarea.prototype.showAll=function(e,t){void 0===e&&(e="negZ"),void 0===t&&(t=!1);var i=this._scene;i.updateVolume();var n,_=x3dom.fields.SFVec3f.copy(i._lastMin),r=x3dom.fields.SFVec3f.copy(i._lastMax),o="x",s="y",a="z",p=1,l=new x3dom.fields.SFVec3f(0,0,-1);switch(e){case"posX":p=-1;case"negX":a="x",o="y",s="z",n=new x3dom.fields.SFVec3f(p,0,0);break;case"posY":p=-1;case"negY":a="y",o="z",s="x",n=new x3dom.fields.SFVec3f(0,p,0);break;case"posZ":p=-1;case"negZ":default:n=new x3dom.fields.SFVec3f(0,0,-p)}var d=i.getViewpoint(),c=d.getFieldOfView(),b=x3dom.isa(d,x3dom.nodeTypes.OrthoViewpoint),u=r.subtract(_),m=u.multiply(.5),h=_.add(m);t&&d.setCenterOfRotation(h);var f=Math.min(this._width/this._height,1),g=u[a]/2,C=Math.tan(c/2),S=u[s]/2/C+g,y=u[o]/2/C+g;(u=_.add(u.multiply(.5)))[a]+=b?p*(S>y?S:y)*3.01:p*(S>y?S:y)*1.01,u[a]/=f;var v=x3dom.fields.Quaternion.rotateFromTo(l,n).toMatrix();v=v.mult(x3dom.fields.SFMatrix4f.translation(u.negate())),b?(this.orthoAnimateTo(S,Math.abs(d._fieldOfView[0])),this.animateTo(v,d)):this.animateTo(v,d)},x3dom.Viewarea.prototype.fit=function(e,t,i){var n=this._scene.getViewpoint(),_=this.getFitViewMatrix(e,t,n,i);x3dom.isa(n,x3dom.nodeTypes.OrthoViewpoint)?(this.orthoAnimateTo(dist/2.01,Math.abs(n._fieldOfView[0])),this.animateTo(_,n)):this.animateTo(_,n)},x3dom.Viewarea.prototype.getFitViewMatrix=function(e,t,i,n){void 0===n&&(n=!0);var _=t.subtract(e).multiply(.5),r=e.add(_),o=_.length(),s=i.getFieldOfView(),a=x3dom.fields.SFMatrix4f.copy(this.getViewMatrix()),p=new x3dom.fields.SFVec3f(a._00,a._01,a._02),l=new x3dom.fields.SFVec3f(a._10,a._11,a._12),d=new x3dom.fields.SFVec3f(a._20,a._21,a._22),c=Math.min(this._width/this._height,1),b=o/Math.tan(s/2)/c,u=r.add(d.multiply(b));return a._03=-p.dot(u),a._13=-l.dot(u),a._23=-d.dot(u),n&&i.setCenterOfRotation(r),a},x3dom.Viewarea.prototype.resetView=function(){this._scene.getNavigationInfo()._impl.resetView(this)},x3dom.Viewarea.prototype.resetNavHelpers=function(){this._rotMat=x3dom.fields.SFMatrix4f.identity(),this._transMat=x3dom.fields.SFMatrix4f.identity(),this._movement=new x3dom.fields.SFVec3f(0,0,0),this._needNavigationMatrixUpdate=!0},x3dom.Viewarea.prototype.uprightView=function(){var e=this.getViewMatrix().inverse(),t=e.e3(),i=t.subtract(e.e2()),n=new x3dom.fields.SFVec3f(0,1,0),_=e.e2().cross(n).normalize().cross(n).normalize();i=t.add(_),e=(e=x3dom.fields.SFMatrix4f.lookAt(t,i,n)).inverse(),this.animateTo(e,this._scene.getViewpoint())},x3dom.Viewarea.prototype.callEvtHandler=function(e,t,i){if(!e||!e._xmlNode)return null;try{var n=e._xmlNode,_=n[t];if("function"==typeof _)_.call(n,i);else if(n.hasAttribute(t)){var r=n.getAttribute(t);new Function("event",r).call(n,i)}var o=e._listeners[i.type];if(o)for(var s=0;s<o.length;s++)o[s].call(n,i)}catch(e){x3dom.debug.logException(e)}return i.cancelBubble},x3dom.Viewarea.prototype.checkEvents=function(e,t,i,n,_){var r,o,s,a=this,p=!0,l=e&&e._xmlNode?e._xmlNode:{},d=this._doc._nodeBag.affectedPointingSensors,c={viewarea:a,target:l,type:_.substr(2,_.length-2),button:n,layerX:t*this._inverseDevicePixelRatio,layerY:i*this._inverseDevicePixelRatio,worldX:a._pick.x,worldY:a._pick.y,worldZ:a._pick.z,normalX:a._pickNorm.x,normalY:a._pickNorm.y,normalZ:a._pickNorm.z,hitPnt:a._pick.toGL(),hitObject:l,shadowObjectId:a._pickingInfo.shadowObjectId,cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0},preventDefault:function(){this.cancelBubble=!0}};try{var b=e;b&&b._xmlNode&&b._cf.geometry&&!b._xmlNode[_]&&!b._xmlNode.hasAttribute(_)&&!b._listeners[c.type]&&(b=b._cf.geometry.node),b&&!0===a.callEvtHandler(b,_,c)&&(p=!1)}catch(e){x3dom.debug.logException(e)}var u=function(e){e._parentNodes.forEach((function(e){if(e._xmlNode&&(e._xmlNode[_]||e._xmlNode.hasAttribute(_)||e._listeners[c.type])&&!0===a.callEvtHandler(e,_,c)&&(p=!1),0==n&&0==d.length&&("onmousemove"==_||"onmouseover"==_||"onmouseout"==_))for(s=e._childNodes.length,o=0;o<s;++o)r=e._childNodes[o],x3dom.isa(r,x3dom.nodeTypes.X3DPointingDeviceSensorNode)&&r._vf.enabled&&-1==d.indexOf(r)&&d.push(r);x3dom.isa(e,x3dom.nodeTypes.Anchor)&&"onclick"===_?(e.handleTouch(),p=!1):p&&u(e)}))};return p&&e&&u(e),p},x3dom.Viewarea.prototype._notifyAffectedPointingSensors=function(e){var t,i={mousedown:"pointerPressedOverSibling",mousemove:"pointerMoved",mouseover:"pointerMovedOver",mouseout:"pointerMovedOut"}[e.type],n=this._doc._nodeBag.affectedPointingSensors,_=n.length;if(_>0&&void 0!==i)for(t=0;t<_;t++)n[t][i](e)},x3dom.Viewarea.prototype.initMouseState=function(){this._deltaT=0,this._dx=0,this._dy=0,this._lastX=-1,this._lastY=-1,this._pressX=-1,this._pressY=-1,this._lastButton=0,this._isMoving=!1,this._needNavigationMatrixUpdate=!0},x3dom.Viewarea.prototype.onMousePress=function(e,t,i){(this._needNavigationMatrixUpdate=!0,this.prepareEvents(e,t,0,"onmouseover"),this.prepareEvents(e,t,i,"onmousedown"),this._pickingInfo.lastClickObj=this._pickingInfo.pickObj,this._pickingInfo.firstObj=this._pickingInfo.pickObj,this._dx=0,this._dy=0,this._lastX=e,this._lastY=t,this._pressX=e,this._pressY=t,this._lastButton=i,this._isMoving=!1,this._currentInputType==x3dom.InputTypes.NAVIGATION)&&this._scene.getNavigationInfo()._impl.onMousePress(this,e,t,i)},x3dom.Viewarea.prototype.onMouseRelease=function(e,t,i,n){var _,r,o=this._doc._nodeBag.affectedPointingSensors;for(_=0;_<o.length;++_)o[_].pointerReleased();this._doc._nodeBag.affectedPointingSensors=[];var s=this._scene.getNavigationInfo(),a=s.getType(),p=this._scene._vf.pickMode.toLowerCase();if("box"!==p){if(this.prepareEvents(e,t,n,"onmouseup"),this._pickingInfo.pickObj&&this._pickingInfo.pickObj===this._pickingInfo.lastClickObj)this.prepareEvents(e,t,n,"onclick");else if(!this._pickingInfo.pickObj&&!this._pickingInfo.lastClickObj&&!this._pickingInfo.firstObj){var l="backgroundClicked";try{if(this._scene._xmlNode&&(this._scene._xmlNode["on"+l]||this._scene._xmlNode.hasAttribute("on"+l)||this._scene._listeners[l])){var d={target:this._scene._xmlNode,type:l,button:n,layerX:e*this._inverseDevicePixelRatio,layerY:t*this._inverseDevicePixelRatio,cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0},preventDefault:function(){this.cancelBubble=!0}};this._scene.callEvtHandler("on"+l,d)}}catch(e){x3dom.debug.logException("backgroundClicked: "+e)}}}else{var c=(new Date).getTime(),b=this.calcViewRay(e,t),u=this._scene.doIntersect(b),m=b.hitObject;u&&m&&(this._pick.setValues(b.hitPoint),this.checkEvents(m,e,t,i,"onclick"),x3dom.debug.logInfo("Hit '"+m._xmlNode.localName+"/ "+m._DEF+"' at dist="+b.dist.toFixed(4)),"color"===p?x3dom.debug.logInfo("Ray hit color "+this._pick):"idbufid"===p||"texcoord"===p?x3dom.debug.logInfo("Ray hit data "+this._pick):x3dom.debug.logInfo("Ray hit at position "+this._pick.x.toFixed(4)+" "+this._pick.y.toFixed(4)+" "+this._pick.z.toFixed(4)));var h=(new Date).getTime()-c;if(x3dom.debug.logInfo("Picking time (box): "+h+"ms"),!u){var f=(r=this.getViewMatrix().e2().negate()).dot(b.pos.negate())/r.dot(b.dir);this._pick=b.pos.add(b.dir.multiply(f))}}if(this._pickingInfo.firstObj=null,this._currentInputType==x3dom.InputTypes.NAVIGATION&&(this._pickingInfo.pickObj||this._pickingInfo.shadowObjectId>=0)&&"lookat"===a&&this._pressX===e&&this._pressY===t){var g=2&this._lastButton?-1:1,C=this._pickingInfo.pickPos.subtract(this._from).length()/3,S=new x3dom.fields.SFMatrix4f;S.setValues(this.getViewMatrix());var y=(S=S.inverse()).e3(),v=(y.subtract(S.e2()),S.e1()),x=(r=this._pickingInfo.pickPos.subtract(y)).length();r=r.normalize();var M=y.addScaled(r,x),T=r.cross(v).normalize();r=T.cross(v).normalize(),g<0&&(C=2*(.5+x+C));var D=M.addScaled(r,C);S=(S=x3dom.fields.SFMatrix4f.lookAt(D,M,v)).inverse(),C=D.subtract(y).length();var P=Math.max(.5,Math.log((1+C)/s._vf.speed));this.animateTo(S,this._scene.getViewpoint(),P)}this._dx=0,this._dy=0,this._lastX=e,this._lastY=t,this._lastButton=i,this._isMoving=!1},x3dom.Viewarea.prototype.onMouseOver=function(e,t,i){this._dx=0,this._dy=0,this._lastButton=0,this._isMoving=!1,this._lastX=e,this._lastY=t,this._deltaT=0},x3dom.Viewarea.prototype.onMouseOut=function(e,t,i){var n;this._dx=0,this._dy=0,this._lastButton=0,this._isMoving=!1,this._lastX=e,this._lastY=t,this._deltaT=0;var _=this._doc._nodeBag.affectedPointingSensors;for(n=0;n<_.length;++n)_[n].pointerReleased();this._doc._nodeBag.affectedPointingSensors=[]},x3dom.Viewarea.prototype.onDoubleClick=function(e,t){this._doc._x3dElem.hasAttribute("disableDoubleClick")&&"true"===this._doc._x3dElem.getAttribute("disableDoubleClick")||this._scene.getNavigationInfo()._impl.onDoubleClick(this,e,t)},x3dom.Viewarea.prototype.handleMoveEvt=function(e,t,i){if(0==i&&(this._doc._nodeBag.affectedPointingSensors=[]),this.prepareEvents(e,t,i,"onmousemove"),this._pickingInfo.pickObj!==this._pickingInfo.lastObj){if(this._pickingInfo.lastObj){var n=this._pickingInfo.pickObj;this._pickingInfo.pickObj=this._pickingInfo.lastObj;var _=this._doc._nodeBag.affectedPointingSensors;this._doc._nodeBag.affectedPointingSensors=[],this.prepareEvents(e,t,i,"onmouseout"),this._doc._nodeBag.affectedPointingSensors=_,this._pickingInfo.pickObj=n}this._pickingInfo.pickObj&&this.prepareEvents(e,t,i,"onmouseover"),this._pickingInfo.lastObj=this._pickingInfo.pickObj}},x3dom.Viewarea.prototype.onMove=function(e,t,i){this.handleMoveEvt(e,t,i),(this._lastX<0||this._lastY<0)&&(this._lastX=e,this._lastY=t),this._dx=e-this._lastX,this._dy=t-this._lastY,this._lastX=e,this._lastY=t},x3dom.Viewarea.prototype.onMoveView=function(e,t){if(this._currentInputType==x3dom.InputTypes.NAVIGATION){var i=this._scene.getNavigationInfo(),n=this._scene.getViewpoint();if("examine"===i.getType()){if(e){var _=this._scene._lastMax.subtract(this._scene._lastMin).length();_=(_<x3dom.fields.Eps?1:_)*i._vf.speed,e=e.multiply(_),this._movement=this._movement.add(e),this._transMat=n.getViewMatrix().inverse().mult(x3dom.fields.SFMatrix4f.translation(this._movement)).mult(n.getViewMatrix())}if(t){var r=n.getCenterOfRotation(),o=this.getViewMatrix();o.setTranslate(new x3dom.fields.SFVec3f(0,0,0)),this._rotMat=this._rotMat.mult(x3dom.fields.SFMatrix4f.translation(r)).mult(o.inverse()).mult(t).mult(o).mult(x3dom.fields.SFMatrix4f.translation(r.negate()))}this._isMoving=!0}}},x3dom.Viewarea.prototype.onDrag=function(e,t,i){this.handleMoveEvt(e,t,i),this._currentInputType==x3dom.InputTypes.NAVIGATION&&this._scene.getNavigationInfo()._impl.onDrag(this,e,t,i)},x3dom.Viewarea.prototype.prepareEvents=function(e,t,i,n){var _=this._doc._nodeBag.affectedPointingSensors,r=this._scene._vf.pickMode.toLowerCase(),o=null;(0==r.indexOf("idbuf")||"color"==r||"texcoord"==r)&&(o=this._pickingInfo.pickObj)&&(this._pick.setValues(this._pickingInfo.pickPos),this._pickNorm.setValues(this._pickingInfo.pickNorm),this.checkEvents(o,e,t,i,n),"onclick"===n&&(o._xmlNode&&x3dom.debug.logInfo('Hit "'+o._xmlNode.localName+"/ "+o._DEF+'"'),"color"===r?x3dom.debug.logInfo("Ray hit color "+this._pick):"idbufid"===r||"texcoord"===r?x3dom.debug.logInfo("Ray hit data "+this._pick):x3dom.debug.logInfo("Ray hit at position "+this._pick.x.toFixed(4)+" "+this._pick.y.toFixed(4)+" "+this._pick.z.toFixed(4))));var s={viewarea:this,target:{},type:n.substr(2,n.length-2),button:i,layerX:e,layerY:t,worldX:this._pick.x,worldY:this._pick.y,worldZ:this._pick.z,normalX:this._pickNorm.x,normalY:this._pickNorm.y,normalZ:this._pickNorm.z,hitPnt:this._pick.toGL(),hitObject:o&&o._xmlNode?o._xmlNode:null,shadowObjectId:this._pickingInfo.shadowObjectId,cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0},preventDefault:function(){this.cancelBubble=!0}};this._notifyAffectedPointingSensors(s),_.length>0?this._currentInputType=x3dom.InputTypes.INTERACTION:this._currentInputType=x3dom.InputTypes.NAVIGATION},x3dom.Viewarea.prototype.getRenderMode=function(){return this._points},x3dom.Viewarea.prototype.getShadowedLights=function(){for(var e=[],t=0,i=this.getLights(),n=0;n<i.length;n++)i[n]._vf.shadowIntensity>0&&(e[t]=i[n],t++);return e},x3dom.Viewarea.prototype.getShadowSplitDepths=function(e,t,i,n,_){var r,o=[],s=this._scene.getViewpoint(),a=s.getNear(),p=s.getFar();o[0]=a,a+=i*(p-a)/10;for(var l=1;l<e;l++)r=a*Math.pow(p/a,l/e),o[l]=t*r+(1-t)*(a+l/(e*(a-p)));if(o[e]=p,!n)return o;for(var d=[],c=0;c<=e;c++)d[c]=_.multFullMatrixPnt(new x3dom.fields.SFVec3f(0,0,-o[c])).z;return d},x3dom.Viewarea.prototype.getLightCropMatrix=function(e){var t,i=x3dom.fields.SFVec3f.copy(this._scene._lastMin),n=x3dom.fields.SFVec3f.copy(this._scene._lastMax),_=[];for(_[0]=new x3dom.fields.SFVec3f(i.x,i.y,i.z),_[1]=new x3dom.fields.SFVec3f(i.x,i.y,n.z),_[2]=new x3dom.fields.SFVec3f(i.x,n.y,i.z),_[3]=new x3dom.fields.SFVec3f(i.x,n.y,n.z),_[4]=new x3dom.fields.SFVec3f(n.x,i.y,i.z),_[5]=new x3dom.fields.SFVec3f(n.x,i.y,n.z),_[6]=new x3dom.fields.SFVec3f(n.x,n.y,i.z),_[7]=new x3dom.fields.SFVec3f(n.x,n.y,n.z),t=0;t<8;t++)_[t]=e.multFullMatrixPnt(_[t]);var r=x3dom.fields.SFVec3f.copy(_[0]),o=x3dom.fields.SFVec3f.copy(_[0]);for(t=1;t<8;t++)r.z=Math.min(_[t].z,r.z),o.z=Math.max(_[t].z,o.z);var s=2/(o.z-r.z),a=-s*(o.z+r.z)/2,p=x3dom.fields.SFMatrix4f.identity();return p._22=s,p._23=a,p},x3dom.Viewarea.prototype.getLightFittingMatrix=function(e,t,i,n){var _,r=this.getViewMatrix(),o=n.mult(r).inverse(),s=[];for(s[0]=new x3dom.fields.SFVec3f(-1,-1,i),s[1]=new x3dom.fields.SFVec3f(-1,-1,t),s[2]=new x3dom.fields.SFVec3f(-1,1,i),s[3]=new x3dom.fields.SFVec3f(-1,1,t),s[4]=new x3dom.fields.SFVec3f(1,-1,i),s[5]=new x3dom.fields.SFVec3f(1,-1,t),s[6]=new x3dom.fields.SFVec3f(1,1,i),s[7]=new x3dom.fields.SFVec3f(1,1,t),_=0;_<8;_++)s[_]=o.multFullMatrixPnt(s[_]),s[_]=e.multFullMatrixPnt(s[_]);var a=x3dom.fields.SFVec3f.copy(s[0]),p=x3dom.fields.SFVec3f.copy(s[0]);for(_=1;_<8;_++)a.x=Math.min(s[_].x,a.x),a.y=Math.min(s[_].y,a.y),a.z=Math.min(s[_].z,a.z),p.x=Math.max(s[_].x,p.x),p.y=Math.max(s[_].y,p.y),p.z=Math.max(s[_].z,p.z);var l=function(e,t){var i=e.x,n=e.y,_=e.z,r=t.x,o=t.y,s=t.z;i>1||r<-1?(i=-1,r=1):(i=Math.max(i,-1),r=Math.min(r,1)),n>1||o<-1?(n=-1,o=1):(n=Math.max(n,-1),o=Math.min(o,1)),_>1||s<-1?(_=-1,s=1):(_=Math.max(_,-1),s=Math.min(s,1));var a=new x3dom.fields.SFVec3f(i,n,_),p=new x3dom.fields.SFVec3f(r,o,s);return new x3dom.fields.BoxVolume(a,p)}(a,p),d=2/(l.max.x-l.min.x),c=2/(l.max.y-l.min.y),b=-d*(l.max.x+l.min.x)/2,u=-c*(l.max.y+l.min.y)/2,m=x3dom.fields.SFMatrix4f.identity();return m._00=d,m._11=c,m._03=b,m._13=u,m},x3dom.fields={};var VecMath=x3dom.fields,Module;function _colorParse(e){var t=0,i=0,n=0,_=1,r={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},o=/^rgb\((\d{1,3}),\s{0,1}(\d{1,3}),\s{0,1}(\d{1,3})\)$/.exec(e);null!==o&&(t=o[1]/255,i=o[2]/255,n=o[3]/255);var s=/^rgba\((\d{1,3}),\s{0,1}(\d{1,3}),\s{0,1}(\d{1,3}),(0+\.?\d*|1\.?0*)\)$/.exec(e);if(null!==s&&(t=s[1]/255,i=s[2]/255,n=s[3]/255,_=+s[4]),r[e]&&(e=r[e]),e.substr&&"#"===e.substr(0,1)){var a=e.substr(1),p=a.length;8===p?(t=parseInt("0x"+a.substr(0,2),16)/255,i=parseInt("0x"+a.substr(2,2),16)/255,n=parseInt("0x"+a.substr(4,2),16)/255,_=parseInt("0x"+a.substr(6,2),16)/255):6===p?(t=parseInt("0x"+a.substr(0,2),16)/255,i=parseInt("0x"+a.substr(2,2),16)/255,n=parseInt("0x"+a.substr(4,2),16)/255):4===p?(t=parseInt("0x"+a.substr(0,1),16)/15,i=parseInt("0x"+a.substr(1,1),16)/15,n=parseInt("0x"+a.substr(2,1),16)/15,_=parseInt("0x"+a.substr(3,1),16)/15):3===p&&(t=parseInt("0x"+a.substr(0,1),16)/15,i=parseInt("0x"+a.substr(1,1),16)/15,n=parseInt("0x"+a.substr(2,1),16)/15)}return{r:t,g:i,b:n,a:_}}function startDashVideo(e,t){var i,n,_,r=function(){var e={};window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,(function(t,i,n){e[i]=n}));return e},o=e;r&&r.hasOwnProperty("url")&&(o=r.url),i=document.querySelector(t),n=new Dash.di.DashContext,(_=new MediaPlayer(n)).startup(),_.attachView(i),_.setAutoPlay(!1),_.attachSource(o)}function setNamespace(e,t,i){t instanceof Element&&void 0!==t.__setAttribute&&(t.hasAttribute("id")?t.__setAttribute("id",e.toString().replace(" ","")+"__"+t.getAttribute("id")):t.hasAttribute("DEF")&&i&&(t.__setAttribute("id",e.toString().replace(" ","")+"__"+t.getAttribute("DEF")),t.id||(t.id=t.__getAttribute("id")))),t.hasChildNodes()&&t.childNodes.forEach((function(t){setNamespace(e,t,i)}))}function NodeProducer(){var e=null,t=1e6;this.AddNewNode=function(i,n){i.Level()<t&&(t=i.Level(),e=i),i.Level()===t&&n<1e6&&(n=1e6,e=i)},this.CreateNewNode=function(){null!==e&&e.CreateChildren(),e=null,t=1e3}}function QuadtreeNode2dWMTS(e,t,i,n,_,r,o,s){var a=[],p=new x3dom.nodeTypes.Shape,l=null,d=!1,c=!1,b=t._vf.textureUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.textureFormat.toLowerCase(),u=(t._vf.size.x+t._vf.size.y)/2,m={};function h(){d=!0;for(var e=0;e<p._webgl.texture.length;e++)p._webgl.texture[e].texture.ready||(d=!1);return d}this.CreateChildren=function(){var p,l,d,c,b,u,m;p=Math.sqrt(Math.pow(4,i)),l=Math.sqrt(Math.pow(4,i+1)),d=4*Math.floor(n/p)*p+n%p*2,c=d+1,u=(b=d+l)+1,m=t._vf.size.multiply(.25),a.push(new QuadtreeNode2dWMTS(e,t,i+1,d,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-m.x,m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o,s)),a.push(new QuadtreeNode2dWMTS(e,t,i+1,c,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(m.x,m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o,s)),a.push(new QuadtreeNode2dWMTS(e,t,i+1,b,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-m.x,-m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o+1,s)),a.push(new QuadtreeNode2dWMTS(e,t,i+1,u,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(m.x,-m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o+1,s))},this.Shape=function(){return p},this.Ready=function(){return void 0!==p._webgl&&void 0!==p._webgl.texture&&h()},this.collectDrawables=function(e,n,r,o,s){if(m.localMatrix=_,s=n.cull(_,m,r,s),d&&c||function(e,t){c=!0;for(var i=0;i<a.length;i++)a[i].Ready()||(c=!1);if(a.length<4)c=!1;else if(c)for(i=0;i<a.length;i++)a[i].Shape()._vf.visible=!0;void 0===p._webgl||void 0===p._webgl.texture?e.context.setupShape(e.gl,{shape:p,transform:t},e.viewarea):h()}(n,_),d&&s>=0){var b=n.viewMatrix.multMatrixPnt(_.multMatrixPnt(l)),g=Math.sqrt(Math.pow(b.x,2)+Math.pow(b.y,2)+Math.pow(b.z,2));if(g<Math.pow(t._vf.maxDepth-i,2)*u/t._vf.factor||i<t._vf.minDepth)if(t.view.isMovingOrAnimating()&&0===a.length||t.view.isMovingOrAnimating()&&i>=t._vf.interactionDepth)p.collectDrawableObjects(_,n,r,o,s,[]);else if(0===a.length)t.nodeProducer.AddNewNode(f,g),p.collectDrawableObjects(_,n,r,o,s,[]);else if(c)for(var C=0;C<a.length;C++)a[C].collectDrawables(_,n,r,o,s);else{p.collectDrawableObjects(_,n,r,o,s,[]);for(C=0;C<a.length;C++)a[C].collectDrawables(_,n,r,o,s),a[C].Shape()._vf.visible=!1}else p.collectDrawableObjects(_,n,r,o,s,[])}},this.getVolume=function(){return p.getVolume()},this.Level=function(){return i};var f=this;!function(){var i=new x3dom.nodeTypes.Appearance(e),n=new x3dom.nodeTypes.ImageTexture(e);p._nameSpace=t._nameSpace;var r=new x3dom.nodeTypes.TextureProperties(e);r._vf.boundaryModeS="CLAMP_TO_EDGE",r._vf.boundaryModeT="CLAMP_TO_EDGE",r._vf.boundaryModeR="CLAMP_TO_EDGE",r._vf.minificationFilter="LINEAR",r._vf.magnificationFilter="LINEAR",n.addChild(r,"textureProperties"),n.nodeChanged(),n._nameSpace=t._nameSpace,n._vf.url[0]=b,l=_.e3(),i.addChild(n),n.nodeChanged(),p.addChild(i),i.nodeChanged(),p.addChild(s),s.nodeChanged(),t.addChild(p),p.nodeChanged(),m.boundedNode=p,m.volume=p.getVolume()}()}function QuadtreeNode2D(e,t,i,n,_,r,o,s,a,p){var l=[],d=new x3dom.nodeTypes.Shape,c=null,b=!1,u=!1,m=t._vf.textureUrl+a+p+"."+t._vf.textureFormat,h=(t._vf.size.x+t._vf.size.y)/2,f={};function g(){b=!0;for(var e=0;e<d._webgl.texture.length;e++)d._webgl.texture[e].texture.ready||(b=!1);return b}this.CreateChildren=function(){var d,c,b,u,m,h,f;d=Math.sqrt(Math.pow(4,i)),c=Math.sqrt(Math.pow(4,i+1)),b=4*Math.floor(n/d)*d+n%d*2,u=b+1,h=(m=b+c)+1,f=t._vf.size.multiply(.25),l.push(new QuadtreeNode2D(e,t,i+1,b,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-f.x,f.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o,s,a+p+"/",1)),l.push(new QuadtreeNode2D(e,t,i+1,u,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(f.x,f.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o,s,a+p+"/",3)),l.push(new QuadtreeNode2D(e,t,i+1,m,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-f.x,-f.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o+1,s,a+p+"/",2)),l.push(new QuadtreeNode2D(e,t,i+1,h,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(f.x,-f.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o+1,s,a+p+"/",4))},this.Shape=function(){return d},this.Ready=function(){return void 0!==d._webgl&&void 0!==d._webgl.texture&&g()},this.collectDrawables=function(e,n,r,o,s){if(f.localMatrix=_,b&&u||function(e,t){u=!0;for(var i=0;i<l.length;i++)l[i].Ready()||(u=!1);if(l.length<4)u=!1;else if(u)for(i=0;i<l.length;i++)l[i].Shape()._vf.visible=!0;void 0===d._webgl||void 0===d._webgl.texture?e.context.setupShape(e.gl,{shape:d,transform:t},e.viewarea):g()}(n,_),b&&(s=n.cull(_,f,r,s))>0){var a=n.viewMatrix.multMatrixPnt(_.multMatrixPnt(c)),p=Math.sqrt(Math.pow(a.x,2)+Math.pow(a.y,2)+Math.pow(a.z,2));if(p<Math.pow(t._vf.maxDepth-i,2)*h/t._vf.factor||i<t._vf.minDepth)if(t.view.isMovingOrAnimating()&&0===l.length||t.view.isMovingOrAnimating()&&i>=t._vf.interactionDepth)d.collectDrawableObjects(_,n,r,o,s,[]);else if(0===l.length)t.nodeProducer.AddNewNode(C,p),d.collectDrawableObjects(_,n,r,o,s,[]);else if(u)for(var m=0;m<l.length;m++)l[m].collectDrawables(_,n,r,o,s);else{d.collectDrawableObjects(_,n,r,o,s,[]);for(m=0;m<l.length;m++)l[m].collectDrawables(_,n,r,o,s),l[m].Shape()._vf.visible=!1}else d.collectDrawableObjects(_,n,r,o,s,[])}},this.getVolume=function(){return d.getVolume()},this.Level=function(){return i};var C=this;!function(){var i=new x3dom.nodeTypes.Appearance(e),n=new x3dom.nodeTypes.ImageTexture(e);d._nameSpace=t._nameSpace;var r=new x3dom.nodeTypes.TextureProperties(e);r._vf.boundaryModeS="CLAMP_TO_EDGE",r._vf.boundaryModeT="CLAMP_TO_EDGE",r._vf.boundaryModeR="CLAMP_TO_EDGE",r._vf.minificationFilter="LINEAR",r._vf.magnificationFilter="LINEAR",n.addChild(r,"textureProperties"),n.nodeChanged(),n._nameSpace=t._nameSpace,n._vf.url[0]=m,c=_.e3(),i.addChild(n),n.nodeChanged(),d.addChild(i),i.nodeChanged(),d.addChild(s),s.nodeChanged(),t.addChild(d),d.nodeChanged(),f.boundedNode=d,f.volume=d.getVolume()}()}function QuadtreeNode3D(e,t,i,n,_,r,o,s){var a=[],p=[],l=new x3dom.nodeTypes.Shape,d=null,c=t._vf.textureUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.textureFormat.toLowerCase(),b=t._vf.elevationUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.elevationFormat.toLowerCase();if(""!==t._vf.normalUrl)var u=t._vf.normalUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.normalFormat.toLowerCase();var m=!1,h=!1,f=(t._vf.size.x+t._vf.size.y)/2,g={},C=0,S=null;function y(){m=!0;for(var e=0;e<l._webgl.texture.length;e++)l._webgl.texture[e].texture.ready||(m=!1);return m}function v(e,i,n,r,o){for(var s=[],a=0;a<p.length;a++)void 0!==t.nodeList[p[a]]&&t.nodeList[p[a]].ChildrenReady()&&t.nodeList[p[a]].hasHigherRenderLevel(i)?s.push(!0):s.push(!1);var d=0;s[3]?d=s[1]?5:s[0]?6:4:s[2]?d=s[1]?8:s[0]?7:3:s[0]?d=1:s[1]&&(d=2),C===d&&null!==S||(S=l._cf.geometry.node.getTriangulationAttributes(d),C=d),l._tessellationProperties=[S],l.collectDrawableObjects(_,i,n,r,o,[])}this.CreateChildren=function(){var p,l,d,c,b,u,m;p=Math.sqrt(Math.pow(4,i)),l=Math.sqrt(Math.pow(4,i+1)),d=4*Math.floor(n/p)*p+n%p*2,c=d+1,u=(b=d+l)+1,m=t._vf.size.multiply(.25),a.push(new QuadtreeNode3D(e,t,i+1,d,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-m.x,m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o,s)),a.push(new QuadtreeNode3D(e,t,i+1,c,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(m.x,m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o,s)),a.push(new QuadtreeNode3D(e,t,i+1,b,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-m.x,-m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o+1,s)),a.push(new QuadtreeNode3D(e,t,i+1,u,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(m.x,-m.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o+1,s))},this.Shape=function(){return l},this.ChildrenReady=function(){return h},this.Ready=function(){return void 0!==l._webgl&&void 0!==l._webgl.texture&&y()},this.collectDrawables=function(e,n,r,o,s){n.frustumCulling=!1,g.localMatrix=_,m&&h||function(e,t){h=!0;for(var i=0;i<a.length;i++)a[i].Ready()||(h=!1);if(a.length<4)h=!1;else if(h)for(i=0;i<a.length;i++)a[i].Shape()._vf.visible=!0;void 0===l._webgl||void 0===l._webgl.texture?e.context.setupShape(e.gl,{shape:l,transform:t},e.viewarea):y()}(n,_);var p=n.viewMatrix.multMatrixPnt(_.multMatrixPnt(d)),c=Math.sqrt(Math.pow(p.x,2)+Math.pow(p.y,2)+Math.pow(p.z,2));if(m&&p.z-g.volume.diameter/2<0)if(c<Math.pow(t._vf.maxDepth-i,2)*f/t._vf.factor||i<t._vf.minDepth)if(t.view.isMovingOrAnimating()&&(0==a.length||i>=t._vf.interactionDepth))v(_,n,r,o,s);else if(0===a.length)t.nodeProducer.AddNewNode(x,c),v(_,n,r,o,s);else if(h)for(var b=0;b<a.length;b++)a[b].collectDrawables(_,n,r,o,s);else{v(_,n,r,o,s);for(b=0;b<a.length;b++)a[b].collectDrawables(_,n,r,o,s),a[b].Shape()._vf.visible=!1}else v(_,n,r,o,s)},this.hasHigherRenderLevel=function(e){var n=e.viewMatrix.multMatrixPnt(_.multMatrixPnt(d));return Math.sqrt(Math.pow(n.x,2)+Math.pow(n.y,2)+Math.pow(n.z,2))<Math.pow(t._vf.maxDepth-i,2)*f/t._vf.factor},this.getVolume=function(){return l.getVolume()},this.Level=function(){return i};var x=this;!function(){var a=new x3dom.nodeTypes.Appearance(e),m=new x3dom.nodeTypes.MultiTexture(e),h=new x3dom.nodeTypes.ImageTexture(e),f=new x3dom.nodeTypes.ImageTexture(e),C=new x3dom.nodeTypes.ImageTexture(e),S=new x3dom.nodeTypes.ComposedShader(e);l._nameSpace=t._nameSpace,(d=_.e3()).z=t._vf.maxElevation/2;var y=new x3dom.nodeTypes.ShaderPart(e);y._vf.type="vertex",y._vf.url[0]=""!==t._vf.normalUrl?"attribute vec3 position;\nattribute vec3 texcoord;\nuniform mat4 modelViewMatrix;\nuniform mat4 modelViewProjectionMatrix;\nuniform sampler2D texColor;\nuniform sampler2D texHeight;\nuniform float maxElevation;\nuniform sampler2D texNormal;\nvarying vec2 texC;\nvarying vec3 vLight;\nconst float shininess = 32.0;\n\nvoid main(void) {\n vec3 uLightPosition = vec3(160.0, -9346.0, 4806.0);\n vec4 colr = texture2D(texColor, vec2(texcoord[0], 1.0-texcoord[1]));\n vec3 uAmbientMaterial = vec3(1.0, 1.0, 0.9); vec3 uAmbientLight = vec3(0.5, 0.5, 0.5); vec3 uDiffuseMaterial = vec3(0.7, 0.7, 0.7); vec3 uDiffuseLight = vec3(1.0, 1.0, 1.0); vec4 vertexPositionEye4 = modelViewMatrix * vec4(position, 1.0); vec3 vertexPositionEye3 = vec3((modelViewMatrix * vec4(vertexPositionEye4.xyz, 1.0)).xyz); vec3 vectorToLightSource = normalize(uLightPosition - vertexPositionEye3); vec4 height = texture2D(texHeight, vec2(texcoord[0], 1.0 - texcoord[1]));\n vec4 normalEye = 2.0 * texture2D(texNormal, vec2(texcoord[0], 1.0-texcoord[1])) - 1.0;\n float diffuseLightWeighting = max(dot(normalEye.xyz, vectorToLightSource), 0.0); texC = vec2(texcoord[0], 1.0-texcoord[1]);\n vec3 diffuseReflectance = uDiffuseMaterial * uDiffuseLight * diffuseLightWeighting; vec3 uSpecularMaterial = vec3(0.0, 0.0, 0.0); vec3 uSpecularLight = vec3(1.0, 1.0, 1.0); vec3 reflectionVector = normalize(reflect(-vectorToLightSource, normalEye.xyz)); vec3 viewVectorEye = -normalize(vertexPositionEye3); float rdotv = max(dot(reflectionVector, viewVectorEye), 0.0); float specularLightWeight = pow(rdotv, shininess); vec3 specularReflection = uSpecularMaterial * uSpecularLight * specularLightWeight; vLight = vec4(uAmbientMaterial * uAmbientLight + diffuseReflectance + specularReflection, 1.0).xyz; gl_Position = modelViewProjectionMatrix * vec4(position.xy, height.x * maxElevation, 1.0);\n}\n":"attribute vec3 position;\nattribute vec3 texcoord;\nuniform mat4 modelViewProjectionMatrix;\nuniform sampler2D texHeight;\nuniform float maxElevation;\nvarying vec2 texC;\n\nvoid main(void) {\n vec4 height = texture2D(texHeight, vec2(texcoord[0], 1.0 - texcoord[1]));\n texC = vec2(texcoord[0], 1.0-texcoord[1]);\n gl_Position = modelViewProjectionMatrix * vec4(position.xy, height.x * maxElevation, 1.0);\n}\n";var v=new x3dom.nodeTypes.ShaderPart(e);v._vf.type="fragment",v._vf.url[0]=""!==t._vf.normalUrl?"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D texColor;\nuniform sampler2D texNormal;\nvarying vec2 texC;\nvarying vec3 vLight;\n\n\nvoid main(void) {\n vec4 normal = 2.0 * texture2D(texNormal, texC) - 1.0;\n vec4 colr = texture2D(texColor, texC);\n gl_FragColor = vec4(colr.xyz * vLight, colr.w);\n}\n":"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D texColor;\nvarying vec2 texC;\n\n\nvoid main(void) {\n gl_FragColor = texture2D(texColor, texC);\n}\n",S.addChild(y,"parts"),S.addChild(v,"parts");var M=new x3dom.nodeTypes.TextureProperties(e);M._vf.boundaryModeS="CLAMP_TO_EDGE",M._vf.boundaryModeT="CLAMP_TO_EDGE",M._vf.boundaryModeR="CLAMP_TO_EDGE",M._vf.minificationFilter="LINEAR",M._vf.magnificationFilter="LINEAR",h.addChild(M,"textureProperties"),h.nodeChanged(),h._nameSpace=t._nameSpace,h._vf.url[0]=c,h._vf.repeatT=!1,h._vf.repeatS=!1,m.addChild(h,"texture"),h.nodeChanged();var T=new x3dom.nodeTypes.Field(e);T._vf.name="texColor",T._vf.type="SFInt32",T._vf.value=0,S.addChild(T,"fields"),T.nodeChanged();var D=new x3dom.nodeTypes.TextureProperties(e);D._vf.boundaryModeS="CLAMP_TO_EDGE",D._vf.boundaryModeT="CLAMP_TO_EDGE",D._vf.boundaryModeR="CLAMP_TO_EDGE",D._vf.minificationFilter="NEAREST",D._vf.magnificationFilter="NEAREST",f.addChild(D,"textureProperties"),f.nodeChanged(),f._nameSpace=t._nameSpace,f._vf.url[0]=b,f._vf.repeatT=!1,f._vf.repeatS=!1,f._vf.scale=!1,m.addChild(f,"texture"),f.nodeChanged();var P=new x3dom.nodeTypes.Field(e);if(P._vf.name="texHeight",P._vf.type="SFInt32",P._vf.value=1,S.addChild(P,"fields"),P.nodeChanged(),""!==t._vf.normalUrl){var w=new x3dom.nodeTypes.TextureProperties(e);w._vf.boundaryModeS="CLAMP_TO_EDGE",w._vf.boundaryModeT="CLAMP_TO_EDGE",w._vf.boundaryModeR="CLAMP_TO_EDGE",w._vf.minificationFilter="LINEAR",w._vf.magnificationFilter="LINEAR",C.addChild(w,"textureProperties"),C.nodeChanged(),C._nameSpace=t._nameSpace,C._vf.url[0]=u,C._vf.repeatT=!1,C._vf.repeatS=!1,m.addChild(C,"texture"),C.nodeChanged();var A=new x3dom.nodeTypes.Field(e);A._vf.name="texNormal",A._vf.type="SFInt32",A._vf.value=2,S.addChild(A,"fields"),A.nodeChanged()}var F=new x3dom.nodeTypes.Field(e);F._vf.name="maxElevation",F._vf.type="SFFloat",F._vf.value=t._vf.maxElevation,S.addChild(F,"fields"),F.nodeChanged(),a.addChild(m),m.nodeChanged(),a.addChild(S),S.nodeChanged(),l.addChild(a),a.nodeChanged(),l.addChild(s),t.addChild(l),l.nodeChanged(),g.boundedNode=l,g.volume=l.getVolume(),g.volume.max.z=t._vf.maxElevation,g.volume.min.z=0,g.volume.center=g.volume.min.add(g.volume.max).multiply(.5),g.volume.transform(_),function(){for(var e=0,_=0;_<i;_++)e+=Math.pow(4,_);var s=e+n;t.nodeList[s]=x;var a=Math.sqrt(Math.pow(4,i));p[0]=e+(Math.ceil((n+1)/a-1)*a+(n+(a-1))%a),p[1]=e+(Math.ceil((n+1)/a-1)*a+(n+1)%a),p[3]=e+(n+a*(a-1))%Math.pow(4,i),p[2]=e+(n+a)%Math.pow(4,i),0===r&&(p[0]=-1);0===o&&(p[3]=-1);r===a-1&&(p[1]=-1);o===a-1&&(p[2]=-1)}()}()}function QuadtreeNodeBin(e,t,i,n,_,r){var o,s,a,p={},l=.1*(1/4*Math.pow(i,2)+1.5)*t._vf.factor,d=[],c=!1,b=!1,u=!1,m=t._vf.url+"/"+i+"/"+n+"/",h=m+_+".x3d",f=new x3dom.fields.SFVec3f(0,0,0),g=!1,C=new x3dom.nodeTypes.Shape(e),S=new XMLHttpRequest;S.open("GET",h,!1);try{x3dom.RequestManager.addRequest(S);var y=S.responseXML;if(null!==y){new RegExp('"',"g");!function(i){this._nameSpace=new x3dom.NodeNameSpace("",t._nameSpace.doc),this._nameSpace.setBaseURL(t._nameSpace.baseURL+m);var n=y.getElementsByTagName("Shape")[0];if(C=this._nameSpace.setupTree(n),!t._vf.useNormals){var _=new x3dom.nodeTypes.Appearance(e),r=new x3dom.nodeTypes.Material(e);_.addChild(r),C._cf.appearance=_}f=x3dom.fields.SFVec3f.copy(C._cf.geometry.node._vf.position)}(),v(),g=!0}}catch(e){x3dom.debug.logException("Error loading file '"+h+"': "+e)}function v(){p.boundedNode=C,p.volume=C.getVolume()}function x(){return b=!0,C._webgl.internalDownloadCount>0&&(b=!1),b}this.Exists=function(){return g},this.Shape=function(){return C},this.CreateChildren=function(){d.push(new QuadtreeNodeBin(e,t,i+1,2*n,2*_,r)),d.push(new QuadtreeNodeBin(e,t,i+1,2*n+1,2*_,r)),d.push(new QuadtreeNodeBin(e,t,i+1,2*n,2*_+1,r)),d.push(new QuadtreeNodeBin(e,t,i+1,2*n+1,2*_+1,r))},this.Ready=function(){return void 0!==C._webgl&&void 0!==C._webgl.internalDownloadCount&&x()},this.collectDrawables=function(e,n,_,r,m){if(l=.1*(1/4*Math.pow(i,2)+1.5)*t._vf.factor,p.localMatrix=e,b&&u||function(e,t){u=!0;for(var i=0;i<d.length;i++)d[i].Ready()||(u=!1);if(u)for(i=0;i<d.length;i++)d[i].Shape()._vf.visible=!0;null!==C._cf.geometry.node&&(void 0===C._webgl||void 0===C._webgl.internalDownloadCount?e.context.setupShape(e.gl,{shape:C,transform:t},e.viewarea):x())}(n,e),b&&g&&(m=n.cull(e,p,_,m))>0)if(o=n.viewMatrix,s=o.multMatrixPnt(e.multMatrixPnt(f)),(a=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)+Math.pow(s.z,2)))<Math.pow(t._vf.maxDepth-i,2)/l*1e3||i<t._vf.minDepth)if(t.view.isMovingOrAnimating()&&i>=t._vf.interactionDepth)C.collectDrawableObjects(e,n,_,r,m,[]);else if(0===d.length)t.nodeProducer.AddNewNode(M,a),C.collectDrawableObjects(e,n,_,r,m,[]);else if(0===d.length&&t.createChildren>0)C.collectDrawableObjects(e,n,_,r,m,[]);else{if(!c)for(var h=0;h<d.length;h++)if(d[h].Exists()){c=!0;break}if(c&&u)for(h=0;h<d.length;h++)d[h].collectDrawables(e,n,_,r,m);else{for(h=0;h<d.length;h++)d[h].collectDrawables(e,n,_,r,m),d[h].Shape()._vf.visible=!1;C.collectDrawableObjects(e,n,_,r,m,[])}}else C.collectDrawableObjects(e,n,_,r,m,[])},this.getVolume=function(){return C.getVolume()},this.Level=function(){return i};var M=this;v()}function BVHNode(e,t,i,n,_,r){var o={},s=(Math.pow(i,2),t._vf.factor,[]),a=t._vf.url+n+_+".x3d",p=(new x3dom.fields.SFVec3f(0,0,0),!1),l=new x3dom.nodeTypes.Shape(e);this.RecalcFactor=function(){.1*(1/4*Math.pow(i,2)+1.5)*t._vf.factor;for(var e=0;e<s.length;e++)s[e].RecalcFactor()};var d=new XMLHttpRequest;d.open("GET",a,!1);try{x3dom.RequestManager.addRequest(d);var c=d.responseXML;if(null!==c){new RegExp('"',"g");!function(i){this._nameSpace=new x3dom.NodeNameSpace("",t._nameSpace.doc),this._nameSpace.setBaseURL(t._nameSpace.baseURL+t._vf.url+n);var _=c.getElementsByTagName("Shape")[0];if(l=this._nameSpace.setupTree(_),!t._vf.useNormals){var r=new x3dom.nodeTypes.Appearance(e),o=new x3dom.nodeTypes.Material(e);r.addChild(o),l._cf.appearance=r}x3dom.fields.SFVec3f.copy(l._cf.geometry.node._vf.position)}(),b(),p=!0}}catch(e){x3dom.debug.logException("Error loading file '"+a+"': "+e)}function b(){o.boundedNode=l,o.volume=l.getVolume()}function u(){return l._webgl.internalDownloadCount<=0}this.Exists=function(){return p},this.Shape=function(){return l},this.CreateChildren=function(){!function(){for(var o=0;o<r;o++)s.push(new BVHNode(e,t,i+1,n+_+"/",o+1,r))}()},this.Ready=function(){return void 0!==l._webgl&&void 0!==l._webgl.internalDownloadCount&&u()},this.collectDrawables=function(e,n,_,r,a){.1*(1/4*Math.pow(i,2)+1.5)*t._vf.factor,o.localMatrix=e,function(e,t){for(var i=0;i<s.length;i++)!0,s[i].Ready()?s[i].Shape()._vf.visible=!0:!1;null!==l._cf.geometry.node&&(void 0===l._webgl||void 0===l._webgl.internalDownloadCount?e.context.setupShape(e.gl,{shape:l,transform:t},e.viewarea):u())}(n,e)},this.getVolume=function(){return l.getVolume()},this.Level=function(){return i};b()}function QuadtreeNode3D_NEW(e,t,i,n,_,r,o,s){var a,p,l,d,c,b,u=[],m=new x3dom.nodeTypes.Shape,h=null,f=t._vf.textureUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.textureFormat.toLowerCase(),g=t._vf.elevationUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.elevationFormat.toLowerCase(),C=(t._vf.normalUrl,t._vf.normalFormat.toLowerCase(),(t._vf.size.x+t._vf.size.y)/2),S={};this.collectDrawables=function(a,p,l,d,c){if(S.localMatrix=_,(c=p.cull(a,S,l,c))>0){var b=p.viewMatrix.multMatrixPnt(a.multMatrixPnt(h));if(Math.sqrt(Math.pow(b.x,2)+Math.pow(b.y,2)+Math.pow(b.z,2))<Math.pow(t._vf.maxDepth-i,2)*C/t._vf.factor)if(0===u.length&&0===t.createChildren)t.createChildren++,g=Math.sqrt(Math.pow(4,i)),y=Math.sqrt(Math.pow(4,i+1)),v=4*Math.floor(n/g)*g+n%g*2,x=v+1,T=(M=v+y)+1,D=t._vf.size.multiply(.25),u.push(new QuadtreeNode3D_NEW(e,t,i+1,v,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-D.x,D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o,s)),u.push(new QuadtreeNode3D_NEW(e,t,i+1,x,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(D.x,D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o,s)),u.push(new QuadtreeNode3D_NEW(e,t,i+1,M,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-D.x,-D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o+1,s)),u.push(new QuadtreeNode3D_NEW(e,t,i+1,T,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(D.x,-D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o+1,s)),m.collectDrawableObjects(_,p,l,d,c,[]);else if(0===u.length&&t.createChildren>0)m.collectDrawableObjects(_,p,l,d,c,[]);else for(var f=0;f<u.length;f++)u[f].collectDrawables(_,p,l,d,c);else m.collectDrawableObjects(_,p,l,d,c,[])}var g,y,v,x,M,T,D},this.getVolume=function(){return m.getVolume()},a=new x3dom.nodeTypes.Appearance(e),p=new x3dom.nodeTypes.CommonSurfaceShader(e),l=new x3dom.nodeTypes.SurfaceShaderTexture(e),d=new x3dom.nodeTypes.ImageTexture(e),c=new x3dom.nodeTypes.SurfaceShaderTexture(e),b=new x3dom.nodeTypes.ImageTexture(e),m._nameSpace=t._nameSpace,h=_.e3(),p._vf.displacementFactor=t._vf.maxElevation,d._nameSpace=t._nameSpace,d._vf.url[0]=f,d._vf.repeatT=!1,d._vf.repeatS=!1,l.addChild(d,"texture"),d.nodeChanged(),p.addChild(l,"diffuseTexture"),l.nodeChanged(),b._nameSpace=t._nameSpace,b._vf.url[0]=g,b._vf.repeatT=!1,b._vf.repeatS=!1,c.addChild(b,"texture"),b.nodeChanged(),p.addChild(c,"displacementTexture"),b.nodeChanged(),a.addChild(p,"shaders"),p.nodeChanged(),m.addChild(a),a.nodeChanged(),m.addChild(s),s.nodeChanged(),t.addChild(m),m.nodeChanged(),S.boundedNode=m,S.volume=m.getVolume(),S.volume.max.z=Math.round(t._vf.maxElevation/2),S.volume.min.z=-S.volume.max.z}function OctreeNode(e,t,i,n){var _,r,o=[],s=n.e3(),a=new x3dom.nodeTypes.Shape(e),p={},l=(t._vf.octSize.x+t._vf.octSize.y+t._vf.octSize.z)/3;this.collectDrawables=function(_,r,d,c,b){if(p.localMatrix=n,(b=r.cull(_,p,d,b))>0){var u=r.viewMatrix.multMatrixPnt(_.multMatrixPnt(s));if(Math.sqrt(Math.pow(u.x,2)+Math.pow(u.y,2)+Math.pow(u.z,2))<Math.pow(t._vf.maxDepth-i,2)*l/t._vf.factor)if(0===o.length)h=t._vf.octSize.multiply(.25),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-h.x,h.y,h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(h.x,h.y,h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-h.x,-h.y,h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(h.x,-h.y,h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-h.x,h.y,-h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(h.x,h.y,-h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-h.x,-h.y,-h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5))))),o.push(new OctreeNode(e,t,i+1,n.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(h.x,-h.y,-h.z))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,.5)))));else for(var m=0;m<o.length;m++)o[m].collectDrawables(n,r,d,c,b);else a.collectDrawableObjects(n,r,d,c,b,[])}var h},this.getVolume=function(){return a.getVolume()},_=new x3dom.nodeTypes.Appearance(e),(r=new x3dom.nodeTypes.Box(e))._vf.size=t._vf.octSize,r.fieldChanged("size"),a._nameSpace=new x3dom.NodeNameSpace("",t._nameSpace.doc),a._nameSpace.setBaseURL(t._nameSpace.baseURL),a.addChild(_),_.nodeChanged(),a.addChild(r),r.nodeChanged(),a.nodeChanged(),p.boundedNode=a,p.volume=a.getVolume()}function QuadtreeNode3D_32bit(e,t,i,n,_,r,o,s){var a=[],p=new x3dom.nodeTypes.Shape,l=null,d=t._vf.textureUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.textureFormat.toLowerCase(),c=t._vf.elevationUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.elevationFormat.toLowerCase(),b=t._vf.normalUrl+"/"+i+"/"+r+"/"+o+"."+t._vf.normalFormat.toLowerCase(),u=(t._vf.size.x+t._vf.size.y)/2,m={};this.collectDrawables=function(d,c,b,h,f){if(m.localMatrix=_,(f=c.cull(d,m,b,f))>0){var g=c.viewMatrix.multMatrixPnt(d.multMatrixPnt(l));if(Math.sqrt(Math.pow(g.x,2)+Math.pow(g.y,2)+Math.pow(g.z,2))<Math.pow(t._vf.maxDepth-i,2)*u/t._vf.factor)if(0===a.length&&0===t.createChildren)t.createChildren++,S=Math.sqrt(Math.pow(4,i)),y=Math.sqrt(Math.pow(4,i+1)),v=4*Math.floor(n/S)*S+n%S*2,x=v+1,T=(M=v+y)+1,D=t._vf.size.multiply(.25),a.push(new QuadtreeNode3D_32bit(e,t,i+1,v,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-D.x,D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o,s)),a.push(new QuadtreeNode3D_32bit(e,t,i+1,x,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(D.x,D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o,s)),a.push(new QuadtreeNode3D_32bit(e,t,i+1,M,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(-D.x,-D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r,2*o+1,s)),a.push(new QuadtreeNode3D_32bit(e,t,i+1,T,_.mult(x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f(D.x,-D.y,0))).mult(x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(.5,.5,1))),2*r+1,2*o+1,s)),p.collectDrawableObjects(_,c,b,h,f,[]);else if(0===a.length&&t.createChildren>0)p.collectDrawableObjects(_,c,b,h,f,[]);else for(var C=0;C<a.length;C++)a[C].collectDrawables(_,c,b,h,f);else p.collectDrawableObjects(_,c,b,h,f,[])}var S,y,v,x,M,T,D},this.getVolume=function(){return p.getVolume()},function(){var i=new x3dom.nodeTypes.Appearance(e),n=new x3dom.nodeTypes.MultiTexture(e),r=new x3dom.nodeTypes.ImageTexture(e),o=new x3dom.nodeTypes.ImageTexture(e),a=new x3dom.nodeTypes.ImageTexture(e),u=new x3dom.nodeTypes.ComposedShader(e);p._nameSpace=t._nameSpace,l=_.e3();var h=new x3dom.nodeTypes.ShaderPart(e);h._vf.type="vertex",h._vf.url[0]="attribute vec3 position;\nattribute vec3 texcoord;\nuniform mat4 modelViewMatrix;\nuniform mat4 modelViewProjectionMatrix;\nuniform sampler2D texColor;\nuniform sampler2D texHeight;\nuniform float maxElevation;\nuniform sampler2D texNormal;\nvarying vec2 texC;\nvarying vec3 vLight;\nconst float shininess = 32.0;\n\nvoid main(void) {\n vec3 uLightPosition = vec3(160.0, -9346.0, 4806.0);\n vec4 colr = texture2D(texColor, vec2(texcoord[0], 1.0-texcoord[1]));\n vec3 uAmbientMaterial = vec3(1.0, 1.0, 0.9); vec3 uAmbientLight = vec3(0.5, 0.5, 0.5); vec3 uDiffuseMaterial = vec3(0.7, 0.7, 0.7); vec3 uDiffuseLight = vec3(1.0, 1.0, 1.0); vec4 vertexPositionEye4 = modelViewMatrix * vec4(position, 1.0); vec3 vertexPositionEye3 = vec3((modelViewMatrix * vec4(vertexPositionEye4.xyz, 1.0)).xyz); vec3 vectorToLightSource = normalize(uLightPosition - vertexPositionEye3); vec4 height = texture2D(texHeight, vec2(texcoord[0], 1.0 - texcoord[1]));\n vec4 normalEye = 2.0 * texture2D(texNormal, vec2(texcoord[0], 1.0-texcoord[1])) - 1.0;\n float diffuseLightWeighting = max(dot(normalEye.xyz, vectorToLightSource), 0.0); texC = vec2(texcoord[0], 1.0-texcoord[1]);\n vec3 diffuseReflectance = uDiffuseMaterial * uDiffuseLight * diffuseLightWeighting; vec3 uSpecularMaterial = vec3(0.0, 0.0, 0.0); vec3 uSpecularLight = vec3(1.0, 1.0, 1.0); vec3 reflectionVector = normalize(reflect(-vectorToLightSource, normalEye.xyz)); vec3 viewVectorEye = -normalize(vertexPositionEye3); float rdotv = max(dot(reflectionVector, viewVectorEye), 0.0); float specularLightWeight = pow(rdotv, shininess); vec3 specularReflection = uSpecularMaterial * uSpecularLight * specularLightWeight; vLight = vec4(uAmbientMaterial * uAmbientLight + diffuseReflectance + specularReflection, 1.0).xyz; gl_Position = modelViewProjectionMatrix * vec4(position.xy, ((height.g * 256.0)+height.b) * maxElevation, 1.0);\n}\n";var f=new x3dom.nodeTypes.ShaderPart(e);f._vf.type="fragment",f._vf.url[0]="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D texColor;\nuniform sampler2D texNormal;\nvarying vec2 texC;\nvarying vec3 vLight;\n\n\nvoid main(void) {\n vec4 normal = 2.0 * texture2D(texNormal, texC) - 1.0;\n vec4 colr = texture2D(texColor, texC);\n float coler = ((colr.g * 256.0)+colr.b); gl_FragColor = vec4(vLight * coler, 1.0);\n}\n",u.addChild(h,"parts"),u.addChild(f,"parts"),r._nameSpace=t._nameSpace,r._vf.url[0]=d,r._vf.repeatT=!1,r._vf.repeatS=!1,r._vf.generateMipMaps=!1,n.addChild(r,"texture"),r.nodeChanged();var g=new x3dom.nodeTypes.Field(e);g._vf.name="texColor",g._vf.type="SFInt32",g._vf.value=0,u.addChild(g,"fields"),g.nodeChanged(),o._nameSpace=t._nameSpace,o._vf.url[0]=c,o._vf.repeatT=!1,o._vf.repeatS=!1,n.addChild(o,"texture"),o.nodeChanged();var C=new x3dom.nodeTypes.Field(e);C._vf.name="texHeight",C._vf.type="SFInt32",C._vf.value=1,u.addChild(C,"fields"),C.nodeChanged(),a._nameSpace=t._nameSpace,a._vf.url[0]=b,a._vf.repeatT=!1,a._vf.repeatS=!1,n.addChild(a,"texture"),a.nodeChanged();var S=new x3dom.nodeTypes.Field(e);S._vf.name="texNormal",S._vf.type="SFInt32",S._vf.value=2,u.addChild(S,"fields"),S.nodeChanged();var y=new x3dom.nodeTypes.Field(e);y._vf.name="maxElevation",y._vf.type="SFFloat",y._vf.value=t._vf.maxElevation,u.addChild(y,"fields"),y.nodeChanged(),i.addChild(n),n.nodeChanged(),i.addChild(u),u.nodeChanged(),p.addChild(i),i.nodeChanged(),p.addChild(s),s.nodeChanged(),t.addChild(p),p.nodeChanged(),m.boundedNode=p,m.volume=p.getVolume(),m.volume.max.z=Math.round(t._vf.maxElevation),m.volume.min.z=-m.volume.max.z}()}function X3DCollidableShape(){new x3dom.fields.SFNode,new x3dom.fields.SFNode,new x3dom.fields.SFNode,new x3dom.fields.SFNode,new x3dom.fields.SFNode,new x3dom.fields.MFBoolean,new x3dom.fields.MFBoolean,new x3dom.fields.MFBoolean,new x3dom.fields.MFBoolean,new x3dom.fields.MFBoolean,new x3dom.fields.SFVec3f,new x3dom.fields.MFBoolean,new x3dom.fields.SFNode,new x3dom.fields.SFNode}function X3DJoint(){new x3dom.fields.MFBoolean}x3dom.fields.Eps=1e-6,x3dom.fields.SFMatrix4f=function(e,t,i,n,_,r,o,s,a,p,l,d,c,b,u,m){0===arguments.length?(this._00=1,this._01=0,this._02=0,this._03=0,this._10=0,this._11=1,this._12=0,this._13=0,this._20=0,this._21=0,this._22=1,this._23=0,this._30=0,this._31=0,this._32=0,this._33=1):(this._00=e,this._01=t,this._02=i,this._03=n,this._10=_,this._11=r,this._12=o,this._13=s,this._20=a,this._21=p,this._22=l,this._23=d,this._30=c,this._31=b,this._32=u,this._33=m)},x3dom.fields.SFMatrix4f.prototype.e0=function(){return new x3dom.fields.SFVec3f(this._00,this._10,this._20).normalize()},x3dom.fields.SFMatrix4f.prototype.e1=function(){return new x3dom.fields.SFVec3f(this._01,this._11,this._21).normalize()},x3dom.fields.SFMatrix4f.prototype.e2=function(){return new x3dom.fields.SFVec3f(this._02,this._12,this._22).normalize()},x3dom.fields.SFMatrix4f.prototype.e3=function(){return new x3dom.fields.SFVec3f(this._03,this._13,this._23)},x3dom.fields.SFMatrix4f.copy=function(e){return new x3dom.fields.SFMatrix4f(e._00,e._01,e._02,e._03,e._10,e._11,e._12,e._13,e._20,e._21,e._22,e._23,e._30,e._31,e._32,e._33)},x3dom.fields.SFMatrix4f.prototype.copy=function(){return x3dom.fields.SFMatrix4f.copy(this)},x3dom.fields.SFMatrix4f.identity=function(){return new x3dom.fields.SFMatrix4f(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},x3dom.fields.SFMatrix4f.zeroMatrix=function(){return new x3dom.fields.SFMatrix4f(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)},x3dom.fields.SFMatrix4f.translation=function(e){return new x3dom.fields.SFMatrix4f(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1)},x3dom.fields.SFMatrix4f.rotationX=function(e){var t=Math.cos(e),i=Math.sin(e);return new x3dom.fields.SFMatrix4f(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1)},x3dom.fields.SFMatrix4f.rotationY=function(e){var t=Math.cos(e),i=Math.sin(e);return new x3dom.fields.SFMatrix4f(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1)},x3dom.fields.SFMatrix4f.rotationZ=function(e){var t=Math.cos(e),i=Math.sin(e);return new x3dom.fields.SFMatrix4f(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1)},x3dom.fields.SFMatrix4f.scale=function(e){return new x3dom.fields.SFMatrix4f(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},x3dom.fields.SFMatrix4f.lookAt=function(e,t,i){var n=e.subtract(t).normalize(),_=i.normalize().cross(n).normalize();if(_.dot(_)<x3dom.fields.Eps)return x3dom.debug.logWarning("View matrix is linearly dependent."),x3dom.fields.SFMatrix4f.translation(e);var r=n.cross(_).normalize(),o=x3dom.fields.SFMatrix4f.identity();return o.setValue(_,r,n,e),o},x3dom.fields.SFMatrix4f.perspectiveFrustum=function(e,t,i,n,_,r){return new x3dom.fields.SFMatrix4f(2*_/(t-e),0,(t+e)/(t-e),0,0,2*_/(n-i),(n+i)/(n-i),0,0,0,-(r+_)/(r-_),-2*r*_/(r-_),0,0,-1,0)},x3dom.fields.SFMatrix4f.perspective=function(e,t,i,n){var _=1/Math.tan(e/2);return new x3dom.fields.SFMatrix4f(_/t,0,0,0,0,_,0,0,0,0,(i+n)/(i-n),2*i*n/(i-n),0,0,-1,0)},x3dom.fields.SFMatrix4f.ortho=function(e,t,i,n,_,r,o){var s=(t-e)/2,a=(n-i)/2,p=r-_;return void 0===o&&(o=1),o<s/a?a=s/o:s=a*o,e=-s,t=s,i=-a,n=a,s*=2,a*=2,new x3dom.fields.SFMatrix4f(2/s,0,0,-(t+e)/s,0,2/a,0,-(n+i)/a,0,0,-2/p,-(r+_)/p,0,0,0,1)},x3dom.fields.SFMatrix4f.prototype.setTranslate=function(e){this._03=e.x,this._13=e.y,this._23=e.z},x3dom.fields.SFMatrix4f.prototype.setScale=function(e){this._00=e.x,this._11=e.y,this._22=e.z},x3dom.fields.SFMatrix4f.prototype.setRotate=function(e){var t=e.x*e.x,i=e.x*e.y,n=e.x*e.z,_=e.y*e.y,r=e.y*e.z,o=e.z*e.z,s=e.w*e.x,a=e.w*e.y,p=e.w*e.z;this._00=1-2*(_+o),this._01=2*(i-p),this._02=2*(n+a),this._10=2*(i+p),this._11=1-2*(t+o),this._12=2*(r-s),this._20=2*(n-a),this._21=2*(r+s),this._22=1-2*(t+_)},x3dom.fields.SFMatrix4f.parseRotation=function(e){var t=/^([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)$/.exec(e),i=+t[1],n=+t[2],_=+t[3],r=+t[4],o=Math.sqrt(i*i+n*n+_*_);0===o?(i=1,n=_=0):(i/=o,n/=o,_/=o);var s=Math.cos(r),a=Math.sin(r),p=1-s;return new x3dom.fields.SFMatrix4f(p*i*i+s,p*i*n+a*_,p*i*_-a*n,0,p*i*n-a*_,p*n*n+s,p*n*_+a*i,0,p*i*_+a*n,p*n*_-a*i,p*_*_+s,0,0,0,0,1).transpose()},x3dom.fields.SFMatrix4f.parse=function(e){var t=!1;/matrix.*\((.+)\)/.exec(e)&&(e=RegExp.$1,t=!0);var i=e.split(/[,\s]+/).map((function(e){return+e}));return i.length>=16?t?new x3dom.fields.SFMatrix4f(i[0],i[4],i[8],i[12],i[1],i[5],i[9],i[13],i[2],i[6],i[10],i[14],i[3],i[7],i[11],i[15]):new x3dom.fields.SFMatrix4f(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15]):6===i.length?new x3dom.fields.SFMatrix4f(i[0],i[1],0,i[4],i[2],i[3],0,i[5],0,0,1,0,0,0,0,1):(x3dom.debug.logWarning("SFMatrix4f - can't parse string: "+e),x3dom.fields.SFMatrix4f.identity())},x3dom.fields.SFMatrix4f.prototype.mult=function(e){return new x3dom.fields.SFMatrix4f(this._00*e._00+this._01*e._10+this._02*e._20+this._03*e._30,this._00*e._01+this._01*e._11+this._02*e._21+this._03*e._31,this._00*e._02+this._01*e._12+this._02*e._22+this._03*e._32,this._00*e._03+this._01*e._13+this._02*e._23+this._03*e._33,this._10*e._00+this._11*e._10+this._12*e._20+this._13*e._30,this._10*e._01+this._11*e._11+this._12*e._21+this._13*e._31,this._10*e._02+this._11*e._12+this._12*e._22+this._13*e._32,this._10*e._03+this._11*e._13+this._12*e._23+this._13*e._33,this._20*e._00+this._21*e._10+this._22*e._20+this._23*e._30,this._20*e._01+this._21*e._11+this._22*e._21+this._23*e._31,this._20*e._02+this._21*e._12+this._22*e._22+this._23*e._32,this._20*e._03+this._21*e._13+this._22*e._23+this._23*e._33,this._30*e._00+this._31*e._10+this._32*e._20+this._33*e._30,this._30*e._01+this._31*e._11+this._32*e._21+this._33*e._31,this._30*e._02+this._31*e._12+this._32*e._22+this._33*e._32,this._30*e._03+this._31*e._13+this._32*e._23+this._33*e._33)},x3dom.fields.SFMatrix4f.prototype.multMatrixPnt=function(e){return new x3dom.fields.SFVec3f(this._00*e.x+this._01*e.y+this._02*e.z+this._03,this._10*e.x+this._11*e.y+this._12*e.z+this._13,this._20*e.x+this._21*e.y+this._22*e.z+this._23)},x3dom.fields.SFMatrix4f.prototype.multMatrixVec=function(e){return new x3dom.fields.SFVec3f(this._00*e.x+this._01*e.y+this._02*e.z,this._10*e.x+this._11*e.y+this._12*e.z,this._20*e.x+this._21*e.y+this._22*e.z)},x3dom.fields.SFMatrix4f.prototype.multFullMatrixPnt=function(e){var t=this._30*e.x+this._31*e.y+this._32*e.z+this._33;return t&&(t=1/t),new x3dom.fields.SFVec3f((this._00*e.x+this._01*e.y+this._02*e.z+this._03)*t,(this._10*e.x+this._11*e.y+this._12*e.z+this._13)*t,(this._20*e.x+this._21*e.y+this._22*e.z+this._23)*t)},x3dom.fields.SFMatrix4f.prototype.multMatrixPlane=function(e){var t=new x3dom.fields.SFVec3f(e.x,e.y,e.z),i=t.multiply(-e.w);i=this.multMatrixPnt(i);var n=-(t=this.inverse().transpose().multMatrixVec(t)).dot(i);return new x3dom.fields.SFVec4f(t.x,t.y,t.z,n)},x3dom.fields.SFMatrix4f.prototype.transpose=function(){return new x3dom.fields.SFMatrix4f(this._00,this._10,this._20,this._30,this._01,this._11,this._21,this._31,this._02,this._12,this._22,this._32,this._03,this._13,this._23,this._33)},x3dom.fields.SFMatrix4f.prototype.negate=function(){return new x3dom.fields.SFMatrix4f(-this._00,-this._01,-this._02,-this._03,-this._10,-this._11,-this._12,-this._13,-this._20,-this._21,-this._22,-this._23,-this._30,-this._31,-this._32,-this._33)},x3dom.fields.SFMatrix4f.prototype.multiply=function(e){return new x3dom.fields.SFMatrix4f(e*this._00,e*this._01,e*this._02,e*this._03,e*this._10,e*this._11,e*this._12,e*this._13,e*this._20,e*this._21,e*this._22,e*this._23,e*this._30,e*this._31,e*this._32,e*this._33)},x3dom.fields.SFMatrix4f.prototype.add=function(e){return new x3dom.fields.SFMatrix4f(this._00+e._00,this._01+e._01,this._02+e._02,this._03+e._03,this._10+e._10,this._11+e._11,this._12+e._12,this._13+e._13,this._20+e._20,this._21+e._21,this._22+e._22,this._23+e._23,this._30+e._30,this._31+e._31,this._32+e._32,this._33+e._33)},x3dom.fields.SFMatrix4f.prototype.addScaled=function(e,t){return new x3dom.fields.SFMatrix4f(this._00+t*e._00,this._01+t*e._01,this._02+t*e._02,this._03+t*e._03,this._10+t*e._10,this._11+t*e._11,this._12+t*e._12,this._13+t*e._13,this._20+t*e._20,this._21+t*e._21,this._22+t*e._22,this._23+t*e._23,this._30+t*e._30,this._31+t*e._31,this._32+t*e._32,this._33+t*e._33)},x3dom.fields.SFMatrix4f.prototype.setValues=function(e){this._00=e._00,this._01=e._01,this._02=e._02,this._03=e._03,this._10=e._10,this._11=e._11,this._12=e._12,this._13=e._13,this._20=e._20,this._21=e._21,this._22=e._22,this._23=e._23,this._30=e._30,this._31=e._31,this._32=e._32,this._33=e._33},x3dom.fields.SFMatrix4f.prototype.setValue=function(e,t,i,n){this._00=e.x,this._01=t.x,this._02=i.x,this._10=e.y,this._11=t.y,this._12=i.y,this._20=e.z,this._21=t.z,this._22=i.z,this._30=0,this._31=0,this._32=0,arguments.length>3&&(this._03=n.x,this._13=n.y,this._23=n.z,this._33=1)},x3dom.fields.SFMatrix4f.prototype.setFromArray=function(e){return this._00=e[0],this._01=e[4],this._02=e[8],this._03=e[12],this._10=e[1],this._11=e[5],this._12=e[9],this._13=e[13],this._20=e[2],this._21=e[6],this._22=e[10],this._23=e[14],this._30=e[3],this._31=e[7],this._32=e[11],this._33=e[15],this},x3dom.fields.SFMatrix4f.fromArray=function(e){var t=new x3dom.fields.SFMatrix4f;return t._00=e[0],t._01=e[4],t._02=e[8],t._03=e[12],t._10=e[1],t._11=e[5],t._12=e[9],t._13=e[13],t._20=e[2],t._21=e[6],t._22=e[10],t._23=e[14],t._30=e[3],t._31=e[7],t._32=e[11],t._33=e[15],t},x3dom.fields.SFMatrix4f.prototype.fromRotationTranslationScale=function(e,t,i){t=t||new x3dom.fields.SFVec3f,e=e||new x3dom.fields.Quaternion,i=i||new x3dom.fields.SFVec3f(1,1,1);var n=e.x,_=e.y,r=e.z,o=e.w,s=n+n,a=_+_,p=r+r,l=n*s,d=n*a,c=n*p,b=_*a,u=_*p,m=r*p,h=o*s,f=o*a,g=o*p;return this._00=(1-(b+m))*i.x,this._10=(d+g)*i.x,this._20=(c-f)*i.x,this._30=0,this._01=(d-g)*i.y,this._11=(1-(l+m))*i.y,this._21=(u+h)*i.y,this._31=0,this._02=(c+f)*i.z,this._12=(u-h)*i.z,this._22=(1-(l+b))*i.z,this._32=0,this._03=t.x,this._13=t.y,this._23=t.z,this._33=1,this},x3dom.fields.SFMatrix4f.fromRotationTranslationScale=function(e,t,i){t=t||new x3dom.fields.SFVec3f,e=e||new x3dom.fields.Quaternion,i=i||new x3dom.fields.SFVec3f(1,1,1);var n=new x3dom.fields.SFMatrix4f,_=e.x,r=e.y,o=e.z,s=e.w,a=_+_,p=r+r,l=o+o,d=_*a,c=_*p,b=_*l,u=r*p,m=r*l,h=o*l,f=s*a,g=s*p,C=s*l;return n._00=(1-(u+h))*i.x,n._10=(c+C)*i.x,n._20=(b-g)*i.x,n._30=0,n._01=(c-C)*i.y,n._11=(1-(d+h))*i.y,n._21=(m+f)*i.y,n._31=0,n._02=(b+g)*i.z,n._12=(m-f)*i.z,n._22=(1-(d+u))*i.z,n._32=0,n._03=t.x,n._13=t.y,n._23=t.z,n._33=1,n},x3dom.fields.SFMatrix4f.prototype.toGL=function(){return[this._00,this._10,this._20,this._30,this._01,this._11,this._21,this._31,this._02,this._12,this._22,this._32,this._03,this._13,this._23,this._33]},x3dom.fields.SFMatrix4f.fromGL=function(e){var t=new x3dom.fields.SFMatrix4f;return t._00=e[0],t._01=e[4],t._02=e[8],t._03=e[12],t._10=e[1],t._11=e[5],t._12=e[9],t._13=e[13],t._20=e[2],t._21=e[6],t._22=e[10],t._23=e[14],t._30=e[3],t._31=e[7],t._32=e[11],t._33=e[15],t},x3dom.fields.SFMatrix4f.prototype.at=function(e,t){return this["_"+e+t]},x3dom.fields.SFMatrix4f.prototype.setAt=function(e,t,i){return this["_"+e+t]=i,this},x3dom.fields.SFMatrix4f.prototype.sqrt=function(){for(var e=x3dom.fields.SFMatrix4f.identity(),t=x3dom.fields.SFMatrix4f.copy(this),i=0;i<6;i++){var n=t.inverse(),_=0==i?x3dom.fields.SFMatrix4f.identity():e.inverse(),r=t.det(),o=e.det(),s=Math.abs(Math.pow(r*o,-.125)),a=1/s;t=(t=(t=t.multiply(s)).addScaled(_,a)).multiply(.5),e=(e=(e=e.multiply(s)).addScaled(n,a)).multiply(.5)}return t},x3dom.fields.SFMatrix4f.prototype.normInfinity=function(){var e=0,t=0;return(e=Math.abs(this._00))>t&&(t=e),(e=Math.abs(this._01))>t&&(t=e),(e=Math.abs(this._02))>t&&(t=e),(e=Math.abs(this._03))>t&&(t=e),(e=Math.abs(this._10))>t&&(t=e),(e=Math.abs(this._11))>t&&(t=e),(e=Math.abs(this._12))>t&&(t=e),(e=Math.abs(this._13))>t&&(t=e),(e=Math.abs(this._20))>t&&(t=e),(e=Math.abs(this._21))>t&&(t=e),(e=Math.abs(this._22))>t&&(t=e),(e=Math.abs(this._23))>t&&(t=e),(e=Math.abs(this._30))>t&&(t=e),(e=Math.abs(this._31))>t&&(t=e),(e=Math.abs(this._32))>t&&(t=e),(e=Math.abs(this._33))>t&&(t=e),t},x3dom.fields.SFMatrix4f.prototype.norm1_3x3=function(){var e=Math.abs(this._00)+Math.abs(this._10)+Math.abs(this._20),t=0;return(t=Math.abs(this._01)+Math.abs(this._11)+Math.abs(this._21))>e&&(e=t),(t=Math.abs(this._02)+Math.abs(this._12)+Math.abs(this._22))>e&&(e=t),e},x3dom.fields.SFMatrix4f.prototype.normInf_3x3=function(){var e=Math.abs(this._00)+Math.abs(this._01)+Math.abs(this._02),t=0;return(t=Math.abs(this._10)+Math.abs(this._11)+Math.abs(this._12))>e&&(e=t),(t=Math.abs(this._20)+Math.abs(this._21)+Math.abs(this._22))>e&&(e=t),e},x3dom.fields.SFMatrix4f.prototype.adjointT_3x3=function(){var e=x3dom.fields.SFMatrix4f.identity();return e._00=this._11*this._22-this._12*this._21,e._01=this._12*this._20-this._10*this._22,e._02=this._10*this._21-this._11*this._20,e._10=this._21*this._02-this._22*this._01,e._11=this._22*this._00-this._20*this._02,e._12=this._20*this._01-this._21*this._00,e._20=this._01*this._12-this._02*this._11,e._21=this._02*this._10-this._00*this._12,e._22=this._00*this._11-this._01*this._10,e},x3dom.fields.SFMatrix4f.prototype.equals=function(e){var t=1e-12;return Math.abs(this._00-e._00)<t&&Math.abs(this._01-e._01)<t&&Math.abs(this._02-e._02)<t&&Math.abs(this._03-e._03)<t&&Math.abs(this._10-e._10)<t&&Math.abs(this._11-e._11)<t&&Math.abs(this._12-e._12)<t&&Math.abs(this._13-e._13)<t&&Math.abs(this._20-e._20)<t&&Math.abs(this._21-e._21)<t&&Math.abs(this._22-e._22)<t&&Math.abs(this._23-e._23)<t&&Math.abs(this._30-e._30)<t&&Math.abs(this._31-e._31)<t&&Math.abs(this._32-e._32)<t&&Math.abs(this._33-e._33)<t},x3dom.fields.SFMatrix4f.prototype.getTransform=function(e,t,i,n,_){var r=null;if(arguments.length>4){r=(r=x3dom.fields.SFMatrix4f.translation(_.negate())).mult(this);var o=x3dom.fields.SFMatrix4f.translation(_);r=r.mult(o)}else r=x3dom.fields.SFMatrix4f.copy(this);var s=r.decompose(e,t,i,n);i.setValues(i.multiply(s))},x3dom.fields.SFMatrix4f.prototype.decompose=function(e,t,i,n){var _=x3dom.fields.SFMatrix4f.copy(this),r=x3dom.fields.SFMatrix4f.identity(),o=x3dom.fields.SFMatrix4f.identity(),s=x3dom.fields.SFMatrix4f.identity();e.x=_._03,e.y=_._13,e.z=_._23,_._03=0,_._13=0,_._23=0,_._30=0,_._31=0,_._32=0;var a=1;return _.polarDecompose(r,o)<0&&(r=r.negate(),a=-1),t.setValue(r),o.spectralDecompose(s,i),n.setValue(s),a},x3dom.fields.SFMatrix4f.prototype.polarDecompose=function(e,t){var i,n,_,r,o,s=this.transpose(),a=x3dom.fields.SFMatrix4f.identity(),p=s.norm1_3x3(),l=s.normInf_3x3();do{if(i=s.adjointT_3x3(),0==(o=s._00*i._00+s._01*i._01+s._02*i._02)){x3dom.debug.logWarning("polarDecompose: Mk_det == 0.0");break}n=i.norm1_3x3(),_=i.normInf_3x3();var d=Math.sqrt(Math.sqrt(n*_/(p*l))/Math.abs(o)),c=.5*d,b=.5/(d*o);a.setValues(s),s=(s=s.multiply(c)).addScaled(i,b),r=(a=a.addScaled(s,-1)).norm1_3x3(),p=s.norm1_3x3(),l=s.normInf_3x3()}while(r>1e-12*p);e.setValues(s.transpose()),t.setValues(s.mult(this));for(var u=0;u<3;++u)for(var m=u;m<3;++m)t.setAt(m,u,.5*(t.at(m,u)+t.at(u,m))),t.setAt(u,m,.5*(t.at(m,u)+t.at(u,m)));return o},x3dom.fields.SFMatrix4f.prototype.spectralDecompose=function(e,t){for(var i=[1,2,0],n=[this._00,this._11,this._22],_=[this._12,this._20,this._01],r=0;r<20;++r){if(0==Math.abs(_[0])+Math.abs(_[1])+Math.abs(_[2]))break;for(var o=2;o>=0;--o){var s=i[o],a=i[s],p=Math.abs(_[o]),l=100*p;if(p>0){var d=0,c=n[a]-n[s],b=Math.abs(c);if(b+l==b)d=_[o]/c;else{var u=.5*c/_[o];d=1/(Math.abs(u)+Math.sqrt(u*u+1)),d=u<0?-d:d}var m=1/Math.sqrt(d*d+1),h=d*m,f=h/(m+1),g=d*_[o];_[o]=0,n[s]-=g,n[a]+=g;var C=_[a];_[a]-=h*(_[s]+f*C),_[s]+=h*(C-f*_[s]);for(var S=2;S>=0;--S){var y=e.at(S,s),v=e.at(S,a);e.setAt(S,s,e.at(S,s)-h*(v+f*y)),e.setAt(S,a,e.at(S,a)+h*(y-f*v))}}}}t.x=n[0],t.y=n[1],t.z=n[2]},x3dom.fields.SFMatrix4f.prototype.log=function(){var e=x3dom.fields.SFMatrix4f.copy(this),t=x3dom.fields.SFMatrix4f.copy(this);t._00-=1,t._11-=1,t._22-=1,t._33-=1;for(var i=0;t.normInfinity()>.5;)e=e.sqrt(),t.setValues(e),t._00-=1,t._11-=1,t._22-=1,t._33-=1,i++;e._00-=1,e._11-=1,e._22-=1,e._33-=1,e=e.negate(),t.setValues(e);for(var n=x3dom.fields.SFMatrix4f.copy(e),_=1;t.normInfinity()>1e-12&&_<12;)t=t.mult(e),_++,n=n.addScaled(t,1/_);return n.multiply(-(1<<i))},x3dom.fields.SFMatrix4f.prototype.exp=function(){var e=x3dom.fields.SFMatrix4f.copy(this),t=x3dom.fields.SFMatrix4f.identity(),i=x3dom.fields.SFMatrix4f.identity(),n=x3dom.fields.SFMatrix4f.identity(),_=0,r=1,o=1+parseInt(Math.log(e.normInfinity()/.693));for(o<0&&(o=0),e=e.multiply(1/(1<<o)),_=1;_<=6;_++)r*=(6-_+1)/(_*(12-_+1)),n=e.mult(n),i=i.addScaled(n,r),t=_%2?t.addScaled(n,-r):t.addScaled(n,r);for(n=t.inverse().mult(i),_=0;_<o;_++)n=n.mult(n);return n},x3dom.fields.SFMatrix4f.prototype.det3=function(e,t,i,n,_,r,o,s,a){return e*_*a+t*r*o+i*n*s-e*r*s-t*n*a-i*_*o},x3dom.fields.SFMatrix4f.prototype.det=function(){var e=this._00,t=this._10,i=this._20,n=this._30,_=this._01,r=this._11,o=this._21,s=this._31,a=this._02,p=this._12,l=this._22,d=this._32,c=this._03,b=this._13,u=this._23,m=this._33;return e*this.det3(r,p,b,o,l,u,s,d,m)-t*this.det3(_,a,c,o,l,u,s,d,m)+i*this.det3(_,a,c,r,p,b,s,d,m)-n*this.det3(_,a,c,r,p,b,o,l,u)},x3dom.fields.SFMatrix4f.prototype.inverse=function(){var e=this._00,t=this._10,i=this._20,n=this._30,_=this._01,r=this._11,o=this._21,s=this._31,a=this._02,p=this._12,l=this._22,d=this._32,c=this._03,b=this._13,u=this._23,m=this._33,h=this.det();return 0==h?(x3dom.debug.logWarning("Invert matrix: singular matrix, no inverse!"),x3dom.fields.SFMatrix4f.identity()):(h=1/h,new x3dom.fields.SFMatrix4f(+this.det3(r,p,b,o,l,u,s,d,m)*h,-this.det3(_,a,c,o,l,u,s,d,m)*h,+this.det3(_,a,c,r,p,b,s,d,m)*h,-this.det3(_,a,c,r,p,b,o,l,u)*h,-this.det3(t,p,b,i,l,u,n,d,m)*h,+this.det3(e,a,c,i,l,u,n,d,m)*h,-this.det3(e,a,c,t,p,b,n,d,m)*h,+this.det3(e,a,c,t,p,b,i,l,u)*h,+this.det3(t,r,b,i,o,u,n,s,m)*h,-this.det3(e,_,c,i,o,u,n,s,m)*h,+this.det3(e,_,c,t,r,b,n,s,m)*h,-this.det3(e,_,c,t,r,b,i,o,u)*h,-this.det3(t,r,p,i,o,l,n,s,d)*h,+this.det3(e,_,a,i,o,l,n,s,d)*h,-this.det3(e,_,a,t,r,p,n,s,d)*h,+this.det3(e,_,a,t,r,p,i,o,l)*h))},x3dom.fields.SFMatrix4f.prototype.getEulerAngles=function(){var e,t,i,n,_,r,o,s;return Math.abs(Math.abs(this._20)-1)>1e-4?(e=-Math.asin(this._20),t=Math.PI-e,o=Math.cos(e),s=Math.cos(t),n=Math.atan2(this._21/o,this._22/o),_=Math.atan2(this._21/s,this._22/s),[n,e,Math.atan2(this._10/o,this._00/o),_,t,Math.atan2(this._10/s,this._00/s)]):(0,-1==this._20?(i=Math.PI/2,r=0+Math.atan2(this._01,this._02)):(i=-Math.PI/2,r=-0+Math.atan2(-this._01,-this._02)),[r,i,0,r,i,0])},x3dom.fields.SFMatrix4f.prototype.toString=function(){return this._00.toFixed(6)+" "+this._10.toFixed(6)+" "+this._20.toFixed(6)+" "+this._30.toFixed(6)+" "+this._01.toFixed(6)+" "+this._11.toFixed(6)+" "+this._21.toFixed(6)+" "+this._31.toFixed(6)+" "+this._02.toFixed(6)+" "+this._12.toFixed(6)+" "+this._22.toFixed(6)+" "+this._32.toFixed(6)+" "+this._03.toFixed(6)+" "+this._13.toFixed(6)+" "+this._23.toFixed(6)+" "+this._33.toFixed(6)},x3dom.fields.SFMatrix4f.prototype.setValueByStr=function(e){var t=!1;/matrix.*\((.+)\)/.exec(e)&&(e=RegExp.$1,t=!0);var i=e.split(/[,\s]+/).map((function(e){return+e}));return i.length>=16?t?(this._00=i[0],this._01=i[4],this._02=i[8],this._03=i[12],this._10=i[1],this._11=i[5],this._12=i[9],this._13=i[13],this._20=i[2],this._21=i[6],this._22=i[10],this._23=i[14],this._30=i[3],this._31=i[7],this._32=i[11],this._33=i[15]):(this._00=i[0],this._01=i[1],this._02=i[2],this._03=i[3],this._10=i[4],this._11=i[5],this._12=i[6],this._13=i[7],this._20=i[8],this._21=i[9],this._22=i[10],this._23=i[11],this._30=i[12],this._31=i[13],this._32=i[14],this._33=i[15]):6===i.length?(this._00=i[0],this._01=i[1],this._02=0,this._03=i[4],this._10=i[2],this._11=i[3],this._12=0,this._13=i[5],this._20=0,this._21=0,this._22=1,this._23=0,this._30=0,this._31=0,this._32=0,this._33=1):x3dom.debug.logWarning("SFMatrix4f - can't parse string: "+e),this},x3dom.fields.SFVec2f=function(e,t){0===arguments.length?(this.x=0,this.y=0):(this.x=e,this.y=t)},x3dom.fields.SFVec2f.copy=function(e){return new x3dom.fields.SFVec2f(e.x,e.y)},x3dom.fields.SFVec2f.parse=function(e){var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return null===t?new x3dom.fields.SFVec2f:new x3dom.fields.SFVec2f(+t[1],+t[2])},x3dom.fields.SFVec2f.prototype.copy=function(){return x3dom.fields.SFVec2f.copy(this)},x3dom.fields.SFVec2f.prototype.setValues=function(e){return this.x=e.x,this.y=e.y,this},x3dom.fields.SFVec2f.prototype.at=function(e){switch(e){case 0:return this.x;case 1:return this.y;default:return this.x}},x3dom.fields.SFVec2f.prototype.add=function(e){return new x3dom.fields.SFVec2f(this.x+e.x,this.y+e.y)},x3dom.fields.SFVec2f.prototype.subtract=function(e){return new x3dom.fields.SFVec2f(this.x-e.x,this.y-e.y)},x3dom.fields.SFVec2f.prototype.negate=function(){return new x3dom.fields.SFVec2f(-this.x,-this.y)},x3dom.fields.SFVec2f.prototype.dot=function(e){return this.x*e.x+this.y*e.y},x3dom.fields.SFVec2f.prototype.reflect=function(e){var t=2*this.dot(e);return new x3dom.fields.SFVec2f(this.x-t*e.x,this.y-t*e.y)},x3dom.fields.SFVec2f.prototype.normalize=function(){var e=this.length();return e&&(e=1/e),new x3dom.fields.SFVec2f(this.x*e,this.y*e)},x3dom.fields.SFVec2f.prototype.multComponents=function(e){return new x3dom.fields.SFVec2f(this.x*e.x,this.y*e.y)},x3dom.fields.SFVec2f.prototype.multiply=function(e){return new x3dom.fields.SFVec2f(this.x*e,this.y*e)},x3dom.fields.SFVec2f.prototype.divideComponents=function(e){return new x3dom.fields.SFVec2f(this.x/e.x,this.y/e.y)},x3dom.fields.SFVec2f.prototype.divide=function(e){var t=e?1/e:1;return new x3dom.fields.SFVec2f(this.x*t,this.y*t)},x3dom.fields.SFVec2f.prototype.equals=function(e,t){return Math.abs(this.x-e.x)<t&&Math.abs(this.y-e.y)<t},x3dom.fields.SFVec2f.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},x3dom.fields.SFVec2f.prototype.toGL=function(){return[this.x,this.y]},x3dom.fields.SFVec2f.prototype.toString=function(){return this.x+" "+this.y},x3dom.fields.SFVec2f.prototype.setValueByStr=function(e){var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return t=t||[0,0,0],this.x=+t[1],this.y=+t[2],this},x3dom.fields.SFVec3f=function(e,t,i){0===arguments.length?(this.x=0,this.y=0,this.z=0):(this.x=e,this.y=t,this.z=i)},x3dom.fields.SFVec3f.NullVector=new x3dom.fields.SFVec3f(0,0,0),x3dom.fields.SFVec3f.OneVector=new x3dom.fields.SFVec3f(1,1,1),x3dom.fields.SFVec3f.copy=function(e){return new x3dom.fields.SFVec3f(e.x,e.y,e.z)},x3dom.fields.SFVec3f.MIN=function(){return new x3dom.fields.SFVec3f(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE)},x3dom.fields.SFVec3f.MAX=function(){return new x3dom.fields.SFVec3f(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)},x3dom.fields.SFVec3f.parse=function(e){try{var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return new x3dom.fields.SFVec3f(+t[1],+t[2],+t[3])}catch(t){var i=x3dom.fields.SFColor.colorParse(e);return new x3dom.fields.SFVec3f(i.r,i.g,i.b)}},x3dom.fields.SFVec3f.prototype.copy=function(){return x3dom.fields.SFVec3f.copy(this)},x3dom.fields.SFVec3f.prototype.fromArray=function(e){return this.x=e[0],this.y=e[1],this.z=e[2],this},x3dom.fields.SFVec3f.fromArray=function(e){return new x3dom.fields.SFVec3f(e[0],e[1],e[2])},x3dom.fields.SFVec3f.prototype.setValues=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},x3dom.fields.SFVec3f.prototype.set=function(e,t,i){return this.x=e,this.y=t,this.z=i,this},x3dom.fields.SFVec3f.prototype.at=function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:return this.x}},x3dom.fields.SFVec3f.prototype.add=function(e){return new x3dom.fields.SFVec3f(this.x+e.x,this.y+e.y,this.z+e.z)},x3dom.fields.SFVec3f.prototype.addScaled=function(e,t){return new x3dom.fields.SFVec3f(this.x+t*e.x,this.y+t*e.y,this.z+t*e.z)},x3dom.fields.SFVec3f.prototype.subtract=function(e){return new x3dom.fields.SFVec3f(this.x-e.x,this.y-e.y,this.z-e.z)},x3dom.fields.SFVec3f.prototype.subtractVectors=function(e,t){return new x3dom.fields.SFVec3f(e.x-t.x,e.y-t.y,e.z-t.z)},x3dom.fields.SFVec3f.prototype.negate=function(){return new x3dom.fields.SFVec3f(-this.x,-this.y,-this.z)},x3dom.fields.SFVec3f.prototype.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z},x3dom.fields.SFVec3f.prototype.cross=function(e){return new x3dom.fields.SFVec3f(this.y*e.z-this.z*e.y,this.z*e.x-this.x*e.z,this.x*e.y-this.y*e.x)},x3dom.fields.SFVec3f.prototype.reflect=function(e){var t=2*this.dot(e);return new x3dom.fields.SFVec3f(this.x-t*e.x,this.y-t*e.y,this.z-t*e.z)},x3dom.fields.SFVec3f.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},x3dom.fields.SFVec3f.prototype.normalize=function(){var e=this.length();return e&&(e=1/e),new x3dom.fields.SFVec3f(this.x*e,this.y*e,this.z*e)},x3dom.fields.SFVec3f.prototype.multComponents=function(e){return new x3dom.fields.SFVec3f(this.x*e.x,this.y*e.y,this.z*e.z)},x3dom.fields.SFVec3f.prototype.multiply=function(e){return new x3dom.fields.SFVec3f(this.x*e,this.y*e,this.z*e)},x3dom.fields.SFVec3f.prototype.divide=function(e){var t=e?1/e:1;return new x3dom.fields.SFVec3f(this.x*t,this.y*t,this.z*t)},x3dom.fields.SFVec3f.prototype.equals=function(e,t){return Math.abs(this.x-e.x)<t&&Math.abs(this.y-e.y)<t&&Math.abs(this.z-e.z)<t},x3dom.fields.SFVec3f.prototype.toGL=function(){return[this.x,this.y,this.z]},x3dom.fields.SFVec3f.prototype.toString=function(){return this.x+" "+this.y+" "+this.z},x3dom.fields.SFVec3f.prototype.setValueByStr=function(e){try{var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);this.x=+t[1],this.y=+t[2],this.z=+t[3]}catch(t){var i=x3dom.fields.SFColor.colorParse(e);this.x=i.r,this.y=i.g,this.z=i.b}return this},x3dom.fields.SFVec4f=function(e,t,i,n){0===arguments.length?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x=e,this.y=t,this.z=i,this.w=n)},x3dom.fields.SFVec4f.copy=function(e){return new x3dom.fields.SFVec4f(e.x,e.y,e.z,e.w)},x3dom.fields.SFVec4f.prototype.copy=function(){return x3dom.fields.SFVec4f(this)},x3dom.fields.SFVec4f.parse=function(e){var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return null===t?new x3dom.fields.SFVec4f:new x3dom.fields.SFVec4f(+t[1],+t[2],+t[3],+t[4])},x3dom.fields.SFVec4f.prototype.setValueByStr=function(e){var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return t=t||[0,0,0,0,0],this.x=+t[1],this.y=+t[2],this.z=+t[3],this.w=+t[4],this},x3dom.fields.SFVec4f.prototype.toGL=function(){return[this.x,this.y,this.z,this.w]},x3dom.fields.SFVec4f.prototype.toString=function(){return this.x+" "+this.y+" "+this.z+" "+this.w},x3dom.fields.Quaternion=function(e,t,i,n){0===arguments.length?(this.x=0,this.y=0,this.z=0,this.w=1):(this.x=e,this.y=t,this.z=i,this.w=n)},x3dom.fields.SFRotation=new Proxy(x3dom.fields.Quaternion,{construct:function(e,t){var i;t[0]=t[0]||0,t[1]=null==t[1]?1:t[1],t[2]=t[2]||0,t[3]=t[3]||0;var n={get:function(e,t){switch(t){case"0":return e.SFRotation.x;case"1":return e.SFRotation.y;case"2":return e.SFRotation.z;case"3":case"angle":return e.SFRotation.angle;default:return Reflect.get(e,t)}},set:function(e,t,i){var n=e.SFRotation,_={0:"x",1:"y",2:"z",x:"x",y:"y",z:"z",angle:"angle"};return t in _?(n[_[t]]=i,e.setValues(new x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(n.x,n.y,n.z),n.angle)),!0):(x3dom.debug.logWarning(" SFRotation: property not available - "+t),!1)}};if(t[0].constructor==x3dom.fields.SFVec3f){var _=(i=t[1].constructor==x3dom.fields.SFVec3f?new x3dom.fields.Quaternion.rotateFromTo(t[0].normalize(),t[1].normalize()):new x3dom.fields.Quaternion.axisAngle(t[0],t[1])).toAxisAngle();i.SFRotation={x:_[0].x,y:_[0].y,z:_[0].z,angle:_[1]}}else(i=new x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(t[0],t[1],t[2]),t[3])).SFRotation={x:t[0],y:t[1],z:t[2],angle:t[3]};return new Proxy(i,n)}}),x3dom.fields.Quaternion.prototype.getAxis=function(){if("SFRotation"in this){var e=this.SFRotation;return new x3dom.fields.SFVec3f(e.x,e.y,e.z)}return this.toAxisAngle()[0]},x3dom.fields.Quaternion.prototype.setAxis=function(e){var t;"SFRotation"in this?(t=this.SFRotation.angle,this.SFRotation.x=e.x,this.SFRotation.y=e.y,this.SFRotation.z=e.z):t=this.angle();var i=new x3dom.fields.Quaternion.axisAngle(e,t);this.setValues(i)},x3dom.fields.Quaternion.prototype.multiVec=function(e){var t=x3dom.fields.SFMatrix4f.identity();return t.setRotate(this),t.multMatrixVec(e)},x3dom.fields.Quaternion.prototype.setValues=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this},x3dom.fields.Quaternion.copy=function(e){return new x3dom.fields.Quaternion(e.x,e.y,e.z,e.w)},x3dom.fields.Quaternion.prototype.multiply=function(e){var t=new x3dom.fields.Quaternion(this.w*e.x+this.x*e.w+this.y*e.z-this.z*e.y,this.w*e.y+this.y*e.w+this.z*e.x-this.x*e.z,this.w*e.z+this.z*e.w+this.x*e.y-this.y*e.x,this.w*e.w-this.x*e.x-this.y*e.y-this.z*e.z);if("SFRotation"in this){var i=t.toAxisAngle();return new x3dom.fields.SFRotation(i[0].x,i[0].y,i[0].z,i[1])}return t},x3dom.fields.Quaternion.prototype.fromArray=function(e){return this.x=e[0],this.y=e[1],this.z=e[2],this.w=e[3],this},x3dom.fields.Quaternion.fromArray=function(e){return new x3dom.fields.Quaternion(e[0],e[1],e[2],e[3])},x3dom.fields.Quaternion.parseAxisAngle=function(e){var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return null===t?new x3dom.fields.Quaternion:x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(+t[1],+t[2],+t[3]),+t[4])},x3dom.fields.Quaternion.axisAngle=function(e,t){var i=e.length();if(i>x3dom.fields.Eps){var n=Math.sin(t/2)/i,_=Math.cos(t/2);return new x3dom.fields.Quaternion(e.x*n,e.y*n,e.z*n,_)}return new x3dom.fields.Quaternion(0,0,0,1)},x3dom.fields.Quaternion.prototype.copy=function(){return x3dom.fields.Quaternion.copy(this)},x3dom.fields.Quaternion.prototype.toMatrix=function(){var e=this.x*this.x,t=this.x*this.y,i=this.x*this.z,n=this.y*this.y,_=this.y*this.z,r=this.z*this.z,o=this.w*this.x,s=this.w*this.y,a=this.w*this.z;return new x3dom.fields.SFMatrix4f(1-2*(n+r),2*(t-a),2*(i+s),0,2*(t+a),1-2*(e+r),2*(_-o),0,2*(i-s),2*(_+o),1-2*(e+n),0,0,0,0,1)},x3dom.fields.Quaternion.prototype.toAxisAngle=function(){var e,t,i=0,n=0,_=0;return this.w>1&&this.normalize(),t=2*Math.acos(this.w),0==(e=Math.sqrt(1-this.w*this.w))?(i=this.x,n=this.y,_=this.z):(i=this.x/e,n=this.y/e,_=this.z/e),[new x3dom.fields.SFVec3f(i,n,_),t]},x3dom.fields.Quaternion.prototype.angle=function(){return 2*Math.acos(this.w)},x3dom.fields.Quaternion.prototype.setValue=function(e){var t,i=1,n=[0,0,0],_=0,r=0,o=0,s=[1,2,0];if((t=e._00+e._11+e._22)>0?(i=Math.sqrt(t+1),this.w=.5*i,i=.5/i,this.x=(e._21-e._12)*i,this.y=(e._02-e._20)*i,this.z=(e._10-e._01)*i):(_=e._11>e._00?1:0,e._22>e.at(_,_)&&(_=2),o=s[r=s[_]],i=Math.sqrt(e.at(_,_)-(e.at(r,r)+e.at(o,o))+1),n[_]=.5*i,i=.5/i,this.w=(e.at(o,r)-e.at(r,o))*i,n[r]=(e.at(r,_)+e.at(_,r))*i,n[o]=(e.at(o,_)+e.at(_,o))*i,this.x=n[0],this.y=n[1],this.z=n[2]),this.w>1||this.w<-1){var a=1+100*x3dom.fields.Eps;(this.w>a||this.w<-a)&&x3dom.debug.logInfo("MatToQuat: BUG: |quat[4]| ("+this.w+") >> 1.0 !"),this.w>1?this.w=1:this.w=-1}},x3dom.fields.Quaternion.prototype.setFromEuler=function(e,t,i){var n=Math.sin(.5*e),_=Math.cos(.5*e),r=Math.sin(.5*t),o=Math.cos(.5*t),s=Math.sin(.5*i),a=Math.cos(.5*i);return this.x=n*o*a-_*r*s,this.y=_*r*a+n*o*s,this.z=_*o*s-n*r*a,this.w=_*o*a+n*r*s,this},x3dom.fields.Quaternion.prototype.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},x3dom.fields.Quaternion.prototype.add=function(e){return new x3dom.fields.Quaternion(this.x+e.x,this.y+e.y,this.z+e.z,this.w+e.w)},x3dom.fields.Quaternion.prototype.subtract=function(e){return new x3dom.fields.Quaternion(this.x-e.x,this.y-e.y,this.z-e.z,this.w-e.w)},x3dom.fields.Quaternion.prototype.setValues=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this},x3dom.fields.Quaternion.prototype.equals=function(e,t){return this.dot(e)>=1-t},x3dom.fields.Quaternion.prototype.multScalar=function(e){return new x3dom.fields.Quaternion(this.x*e,this.y*e,this.z*e,this.w*e)},x3dom.fields.Quaternion.prototype.normalize=function(){var e=this.dot(this),t=1;return e&&(t=1/Math.sqrt(e)),this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},x3dom.fields.Quaternion.normalize=function(e){var t=e.dot(e),i=1;return t&&(i=1/Math.sqrt(t)),e.x*=i,e.y*=i,e.z*=i,e.w*=i,e},x3dom.fields.Quaternion.prototype.negate=function(){return new x3dom.fields.Quaternion(-this.x,-this.y,-this.z,-this.w)},x3dom.fields.Quaternion.prototype.inverse=function(){var e=new x3dom.fields.Quaternion(-this.x,-this.y,-this.z,this.w);if("SFRotation"in this){var t=e.toAxisAngle();return new x3dom.fields.SFRotation(t[0].x,t[0].y,t[0].z,t[1])}return e},x3dom.fields.Quaternion.prototype.slerp=function(e,t){var i,n,_,r=this.dot(e);if(r<0?(r=-r,i=e.negate()):i=new x3dom.fields.Quaternion(e.x,e.y,e.z,e.w),1-r>1e-5){var o=Math.acos(r),s=Math.sin(o);n=Math.sin((1-t)*o)/s,_=Math.sin(t*o)/s}else n=1-t,_=t;var a=this.multScalar(n).add(i.multScalar(_));if("SFRotation"in this){var p=a.toAxisAngle();return new x3dom.fields.SFRotation(p[0].x,p[0].y,p[0].z,p[1])}return a},x3dom.fields.Quaternion.rotateFromTo=function(e,t){var i=e.normalize(),n=t.normalize(),_=i.dot(n);if(_>.99999)return new x3dom.fields.Quaternion(0,0,0,1);if(_<-.99999){var r=new x3dom.fields.SFVec3f(1,0,0),o=i.cross(r);return o.length()<1e-5&&(r.x=0,r.y=1,r.z=0,o=i.cross(r)),o=o.normalize(),x3dom.fields.Quaternion.axisAngle(o,Math.PI)}var s=e.cross(t);s=s.normalize();var a=Math.sqrt(.5*(1-_));return s=s.multiply(a),a=Math.sqrt(.5*(1+_)),new x3dom.fields.Quaternion(s.x,s.y,s.z,a)},x3dom.fields.Quaternion.prototype.toGL=function(){var e=this.toAxisAngle();return[e[0].x,e[0].y,e[0].z,e[1]]},x3dom.fields.Quaternion.prototype.toString=function(){return"SFRotation"in this?this.SFRotation.x+" "+this.SFRotation.y+" "+this.SFRotation.z+" "+this.SFRotation.angle:this.x+" "+this.y+" "+this.z+", "+this.w},x3dom.fields.Quaternion.prototype.setValueByStr=function(e){var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);t=t||[0,1,0,0,0];var i=x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(+t[1],+t[2],+t[3]),+t[4]);return this.x=i.x,this.y=i.y,this.z=i.z,this.w=i.w,this},x3dom.fields.SFColor=function(e,t,i){0===arguments.length?(this.r=0,this.g=0,this.b=0):(this.r=e,this.g=t,this.b=i)},x3dom.fields.SFColor.parse=function(e){try{var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);return new x3dom.fields.SFColor(+t[1],+t[2],+t[3])}catch(t){return x3dom.fields.SFColor.colorParse(e)}},x3dom.fields.SFColor.copy=function(e){return new x3dom.fields.SFColor(e.r,e.g,e.b)},x3dom.fields.SFColor.prototype.copy=function(){return x3dom.fields.SFColor.copy(this)},x3dom.fields.SFColor.prototype.setHSV=function(e,t,i){var n,_,r,o,s,a=0,p=0,l=0;switch(r=i*(1-t),o=i*(1-t*(_=e/60-(n=Math.floor(e/60)))),s=i*(1-t*(1-_)),n){case 0:case 6:a=i,p=s,l=r;break;case 1:a=o,p=i,l=r;break;case 2:a=r,p=i,l=s;break;case 3:a=r,p=o,l=i;break;case 4:a=s,p=r,l=i;break;case 5:a=i,p=r,l=o;break;default:x3dom.debug.logWarning("Using black for invalid case in setHSV: "+n)}return this.r=a,this.g=p,this.b=l,this},x3dom.fields.SFColor.prototype.getHSV=function(){var e,t=0,i={},n=this.r;if(i.name="red",i.value=this.r,this.g<n&&(n=this.g),this.b<n&&(n=this.b),this.g>i.value&&(i.name="green",i.value=this.g),this.b>i.value&&(i.name="blue",i.value=this.b),0==(e=i.value-n))t=0;else if("red"==i.name)t=(this.g-this.b)/e%6*60;else if("green"==i.name)t=60*((this.b-this.r)/e+2);else{if("blue"!=i.name)throw"Unknown maximum component: "+i.name;t=60*((this.r-this.g)/e+4)}return t<0&&(t+=360),[t,0==i.value?0:e/i.value,i.value]},x3dom.fields.SFColor.prototype.setValues=function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this},x3dom.fields.SFColor.prototype.equals=function(e,t){return Math.abs(this.r-e.r)<t&&Math.abs(this.g-e.g)<t&&Math.abs(this.b-e.b)<t},x3dom.fields.SFColor.prototype.add=function(e){return new x3dom.fields.SFColor(this.r+e.r,this.g+e.g,this.b+e.b)},x3dom.fields.SFColor.prototype.subtract=function(e){return new x3dom.fields.SFColor(this.r-e.r,this.g-e.g,this.b-e.b)},x3dom.fields.SFColor.prototype.multiply=function(e){return new x3dom.fields.SFColor(this.r*e,this.g*e,this.b*e)},x3dom.fields.SFColor.prototype.toUint=function(){return(Math.round(255*this.r)<<16|Math.round(255*this.g)<<8|Math.round(255*this.b))>>>0},x3dom.fields.SFColor.prototype.setFromUint=function(e){return this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e>>0&255)/255,this},x3dom.fields.SFColor.prototype.toGL=function(){return[this.r,this.g,this.b]},x3dom.fields.SFColor.prototype.toString=function(){return this.r+" "+this.g+" "+this.b},x3dom.fields.SFColor.prototype.setValueByStr=function(e){try{var t=/^\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*$/.exec(e);this.r=+t[1],this.g=+t[2],this.b=+t[3]}catch(t){var i=x3dom.fields.SFColor.colorParse(e);this.r=i.r,this.g=i.g,this.b=i.b}return this},x3dom.fields.SFColor.colorParse=function(e){var t=_colorParse(e);return new x3dom.fields.SFColor(t.r,t.g,t.b)},x3dom.fields.SFColorRGBA=function(e,t,i,n){0===arguments.length?(this.r=0,this.g=0,this.b=0,this.a=1):(this.r=e,this.g=t,this.b=i,this.a=n)},x3dom.fields.SFColorRGBA.parse=function(e){try{var t=/^([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)$/.exec(e);return new x3dom.fields.SFColorRGBA(+t[1],+t[2],+t[3],+t[4])}catch(t){return x3dom.fields.SFColorRGBA.colorParse(e)}},x3dom.fields.SFColorRGBA.copy=function(e){return new x3dom.fields.SFColorRGBA(e.r,e.g,e.b,e.a)},x3dom.fields.SFColorRGBA.prototype.copy=function(){return x3dom.fields.SFColorRGBA.copy(this)},x3dom.fields.SFColorRGBA.prototype.setHSV=x3dom.fields.SFColor.prototype.setHSV,x3dom.fields.SFColorRGBA.prototype.getHSV=x3dom.fields.SFColor.prototype.getHSV,x3dom.fields.SFColorRGBA.prototype.setValues=function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this},x3dom.fields.SFColorRGBA.prototype.equals=function(e,t){return Math.abs(this.r-e.r)<t&&Math.abs(this.g-e.g)<t&&Math.abs(this.b-e.b)<t&&Math.abs(this.a-e.a)<t},x3dom.fields.SFColorRGBA.prototype.toGL=function(){return[this.r,this.g,this.b,this.a]},x3dom.fields.SFColorRGBA.prototype.toString=function(){return this.r+" "+this.g+" "+this.b+" "+this.a},x3dom.fields.SFColorRGBA.prototype.setValueByStr=function(e){try{var t=/^([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)\s*,?\s*([+\-]?\d*\.*\d*[eE]?[+\-]?\d*?)$/.exec(e);this.r=+t[1],this.g=+t[2],this.b=+t[3],this.a=+t[4]}catch(t){var i=x3dom.fields.SFColorRGBA.colorParse(e);this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a}return this},x3dom.fields.SFColorRGBA.prototype.toUint=function(){return(Math.round(255*this.r)<<24|Math.round(255*this.g)<<16|Math.round(255*this.b)<<8|Math.round(255*this.a))>>>0},x3dom.fields.SFColorRGBA.prototype.setFromUint=function(e){return this.r=(e>>24&255)/255,this.g=(e>>16&255)/255,this.b=(e>>8&255)/255,this.a=(e>>0&255)/255,this},x3dom.fields.SFColorRGBA.colorParse=function(e){var t=_colorParse(e);return new x3dom.fields.SFColorRGBA(t.r,t.g,t.b,t.a)},x3dom.fields.SFImage=function(e,t,i,n){if(0!==arguments.length&&n&&n.map){this.width=e,this.height=t,this.comp=i;var _=this.array;n.map((function(e){_.push(e)}),this.array)}else this.width=0,this.height=0,this.comp=0,this.array=[]},x3dom.fields.SFImage.parse=function(e){var t=new x3dom.fields.SFImage;return t.setValueByStr(e),t},x3dom.fields.SFImage.copy=function(e){var t=new x3dom.fields.SFImage;return t.width=e.width,t.height=e.height,t.comp=e.comp,t.setPixels(e.getPixels()),t},x3dom.fields.SFImage.prototype.copy=function(){return x3dom.fields.SFImage.copy(this)},x3dom.fields.SFImage.prototype.setValueByStr=function(e){var t,i,n,_,r,o=e.match(/(\w+)/g),s=o.length;if(this.array=[],!(s>2))return this.width=0,this.height=0,void(this.comp=0);this.width=+o[0],this.height=+o[1],this.comp=+o[2];var a=10;for(t=3;t<s;t++)if(o[t].substr){"x"===o[t].substr(1,1).toLowerCase()&&(a=16);var p=parseInt(o[t],a);1===this.comp?(i=255&p,this.array.push(i)):2===this.comp?(i=p>>8&255,n=255&p,this.array.push(i,n)):3===this.comp?(i=p>>16&255,n=p>>8&255,_=255&p,this.array.push(i,n,_)):4===this.comp&&(i=p>>24&255,n=p>>16&255,_=p>>8&255,r=255&p,this.array.push(i,n,_,r))}},x3dom.fields.SFImage.prototype.setPixel=function(e,t,i){var n=(t*this.width+e)*this.comp;return 1===this.comp&&n<this.array.length?this.array[n]=255*i.r:2===this.comp&&n+1<this.array.length?(this.array[n]=255*i.r,this.array[n+1]=255*i.g):3===this.comp&&n+2<this.array.length?(this.array[n]=255*i.r,this.array[n+1]=255*i.g,this.array[n+2]=255*i.b):4===this.comp&&n+3<this.array.length&&(this.array[n]=255*i.r,this.array[n+1]=255*i.g,this.array[n+2]=255*i.b,this.array[n+3]=255*i.a),this},x3dom.fields.SFImage.prototype.getPixel=function(e,t){var i=(t*this.width+e)*this.comp;if(1===this.comp&&i<this.array.length){var n=this.array[i]/255;return new x3dom.fields.SFColorRGBA(n,n,n,1)}if(2===this.comp&&i+1<this.array.length){n=this.array[i]/255;var _=this.array[i+1]/255;return new x3dom.fields.SFColorRGBA(n,n,n,_)}return 3===this.comp&&i+2<this.array.length?new x3dom.fields.SFColorRGBA(this.array[i]/255,this.array[i+1]/255,this.array[i+2]/255,1):4===this.comp&&i+3<this.array.length?new x3dom.fields.SFColorRGBA(this.array[i]/255,this.array[i+1]/255,this.array[i+2]/255,this.array[i+3]/255):void 0},x3dom.fields.SFImage.prototype.setPixels=function(e){var t,i=0;if(1===this.comp)for(t=0;t<e.length;t++)this.array[i++]=255*e[t].r;else if(2===this.comp)for(t=0;t<e.length;t++)this.array[i++]=255*e[t].r,this.array[i++]=255*e[t].g;else if(3===this.comp)for(t=0;t<e.length;t++)this.array[i++]=255*e[t].r,this.array[i++]=255*e[t].g,this.array[i++]=255*e[t].b;else if(4===this.comp)for(t=0;t<e.length;t++)this.array[i++]=255*e[t].r,this.array[i++]=255*e[t].g,this.array[i++]=255*e[t].b,this.array[i++]=255*e[t].a},x3dom.fields.SFImage.prototype.getPixels=function(){var e,t=[];if(1===this.comp)for(e=0;e<this.array.length;e+=this.comp){var i=this.array[e]/255;t.push(new x3dom.fields.SFColorRGBA(i,i,i,1))}else if(2===this.comp)for(e=0;e<this.array.length;e+=this.comp){i=this.array[e]/255;var n=this.array[e+1]/255;t.push(new x3dom.fields.SFColorRGBA(i,i,i,n))}else if(3===this.comp)for(e=0;e<this.array.length;e+=this.comp)t.push(new x3dom.fields.SFColorRGBA(this.array[e]/255,this.array[e+1]/255,this.array[e+2]/255,1));else if(4===this.comp)for(e=0;e<this.array.length;e+=this.comp)t.push(new x3dom.fields.SFColorRGBA(this.array[e]/255,this.array[e+1]/255,this.array[e+2]/255,this.array[e+3]/255));return t},x3dom.fields.SFImage.prototype.toGL=function(){var e=[];return this.array.map((function(t){e.push(t)})),e},x3dom.fields.MFColor=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFColor.copy=function(e){var t=new x3dom.fields.MFColor;return e.map((function(e){t.push(e.copy())}),this),t},x3dom.fields.MFColor.prototype=x3dom.extend([]),x3dom.fields.MFColor.parse=function(e){for(var t=e.match(/([+\-0-9eE\.]+)/g),i=[],n=0,_=t?t.length:0;n<_;n+=3)i.push(new x3dom.fields.SFColor(+t[n+0],+t[n+1],+t[n+2]));return new x3dom.fields.MFColor(i)},x3dom.fields.MFColor.prototype.copy=function(){return x3dom.fields.MFColor.copy(this)},x3dom.fields.MFColor.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-0-9eE\.]+)/g),i=0,n=t?t.length:0;i<n;i+=3)this.push(new x3dom.fields.SFColor(+t[i+0],+t[i+1],+t[i+2]))},x3dom.fields.MFColor.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t.r),e.push(t.g),e.push(t.b)})),e},x3dom.fields.MFColorRGBA=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFColorRGBA.copy=function(e){var t=new x3dom.fields.MFColorRGBA;return e.map((function(e){t.push(e.copy())}),this),t},x3dom.fields.MFColorRGBA.prototype=x3dom.extend([]),x3dom.fields.MFColorRGBA.parse=function(e){for(var t=e.match(/([+\-0-9eE\.]+)/g),i=[],n=0,_=t?t.length:0;n<_;n+=4)i.push(new x3dom.fields.SFColorRGBA(+t[n+0],+t[n+1],+t[n+2],+t[n+3]));return new x3dom.fields.MFColorRGBA(i)},x3dom.fields.MFColorRGBA.prototype.copy=function(){return x3dom.fields.MFColorRGBA.copy(this)},x3dom.fields.MFColorRGBA.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-0-9eE\.]+)/g),i=0,n=t?t.length:0;i<n;i+=4)this.push(new x3dom.fields.SFColorRGBA(+t[i+0],+t[i+1],+t[i+2],+t[i+3]))},x3dom.fields.MFColorRGBA.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t.r),e.push(t.g),e.push(t.b),e.push(t.a)})),e},x3dom.fields.MFRotation=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFRotation.prototype=x3dom.extend([]),x3dom.fields.MFRotation.copy=function(e){var t=new x3dom.fields.MFRotation;return e.map((function(e){t.push(e.copy())}),this),t},x3dom.fields.MFRotation.prototype.copy=function(){return x3dom.fields.MFRotation.copy(this)},x3dom.fields.MFRotation.parse=function(e){for(var t=e.match(/([+\-0-9eE\.]+)/g),i=[],n=0,_=t?t.length:0;n<_;n+=4)i.push(x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(+t[n+0],+t[n+1],+t[n+2]),+t[n+3]));return new x3dom.fields.MFRotation(i)},x3dom.fields.MFRotation.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-0-9eE\.]+)/g),i=0,n=t?t.length:0;i<n;i+=4)this.push(x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(+t[i+0],+t[i+1],+t[i+2]),+t[i+3]))},x3dom.fields.MFRotation.prototype.toGL=function(){var e=[];return this.map((function(t){var i=t.toAxisAngle();e.push(i[0].x),e.push(i[0].y),e.push(i[0].z),e.push(i[1])})),e},x3dom.fields.MFVec3f=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFVec3f.prototype=x3dom.extend(Array),x3dom.fields.MFVec3f.copy=function(e){var t=new x3dom.fields.MFVec3f;return e.map((function(e){t.push(e.copy())}),this),t},x3dom.fields.MFVec3f.parse=function(e){for(var t=e.match(/([+\-0-9eE\.]+)/g),i=[],n=0,_=t?t.length:0;n<_;n+=3)i.push(new x3dom.fields.SFVec3f(+t[n+0],+t[n+1],+t[n+2]));return new x3dom.fields.MFVec3f(i)},x3dom.fields.MFVec3f.prototype.copy=function(){return x3dom.fields.MFVec3f.copy(this)},x3dom.fields.MFVec3f.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-0-9eE\.]+)/g),i=0,n=t?t.length:0;i<n;i+=3)this.push(new x3dom.fields.SFVec3f(+t[i+0],+t[i+1],+t[i+2]));return this},x3dom.fields.MFVec3f.prototype.setValues=function(e){var t,i=Math.min(e.length,this.length);for(t=0;t<i;t++)this[t].setValues(e[t])},x3dom.fields.MFVec3f.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t.x),e.push(t.y),e.push(t.z)})),e},x3dom.fields.MFVec3f.prototype.toString=function(){var e="";return this.forEach((function(t){e=e+t.toString()+" "})),e.trim()},x3dom.fields.MFVec2f=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFVec2f.prototype=x3dom.extend([]),x3dom.fields.MFVec2f.copy=function(e){var t=new x3dom.fields.MFVec2f;return e.map((function(e){t.push(e.copy())}),this),t},x3dom.fields.MFVec2f.parse=function(e){for(var t=e.match(/([+\-0-9eE\.]+)/g),i=[],n=0,_=t?t.length:0;n<_;n+=2)i.push(new x3dom.fields.SFVec2f(+t[n+0],+t[n+1]));return new x3dom.fields.MFVec2f(i)},x3dom.fields.MFVec2f.prototype.copy=function(){return x3dom.fields.MFVec2f.copy(this)},x3dom.fields.MFVec2f.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-0-9eE\.]+)/g),i=0,n=t?t.length:0;i<n;i+=2)this.push(new x3dom.fields.SFVec2f(+t[i+0],+t[i+1]))},x3dom.fields.MFVec2f.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t.x),e.push(t.y)})),e},x3dom.fields.MFInt32=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFInt32.prototype=x3dom.extend([]),x3dom.fields.MFInt32.copy=function(e){var t=new x3dom.fields.MFInt32;return e.map((function(e){t.push(e)}),this),t},x3dom.fields.MFInt32.parse=function(e){for(var t=e.match(/([+\-]?\d+\s*){1},?\s*/g),i=[],n=0,_=t?t.length:0;n<_;++n)i.push(parseInt(t[n],10));return new x3dom.fields.MFInt32(i)},x3dom.fields.MFInt32.prototype.copy=function(){return x3dom.fields.MFInt32.copy(this)},x3dom.fields.MFInt32.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-]?\d+\s*){1},?\s*/g),i=0,n=t?t.length:0;i<n;++i)this.push(parseInt(t[i],10))},x3dom.fields.MFInt32.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t)})),e},x3dom.fields.MFFloat=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFFloat.prototype=x3dom.extend([]),x3dom.fields.MFFloat.copy=function(e){var t=new x3dom.fields.MFFloat;return e.map((function(e){t.push(e)}),this),t},x3dom.fields.MFFloat.parse=function(e){for(var t=e.match(/([+\-0-9eE\.]+)/g),i=[],n=0,_=t?t.length:0;n<_;n++)i.push(+t[n]);return new x3dom.fields.MFFloat(i)},x3dom.fields.MFFloat.prototype.copy=function(){return x3dom.fields.MFFloat.copy(this)},x3dom.fields.MFFloat.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/([+\-0-9eE\.]+)/g),i=0,n=t?t.length:0;i<n;i++)this.push(+t[i])},x3dom.fields.MFFloat.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t)})),e},x3dom.fields.MFBoolean=function(e){if(e){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFBoolean.prototype=x3dom.extend([]),x3dom.fields.MFBoolean.copy=function(e){var t=new x3dom.fields.MFBoolean;return e.map((function(e){t.push(e)}),this),t},x3dom.fields.MFBoolean.parse=function(e){for(var t=e.match(/(true|false|1|0)/gi),i=[],n=0,_=t?t.length:0;n<_;n++)i.push("1"==t[n]||"true"==t[n].toLowerCase());return new x3dom.fields.MFBoolean(i)},x3dom.fields.MFBoolean.prototype.copy=function(){return x3dom.fields.MFBoolean.copy(this)},x3dom.fields.MFBoolean.prototype.setValueByStr=function(e){this.length=0;for(var t=e.match(/(true|false|1|0)/gi),i=0,n=t?t.length:0;i<n;i++)this.push("1"==t[i]||"true"==t[i].toLowerCase())},x3dom.fields.MFBoolean.prototype.toGL=function(){var e=[];return this.map((function(t){e.push(t?1:0)})),e},x3dom.fields.MFString=function(e){if(e&&e.map){var t=this;e.map((function(e){t.push(e)}),this)}},x3dom.fields.MFString.prototype=x3dom.extend([]),x3dom.fields.MFString.copy=function(e){var t=new x3dom.fields.MFString;return e.map((function(e){t.push(e)}),this),t},x3dom.fields.MFString.parse=function(e){var t=[];if((e=e.trim()).length&&'"'==e[0])for(var i,n=/"((?:[^\\"]|\\\\|\\")*)"/g;i=n.exec(e);){var _=i[1].replace(/\\([\\"])/g,"$1");void 0!==_&&t.push(_)}else t.push(e);return new x3dom.fields.MFString(t)},x3dom.fields.MFString.prototype.copy=function(){return x3dom.fields.MFString.copy(this)},x3dom.fields.MFString.prototype.setValueByStr=function(e){if(this.length=0,e.length&&'"'==e[0])for(var t,i=/"((?:[^\\"]|\\\\|\\")*)"/g;t=i.exec(e);){var n=t[1].replace(/\\([\\"])/,"$1");void 0!==n&&this.push(n)}else this.push(e);return this},x3dom.fields.MFString.prototype.toString=function(){for(var e="",t=0,i=this.length;t<i;t++)e=e+this[t]+" ";return e},x3dom.fields.SFNode=function(e){this.type=e,this.node=null},x3dom.fields.SFNode.prototype.hasLink=function(e){return e?this.node===e:this.node},x3dom.fields.SFNode.prototype.addLink=function(e){return this.node=e,!0},x3dom.fields.SFNode.prototype.rmLink=function(e){return this.node===e&&(this.node=null,!0)},x3dom.fields.MFNode=function(e){this.type=e,this.nodes=[]},x3dom.fields.MFNode.prototype.hasLink=function(e){if(!e)return this.length>0;for(var t=0,i=this.nodes.length;t<i;t++)if(this.nodes[t]===e)return!0;return!1},x3dom.fields.MFNode.prototype.addLink=function(e){return this.nodes.push(e),!0},x3dom.fields.MFNode.prototype.rmLink=function(e){for(var t=0,i=this.nodes.length;t<i;t++)if(this.nodes[t]===e)return this.nodes.splice(t,1),!0;return!1},x3dom.fields.MFNode.prototype.length=function(){return this.nodes.length},x3dom.fields.Line=function(e,t){0===arguments.length&&(this.pos=new x3dom.fields.SFVec3f(0,0,0),this.dir=new x3dom.fields.SFVec3f(0,0,1)),this.pos=x3dom.fields.SFVec3f.copy(e),this.dir=x3dom.fields.SFVec3f.copy(t)},x3dom.fields.Line.prototype.closestPoint=function(e){var t=e.subtract(this.pos).dot(this.dir);return this.pos.add(this.dir.multiply(t))},x3dom.fields.Line.prototype.shortestDistance=function(e){var t=e.subtract(this.pos),i=t.dot(this.dir);return t.subtract(this.dir.multiply(i)).length()},x3dom.fields.Ray=function(e,t){if(0===arguments.length)this.pos=new x3dom.fields.SFVec3f(0,0,0),this.dir=new x3dom.fields.SFVec3f(0,0,1);else{this.pos=new x3dom.fields.SFVec3f(e.x,e.y,e.z);var i=t.length();i&&(i=1/i),this.dir=new x3dom.fields.SFVec3f(t.x*i,t.y*i,t.z*i)}this.enter=0,this.exit=0,this.hitObject=null,this.hitPoint={},this.dist=Number.MAX_VALUE},x3dom.fields.Ray.prototype.toString=function(){return"Ray: ["+this.pos.toString()+"; "+this.dir.toString()+"]"},x3dom.fields.Ray.prototype.intersectPlane=function(e,t){var i,n=null,_=t.dot(this.dir);return _<0&&(i=(e.dot(t)-this.pos.dot(t))/_,n=this.pos.addScaled(this.dir,i)),n},x3dom.fields.Ray.prototype.intersect=function(e,t){var i,n,_,r=0,o=Number.MAX_VALUE;if(this.dir.x>x3dom.fields.Eps)i=1/this.dir.x,n=(e.x-this.pos.x)*i,(_=(t.x-this.pos.x)*i)<o&&(o=_),n>r&&(r=n);else if(this.dir.x<-x3dom.fields.Eps)i=1/this.dir.x,n=(t.x-this.pos.x)*i,(_=(e.x-this.pos.x)*i)<o&&(o=_),n>r&&(r=n);else if(this.pos.x<e.x||this.pos.x>t.x)return!1;if(this.dir.y>x3dom.fields.Eps){if(i=1/this.dir.y,n=(e.y-this.pos.y)*i,(_=(t.y-this.pos.y)*i)<o&&(o=_),n>r&&(r=n),r-o>=x3dom.fields.Eps)return!1}else if(this.dir.y<-x3dom.fields.Eps){if(i=1/this.dir.y,n=(t.y-this.pos.y)*i,(_=(e.y-this.pos.y)*i)<o&&(o=_),n>r&&(r=n),r-o>=x3dom.fields.Eps)return!1}else if(this.pos.y<e.y||this.pos.y>t.y)return!1;if(this.dir.z>x3dom.fields.Eps)i=1/this.dir.z,n=(e.z-this.pos.z)*i,(_=(t.z-this.pos.z)*i)<o&&(o=_),n>r&&(r=n);else if(this.dir.z<-x3dom.fields.Eps)i=1/this.dir.z,n=(t.z-this.pos.z)*i,(_=(e.z-this.pos.z)*i)<o&&(o=_),n>r&&(r=n);else if(this.pos.z<e.z||this.pos.z>t.z)return!1;return this.enter=r,this.exit=o,r-o<x3dom.fields.Eps},x3dom.fields.BoxVolume=function(e,t){arguments.length<2?(this.min=new x3dom.fields.SFVec3f(0,0,0),this.max=new x3dom.fields.SFVec3f(0,0,0),this.valid=!1):(this.min=x3dom.fields.SFVec3f.copy(e),this.max=x3dom.fields.SFVec3f.copy(t),this.valid=!0),this.updateInternals()},x3dom.fields.BoxVolume.prototype.getScalarValue=function(){var e=this.max.subtract(this.min);return e.x*e.y*e.z},x3dom.fields.BoxVolume.copy=function(e){var t=new x3dom.fields.BoxVolume(e.min,e.max);return t.valid=e.valid,t},x3dom.fields.BoxVolume.prototype.equals=function(e){return this.min.equals(e.min,1e-12)&&this.max.equals(e.max,1e-12)},x3dom.fields.BoxVolume.prototype.updateInternals=function(){this.radialVec=this.max.subtract(this.min).multiply(.5),this.center=this.min.add(this.radialVec),this.diameter=2*this.radialVec.length()},x3dom.fields.BoxVolume.prototype.setBounds=function(e,t){this.min.setValues(e),this.max.setValues(t),this.updateInternals(),this.valid=!0},x3dom.fields.BoxVolume.prototype.setBoundsByCenterSize=function(e,t){var i=t.multiply(.5);this.min=e.subtract(i),this.max=e.add(i),this.updateInternals(),this.valid=!0},x3dom.fields.BoxVolume.prototype.extendBounds=function(e,t){this.valid?(this.min.x>e.x&&(this.min.x=e.x),this.min.y>e.y&&(this.min.y=e.y),this.min.z>e.z&&(this.min.z=e.z),this.max.x<t.x&&(this.max.x=t.x),this.max.y<t.y&&(this.max.y=t.y),this.max.z<t.z&&(this.max.z=t.z),this.updateInternals()):this.setBounds(e,t)},x3dom.fields.BoxVolume.prototype.getBounds=function(e,t){e.setValues(this.min),t.setValues(this.max)},x3dom.fields.BoxVolume.prototype.getRadialVec=function(){return this.radialVec},x3dom.fields.BoxVolume.prototype.invalidate=function(){this.valid=!1,this.min=new x3dom.fields.SFVec3f(0,0,0),this.max=new x3dom.fields.SFVec3f(0,0,0),this.updateInternals()},x3dom.fields.BoxVolume.prototype.isValid=function(){return this.valid},x3dom.fields.BoxVolume.prototype.getCenter=function(){return this.center},x3dom.fields.BoxVolume.prototype.getDiameter=function(){return this.diameter},x3dom.fields.BoxVolume.prototype.transform=function(e){var t,i,n,_,r,o;t=_=e._03,i=r=e._13,n=o=e._23;var s=this.max.x*e._00,a=this.min.x*e._00;s>=a?(_+=s,t+=a):(_+=a,t+=s),(s=this.max.y*e._01)>=(a=this.min.y*e._01)?(_+=s,t+=a):(_+=a,t+=s),(s=this.max.z*e._02)>=(a=this.min.z*e._02)?(_+=s,t+=a):(_+=a,t+=s),(s=this.max.x*e._10)>=(a=this.min.x*e._10)?(r+=s,i+=a):(r+=a,i+=s),(s=this.max.y*e._11)>=(a=this.min.y*e._11)?(r+=s,i+=a):(r+=a,i+=s),(s=this.max.z*e._12)>=(a=this.min.z*e._12)?(r+=s,i+=a):(r+=a,i+=s),(s=this.max.x*e._20)>=(a=this.min.x*e._20)?(o+=s,n+=a):(o+=a,n+=s),(s=this.max.y*e._21)>=(a=this.min.y*e._21)?(o+=s,n+=a):(o+=a,n+=s),(s=this.max.z*e._22)>=(a=this.min.z*e._22)?(o+=s,n+=a):(o+=a,n+=s),this.min.x=t,this.min.y=i,this.min.z=n,this.max.x=_,this.max.y=r,this.max.z=o,this.updateInternals()},x3dom.fields.BoxVolume.prototype.transformFrom=function(e,t){var i,n,_,r,o,s;i=r=e._03,n=o=e._13,_=s=e._23;var a=t.max.x*e._00,p=t.min.x*e._00;a>=p?(r+=a,i+=p):(r+=p,i+=a),(a=t.max.y*e._01)>=(p=t.min.y*e._01)?(r+=a,i+=p):(r+=p,i+=a),(a=t.max.z*e._02)>=(p=t.min.z*e._02)?(r+=a,i+=p):(r+=p,i+=a),(a=t.max.x*e._10)>=(p=t.min.x*e._10)?(o+=a,n+=p):(o+=p,n+=a),(a=t.max.y*e._11)>=(p=t.min.y*e._11)?(o+=a,n+=p):(o+=p,n+=a),(a=t.max.z*e._12)>=(p=t.min.z*e._12)?(o+=a,n+=p):(o+=p,n+=a),(a=t.max.x*e._20)>=(p=t.min.x*e._20)?(s+=a,_+=p):(s+=p,_+=a),(a=t.max.y*e._21)>=(p=t.min.y*e._21)?(s+=a,_+=p):(s+=p,_+=a),(a=t.max.z*e._22)>=(p=t.min.z*e._22)?(s+=a,_+=p):(s+=p,_+=a),this.min.x=i,this.min.y=n,this.min.z=_,this.max.x=r,this.max.y=o,this.max.z=s,this.updateInternals(),this.valid=!0},x3dom.fields.FrustumVolume=function(e){if(this.planeNormals=[],this.planeDistances=[],this.directionIndex=[],0!==arguments.length){for(var t=[],i=0;i<6;i++)this.planeNormals[i]=new x3dom.fields.SFVec3f(0,0,0),this.planeDistances[i]=0,this.directionIndex[i]=0,t[i]=new x3dom.fields.SFVec4f(0,0,0,0);for(t[0].x=e._30-e._00,t[0].y=e._31-e._01,t[0].z=e._32-e._02,t[0].w=e._33-e._03,t[1].x=e._30+e._00,t[1].y=e._31+e._01,t[1].z=e._32+e._02,t[1].w=e._33+e._03,t[2].x=e._30+e._10,t[2].y=e._31+e._11,t[2].z=e._32+e._12,t[2].w=e._33+e._13,t[3].x=e._30-e._10,t[3].y=e._31-e._11,t[3].z=e._32-e._12,t[3].w=e._33-e._13,t[4].x=e._30+e._20,t[4].y=e._31+e._21,t[4].z=e._32+e._22,t[4].w=e._33+e._23,t[5].x=e._30-e._20,t[5].y=e._31-e._21,t[5].z=e._32-e._22,t[5].w=e._33-e._23,i=0;i<6;i++){var n=Math.sqrt(t[i].x*t[i].x+t[i].y*t[i].y+t[i].z*t[i].z);t[i].x/=n,t[i].y/=n,t[i].z/=n,t[i].w/=-n}var _=function(e){var t=0;return e.x>0&&(t|=1),e.y>0&&(t|=2),e.z>0&&(t|=4),t};this.planeNormals[3].setValues(t[0]),this.planeDistances[3]=t[0].w,this.directionIndex[3]=_(this.planeNormals[3]),this.planeNormals[2].setValues(t[1]),this.planeDistances[2]=t[1].w,this.directionIndex[2]=_(this.planeNormals[2]),this.planeNormals[5].setValues(t[2]),this.planeDistances[5]=t[2].w,this.directionIndex[5]=_(this.planeNormals[5]),this.planeNormals[4].setValues(t[3]),this.planeDistances[4]=t[3].w,this.directionIndex[4]=_(this.planeNormals[4]),this.planeNormals[0].setValues(t[4]),this.planeDistances[0]=t[4].w,this.directionIndex[0]=_(this.planeNormals[0]),this.planeNormals[1].setValues(t[5]),this.planeDistances[1]=t[5].w,this.directionIndex[1]=_(this.planeNormals[1])}},x3dom.fields.FrustumVolume.prototype.intersect=function(e,t){if(this.planeNormals.length<6)return x3dom.debug.logWarning("FrustumVolume not initialized!"),!1;var i=this,n=e.min,_=e.max,r=function(e){var t=new x3dom.fields.SFVec3f(0,0,0);return t.x=1&e?n.x:_.x,t.y=2&e?n.y:_.y,t.z=4&e?n.z:_.z,t},o=function(e,t){return i.planeNormals[e].dot(t)-i.planeDistances[e]>=0},s=function(e){var t=r(i.directionIndex[e]);return o(e,t)},a=function(e){var t=r(7^i.directionIndex[e]);return!o(e,t)},p=1;t<0&&(t=0);for(var l=0;l<6;l++,p<<=1)if(0==(t&p)){if(a(l))return-1;s(l)&&(t|=p)}return t},x3dom.BindableStack=function(e,t,i,n){this._doc=e,this._type=t,this._defaultType=i,this._defaultRoot=null,this._getter=n,this._bindBag=[],this._bindStack=[]},x3dom.BindableStack.prototype.top=function(){return this._bindStack.length>0?this._bindStack[this._bindStack.length-1]:null},x3dom.BindableStack.prototype.push=function(e){var t=this.top();t!==e&&(t&&t.deactivate(),this._bindStack.push(e),e.activate(t))},x3dom.BindableStack.prototype.replaceTop=function(e){var t=this.top();t!==e&&t&&(t.deactivate(),this._bindStack[this._bindStack.length-1]=e,e.activate(t))},x3dom.BindableStack.prototype.pop=function(e){var t;return e&&e!==(t=this.top())?null:((t=this._bindStack.pop())&&t.deactivate(),t)},x3dom.BindableStack.prototype.switchTo=function(e){var t=this.getActive(),i=this._bindBag.length,n=0,_=0,r=-1;if(!(i<=1)){switch(e){case"first":n=this._bindBag[0];break;case"last":n=this._bindBag[i-1];break;default:for(_=0;_<i;_++)if(this._bindBag[_]==t){r=_;break}if(r>=0)for(_=r;!n&&(_="next"==e?_<i-1?_+1:0:_>0?_-1:i-1)!=r;)this._bindBag[_]._vf.description.length>=0&&(n=this._bindBag[_])}n?this.replaceTop(n):x3dom.debug.logWarning("Cannot switch bindable; no other bindable with description found.")}},x3dom.BindableStack.prototype.getActive=function(){if(0===this._bindStack.length){if(0===this._bindBag.length)if(this._defaultRoot){x3dom.debug.logInfo("create new "+this._defaultType._typeName+" for "+this._type._typeName+"-stack");var e=new this._defaultType({doc:this._doc,nameSpace:this._defaultRoot._nameSpace,autoGen:!0});this._defaultRoot.addChild(e),e.nodeChanged()}else x3dom.debug.logError("stack without defaultRoot");else x3dom.debug.logInfo("activate first "+this._type._typeName+" for "+this._type._typeName+"-stack");this._bindStack.push(this._bindBag[0]),this._bindBag[0].activate()}var t=this._bindStack[this._bindStack.length-1];return null==t._nameSpace&&(this.pop(),t=this.getActive()),t},x3dom.BindableBag=function(e){this._stacks=[],this.addType("X3DViewpointNode","Viewpoint","getViewpoint",e),this.addType("X3DNavigationInfoNode","NavigationInfo","getNavigationInfo",e),this.addType("X3DBackgroundNode","Background","getBackground",e),this.addType("X3DFogNode","Fog","getFog",e),this.addType("X3DEnvironmentNode","Environment","getEnvironment",e)},x3dom.BindableBag.prototype.addType=function(e,t,i,n){var _=x3dom.nodeTypes[e],r=x3dom.nodeTypes[t];if(_&&r){var o=new x3dom.BindableStack(n,_,r,i);this._stacks.push(o)}else x3dom.debug.logWarning("Invalid Bindable type/defaultType: "+e+"/"+r)},x3dom.BindableBag.prototype.setRefNode=function(e){this._stacks.forEach((function(t){t._defaultRoot=e,e[t._getter]=function(){return t.getActive()}}))},x3dom.BindableBag.prototype.addBindable=function(e){for(var t=0,i=this._stacks.length;t<i;t++){var n=this._stacks[t];if(x3dom.isa(e,n._type)){x3dom.debug.logInfo("register "+e.typeName()+"Bindable "+e._DEF+"/"+e._vf.description),n._bindBag.push(e);var _=n.top();if(_&&_._autoGen){n.replaceTop(e);for(var r=0,o=n._bindBag.length;r<o;r++)if(n._bindBag[r]===_){n._bindBag.splice(r,1);break}n._defaultRoot.removeChild(_)}return n}}return x3dom.debug.logError(e.typeName()+" is not a valid bindable"),null},x3dom.NodeNameSpace=function(e,t){this.name=e,this.doc=t,this.baseURL="",this.defMap={},this.parent=null,this.childSpaces=[],this.protos=[],this.lateRoutes=[],this.imports=new Map,this.exports=new Map,this.superInlineNode=null},x3dom.NodeNameSpace.prototype.addNode=function(e,t){this.defMap[t]=e,e._nameSpace||(e._nameSpace=this)},x3dom.NodeNameSpace.prototype.removeNode=function(e){var t=e?this.defMap[e]:null;t&&(delete this.defMap[e],t._nameSpace==this&&(t._nameSpace=null))},x3dom.NodeNameSpace.prototype.getNamedNode=function(e){return this.defMap[e]},x3dom.NodeNameSpace.prototype.getNamedElement=function(e){var t=this.defMap[e];return t?t._xmlNode:null},x3dom.NodeNameSpace.prototype.addSpace=function(e){this.childSpaces.push(e),e.parent=this},x3dom.NodeNameSpace.prototype.removeSpace=function(e){e.parent=null;for(var t=0;t<this.childSpaces.length;t++)this.childSpaces[t]==e&&this.childSpaces.splice(t,1)},x3dom.NodeNameSpace.prototype.setBaseURL=function(e){var t=e.lastIndexOf("/");this.baseURL=t>=0?e.substr(0,t+1):"",x3dom.debug.logInfo("setBaseURL: "+this.baseURL)},x3dom.NodeNameSpace.prototype.getURL=function(e){return void 0!==e&&e.length?"/"===e[0]||e.indexOf(":")>=0?e:this.baseURL+e:""},x3dom.hasElementAttribute=function(e){var t=this.__hasAttribute(e);return!t&&e&&(t=this.__hasAttribute(e.toLowerCase())),t},x3dom.getElementAttribute=function(e){var t=this.__getAttribute(e);return!t&&""!=t&&e&&(t=this.__getAttribute(e.toLowerCase())),t||!this._x3domNode?t:this._x3domNode._vf[e]},x3dom.setElementAttribute=function(e,t){this.__setAttribute(e,t);var i=this._x3domNode;i&&(i.updateField(e,t),i._nameSpace.doc.needRender=!0)},x3dom.getFieldValue=function(e){var t=this._x3domNode;if(t&&void 0!==t._vf[e]){var i=t._vf[e];return i instanceof Object&&"copy"in i?t._vf[e].copy():t._vf[e]}return null},x3dom.setFieldValue=function(e,t){var i=this._x3domNode;i&&void 0!==i._vf[e]&&i._nameSpace&&(i._vf[e]=t instanceof Object&&"copy"in t?t.copy():t,i.fieldChanged(e),i._nameSpace.doc.needRender=!0)},x3dom.requestFieldRef=function(e){var t=this._x3domNode;return t&&t._vf[e]?t._vf[e]:null},x3dom.releaseFieldRef=function(e){var t=this._x3domNode;t&&t._vf[e]&&t._nameSpace&&(t.fieldChanged(e),t._nameSpace.doc.needRender=!0)},x3dom.attachFieldAccess=function(e){e.requestFieldRef=x3dom.requestFieldRef,e.releaseFieldRef=x3dom.releaseFieldRef,e.getFieldValue=x3dom.getFieldValue,e.setFieldValue=x3dom.setFieldValue},x3dom.NodeNameSpace.prototype.setupTree=function(e,t){var i=null;if(t=t||null,x3dom.isX3DElement(e)){if(e._x3domNode)return x3dom.debug.logWarning("Tree is already initialized"),null;if(void 0===e.tagName||e.__addEventListener||e.__removeEventListener||(e.__addEventListener=e.addEventListener,e.addEventListener=function(e,t,i){this._x3domNode._listeners[e]||(this._x3domNode._listeners[e]=[]),this._x3domNode._listeners[e].push(t),this.__addEventListener(e,t,i)},e.__removeEventListener=e.removeEventListener,e.removeEventListener=function(e,t,i){var n=this._x3domNode._listeners[e];if(n)for(var _=0;_<n.length;_++)n[_]==t&&(n.splice(_,1),_--);this.__removeEventListener(e,t,i)}),e.hasAttribute("USE")||e.hasAttribute("use")){if(e.hasAttribute("USE")||e.setAttribute("USE",e.getAttribute("use")),!(i=this.defMap[e.getAttribute("USE")])){var n=e.getAttribute("USE").split("__");if(n.length>=2){for(var _=this;_;)_.name==n[0]&&(i=_.defMap[n[1]]),_=i?null:_.parent;i||(i=null,x3dom.debug.logWarning("Could not USE: "+e.getAttribute("USE")))}}return i&&(e._x3domNode=i,x3dom.attachFieldAccess(e)),i}if("route"===e.localName.toLowerCase()){var r=e,o=r.getAttribute("fromNode")||r.getAttribute("fromnode"),s=r.getAttribute("toNode")||r.getAttribute("tonode"),a=this.defMap[o],p=this.defMap[s],l=r.getAttribute("fromField")||r.getAttribute("fromfield"),d=r.getAttribute("toField")||r.getAttribute("tofield");return a&&p?(a.setupRoute(l,p,d),r._nodeNameSpace=this):(x3dom.debug.logWarning("not yet available route - can't find all DEFs for "+l+" -> "+d),this.lateRoutes.push({route:r,fnDEF:o,tnDEF:s,fnAtt:l,tnAtt:d})),null}if("import"===e.localName.toLowerCase()){var c=e.getAttribute("inlineDEF")||e.getAttribute("inlinedef"),b=e.getAttribute("importedDEF")||e.getAttribute("importeddef"),u=e.getAttribute("AS")||e.getAttribute("as");if(!c||!b)return null;if(u||(u=b),this.imports.get(c)||this.imports.set(c,new Map),this.imports.get(c).set(u,b),e._nodeNameSpace=this,this.defMap[c]&&this.defMap[c]._childNodes[0]&&this.defMap[c]._childNodes[0]._nameSpace){var m=this.defMap[c]._childNodes[0]._nameSpace;if(f=m.exports.get(b)){var h=m.defMap[f];h&&(this.defMap[u]=h,this.routeLateRoutes())}}return null}if("export"===e.localName.toLowerCase()){var f=e.getAttribute("localDEF")||e.getAttribute("localdef");u=e.getAttribute("AS")||e.getAttribute("as");return f?(u||(u=f),this.exports.set(u,f),e._nodeNameSpace=this,this.superInlineNode&&this.superInlineNode._nameSpace&&this.superInlineNode._nameSpace.importNodes(this),null):null}x3dom.attachFieldAccess(e);var g=x3dom.nodeTypesLC[e.localName.toLowerCase()];if(void 0!==g){!1===x3dom.userAgentFeature.supportsDOMAttrModified&&e instanceof Element&&(e.setAttribute&&!e.__setAttribute&&(e.__setAttribute=e.setAttribute,e.setAttribute=x3dom.setElementAttribute),e.getAttribute&&!e.__getAttribute&&(e.__getAttribute=e.getAttribute,e.getAttribute=x3dom.getElementAttribute),e.hasAttribute&&!e.__hasAttribute&&(e.__hasAttribute=e.hasAttribute,e.hasAttribute=x3dom.hasElementAttribute));var C={doc:this.doc,runtime:this.doc._x3dElem.runtime,xmlNode:e,nameSpace:this};return i=new g(C),e.hasAttribute("DEF")?(i._DEF=e.getAttribute("DEF"),this.defMap[i._DEF]=i):e.hasAttribute("id")&&(i._DEF=e.getAttribute("id"),i._DEF in this.defMap||(this.defMap[i._DEF]=i)),void 0===e.highlight&&(e.highlight=function(e,t){var i=x3dom.fields.SFColor.parse(t);this._x3domNode.highlight(e,i),this._x3domNode._nameSpace.doc.needRender=!0}),i._xmlNode=e,e._x3domNode=i,e.querySelectorAll(":scope > *").forEach((function(t){var i=t.localName.toLowerCase();"protodeclare"==i?this.protoDeclare(t):"externprotodeclare"==i?this.externProtoDeclare(t):"protoinstance"==i&&this.protoInstance(t,e)}),this),e.childNodes.forEach((function(e){var t=this.setupTree(e,i);t&&i.addChild(t,e.getAttribute("containerField"))}),this),i.nodeChanged(),i}x3dom.debug.logWarning("Unrecognised X3D element <"+e.localName+">.")}else if(e.localName){var S=e.localName.toLowerCase(),y=this.protos.find((function(e){return S==e.name.toLowerCase()&&e.isExternProto}));t&&"x3dommetagroup"==S?e.childNodes.forEach(function(e){var i=this.setupTree(e,t);i&&t.addChild(i,e.getAttribute("containerField"))}.bind(this)):"protodeclare"==S||"externprotodeclare"==S||"protoinstance"==S?i=null:"is"==e.localName.toLowerCase()?0==e.querySelectorAll("connect").length&&x3dom.debug.logWarning("IS statement without connect link: "+e.parentElement.localName):y?this.loadExternProtoAsync(y,e,e,e.parentElement):(x3dom.debug.logWarning("Unrecognised X3D element <"+e.localName+">."),i=null)}return i},x3dom.NodeNameSpace.prototype.importNodes=function(e){if(e&&e.superInlineNode&&e.superInlineNode._nameSpace==this){var t=this,i=e.superInlineNode._DEF,n=t.imports,_=e.exports,r=0;i&&n.get(i)&&(n.get(i).forEach((function(i,n){var o=_.get(i);if(o){var s=e.defMap[o];s&&(t.defMap[n]=s,r++)}})),r>0&&t.routeLateRoutes())}},x3dom.NodeNameSpace.prototype.routeLateRoutes=function(){var e=this;e.lateRoutes.forEach((function(t){var i=e.defMap[t.fnDEF],n=e.defMap[t.tnDEF];i&&n&&(x3dom.debug.logInfo("fixed ROUTE: from="+i._DEF+", to="+n._DEF),i.setupRoute(t.fnAtt,n,t.tnAtt),t.route._nodeNameSpace=e)}))},x3dom.NodeNameSpace.prototype.protoInstance=function(e,t){if(e.localName&&!e._x3dom){var i=e.getAttribute("name");if(e.hasAttribute("USE")){var n=e.getAttribute("USE"),_=this.defMap[n];i=_?_.constructor._typeName:t.getRootNode().querySelector("[DEF="+n+"]").getAttribute("name")}var r=this.protos.find((function(e){return e.name==i}));if(null!=r){var o=document.createElement(i);if(e.hasAttribute("DEF")?o.setAttribute("DEF",e.getAttribute("DEF")):e.hasAttribute("USE")&&o.setAttribute("USE",e.getAttribute("USE")),e.hasAttribute("containerField")&&o.setAttribute("containerField",e.getAttribute("containerField")),e.querySelectorAll(":scope > fieldValue , :scope > fieldvalue").forEach((function(e){var t=e.getAttribute("name"),i=e.querySelectorAll(":scope > *");if(i.length>0)i.forEach((function(e){e.setAttribute("containerField",t),o.appendChild(e)}));else{var n=e.getAttribute("value");n&&o.setAttribute(t,n)}})),r.isExternProto&&r.needsLoading)this.loadExternProtoAsync(r,o,e,t);else{this.doc.mutationObserver.disconnect(),e.insertAdjacentElement("afterend",o);var s=this.doc._x3dElem;this.doc._scene&&(s=this.doc._scene._xmlNode),this.doc.mutationObserver.observe(s,{attributes:!0,attributeOldValue:!0,childList:!0,subtree:!0}),e._x3dom=o}}else x3dom.debug.logWarning("ProtoInstance without a ProtoDeclaration "+i)}},x3dom.NodeNameSpace.prototype.loadExternProtoAsync=function(e,t,i,n){e.instanceQueue.push({protoInstanceDom:t,domNode:i,parentDom:n,targetChildIndex:n._x3domNode._childNodes.length+e.instanceQueue.length}),i._x3dom=t;var _=this,r=0;!function t(){var i=_.getURL(e.url[r]);_.doc.incrementDownloads(),fetch(i).then((function(e){if(!e.ok)throw new Error("Network response was not OK: "+e.status);return e.text()})).then((function(t){var n=new DOMParser,r=n.parseFromString(t,"application/xml"),o=r.querySelector("X3D");null==o&&(o=(r=n.parseFromString(t,"text/html")).querySelector("X3D"));var s=i.includes("#")?i.split("#").slice(-1)[0]:"",a=""==s?"ProtoDeclare":"ProtoDeclare[name='"+s+"']",p=o.querySelector(a);p.setAttribute("name",e.name),_.confNameSpace=new x3dom.NodeNameSpace(e.name,_.doc),_.confNameSpace.setBaseURL(_.baseURL+e.name),_.confNameSpace.setupTree(o.querySelector("Scene"),o),_.confNameSpace.protos.forEach((function(e){_.protos.push(e)}));var l,d=_.protos.findIndex((function(t){return t==e}));for(_.protos.splice(d,1),_.protoDeclare(p);l=e.instanceQueue.shift();){var c=l.parentDom,b=c._x3domNode,u=l.protoInstanceDom,m=l.targetChildIndex;_.doc.mutationObserver.disconnect(),l.domNode!==u&&l.domNode.insertAdjacentElement("afterend",u),_.doc.mutationObserver.observe(_.doc._scene._xmlNode,{attributes:!0,attributeOldValue:!0,childList:!0,subtree:!0}),_.doc.onNodeAdded(u,c);var h=b._childNodes,f=h.length-1;if(m!==f){var g=h[m],C=h[f];h[m]=C,h[f]=g;var S=(y=c.getAttribute("containerField"))in b._cf&&b._cf[y];if(!S)for(var y in b._cf){var v=b._cf[y];if(x3dom.isa(C,v.type)){S=v;break}}S[m]=C,S[f]=g}_.lateRoutes.forEach((function(e){var t=_.defMap[e.fnDEF],i=_.defMap[e.tnDEF];t&&i&&(x3dom.debug.logInfo("fixed ROUTE: from="+t._DEF+", to="+i._DEF),t.setupRoute(e.fnAtt,i,e.tnAtt),e.route._nodeNameSpace=_)})),_.superInlineNode&&_.superInlineNode._nameSpace&&_.superInlineNode._nameSpace.importNodes(_)}e.needsLoading=!1,_.doc.decrementDownloads()})).catch((function(n){if(x3dom.debug.logWarning(i+": ExternProto fetch failed: "+n),_.doc.decrementDownloads(),!(++r<e.url.length))return x3dom.debug.logError("ExternProto fetch failed for all urls."),e.needsLoading=!1,null;t()}))}()},x3dom.NodeNameSpace.prototype.externProtoDeclare=function(e){var t=e.getAttribute("name"),i=x3dom.fields.MFString.parse(e.getAttribute("url")),n=new x3dom.ProtoDeclaration(this,t,null,null,!0,i);this.protos.push(n)},x3dom.NodeNameSpace.prototype.protoDeclare=function(e){var t=e.getAttribute("name"),i=e.querySelector("ProtoInterface"),n=[];i&&i.querySelectorAll("field").forEach((function(e){n.push({name:e.getAttribute("name"),accessType:e.getAttribute("accessType"),dataType:e.getAttribute("type"),value:e.getAttribute("value"),cfValue:e.querySelectorAll(":scope > *")})}));var _=e.querySelector("ProtoBody");if(_){_._ISRoutes={},_.querySelectorAll("IS").forEach((function(e){for(var t=e.parentElement;"protobody"!==t.localName.toLowerCase();)t=t.parentElement;t===_&&e.querySelectorAll("connect").forEach((function(t){var i=e.parentElement;if(0==i.hasAttribute("DEF")){var n="_proto_"+i.tagName+"_"+x3dom.protoISDEFuid++;i.setAttribute("DEF",n),"protoinstance"==i.localName.toLowerCase()&&i._x3domNode&&(i._x3domNode._DEF=n,i._x3domNode.typeNode._nameSpace.defMap[n]=i._x3domNode)}var r=t.getAttribute("protoField"),o=i.getAttribute("DEF"),s=t.getAttribute("nodeField");_._ISRoutes[r]||(_._ISRoutes[r]=[]),_._ISRoutes[r].push({nodeDEF:o,nodeField:s})}))}));var r=new x3dom.ProtoDeclaration(this,t,_,n);r.registerNode(),this.protos.push(r)}else x3dom.debug.logWarning("ProtoDeclare without a ProtoBody definition: "+e.name);return"ProtoDeclare"},x3dom.protoISDEFuid=0,x3dom.gfx_webgl=function(){"use strict";function e(e,t,i,n){this.ctx3d=e,this.canvas=t,this.name=i,this.x3dElem=n,this.IG_PositionBuffer=null,this.cache=new x3dom.Cache,this.stateManager=new x3dom.StateManager(e),this.VRMode=1,this.vrFrameData=null,this.BUFFER_IDX={INDEX:0,POSITION:1,NORMAL:2,TEXCOORD:3,TEXCOORD_0:3,COLOR:4,TANGENT:6,BITANGENT:7,TEXCOORD_1:8,ID:9}}return e.prototype.getName=function(){return this.name},e.prototype.setupShape=function(e,t,i){var n,_,r,o,s,a,p,l,d,c,b,u,m=0,h=t.shape,f=h._cf.geometry.node;if(void 0!==h._webgl){var g=!1;if(!0===h._dirty.colors&&void 0===h._webgl.shader.color&&f._mesh._colors[0].length&&(g=!0),g&&h._cleanupGLObjects&&h._cleanupGLObjects(!0,!1),!0===h._dirty.texture){if(h._webgl.texture.length!=h.getTextures().length){for(r=0;r<h._webgl.texture.length;++r)h._webgl.texture.pop();for(_=h.getTextures(),r=0;r<_.length;++r)h._webgl.texture.push(new x3dom.Texture(e,h._nameSpace.doc,this.cache,_[r]));h._dirty.shader=!0,void 0===h._webgl.shader.texcoord&&(h._dirty.texcoords=!0)}else for(_=h.getTextures(),r=0;r<_.length;++r)_[r]===h._webgl.texture[r].node||(h._webgl.texture[r].texture=null,h._webgl.texture[r].node=_[r]),h._webgl.texture[r].update();h._dirty.texture=!1}if(h._webgl.shader=this.cache.getShaderByProperties(e,h,h.getShaderProperties(i)),!g&&0==h._webgl.binaryGeometry&&0==h._webgl.bufferGeometry)for(m=0;m<h._webgl.positions.length;m++)if(n=6*m,1!=h._dirty.positions&&1!=h._dirty.indexes||(void 0!==h._webgl.shader.position&&(h._webgl.indexes[m]=f._mesh._indices[m],e.deleteBuffer(h._webgl.buffers[n+x3dom.BUFFER_IDX.INDEX]),d=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.INDEX]=d,x3dom.caps.INDEX_UINT&&f._mesh._positions[0].length/3>65535?(c=new Uint32Array(h._webgl.indexes[m]),h._webgl.indexType=e.UNSIGNED_INT):(c=new Uint16Array(h._webgl.indexes[m]),h._webgl.indexType=e.UNSIGNED_SHORT),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,d),e.bufferData(e.ELEMENT_ARRAY_BUFFER,c,e.STATIC_DRAW),c=null,h._webgl.positions[m]=f._mesh._positions[m],e.deleteBuffer(h._webgl.buffers[n+x3dom.BUFFER_IDX.POSITION]),s=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.POSITION]=s,e.bindBuffer(e.ARRAY_BUFFER,s),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h._webgl.buffers[n+x3dom.BUFFER_IDX.INDEX]),o=new Float32Array(h._webgl.positions[m]),e.bufferData(e.ARRAY_BUFFER,o,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,s),e.vertexAttribPointer(h._webgl.shader.position,f._mesh._numPosComponents,h._webgl.coordType,!1,h._coordStrideOffset[0],h._coordStrideOffset[1]),o=null),h._dirty.positions=!1,h._dirty.indexes=!1),1==h._dirty.colors&&(void 0!==h._webgl.shader.color&&(h._webgl.colors[m]=f._mesh._colors[m],e.deleteBuffer(h._webgl.buffers[n+x3dom.BUFFER_IDX.COLOR]),u=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.COLOR]=u,D=new Float32Array(h._webgl.colors[m]),e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferData(e.ARRAY_BUFFER,D,e.STATIC_DRAW),e.vertexAttribPointer(h._webgl.shader.color,f._mesh._numColComponents,h._webgl.colorType,!1,h._colorStrideOffset[0],h._colorStrideOffset[1]),D=null),h._dirty.colors=!1),1==h._dirty.normals&&(void 0!==h._webgl.shader.normal&&(h._webgl.normals[m]=f._mesh._normals[m],e.deleteBuffer(h._webgl.buffers[n+x3dom.BUFFER_IDX.NORMAL]),b=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.NORMAL]=b,x=new Float32Array(h._webgl.normals[m]),e.bindBuffer(e.ARRAY_BUFFER,b),e.bufferData(e.ARRAY_BUFFER,x,e.STATIC_DRAW),e.vertexAttribPointer(h._webgl.shader.normal,f._mesh._numNormComponents,h._webgl.normalType,!1,h._normalStrideOffset[0],h._normalStrideOffset[1]),x=null),h._dirty.normals=!1),1==h._dirty.texcoords&&(void 0!==h._webgl.shader.texcoord&&(h._webgl.texcoords[m]=f._mesh._texCoords[m],e.deleteBuffer(h._webgl.buffers[n+x3dom.BUFFER_IDX.TEXCOORD]),a=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.TEXCOORD]=a,T=new Float32Array(h._webgl.texcoords[m]),e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,T,e.STATIC_DRAW),e.vertexAttribPointer(h._webgl.shader.texCoord,f._mesh._numTexComponents,h._webgl.texCoordType,!1,h._texCoordStrideOffset[0],h._texCoordStrideOffset[1]),T=null),h._dirty.texcoords=!1),1==h._dirty.specialAttribs&&void 0!==h._webgl.shader.particleSize){var C=f._vf.size.toGL();C.length&&(e.deleteBuffer(h._webgl.buffers[n+x3dom.BUFFER_IDX.ID]),h._webgl.buffers[n+x3dom.BUFFER_IDX.ID]=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,h._webgl.buffers[n+x3dom.BUFFER_IDX.ID]),e.bufferData(e.ARRAY_BUFFER,new Float32Array(C),e.STATIC_DRAW)),h._dirty.specialAttribs=!1}if(!g)return}else if(!(x3dom.isa(f,x3dom.nodeTypes.Text)||x3dom.isa(f,x3dom.nodeTypes.BinaryGeometry)||x3dom.isa(f,x3dom.nodeTypes.PopGeometry)||x3dom.isa(f,x3dom.nodeTypes.BufferGeometry))&&(!f||f._mesh._positions[0].length<1))return void x3dom.debug.logError("NO VALID MESH OR NO VERTEX POSITIONS SET!");for(h.unsetDirty(),h._cleanupGLObjects||(h._cleanupGLObjects=function(t,i){if(this._webgl&&(arguments.length>0&&t||0==this._parentNodes.length)){for(var n=this._webgl.shader,_=0;_<this._webgl.positions.length;_++){var r=6*_;void 0!==n.position&&(e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.INDEX]),e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.POSITION])),void 0!==n.normal&&e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.NORMAL]),void 0!==n.texcoord&&e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.TEXCOORD]),void 0!==n.color&&e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.COLOR]),void 0!==n.id&&e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.ID]),void 0!==n.tangent&&e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.TANGENT]),void 0!==n.binormal&&e.deleteBuffer(this._webgl.buffers[r+x3dom.BUFFER_IDX.BITANGENT])}for(var o=0;o<this._webgl.dynamicFields.length;o++){var s=this._webgl.dynamicFields[o];void 0!==n[s.name]&&e.deleteBuffer(s.buf)}void 0===i&&(i=!0),i&&(delete this._webgl,x3dom.BinaryContainerLoader.outOfMemory=!1)}}),h._webgl={positions:f._mesh._positions,normals:f._mesh._normals,texcoords:f._mesh._texCoords,colors:f._mesh._colors,tangents:f._mesh._tangents,binormals:f._mesh._binormals,indexes:f._mesh._indices,indexType:e.UNSIGNED_SHORT,coordType:e.FLOAT,normalType:e.FLOAT,texCoordType:e.FLOAT,texCoord2Type:e.FLOAT,colorType:e.FLOAT,tangentType:e.FLOAT,binormalType:e.FLOAT,coordNormalized:!1,normalNormalized:!1,texCoordNormalized:!1,texCoord2Normalized:!1,colorNormalized:!1,tangentNormalized:!1,binormalNormalized:!1,texture:[],dirtyLighting:x3dom.Utils.checkDirtyLighting(i),binaryGeometry:0,popGeometry:0,bufferGeometry:0},_=h.getTextures(),r=0;r<_.length;++r)h._webgl.texture.push(new x3dom.Texture(e,h._nameSpace.doc,this.cache,_[r]));h._webgl.shader=this.cache.getShaderByProperties(e,h,h.getShaderProperties(i));var S=h._webgl.shader,y=0;if(h._webgl.buffers=[],h._webgl.dynamicFields=[],x3dom.isa(f,x3dom.nodeTypes.X3DBinaryContainerGeometryNode)){h._webgl.primType=[];for(var v=0;v<f._vf.primType.length;++v)h._webgl.primType.push(x3dom.Utils.primTypeDic(e,f._vf.primType[v]))}else h._webgl.primType=x3dom.Utils.primTypeDic(e,f._mesh._primType);if(x3dom.isa(f,x3dom.nodeTypes.BinaryGeometry))x3dom.BinaryContainerLoader.setupBinGeo(h,S,e,i,this);else if(x3dom.isa(f,x3dom.nodeTypes.BufferGeometry))x3dom.BinaryContainerLoader.setupBufferGeo(h,S,e,i,this);else if(x3dom.isa(f,x3dom.nodeTypes.PopGeometry))x3dom.BinaryContainerLoader.setupPopGeo(h,S,e,i,this);else{for(m=0;m<h._webgl.positions.length;m++){if(n=6*m,h._webgl.positions[m]&&(d=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.INDEX]=d,x3dom.caps.INDEX_UINT&&h._webgl.positions[0].length/3>65535?(c=new Uint32Array(h._webgl.indexes[m]),h._webgl.indexType=e.UNSIGNED_INT):(c=new Uint16Array(h._webgl.indexes[m]),h._webgl.indexType=e.UNSIGNED_SHORT),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,d),e.bufferData(e.ELEMENT_ARRAY_BUFFER,c,e.STATIC_DRAW),c=null,s=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.POSITION]=s,e.bindBuffer(e.ARRAY_BUFFER,s),o=new Float32Array(h._webgl.positions[m]),e.bufferData(e.ARRAY_BUFFER,o,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,s),e.vertexAttribPointer(S.position,f._mesh._numPosComponents,h._webgl.coordType,!1,h._coordStrideOffset[0],h._coordStrideOffset[1]),e.enableVertexAttribArray(S.position),o=null),h._webgl.normals[m]){b=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.NORMAL]=b;var x=new Float32Array(h._webgl.normals[m]);e.bindBuffer(e.ARRAY_BUFFER,b),e.bufferData(e.ARRAY_BUFFER,x,e.STATIC_DRAW),e.vertexAttribPointer(S.normal,f._mesh._numNormComponents,h._webgl.normalType,!1,h._normalStrideOffset[0],h._normalStrideOffset[1]),e.enableVertexAttribArray(S.normal),x=null}if(h._webgl.texcoords[m]){var M=e.createBuffer();h._webgl.buffers[n+x3dom.BUFFER_IDX.TEXCOORD]=M;var T=new Float32Array(h._webgl.texcoords[m]);e.bindBuffer(e.ARRAY_BUFFER,M),e.bufferData(e.ARRAY_BUFFER,T,e.STATIC_DRAW),e.vertexAttribPointer(S.texcoord,f._mesh._numTexComponents,h._webgl.texCoordType,!1,h._texCoordStrideOffset[0],h._texCoordStrideOffset[1]),e.enableVertexAttribArray(S.texcoord),T=null}if(h._webgl.colors[m]){u=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.COLOR]=u;var D=new Float32Array(h._webgl.colors[m]);e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferData(e.ARRAY_BUFFER,D,e.STATIC_DRAW),e.vertexAttribPointer(S.color,f._mesh._numColComponents,h._webgl.colorType,!1,h._colorStrideOffset[0],h._colorStrideOffset[1]),e.enableVertexAttribArray(S.color),D=null}if(void 0!==S.particleSize){var P=f._vf.size.toGL();if(P.length){var w=e.createBuffer();h._webgl.buffers[n+x3dom.BUFFER_IDX.ID]=w,e.bindBuffer(e.ARRAY_BUFFER,w),e.bufferData(e.ARRAY_BUFFER,new Float32Array(P),e.STATIC_DRAW)}}if(h._webgl.tangents[m]){p=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.TANGENT]=p;var A=new Float32Array(h._webgl.tangents[m]);e.bindBuffer(e.ARRAY_BUFFER,p),e.bufferData(e.ARRAY_BUFFER,A,e.STATIC_DRAW),e.vertexAttribPointer(S.tangent,f._mesh._numTangentComponents,h._webgl.tangentType,!1,h._tangentStrideOffset[0],h._tangentStrideOffset[1]),e.enableVertexAttribArray(S.tangent),A=null}if(h._webgl.binormals[m]){l=e.createBuffer(),h._webgl.buffers[n+x3dom.BUFFER_IDX.BITANGENT]=l;var F=new Float32Array(h._webgl.binormals[m]);e.bindBuffer(e.ARRAY_BUFFER,l),e.bufferData(e.ARRAY_BUFFER,F,e.STATIC_DRAW),e.vertexAttribPointer(S.binormal,f._mesh._numBinormalComponents,h._webgl.binormalType,!1,h._binormalStrideOffset[0],h._binormalStrideOffset[1]),e.enableVertexAttribArray(S.tangent),F=null}}for(var R in f._mesh._dynamicFields)if(f._mesh._dynamicFields.hasOwnProperty(R)){var I=f._mesh._dynamicFields[R];if(h._webgl.dynamicFields[y]={buf:{},name:R,numComponents:I.numComponents},void 0!==S[R]){var B=e.createBuffer();h._webgl.dynamicFields[y++].buf=B;var V=new Float32Array(I.value);e.bindBuffer(e.ARRAY_BUFFER,B),e.bufferData(e.ARRAY_BUFFER,V,e.STATIC_DRAW),e.vertexAttribPointer(S[R],I.numComponents,e.FLOAT,!1,0,0),V=null}}}},e.prototype.setupScene=function(e,t){var i=null,n=null,_=this;if(void 0!==t._webgl){if(!t._dirty)return;void 0!==t._webgl.texture&&t._webgl.texture&&e.deleteTexture(t._webgl.texture),t._cleanupGLObjects&&t._cleanupGLObjects(),t._webgl={}}t._dirty=!1;var r=t.getTexUrl(),o=0;if(r.length>0&&r[0].length>0)r.length>=6&&r[1].length>0&&r[2].length>0&&r[3].length>0&&r[4].length>0&&r[5].length>0||-1!=r[0].indexOf(".dds")?(i=new x3dom.nodeTypes.Sphere,t._webgl={positions:i._mesh._positions[0],indexes:i._mesh._indices[0],buffers:[{},{}]},t._webgl.primType=e.TRIANGLES,-1!=r[0].indexOf(".dds")?(t._webgl.shader=this.cache.getShader(e,x3dom.shader.BACKGROUND_CUBETEXTURE_DDS),t._webgl.texture=x3dom.Utils.createTextureCube(e,t._nameSpace.doc,[r[0]],!1,t._vf.crossOrigin,!0,!1,!1)):(t._webgl.shader=this.cache.getShader(e,x3dom.shader.BACKGROUND_CUBETEXTURE_DDS),t._webgl.texture=x3dom.Utils.createTextureCube(e,t._nameSpace.doc,r,!1,t._vf.crossOrigin,!0,!1))):(t._webgl={positions:[-1,-1,0,-1,1,0,1,-1,0,1,1,0],indexes:[0,1,2,3],buffers:[{},{}]},r=t._nameSpace.getURL(r[0]),t._webgl.texture=x3dom.Utils.createTexture2D(e,t._nameSpace.doc,r,!0,t._vf.crossOrigin,!1,!1),t._webgl.primType=e.TRIANGLE_STRIP,t._webgl.shader=_.cache.getShader(e,x3dom.shader.BACKGROUND_TEXTURE));else if(t.getSkyColor().length>1||t.getGroundColor().length){i=new x3dom.nodeTypes.Sphere,n=e.createTexture(),t._webgl={positions:i._mesh._positions[0],texcoords:i._mesh._texCoords[0],indexes:i._mesh._indices[0],buffers:[{},{},{}],texture:n,primType:e.TRIANGLES};var s=x3dom.Utils.nextHighestPowerOfTwo(t.getSkyColor().length+t.getGroundColor().length+2);s=s<512?512:s;var a=t._vf.groundAngle.length,p=[],l=[],d=[],c=[0];for(o=0;o<t._vf.skyColor.length;o++)d[o]=t._vf.skyColor[o];for(o=0;o<t._vf.skyAngle.length;o++)c[o+1]=t._vf.skyAngle[o];if(a>0||1==t._vf.groundColor.length){for(c[c.length-1]<Math.PI/2&&(c[c.length]=Math.PI/2-x3dom.fields.Eps,d[d.length]=d[d.length-1]),o=a-1;o>=0;o--)o==a-1&&Math.PI-t._vf.groundAngle[o]<=Math.PI/2&&(c[c.length]=Math.PI/2,d[d.length]=t._vf.groundColor[t._vf.groundColor.length-1]),c[c.length]=Math.PI-t._vf.groundAngle[o],d[d.length]=t._vf.groundColor[o+1];0==a&&1==t._vf.groundColor.length&&(c[c.length]=Math.PI/2,d[d.length]=t._vf.groundColor[0]),c[c.length]=Math.PI,d[d.length]=t._vf.groundColor[0]}else c[c.length-1]<Math.PI&&(c[c.length]=Math.PI,d[d.length]=d[d.length-1]);for(o=0;o<c.length;o++)c[o]/=Math.PI;if(c.length!=d.length){x3dom.debug.logError("Number of background colors and corresponding angles do not match.\nYou have to define one angle less than the count of RGB colors because the angle 0° is added automatically.");var b=c.length<d.length?c.length:d.length;c.length=b,d.length=b}var u=new x3dom.nodeTypes.ColorInterpolator;for(u._vf.key=new x3dom.fields.MFFloat(c),u._vf.keyValue=new x3dom.fields.MFColor(d),u._vf.RGB=!0,u.fieldChanged("keyValue"),o=0;o<s;o++)u._vf.set_fraction=o/(s-1),u.fieldChanged("set_fraction"),p[o]=u._vf.value_changed;p.reverse();var m=Math.floor(255*(1-t.getTransparency()));for(o=0;o<p.length;o++)l.push(Math.floor(255*p[o].r),Math.floor(255*p[o].g),Math.floor(255*p[o].b),m);var h=new Uint8Array(l),f=e.RGBA;s=h.length/4,e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.pixelStorei(e.UNPACK_ALIGNMENT,1),e.texImage2D(e.TEXTURE_2D,0,f,1,s,0,f,e.UNSIGNED_BYTE,h),e.bindTexture(e.TEXTURE_2D,null),t._webgl.shader=_.cache.getShader(e,x3dom.shader.BACKGROUND_SKYTEXTURE)}else t._webgl={};if(t._webgl.shader){var g=t._webgl.shader,C=e.createBuffer();t._webgl.buffers[x3dom.BUFFER_IDX.POSITION]=C,e.bindBuffer(e.ARRAY_BUFFER,C);var S=new Float32Array(t._webgl.positions);e.bufferData(e.ARRAY_BUFFER,S,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,C),e.vertexAttribPointer(g.position,3,e.FLOAT,!1,0,0),e.enableVertexAttribArray(g.position);var y=e.createBuffer();t._webgl.buffers[x3dom.BUFFER_IDX.INDEX]=y;var v=new Uint16Array(t._webgl.indexes);if(e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,y),e.bufferData(e.ELEMENT_ARRAY_BUFFER,v,e.STATIC_DRAW),S=null,v=null,void 0!==g.texcoord){var x=e.createBuffer();t._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD]=x;var M=new Float32Array(t._webgl.texcoords);e.bindBuffer(e.ARRAY_BUFFER,x),e.bufferData(e.ARRAY_BUFFER,M,e.STATIC_DRAW),e.vertexAttribPointer(g.texcoord,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(g.texcoord),M=null}t._cleanupGLObjects=function(){var t=this._webgl.shader;void 0!==t.position&&(e.deleteBuffer(this._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),e.deleteBuffer(this._webgl.buffers[x3dom.BUFFER_IDX.POSITION])),void 0!==t.texcoord&&e.deleteBuffer(this._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD])}}t._webgl.render=function(e,i,n,r){var o=t._webgl.shader,s=1-t.getTransparency(),a=null,p=n._22,l=n._23,d=i.e3();if(null!=o&&void 0!==o.texcoord&&null!==o.texcoord&&void 0!==t._webgl.texture&&null!==t._webgl.texture)e.clearColor(0,0,0,s),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT),_.stateManager.frontFace(e.CCW),_.stateManager.disable(e.CULL_FACE),_.stateManager.disable(e.DEPTH_TEST),_.stateManager.disable(e.BLEND),_.stateManager.useProgram(o),o.tex||(o.tex=0),n._22=100001/99999,n._23=2e5/99999,i._03=0,i._13=0,i._23=0,a=n.mult(i),o.modelViewProjectionMatrix=a.toGL(),i._03=d.x,i._13=d.y,i._23=d.z,n._22=p,n._23=l,e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t._webgl.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),e.vertexAttribPointer(o.position,3,e.FLOAT,!1,0,0),e.enableVertexAttribArray(o.position),e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD]),e.vertexAttribPointer(o.texcoord,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(o.texcoord),_.setVertexAttribEyeIdx(e,o),_.drawElements(e,t._webgl.primType,t._webgl.indexes.length,e.UNSIGNED_SHORT,0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.disableVertexAttribArray(o.position),e.disableVertexAttribArray(o.texcoord),_.disableVertexAttribEyeIdx(e,o),e.clear(e.DEPTH_BUFFER_BIT);else if(!o||!t._webgl.texture||void 0!==t._webgl.texture.textureCubeReady&&!0!==t._webgl.texture.textureCubeReady){var c=t.getSkyColor().toGL();e.clearColor(c[0],c[1],c[2],s),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT)}else{if(e.clearColor(0,0,0,s),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT),_.stateManager.frontFace(e.CCW),_.stateManager.disable(e.CULL_FACE),_.stateManager.disable(e.DEPTH_TEST),_.stateManager.disable(e.BLEND),_.stateManager.useProgram(o),o.tex||(o.tex=0),t._webgl.texture.textureCubeReady)n._22=100001/99999,n._23=2e5/99999,i._03=0,i._13=0,i._23=0,a=n.mult(i),o.modelViewProjectionMatrix=a.toGL(),i._03=d.x,i._13=d.y,i._23=d.z,n._22=p,n._23=l,e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,t._webgl.texture),e.texParameteri(e.TEXTURE_CUBE_MAP,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_CUBE_MAP,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_CUBE_MAP,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_CUBE_MAP,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE);else{if(e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t._webgl.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t._vf.scaling&&t._webgl.texture.ready){var b=1,u=new x3dom.fields.SFVec2f(_.canvas.width,_.canvas.height),m=new x3dom.fields.SFVec2f(t._webgl.texture.width,t._webgl.texture.height);u.x>u.y?(b=u.x/m.x,m.x=u.x,m.y=m.y*b):(b=u.y/m.y,m.y=u.y,m.x=m.x*b);var h=u.divideComponents(m),f=m.subtract(u).multiply(.5).divideComponents(m)}else h=new x3dom.fields.SFVec2f(1,1),f=new x3dom.fields.SFVec2f(0,0);o.scale=h.toGL(),o.translation=f.toGL()}if(o.isVR=-1,o.screenWidth=_.canvas.width,_.setTonemappingOperator(r,o),2==_.VRMode){var g=r.getViewMatrices()[1],C=g.e3();g._03=0,g._13=0,g._23=0;var S=r.getProjectionMatrices()[1].mult(g);o.modelViewProjectionMatrix2=S.toGL(),g._03=C.x,g._13=C.y,g._23=C.z,o.isVR=1}_.setVertexAttribEyeIdx(e,o),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),e.vertexAttribPointer(o.position,3,e.FLOAT,!1,0,0),e.enableVertexAttribArray(o.position),_.drawElements(e,t._webgl.primType,t._webgl.indexes.length,e.UNSIGNED_SHORT,0),e.disableVertexAttribArray(o.position),_.disableVertexAttribEyeIdx(e,o),e.activeTexture(e.TEXTURE0),t._webgl.texture.textureCubeReady?e.bindTexture(e.TEXTURE_CUBE_MAP,null):e.bindTexture(e.TEXTURE_2D,null),e.clear(e.DEPTH_BUFFER_BIT)}}},e.prototype.setupFgnds=function(e,t){if(void 0===t._fgnd){var i=this;t._fgnd={},t._fgnd._webgl={positions:[-1,-1,0,-1,1,0,1,-1,0,1,1,0],indexes:[0,1,2,3],buffers:[{},{}]},t._fgnd._webgl.primType=e.TRIANGLE_STRIP,t._fgnd._webgl.shader=this.cache.getShader(e,x3dom.shader.FRONTGROUND_TEXTURE);var n=t._fgnd._webgl.shader,_=e.createBuffer();t._fgnd._webgl.buffers[x3dom.BUFFER_IDX.POSITION]=_,e.bindBuffer(e.ARRAY_BUFFER,_);var r=new Float32Array(t._fgnd._webgl.positions);e.bufferData(e.ARRAY_BUFFER,r,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,_),e.vertexAttribPointer(n.position,3,e.FLOAT,!1,0,0);var o=e.createBuffer();t._fgnd._webgl.buffers[x3dom.BUFFER_IDX.INDEX]=o;var s=new Uint16Array(t._fgnd._webgl.indexes);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,o),e.bufferData(e.ELEMENT_ARRAY_BUFFER,s,e.STATIC_DRAW),r=null,s=null,t._fgnd._webgl.render=function(e,_){t._fgnd._webgl.texture=_,i.stateManager.frontFace(e.CCW),i.stateManager.disable(e.CULL_FACE),i.stateManager.disable(e.DEPTH_TEST),i.stateManager.useProgram(n),n.tex||(n.tex=0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t._fgnd._webgl.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._fgnd._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),e.bindBuffer(e.ARRAY_BUFFER,t._fgnd._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),e.vertexAttribPointer(n.position,3,e.FLOAT,!1,0,0),e.enableVertexAttribArray(n.position),i.drawElements(e,t._fgnd._webgl.primType,t._fgnd._webgl.indexes.length,e.UNSIGNED_SHORT,0,1),e.disableVertexAttribArray(n.position),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null)}}},e.prototype.renderShadowPass=function(e,t,i,n,_,r,o){var s=t._scene,a=!1;this.stateManager.bindFramebuffer(e.FRAMEBUFFER,_.fbo),this.stateManager.viewport(0,0,_.width,_.height),e.clearColor(1,1,1,0),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.stateManager.depthFunc(e.LEQUAL),this.stateManager.enable(e.DEPTH_TEST),this.stateManager.enable(e.CULL_FACE),this.stateManager.disable(e.BLEND);x3dom.fields.SFVec3f.NullVector.toGL(),x3dom.fields.SFVec3f.OneVector.toGL();var p,l=s.getEnvironment()._vf.shadowExcludeTransparentObjects,d=s.drawableCollection.length;for(p=0;p<d;p++){var c=s.drawableCollection.get(p),b=c.transform,u=c.shape,m="transparent"==c.sortType,h=u._webgl;if(!(!h||l&&m)){var f=u._cf.geometry.node,g=u._cf.appearance.node,C=(f._mesh,u.getShaderProperties(t)),S=this.cache.getShaderByProperties(e,u,C,null,!0);if(!S)return;if(this.stateManager.useProgram(S),S.cameraView=o,S.offset=r,S.modelViewProjectionMatrix=i.mult(b).toGL(),h.coordType!=e.FLOAT&&(!h.popGeometry&&x3dom.Utils.isUnsignedType(f._vf.coordType)?S.bgCenter=f.getMin().toGL():S.bgCenter=f._vf.position.toGL(),S.bgSize=f._vf.size.toGL(),S.bgPrecisionMax=f.getPrecisionMax("coordType")),u._clipPlanes){S.modelViewMatrix=n.mult(b).toGL(),S.viewMatrixInverse=n.inverse().toGL();for(var y=0;y<u._clipPlanes.length;y++){var v=u._clipPlanes[y].plane,x=u._clipPlanes[y].trafo;S["clipPlane"+y+"_Plane"]=x.multMatrixPlane(v._vf.plane).toGL(),S["clipPlane"+y+"_CappingStrength"]=v._vf.cappingStrength,S["clipPlane"+y+"_CappingColor"]=v._vf.cappingColor.toGL()}}u.isSolid()?(this.stateManager.enable(e.CULL_FACE),u.isCCW()?this.stateManager.frontFace(e.CCW):this.stateManager.frontFace(e.CW)):this.stateManager.disable(e.CULL_FACE);var M,T=g?g._cf.depthMode.node:null,D=!!g&&null!=g._cf.texture.node,P=!m||D;if(T?T._vf.enableDepthTest?(this.stateManager.enable(e.DEPTH_TEST),this.stateManager.depthMask(!T._vf.readOnly),this.stateManager.depthFunc(x3dom.Utils.depthFunc(e,T._vf.depthFunc)),this.stateManager.depthRange(T._vf.zNearRange,T._vf.zFarRange)):this.stateManager.disable(e.DEPTH_TEST):(this.stateManager.enable(e.DEPTH_TEST),this.stateManager.depthMask(P),this.stateManager.depthFunc(e.LEQUAL)),h.popGeometry){var w=n.mult(b);this.updatePopState(c,f,S,h,s,w,t,this.x3dElem.runtime.fps)}M=h.positions.length;for(var A=0;A<M;A++){var F,R,I,B=6*A;if(void 0!==S.position&&h.buffers[B+x3dom.BUFFER_IDX.POSITION]&&h.indexes[A]){if(a=!1,h.buffers[B+x3dom.BUFFER_IDX.INDEX]&&(e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h.buffers[B+x3dom.BUFFER_IDX.INDEX]),a=!0),this.setVertexAttribPointerPosition(e,u,B,A),void 0!==S.id&&h.buffers[B+x3dom.BUFFER_IDX.ID]&&(e.bindBuffer(e.ARRAY_BUFFER,h.buffers[B+x3dom.BUFFER_IDX.ID]),0!=h.binaryGeometry&&1==f._vf.idsPerVertex&&(e.vertexAttribPointer(S.id,1,e.FLOAT,!1,4,0),e.enableVertexAttribArray(S.id))),a&&(h.binaryGeometry>0||h.popGeometry>0))for(F=0,I=0,R=f._vf.vertexCount.length;F<R;F++)this.drawElements(e,h.primType[F],f._vf.vertexCount[F],h.indexType,x3dom.Utils.getByteAwareOffset(I,h.indexType,e)),I+=f._vf.vertexCount[F];else if(h.binaryGeometry<0||h.popGeometry<0)for(F=0,I=0,R=f._vf.vertexCount.length;F<R;F++)this.drawArrays(e,h.primType[F],I,f._vf.vertexCount[F]),I+=f._vf.vertexCount[F];else if(f.hasIndexOffset()){var V=u.tessellationProperties();for(F=0,R=V.length;F<R;F++)this.drawElements(e,h.primType,V[F].count,h.indexType,V[F].offset*x3dom.Utils.getOffsetMultiplier(h.indexType,e))}else 0==h.indexes[A].length?this.drawArrays(e,h.primType,0,h.positions[A].length/3):this.drawElements(e,h.primType,h.indexes[A].length,h.indexType,0);e.disableVertexAttribArray(S.position),void 0!==S.texcoord&&h.buffers[B+x3dom.BUFFER_IDX.TEXCOORD]&&e.disableVertexAttribArray(S.texcoord),void 0!==S.color&&h.buffers[B+x3dom.BUFFER_IDX.COLOR]&&e.disableVertexAttribArray(S.color),void 0!==S.id&&h.buffers[B+x3dom.BUFFER_IDX.ID]&&e.disableVertexAttribArray(S.id)}}}}x3dom.Utils.needLineWidth&&this.stateManager.lineWidth(1),this.stateManager.depthMask(!0),T&&(this.stateManager.enable(e.DEPTH_TEST),this.stateManager.depthFunc(e.LEQUAL),this.stateManager.depthRange(0,1)),e.flush(),this.stateManager.bindFramebuffer(e.FRAMEBUFFER,null)},e.prototype.renderPickingPass=function(e,t,i,n,_,r,o,s,a,p,l){var d=t._webgl.pickScale,c=t._webgl.fboPick.height,b=s*d,u=c-1-a*d,m=!1;this.stateManager.bindFramebuffer(e.FRAMEBUFFER,t._webgl.fboPick.fbo),this.stateManager.viewport(0,0,t._webgl.fboPick.width,c),e.clearColor(0,0,0,0),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);var h=t.drawableCollection.viewarea,f=t.getEnvironment(),g=t.drawableCollection.length;f._vf.smallFeatureCulling&&f._lowPriorityThreshold<1&&h.isMovingOrAnimating()&&!(g=Math.floor(g*f._lowPriorityThreshold))&&t.drawableCollection.length&&(g=1);x3dom.fields.SFVec3f.NullVector.toGL(),x3dom.fields.SFVec3f.OneVector.toGL();this.stateManager.depthFunc(e.LEQUAL),this.stateManager.enable(e.DEPTH_TEST),this.stateManager.enable(e.CULL_FACE),this.stateManager.disable(e.BLEND),x3dom.Utils.needLineWidth&&this.stateManager.lineWidth(2);for(var C=0;C<g;C++){var S=t.drawableCollection.get(C),y=S.transform,v=S.shape,x="transparent"==S.sortType,M=v._webgl;if(M&&!(v._objectID<1)&&v._vf.isPickable){var T=v._cf.geometry.node,D=v._cf.appearance.node,P=(T._mesh,v.getShaderProperties(h)),w=this.cache.getShaderByProperties(e,v,P,o);if(!w)return;if(M.shader=w,this.stateManager.useProgram(w),w.screenWidth=this.canvas.width*t._webgl.pickScale,w.modelMatrix=y.toGL(),w.modelViewProjectionMatrix=n.mult(y).toGL(),w.isVR=-1,2==this.VRMode){var A=h.getViewMatrices()[1],F=h.getProjectionMatrices()[1].mult(A);w.modelViewProjectionMatrix2=F.mult(y).toGL(),w.isVR=1}if(w.lowBit=(255&v._objectID)/255,w.highBit=(v._objectID>>>8)/255,w.from=_.toGL(),w.sceneSize=r,0!=M.binaryGeometry&&1==T._vf.idsPerVertex&&(w.shadowIDs=v._vf.idOffset+x3dom.nodeTypes.Shape.objectID+2),M.coordType!=e.FLOAT&&(!M.popGeometry&&x3dom.Utils.isUnsignedType(T._vf.coordType)?w.bgCenter=T.getMin().toGL():w.bgCenter=T._vf.position.toGL(),w.bgSize=T._vf.size.toGL(),w.bgPrecisionMax=T.getPrecisionMax("coordType")),1==o&&M.colorType!=e.FLOAT&&(w.bgPrecisionColMax=T.getPrecisionMax("colorType")),2==o&&M.texCoordType!=e.FLOAT&&(w.bgPrecisionTexMax=T.getPrecisionMax("texCoordType")),v._clipPlanes){w.modelViewMatrix=i.mult(y).toGL(),w.viewMatrixInverse=i.inverse().toGL(),2==this.VRMode&&(w.modelViewMatrix2=A.mult(y).toGL(),w.viewMatrixInverse2=A.inverse().toGL());for(var R=0;R<v._clipPlanes.length;R++){var I=v._clipPlanes[R].plane,B=v._clipPlanes[R].trafo;w["clipPlane"+R+"_Plane"]=B.multMatrixPlane(I._vf.plane).toGL(),w["clipPlane"+R+"_CappingStrength"]=I._vf.cappingStrength,w["clipPlane"+R+"_CappingColor"]=I._vf.cappingColor.toGL()}}v.isSolid()?(this.stateManager.enable(e.CULL_FACE),v.isCCW()?this.stateManager.frontFace(e.CCW):this.stateManager.frontFace(e.CW)):this.stateManager.disable(e.CULL_FACE);var V=D?D._cf.depthMode.node:null,E=!!D&&null!=D._cf.texture.node,N=!x||E;if(V?V._vf.enableDepthTest?(this.stateManager.enable(e.DEPTH_TEST),this.stateManager.depthMask(!V._vf.readOnly),this.stateManager.depthFunc(x3dom.Utils.depthFunc(e,V._vf.depthFunc)),this.stateManager.depthRange(V._vf.zNearRange,V._vf.zFarRange)):this.stateManager.disable(e.DEPTH_TEST):(this.stateManager.enable(e.DEPTH_TEST),this.stateManager.depthMask(N),this.stateManager.depthFunc(e.LEQUAL)),M.popGeometry){var k=i.mult(y);this.updatePopState(S,T,w,M,t,k,h,this.x3dElem.runtime.fps)}var O=D?D._cf.pointProperties.node:null;if(O=O&&(x3dom.isa(T,x3dom.nodeTypes.PointSet)||x3dom.isa(T,x3dom.nodeTypes.BinaryGeometry))){var L=D._cf.pointProperties.node._vf;w.pointSizeAttenuation=L.attenuation.toGL(),w.pointSizeFactor=d*L.pointSizeScaleFactor,w.minPointSize=L.pointSizeMinValue,w.maxPointSize=L.pointSizeMaxValue}for(var U=M.positions.length,G=0;G<U;G++){var W,z,H,j=6*G;if(void 0!==w.position&&M.buffers[j+x3dom.BUFFER_IDX.POSITION]&&M.indexes[G]){if(m=!1,M.buffers[j+x3dom.BUFFER_IDX.INDEX]&&(e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,M.buffers[j+x3dom.BUFFER_IDX.INDEX]),m=!0),this.setVertexAttribEyeIdx(e,w),this.setVertexAttribPointerPosition(e,v,j,G),1==o&&this.setVertexAttribPointerColor(e,v,j,G),2==o&&void 0!==w.texcoord&&M.buffers[j+x3dom.BUFFER_IDX.TEXCOORD]&&this.setVertexAttribPointerTexCoord(e,v,j,G),void 0!==w.id&&M.buffers[j+x3dom.BUFFER_IDX.ID]&&(e.bindBuffer(e.ARRAY_BUFFER,M.buffers[j+x3dom.BUFFER_IDX.ID]),0!=M.binaryGeometry&&1==T._vf.idsPerVertex&&(e.vertexAttribPointer(w.id,1,e.FLOAT,!1,4,0),e.enableVertexAttribArray(w.id))),m&&(M.binaryGeometry>0||M.popGeometry>0))for(W=0,H=0,z=T._vf.vertexCount.length;W<z;W++)this.drawElements(e,M.primType[W],T._vf.vertexCount[W],M.indexType,x3dom.Utils.getByteAwareOffset(H,M.indexType,e)),H+=T._vf.vertexCount[W];else if(M.binaryGeometry<0||M.popGeometry<0)for(W=0,H=0,z=T._vf.vertexCount.length;W<z;W++)this.drawArrays(e,M.primType[W],H,T._vf.vertexCount[W]),H+=T._vf.vertexCount[W];else if(m&&M.bufferGeometry>0)this.drawElements(e,M.primType[0],T._vf.vertexCount[0],M.indexType,v._indexOffset);else if(M.bufferGeometry<0)this.drawArrays(e,M.primType[0],0,T._vf.vertexCount[0]);else if(T.hasIndexOffset()){var X=v.tessellationProperties();for(W=0,z=X.length;W<z;W++)this.drawElements(e,M.primType,X[W].count,M.indexType,X[W].offset*x3dom.Utils.getOffsetMultiplier(M.indexType,e))}else 0==M.indexes[G].length?this.drawArrays(e,M.primType,0,M.positions[G].length/3):this.drawElements(e,M.primType,M.indexes[G].length,M.indexType,0);e.disableVertexAttribArray(w.position),void 0!==w.texcoord&&M.buffers[j+x3dom.BUFFER_IDX.TEXCOORD]&&e.disableVertexAttribArray(w.texcoord),void 0!==w.color&&M.buffers[j+x3dom.BUFFER_IDX.COLOR]&&e.disableVertexAttribArray(w.color),void 0!==w.id&&M.buffers[j+x3dom.BUFFER_IDX.ID]&&e.disableVertexAttribArray(w.id),this.disableVertexAttribEyeIdx(e,w)}}}}x3dom.Utils.needLineWidth&&this.stateManager.lineWidth(1),this.stateManager.depthMask(!0),V&&(this.stateManager.enable(e.DEPTH_TEST),this.stateManager.depthFunc(e.LEQUAL),this.stateManager.depthRange(0,1)),e.flush();try{var Z=new Uint8Array(4*p*l);e.readPixels(b,u,p,l,e.RGBA,e.UNSIGNED_BYTE,Z),t._webgl.fboPick.pixelData=Z}catch(e){t._webgl.fboPick.pixelData=[],x3dom.debug.logException(e+" (cannot pick)")}this.stateManager.bindFramebuffer(e.FRAMEBUFFER,null)},e.prototype.renderShape=function(e,t,i,n,_,r,o,s,a){var p=!1,l=e.shape,d=e.transform,c="transparent"==e.sortType;if(l&&l._webgl&&d){var b=l._webgl,u=b.shader;if(u){var m=this.stateManager.useProgram(u),h=l._cf.appearance.node,f=l._cf.geometry.node,g=f._mesh,C=t._scene,S=null;b.coordType!=a.FLOAT?(!b.popGeometry&&x3dom.Utils.isUnsignedType(f._vf.coordType)?u.bgCenter=f.getMin().toGL():u.bgCenter=f._vf.position.toGL(),u.bgSize=f._vf.size.toGL(),u.bgPrecisionMax=f.getPrecisionMax("coordType")):(u.bgCenter=[0,0,0],u.bgSize=[1,1,1],u.bgPrecisionMax=1),b.colorType!=a.FLOAT?u.bgPrecisionColMax=f.getPrecisionMax("colorType"):u.bgPrecisionColMax=1,b.texCoordType!=a.FLOAT?u.bgPrecisionTexMax=f.getPrecisionMax("texCoordType"):u.bgPrecisionTexMax=1,b.normalType!=a.FLOAT?u.bgPrecisionNorMax=f.getPrecisionMax("normalType"):u.bgPrecisionNorMax=1,b.tangentType!=a.FLOAT?u.bgPrecisionTangentMax=f.getPrecisionMax("tangentType"):u.bgPrecisionTangentMax=1,b.binormalType!=a.FLOAT?u.bgPrecisionBinormalMax=f.getPrecisionMax("binormalType"):u.bgPrecisionBinormalMax=1;var y=C.getFog();y&&m&&(u.fogColor=y._vf.color.toGL(),u.fogRange=y._vf.visibilityRange,u.fogType="LINEAR"==y._vf.fogType?0:1);var v,x=h?h._cf.material.node:null,M=h?h._shader:null,T=!1,D=M&&x3dom.isa(M,x3dom.nodeTypes.ComposedShader);if(b.csshader?(u.diffuseColor=M._vf.diffuseFactor.toGL(),u.specularColor=M._vf.specularFactor.toGL(),u.emissiveColor=M._vf.emissiveFactor.toGL(),u.shininess=M._vf.shininessFactor,u.ambientIntensity=(M._vf.ambientFactor.x+M._vf.ambientFactor.y+M._vf.ambientFactor.z)/3,u.transparency=1-M._vf.alphaFactor,u.environmentFactor=M._vf.environmentFactor.x,u.normalBias=M._vf.normalBias.toGL(),M.getDisplacementMap()?(S=x3dom.Utils.findTextureByName(b.texture,"displacementMap"),u.displacementWidth=S.texture.width,u.displacementHeight=S.texture.height,u.displacementFactor=M._vf.displacementFactor,u.displacementAxis="x"==M._vf.displacementAxis?0:"y"==M._vf.displacementAxis?1:2):M.getDiffuseDisplacementMap()&&(S=x3dom.Utils.findTextureByName(b.texture,"diffuseDisplacementMap"),u.displacementWidth=S.texture.width,u.displacementHeight=S.texture.height,u.displacementFactor=M._vf.displacementFactor,u.displacementAxis="x"==M._vf.displacementAxis?0:"y"==M._vf.displacementAxis?1:2)):x&&x3dom.isa(x,x3dom.nodeTypes.PhysicalMaterial)?("roughnessMetallic"==x._vf.model?(u.diffuseColor=[x._vf.baseColorFactor.r,x._vf.baseColorFactor.g,x._vf.baseColorFactor.b],u.specularColor=[x3dom.Utils.lerp(.04,x._vf.baseColorFactor.r,x._vf.metallicFactor),x3dom.Utils.lerp(.04,x._vf.baseColorFactor.g,x._vf.metallicFactor),x3dom.Utils.lerp(.04,x._vf.baseColorFactor.b,x._vf.metallicFactor)],u.shininess=1-x._vf.roughnessFactor,u.metallicFactor=x._vf.metallicFactor,u.transparency=1-x._vf.baseColorFactor.a):(u.diffuseColor=[x._vf.diffuseFactor.r,x._vf.diffuseFactor.g,x._vf.diffuseFactor.b],u.specularColor=[x._vf.specularFactor.r,x._vf.specularFactor.g,x._vf.specularFactor.b],u.shininess=x._vf.glossinessFactor,u.transparency=1-x._vf.diffuseFactor.a),u.emissiveColor=x._vf.emissiveFactor.toGL(),u.normalBias=x._vf.normalBias.toGL(),u.ambientIntensity=1,u.alphaCutoff=x._vf.alphaCutoff):x?(u.diffuseColor=x._vf.diffuseColor.toGL(),u.specularColor=x._vf.specularColor.toGL(),u.emissiveColor=x._vf.emissiveColor.toGL(),u.shininess=x._vf.shininess,u.ambientIntensity=x._vf.ambientIntensity,u.transparency=x._vf.transparency,u.environmentFactor=0,u.alphaCutoff=h._vf.alphaClipThreshold.toFixed(2),x3dom.isa(x,x3dom.nodeTypes.TwoSidedMaterial)&&(T=!0,u.backDiffuseColor=x._vf.backDiffuseColor.toGL(),u.backSpecularColor=x._vf.backSpecularColor.toGL(),u.backEmissiveColor=x._vf.backEmissiveColor.toGL(),u.backShininess=x._vf.backShininess,u.backAmbientIntensity=x._vf.backAmbientIntensity,u.backTransparency=x._vf.backTransparency)):(u.diffuseColor=[1,1,1],u.specularColor=[0,0,0],u.emissiveColor=[0,0,0],u.shininess=0,u.ambientIntensity=1,u.transparency=0,u.alphaCutoff=.1),M)if(D){for(var P in M._vf)if(M._vf.hasOwnProperty(P)&&"language"!==P){var w=M._vf[P];null!=w&&(w.toGL?u[P]=w.toGL():u[P]=w)}}else x3dom.isa(M,x3dom.nodeTypes.CommonSurfaceShader)&&(b.csshader=M);for(var A=0;A<n&&m;A++){var F=_.mult(i[A].getCurrentTransform());x3dom.isa(i[A],x3dom.nodeTypes.DirectionalLight)?(u["light"+A+"_Type"]=0,u["light"+A+"_On"]=i[A]._vf.on?1:0,u["light"+A+"_Color"]=i[A]._vf.color.toGL(),u["light"+A+"_Intensity"]=i[A]._vf.intensity,u["light"+A+"_AmbientIntensity"]=i[A]._vf.ambientIntensity,u["light"+A+"_Direction"]=F.multMatrixVec(i[A]._vf.direction).toGL(),u["light"+A+"_Attenuation"]=[1,1,1],u["light"+A+"_Location"]=[1,1,1],u["light"+A+"_Radius"]=0,u["light"+A+"_BeamWidth"]=0,u["light"+A+"_CutOffAngle"]=0,u["light"+A+"_ShadowIntensity"]=i[A]._vf.shadowIntensity):x3dom.isa(i[A],x3dom.nodeTypes.PointLight)?(u["light"+A+"_Type"]=1,u["light"+A+"_On"]=i[A]._vf.on?1:0,u["light"+A+"_Color"]=i[A]._vf.color.toGL(),u["light"+A+"_Intensity"]=i[A]._vf.intensity,u["light"+A+"_AmbientIntensity"]=i[A]._vf.ambientIntensity,u["light"+A+"_Direction"]=[1,1,1],u["light"+A+"_Attenuation"]=i[A]._vf.attenuation.toGL(),u["light"+A+"_Location"]=F.multMatrixPnt(i[A]._vf.location).toGL(),u["light"+A+"_Radius"]=i[A]._vf.radius,u["light"+A+"_BeamWidth"]=0,u["light"+A+"_CutOffAngle"]=0,u["light"+A+"_ShadowIntensity"]=i[A]._vf.shadowIntensity):x3dom.isa(i[A],x3dom.nodeTypes.SpotLight)?(u["light"+A+"_Type"]=2,u["light"+A+"_On"]=i[A]._vf.on?1:0,u["light"+A+"_Color"]=i[A]._vf.color.toGL(),u["light"+A+"_Intensity"]=i[A]._vf.intensity,u["light"+A+"_AmbientIntensity"]=i[A]._vf.ambientIntensity,u["light"+A+"_Direction"]=F.multMatrixVec(i[A]._vf.direction).toGL(),u["light"+A+"_Attenuation"]=i[A]._vf.attenuation.toGL(),u["light"+A+"_Location"]=F.multMatrixPnt(i[A]._vf.location).toGL(),u["light"+A+"_Radius"]=i[A]._vf.radius,u["light"+A+"_BeamWidth"]=i[A]._vf.beamWidth,u["light"+A+"_CutOffAngle"]=i[A]._vf.cutOffAngle,u["light"+A+"_ShadowIntensity"]=i[A]._vf.shadowIntensity):x3dom.isa(i[A],x3dom.nodeTypes.PhysicalEnvironmentLight)&&(v=i[A],n--)}if(C.getNavigationInfo()._vf.headlight&&m&&(u["light"+(n=n||0)+"_Type"]=0,u["light"+n+"_On"]=1,u["light"+n+"_Color"]=[1,1,1],u["light"+n+"_Intensity"]=1,u["light"+n+"_AmbientIntensity"]=0,u["light"+n+"_Direction"]=[0,0,-1],u["light"+n+"_Attenuation"]=[1,1,1],u["light"+n+"_Location"]=[1,1,1],u["light"+n+"_Radius"]=0,u["light"+n+"_BeamWidth"]=0,u["light"+n+"_CutOffAngle"]=0,u["light"+n+"_ShadowIntensity"]=0),l._clipPlanes)for(var R=0;R<l._clipPlanes.length;R++){var I=l._clipPlanes[R].plane,B=l._clipPlanes[R].trafo;u["clipPlane"+R+"_Plane"]=B.multMatrixPlane(I._vf.plane).toGL(),u["clipPlane"+R+"_CappingStrength"]=I._vf.cappingStrength,u["clipPlane"+R+"_CappingColor"]=I._vf.cappingColor.toGL()}var V=h?h._cf.depthMode.node:null,E=!!h&&null!=h._cf.texture.node,N=!c||E;V?V._vf.enableDepthTest?(this.stateManager.enable(a.DEPTH_TEST),this.stateManager.depthMask(!V._vf.readOnly),this.stateManager.depthFunc(x3dom.Utils.depthFunc(a,V._vf.depthFunc)),this.stateManager.depthRange(V._vf.zNearRange,V._vf.zFarRange)):this.stateManager.disable(a.DEPTH_TEST):(this.stateManager.enable(a.DEPTH_TEST),this.stateManager.depthMask(N),this.stateManager.depthFunc(a.LEQUAL));var k=h?h._cf.blendMode.node:null;if(k){var O=x3dom.Utils.blendFunc(a,k._vf.srcFactor),L=x3dom.Utils.blendFunc(a,k._vf.destFactor);O&&L?(this.stateManager.enable(a.BLEND),this.stateManager.blendFuncSeparate(O,L,a.ONE,a.ONE),this.stateManager.blendColor(k._vf.color.r,k._vf.color.g,k._vf.color.b,1-k._vf.colorTransparency),this.stateManager.blendEquation(x3dom.Utils.blendEquation(a,k._vf.equation))):this.stateManager.disable(a.BLEND)}else x&&x3dom.isa(x,x3dom.nodeTypes.PhysicalMaterial)?"BLEND"==x._vf.alphaMode?(this.stateManager.enable(a.BLEND),this.stateManager.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE)):this.stateManager.disable(a.BLEND):(this.stateManager.enable(a.BLEND),this.stateManager.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE));var U=h?h._cf.colorMaskMode.node:null;U?this.stateManager.colorMask(U._vf.maskR,U._vf.maskG,U._vf.maskB,U._vf.maskA):this.stateManager.colorMask(!0,!0,!0,!0);var G=h?h._cf.lineProperties.node:null;G?this.stateManager.lineWidth(G._vf.linewidthScaleFactor):x3dom.Utils.needLineWidth&&this.stateManager.lineWidth(1),l.isSolid()&&!T?(this.stateManager.enable(a.CULL_FACE),l.isCCW()?this.stateManager.frontFace(a.CCW):this.stateManager.frontFace(a.CW)):this.stateManager.disable(a.CULL_FACE);var W=_.mult(d),z=W.inverse();if(u.screenWidth=this.canvas.width,u.isOrthoView=1==s._33?1:0,u.modelMatrix=d.toGL(),u.modelViewMatrix=W.toGL(),u.viewMatrix=_.toGL(),u.normalMatrix=z.transpose().toGL(),u.modelViewMatrixInverse=z.toGL(),u.modelViewProjectionMatrix=r.mult(d).toGL(),u.modelViewProjectionInverseMatrix=r.mult(d).inverse().toGL(),u.viewMatrixInverse=_.inverse().toGL(),u.cameraPosWS=_.inverse().e3().toGL(),this.setTonemappingOperator(t,u),D&&(u.model=d.toGL(),u.projectionMatrix=s.toGL(),u.worldMatrix=d.toGL(),u.worldInverseTranspose=d.inverse().transpose().toGL()),2==this.VRMode){var H=t.getViewMatrices()[1],j=t.getProjectionMatrices()[1].mult(H),X=H.mult(d),Z=X.inverse();u.viewMatrix2=H.toGL(),u.modelViewMatrix2=X.toGL(),u.normalMatrix2=Z.transpose().toGL(),u.modelViewMatrixInverse2=Z.toGL(),u.modelViewProjectionMatrix2=j.mult(d).toGL(),u.isVR=1}else u.isVR=0;b.popGeometry&&this.updatePopState(e,f,u,b,C,W,t,this.x3dElem.runtime.fps);for(var Q=0,q=b.texture.length;Q<q;Q++)S=b.texture[Q],a.activeTexture(a.TEXTURE0+Q),a.bindTexture(S.type,S.texture),a.texParameteri(S.type,a.TEXTURE_WRAP_S,S.wrapS),a.texParameteri(S.type,a.TEXTURE_WRAP_T,S.wrapT),a.texParameteri(S.type,a.TEXTURE_MAG_FILTER,S.magFilter),a.texParameteri(S.type,a.TEXTURE_MIN_FILTER,S.minFilter),x3dom.caps.ANISOTROPIC&&a.texParameterf(S.type,x3dom.caps.ANISOTROPIC.TEXTURE_MAX_ANISOTROPY_EXT,S.anisotropicDegree),M&&D||u[S.samplerName]||(u[S.samplerName]=Q);if(x3dom.isa(x,x3dom.nodeTypes.PhysicalMaterial)&&null!=v&&""!=v._vf.diffuse&&""!=v._vf.specular){var Y=v._nameSpace.getURL(v._vf.diffuse),J=v._nameSpace.getURL(v._vf.specular),K=x3dom.BRDF_LUT,$=this.cache.getTexture2D(a,l._nameSpace.doc,K,!1,"anonymous",!1,!1,!0),ee=this.cache.getTextureCube(a,l._nameSpace.doc,[Y],!1,"anonymous",!1,!1,!0),te=this.cache.getTextureCube(a,l._nameSpace.doc,[J],!1,"anonymous",!1,!1,!0);a.activeTexture(a.TEXTURE0+q),a.bindTexture(a.TEXTURE_2D,$),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),u.brdfMap=q++,ee.ready&&(a.activeTexture(a.TEXTURE0+q),a.bindTexture(a.TEXTURE_CUBE_MAP,ee),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),u.diffuseEnvironmentMap=q++),te.ready&&(a.activeTexture(a.TEXTURE0+q),a.bindTexture(a.TEXTURE_CUBE_MAP,te),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_LINEAR),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),u.specularEnvironmentMap=q++)}if(h&&h._cf.textureTransform.node){var ie=h.texTransformMatrix();u.texTrafoMatrix=ie.toGL()}var ne,_e,re,oe,se,ae=null,pe=b.dynamicFields.length;for(ne=0;ne<pe;ne++)void 0!==u[(ae=b.dynamicFields[ne]).name]&&(a.bindBuffer(a.ARRAY_BUFFER,ae.buf),a.vertexAttribPointer(u[ae.name],ae.numComponents,a.FLOAT,!1,0,0),a.enableVertexAttribArray(u[ae.name]));var le=!1;x3dom.isa(f,x3dom.nodeTypes.ParticleSet)&&(le=!0);var de=h?h._cf.pointProperties.node:null;if(de=de&&(x3dom.isa(f,x3dom.nodeTypes.PointSet)||x3dom.isa(f,x3dom.nodeTypes.BinaryGeometry))){var ce=h._cf.pointProperties.node._vf;u.pointSizeAttenuation=ce.attenuation.toGL(),u.pointSizeFactor=ce.pointSizeScaleFactor,u.minPointSize=ce.pointSizeMinValue,u.maxPointSize=ce.pointSizeMaxValue}se=b.positions.length;for(var be=0;be<se;be++){var ue=6*be;if(p=!1,void 0!==u.position&&b.buffers[ue+x3dom.BUFFER_IDX.POSITION]&&b.indexes[be]){if(b.buffers[ue+x3dom.BUFFER_IDX.INDEX]){if(le&&"any"!=f.drawOrder()){for(var me,he=[],fe=f._cf.coord.node.getPoints(),ge=fe.length==b.indexes[be].length?b.indexes[be].length:0,Ce=0;Ce<ge;Ce++){var Se=W.multMatrixPnt(fe[Ce]);he.push([Ce,Se.z])}for("backtofront"==f.drawOrder()?he.sort((function(e,t){return e[1]-t[1]})):he.sort((function(e,t){return t[1]-e[1]})),Ce=0;Ce<ge;Ce++)l._webgl.indexes[be][Ce]=he[Ce][0];x3dom.caps.INDEX_UINT&&ge>65535?(me=new Uint32Array(l._webgl.indexes[be]),l._webgl.indexType=a.UNSIGNED_INT):(me=new Uint16Array(l._webgl.indexes[be]),l._webgl.indexType=a.UNSIGNED_SHORT),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,b.buffers[ue+x3dom.BUFFER_IDX.INDEX]),a.bufferData(a.ELEMENT_ARRAY_BUFFER,me,a.DYNAMIC_DRAW),me=null}a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,b.buffers[ue+x3dom.BUFFER_IDX.INDEX]),p=!0}this.setVertexAttribEyeIdx(a,u),this.setVertexAttribPointerPosition(a,l,ue,be),this.setVertexAttribPointerNormal(a,l,ue,be),this.setVertexAttribPointerTexCoord(a,l,ue,be),this.setVertexAttribPointerTexCoord2(a,l,ue,be),this.setVertexAttribPointerColor(a,l,ue,be),this.setVertexAttribPointerTangent(a,l,ue,be),this.setVertexAttribPointerBinormal(a,l,ue,be),void 0===u.id&&void 0===u.particleSize||!l._webgl.buffers[ue+x3dom.BUFFER_IDX.ID]||(a.bindBuffer(a.ARRAY_BUFFER,l._webgl.buffers[ue+x3dom.BUFFER_IDX.ID]),0!=b.binaryGeometry&&1==f._vf.idsPerVertex?(a.vertexAttribPointer(u.id,1,a.FLOAT,!1,4,0),a.enableVertexAttribArray(u.id)):le&&(a.vertexAttribPointer(u.particleSize,3,a.FLOAT,!1,0,0),a.enableVertexAttribArray(u.particleSize))),0!=b.popGeometry&&b.buffers[ue+x3dom.BUFFER_IDX.ID]&&(a.bindBuffer(a.ARRAY_BUFFER,b.buffers[ue+x3dom.BUFFER_IDX.ID]),a.vertexAttribPointer(u.PG_vertexID,1,a.FLOAT,!1,4,0),a.enableVertexAttribArray(u.PG_vertexID));var ye,ve=t.getRenderMode(),xe=!!x&&(x._vf.transparency>0&&!l.isSolid()),Me=function(e,t){e.frontFace(l.isCCW()?a.CCW:a.CW),e.enable(a.CULL_FACE),e.cullFace(a.FRONT),t(),e.cullFace(a.BACK),t(),e.disable(a.CULL_FACE)};if(ve>0){var Te=1==ve?a.POINTS:a.LINES;if(p&&(b.binaryGeometry>0||b.popGeometry>0))for(_e=0,oe=0,re=f._vf.vertexCount.length;_e<re;_e++)this.drawElements(a,Te,f._vf.vertexCount[_e],b.indexType,x3dom.Utils.getByteAwareOffset(oe,b.indexType,a)),oe+=f._vf.vertexCount[_e];else if(b.binaryGeometry<0||b.popGeometry<0)for(_e=0,oe=0,re=f._vf.vertexCount.length;_e<re;_e++)this.drawArrays(a,Te,oe,f._vf.vertexCount[_e]),oe+=f._vf.vertexCount[_e];else if(p&&b.bufferGeometry>0)this.drawElements(a,b.primType[0],f._vf.vertexCount[0],b.indexType,l._indexOffset);else if(b.bufferGeometry<0)this.drawArrays(a,b.primType[0],0,f._vf.vertexCount[0]);else if(f.hasIndexOffset())for(_e=0,re=(ye=l.tessellationProperties()).length;_e<re;_e++)this.drawElements(a,Te,ye[_e].count,b.indexType,ye[_e].offset*x3dom.Utils.getOffsetMultiplier(b.indexType,a));else 0==b.indexes[be].length?this.drawArrays(a,Te,0,b.positions[be].length/3):this.drawElements(a,Te,b.indexes[be].length,b.indexType,0)}else if(p&&(b.binaryGeometry>0||b.popGeometry>0))for(_e=0,oe=0,re=f._vf.vertexCount.length;_e<re;_e++)this.drawElements(a,b.primType[_e],f._vf.vertexCount[_e],b.indexType,x3dom.Utils.getByteAwareOffset(oe,b.indexType,a)),oe+=f._vf.vertexCount[_e];else if(b.binaryGeometry<0||b.popGeometry<0)for(_e=0,oe=0,re=f._vf.vertexCount.length;_e<re;_e++)this.drawArrays(a,b.primType[_e],oe,f._vf.vertexCount[_e]),oe+=f._vf.vertexCount[_e];else if(p&&b.bufferGeometry>0)this.drawElements(a,b.primType[0],f._vf.vertexCount[0],b.indexType,l._indexOffset);else if(b.bufferGeometry<0)this.drawArrays(a,b.primType[0],0,f._vf.vertexCount[0]);else if(f.hasIndexOffset())for(_e=0,re=(ye=l.tessellationProperties()).length;_e<re;_e++)this.drawElements(a,b.primType,ye[_e].count,b.indexType,ye[_e].offset*x3dom.Utils.getOffsetMultiplier(b.indexType,a));else 0==b.indexes[be].length?xe?Me(this.stateManager,this.drawArrays.bind(this,a,b.primType,0,b.positions[be].length/3)):this.drawArrays(a,b.primType,0,b.positions[be].length/3):xe?Me(this.stateManager,this.drawElements.bind(this,a,b.primType,b.indexes[be].length,b.indexType,0)):this.drawElements(a,b.primType,b.indexes[be].length,b.indexType,0);a.disableVertexAttribArray(u.position),void 0!==u.normal&&a.disableVertexAttribArray(u.normal),this.disableVertexAttribEyeIdx(a,u),void 0!==u.texcoord&&a.disableVertexAttribArray(u.texcoord),void 0!==u.texcoord2&&a.disableVertexAttribArray(u.texcoord2),void 0!==u.color&&a.disableVertexAttribArray(u.color),void 0!==u.tangent&&a.disableVertexAttribArray(u.tangent),void 0!==u.binormal&&a.disableVertexAttribArray(u.binormal),b.buffers[ue+x3dom.BUFFER_IDX.ID]&&(void 0!==u.id?a.disableVertexAttribArray(u.id):void 0!==u.particleSize&&a.disableVertexAttribArray(u.particleSize)),0!=b.popGeometry&&void 0!==u.PG_vertexID&&a.disableVertexAttribArray(u.PG_vertexID)}}for(ne=0;ne<pe;ne++)void 0!==u[(ae=b.dynamicFields[ne]).name]&&a.disableVertexAttribArray(u[ae.name]);this.numCoords+=g._numCoords,this.numFaces+=g._numFaces,b.binaryGeometry||b.popGeometry||b.bufferGeometry?this.numDrawCalls+=f._vf.vertexCount.length:f.hasIndexOffset()?this.numDrawCalls+=l.tessellationProperties().length:this.numDrawCalls+=se,this.stateManager.depthMask(!0),V&&(this.stateManager.enable(a.DEPTH_TEST),this.stateManager.depthFunc(a.LEQUAL),this.stateManager.depthRange(0,1)),k&&(this.stateManager.enable(a.BLEND),this.stateManager.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE),this.stateManager.blendColor(1,1,1,1),this.stateManager.blendEquation(a.FUNC_ADD)),U&&this.stateManager.colorMask(!0,!0,!0,!0),G&&this.stateManager.lineWidth(1);var De=b.texture;for(q=De?De.length:0,Q=0;Q<q;Q++)De[Q]&&h&&h._cf.texture.node&&(S=h._cf.texture.node.getTexture(Q),a.activeTexture(a.TEXTURE0+Q),x3dom.isa(S,x3dom.nodeTypes.X3DEnvironmentTextureNode)?a.bindTexture(a.TEXTURE_CUBE_MAP,null):a.bindTexture(a.TEXTURE_2D,null))}else x3dom.debug.logError("[Context|RenderShape] No Shader is set!")}else x3dom.debug.logError("[Context|RenderShape] No valid Shape!")},e.prototype.updatePopState=function(e,t,i,n,_,r,o,s){var a=x3dom.nodeTypes.PopGeometry.ErrorToleranceFactor*t._vf.precisionFactor;(s<=1||o.isMovingOrAnimating())&&(a*=x3dom.nodeTypes.PopGeometry.PrecisionFactorOnMove);var p=16;if(a>0){var l=_.getViewpoint(),d=l.getImgPlaneHeightAtDistOne(),c=l.getNear(),b=r.multMatrixPnt(t._vf.position),u=.5*r.multMatrixVec(t._vf.size).length(),m=2*(.5*r.multMatrixVec(t._vf.maxBBSize).length())/(a*(Math.max(-b.z-u,c)*(d/o._height)));p=(p=Math.ceil(Math.log(m)/.693147180559945))<1?1:p>16?16:p}var h=t._vf.minPrecisionLevel,f=t._vf.maxPrecisionLevel;p=-1!=h&&p<h?h:p,p=-1!=f&&p>f?f:p;var g=n.levelsAvailable<p?n.levelsAvailable:p;p=g,a<=1&&(p=p==t.getNumLevels()?16:p);var C=t._vf.indexedRendering,S=t._mesh;S._numCoords=0,S._numFaces=0;for(var y=0;y<g;++y){var v=n.numVerticesAtLevel[y];S._numCoords+=v,S._numFaces+=(C?t.getNumIndicesByLevel(y):v)/3}x3dom.nodeTypes.PopGeometry.numRenderedVerts+=S._numCoords,x3dom.nodeTypes.PopGeometry.numRenderedTris+=S._numFaces,S.currentLOD=p,t.adaptVertexCount(C?3*S._numFaces:S._numCoords),i.PG_maxBBSize=t._vf.maxBBSize.toGL(),i.PG_bbMin=t._bbMinBySize,i.PG_numAnchorVertices=t._vf.numAnchorVertices,i.PG_bbMaxModF=t._vf.bbMaxModF.toGL(),i.PG_bboxShiftVec=t._vf.bbShiftVec.toGL(),i.PG_precisionLevel=p,i.PG_powPrecision=x3dom.nodeTypes.PopGeometry.powLUT[p-1]},e.prototype.pickValue=function(e,t,i,n,_,r){x3dom.Utils.startMeasure("picking");var o=e._scene,s=this.ctx3d;if(!(s&&o&&o._webgl&&o.drawableCollection))return!1;var a,p,l=o._vf.pickMode.toLowerCase(),d=0;switch(l){case"box":return!1;case"idbuf":d=0;break;case"idbuf24":d=3;break;case"idbufid":d=4;break;case"color":d=1;break;case"texcoord":d=2}arguments.length>4?(a=_,p=r):(a=e._last_mat_view,p=e._last_mat_scene);var c=x3dom.fields.SFVec3f.copy(o._lastMin),b=x3dom.fields.SFVec3f.copy(o._lastMax),u=a.inverse().e3(),m=x3dom.fields.SFVec3f.copy(u),h=x3dom.fields.SFVec3f.copy(u);m.x>c.x&&(m.x=c.x),m.y>c.y&&(m.y=c.y),m.z>c.z&&(m.z=c.z),h.x<b.x&&(h.x=b.x),h.y<b.y&&(h.y=b.y),h.z<b.z&&(h.z=b.z),o._lastMin.setValues(m),o._lastMax.setValues(h);var f=o._lastMax.subtract(o._lastMin).length();o.getViewpoint().getFar()&&(f=Math.min(f,o.getViewpoint().getFar()));var g=e.getCCtoWCMatrix();o._lastMin.setValues(c),o._lastMax.setValues(b);var C=x3dom.nodeTypes.Shape.objectID+2;this.renderPickingPass(s,o,a,p,u,f,d,t,i,2,2);var S=o._webgl.fboPick.pixelData;if(S&&S.length){var y,v,x,M,T,D,P=new x3dom.fields.SFVec3f(0,0,0),w=new x3dom.fields.SFVec3f(0,0,1),A=0,F=S[A+3],R=1/o._webgl.pickScale,I=1/256;0==d?(F+=256*S[A+2],v=S[A]/255*I+S[A+1]/255,x=e.calcViewRay(t,i,g),P=u.add(x.dir.multiply(v*f)),v=S[A=4]/255*I+S[A+1]/255,M=e.calcViewRay(t+R,i,g),T=(T=u.add(M.dir.multiply(v*f))).subtract(P).normalize(),v=S[A=8]/255*I+S[A+1]/255,M=e.calcViewRay(t,i-R,g),D=(D=u.add(M.dir.multiply(v*f))).subtract(P).normalize(),w=T.cross(D).normalize()):3==d?(F+=256*S[A+2]+65536*S[A+1],v=S[A]/255,x=e.calcViewRay(t,i,g),P=u.add(x.dir.multiply(v*f)),v=S[A=4]/255,M=e.calcViewRay(t+R,i,g),T=(T=u.add(M.dir.multiply(v*f))).subtract(P).normalize(),v=S[A=8]/255,M=e.calcViewRay(t,i-R,g),D=(D=u.add(M.dir.multiply(v*f))).subtract(P).normalize(),w=T.cross(D).normalize()):4==d?(F+=256*S[A+2],y=S[A+1],y+=256*S[A],0==F&&y>0&&y<C&&(F=y)):(P.x=S[A],P.y=S[A+1],P.z=S[A+2]);var B,V,E="shadowObjectIdChanged",N=Math.max(n>>>8,255&n);if(F>=C){var k;F-=C;var O=t*e._inverseDevicePixelRatio,L=i*e._inverseDevicePixelRatio;if(4!=d?(e._pickingInfo.pickPos=P,e._pick.setValues(P),e._pickingInfo.pickNorm=w,e._pickNorm.setValues(w),e._pickingInfo.pickObj=null,e._pickingInfo.lastClickObj=null,k=o._xmlNode):(e._pickingInfo.pickObj=x3dom.nodeTypes.Shape.idMap.nodeID[y],k=e._pickingInfo.pickObj._xmlNode),B=e._pickingInfo.shadowObjectId!=F,e._pickingInfo.lastShadowObjectId=e._pickingInfo.shadowObjectId,e._pickingInfo.shadowObjectId=F,(B||N)&&o._xmlNode&&(o._xmlNode["on"+E]||o._xmlNode.hasAttribute("on"+E)||o._listeners[E])&&(V={target:o._xmlNode,type:E,button:N,mouseup:n>>>8>0,layerX:O,layerY:L,shadowObjectId:F,worldX:P.x,worldY:P.y,worldZ:P.z,normalX:w.x,normalY:w.y,normalZ:w.z,hitPnt:P.toGL(),hitObject:k,cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0},preventDefault:function(){this.cancelBubble=!0}},o.callEvtHandler("on"+E,V)),o._shadowIdMap&&o._shadowIdMap.mapping&&F<o._shadowIdMap.mapping.length){var U,G,W,z=o._shadowIdMap.mapping[F].usage;for(x||(x=e.calcViewRay(t,i,g)),G=0;G<z.length;G++)if((W=o._nameSpace.defMap[z[G]])&&W.doIntersect(x)){e._pickingInfo.pickObj=W;break}for(U=0;U<o._nameSpace.childSpaces.length;U++)for(G=0;G<z.length;G++)if((W=o._nameSpace.childSpaces[U].defMap[z[G]])&&W.doIntersect(x)){e._pickingInfo.pickObj=W;break}}}else B=-1!=e._pickingInfo.shadowObjectId,e._pickingInfo.shadowObjectId=-1,B&&o._xmlNode&&(o._xmlNode["on"+E]||o._xmlNode.hasAttribute("on"+E)||o._listeners[E])&&(V={target:o._xmlNode,type:E,button:N,mouseup:n>>>8>0,layerX:O,layerY:L,shadowObjectId:e._pickingInfo.shadowObjectId,cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0},preventDefault:function(){this.cancelBubble=!0}},o.callEvtHandler("on"+E,V)),F>0?(e._pickingInfo.pickPos=P,e._pickingInfo.pickNorm=w,e._pickingInfo.pickObj=x3dom.nodeTypes.Shape.idMap.nodeID[F]):(e._pickingInfo.pickObj=null,e._pickingInfo.lastClickObj=null)}var H=x3dom.Utils.stopMeasure("picking");return this.x3dElem.runtime.addMeasurement("PICKING",H),!0},e.prototype.pickRect=function(e,t,i,n,_){var r=this.ctx3d,o=e?e._scene:null;if(!(r&&o&&o._webgl&&o.drawableCollection))return!1;var s,a=e._last_mat_view.inverse().e3(),p=o._lastMax.subtract(o._lastMin).length(),l=t<=n?t:n,d=i>=_?i:_,c=(1+Math.abs(n-t))*o._webgl.pickScale,b=(1+Math.abs(_-i))*o._webgl.pickScale;this.renderPickingPass(r,o,e._last_mat_view,e._last_mat_scene,a,p,0,l,d,c<1?1:c,b<1?1:b);var u=[];for(s=0;o._webgl.fboPick.pixelData&&s<o._webgl.fboPick.pixelData.length;s+=4){var m=o._webgl.fboPick.pixelData[s+3]+256*o._webgl.fboPick.pixelData[s+2];m>0&&u.push(m)}u.sort(),u=function(e){for(var t=[],i=e.length,n=0;n<i;n++){for(var _=n+1;_<i;_++)e[n]===e[_]&&(_=++n);t.push(e[n])}return t}(u);var h,f=[],g=x3dom.nodeTypes.Shape.objectID+2;for(s=0;s<u.length;s++)(m=u[s])>=g?m-=g:(h=(h=x3dom.nodeTypes.Shape.idMap.nodeID[m])&&h._xmlNode?h._xmlNode:null)&&f.push(h);return f},e.prototype.renderScene=function(e,t){var i=this.ctx3d,n=e._scene;if(null!==i&&null!==n){var _,r,o,s,a,p,l,d,c,b,u,m=e._doc._nodeBag.renderTextures,h=m.length,f=null,g=i.UNSIGNED_BYTE,C=i.UNSIGNED_BYTE;x3dom.caps.FP_TEXTURES&&(g=i.FLOAT,C=i.FLOAT,x3dom.caps.FPL_TEXTURES||!0);var S=[-1,-1,1,-1,-1,1,-1,1,1,-1,1,1];if(n.updateVolume(),n._webgl){var y=Math.round(this.canvas.width*n._webgl.pickScale),v=Math.round(this.canvas.height*n._webgl.pickScale);for(n._webgl._currFboWidth===y&&n._webgl._currFboHeight===v||(n._webgl._currFboWidth=y,n._webgl._currFboHeight=v,n._webgl.fboPick=x3dom.Utils.initFBO(i,y,v,n._webgl.fboPick.type,!1,!0),n._webgl.fboPick.pixelData=null,x3dom.debug.logInfo("Refreshed picking FBO to size ("+y+", "+v+")")),r=0;r<h;r++)(_=m[r])._webgl&&_._webgl.fbo&&_._webgl.fbo.width==_._vf.dimensions[0]&&_._webgl.fbo.height==_._vf.dimensions[1]||(_.invalidateGLObject(),_._cleanupGLObjects?_._cleanupGLObjects():_._cleanupGLObjects=function(e){e||i.deleteTexture(this._webgl.fbo.tex),this._webgl.fbo.dtex&&i.deleteTexture(this._webgl.fbo.dtex),this._webgl.fbo.rbo&&i.deleteRenderbuffer(this._webgl.fbo.rbo),i.bindFramebuffer(i.FRAMEBUFFER,null),i.deleteFramebuffer(this._webgl.fbo.fbo),this._webgl.fbo.rbo=null,this._webgl.fbo.fbo=null},f=_._cf.textureProperties.node,b=_.requirePingPong()?i.UNSIGNED_BYTE:g,_._webgl={},_._webgl.fbo=x3dom.Utils.initFBO(i,_._vf.dimensions[0],_._vf.dimensions[1],b,f&&f._vf.generateMipMaps,_._vf.depthMap||!_.requirePingPong()),_.requirePingPong()&&(u=_._vf.dimensions[0]+"x"+_._vf.dimensions[1],void 0===n._webgl.refinement[u]&&(n._webgl.refinement[u]=x3dom.Utils.initFBO(i,_._vf.dimensions[0],_._vf.dimensions[1],b,!1,!1)),_._webgl.texture=null),x3dom.debug.logInfo("Init/resize RenderedTexture_"+r+" to size "+_._vf.dimensions[0]+" x "+_._vf.dimensions[1]));for(l=(o=e.getShadowedLights()).length,a=0;a<l;a++)if(d=o[a]._vf.shadowMapSize,s=x3dom.isa(o[a],x3dom.nodeTypes.PointLight)?6:Math.max(1,Math.min(o[a]._vf.shadowCascades,6)),void 0===n._webgl.fboShadow[a]||n._webgl.fboShadow[a].length!=s||n._webgl.fboShadow[a][0].height!=d)for(n._webgl.fboShadow[a]=[],p=0;p<s;p++)n._webgl.fboShadow[a][p]=x3dom.Utils.initFBO(i,d,d,C,!1,!0);for(a=0;a<l;a++){for(d=n._webgl.fboShadow[a][0].height,c=!1,p=0;p<n._webgl.fboBlur.length;p++)d==n._webgl.fboBlur[p].height&&(c=!0);c||(n._webgl.fboBlur[n._webgl.fboBlur.length]=x3dom.Utils.initFBO(i,d,d,C,!1,!0))}((x3dom.SSAO.isEnabled(n)||n._webgl.fboShadow.length>0)&&void 0===n._webgl.fboScene||n._webgl.fboScene&&(this.canvas.width!=n._webgl.fboScene.width||this.canvas.height!=n._webgl.fboScene.height))&&(n._webgl.fboScene=x3dom.Utils.initFBO(i,this.canvas.width,this.canvas.height,C,!1,!0))}else{for(n._webgl={},this.setupFgnds(i,n),n._webgl.pickScale=.5,n._webgl._currFboWidth=Math.round(this.canvas.width*n._webgl.pickScale),n._webgl._currFboHeight=Math.round(this.canvas.height*n._webgl.pickScale),n._webgl.fboPick=x3dom.Utils.initFBO(i,n._webgl._currFboWidth,n._webgl._currFboHeight,i.UNSIGNED_BYTE,!1,!0),n._webgl.fboPick.pixelData=null,n._webgl.normalShader=this.cache.getShader(i,x3dom.shader.NORMAL),n._webgl.fboShadow=[],l=(o=e.getShadowedLights()).length,a=0;a<l;a++)for(d=o[a]._vf.shadowMapSize,s=x3dom.isa(o[a],x3dom.nodeTypes.PointLight)?6:Math.max(1,Math.min(o[a]._vf.shadowCascades,6)),n._webgl.fboShadow[a]=[],p=0;p<s;p++)n._webgl.fboShadow[a][p]=x3dom.Utils.initFBO(i,d,d,C,!1,!0);for((n._webgl.fboShadow.length>0||x3dom.SSAO.isEnabled(n))&&(n._webgl.fboScene=x3dom.Utils.initFBO(i,this.canvas.width,this.canvas.height,C,!1,!0)),n._webgl.fboBlur=[],a=0;a<l;a++){for(d=n._webgl.fboShadow[a][0].height,c=!1,p=0;p<n._webgl.fboBlur.length;p++)d==n._webgl.fboBlur[p].height&&(c=!0);c||(n._webgl.fboBlur[n._webgl.fboBlur.length]=x3dom.Utils.initFBO(i,d,d,C,!1,!0))}for(n._webgl.ppBuffer=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,n._webgl.ppBuffer),i.bufferData(i.ARRAY_BUFFER,new Float32Array(S),i.STATIC_DRAW),n._webgl.refinement={stamps:new Array(2),positionBuffer:i.createBuffer()},i.bindBuffer(i.ARRAY_BUFFER,n._webgl.refinement.positionBuffer),i.bufferData(i.ARRAY_BUFFER,new Float32Array(S),i.STATIC_DRAW),r=0;r<h;r++)f=(_=m[r])._cf.textureProperties.node,b=_.requirePingPong()?i.UNSIGNED_BYTE:g,_._webgl={},_._webgl.fbo=x3dom.Utils.initFBO(i,_._vf.dimensions[0],_._vf.dimensions[1],b,f&&f._vf.generateMipMaps,_._vf.depthMap||!_.requirePingPong()),_._cleanupGLObjects=function(e){e||i.deleteTexture(this._webgl.fbo.tex),this._webgl.fbo.dtex&&i.deleteTexture(this._webgl.fbo.dtex),this._webgl.fbo.rbo&&i.deleteFramebuffer(this._webgl.fbo.rbo),i.bindFramebuffer(i.FRAMEBUFFER,null),i.deleteFramebuffer(this._webgl.fbo.fbo),this._webgl.fbo.rbo=null,this._webgl.fbo.fbo=null},_.requirePingPong()&&(u=_._vf.dimensions[0]+"x"+_._vf.dimensions[1],void 0===n._webgl.refinement[u]&&(n._webgl.refinement[u]=x3dom.Utils.initFBO(i,_._vf.dimensions[0],_._vf.dimensions[1],b,!1,!1)),_._webgl.texture=null);e._last_mat_view=x3dom.fields.SFMatrix4f.identity(),e._last_mat_proj=x3dom.fields.SFMatrix4f.identity(),e._last_mat_scene=x3dom.fields.SFMatrix4f.identity(),this._calledViewpointChangedHandler=!1}var x=n.getEnvironment();x.checkSanity();var M=n.getBackground();this.setupScene(i,M),this.numFaces=0,this.numCoords=0,this.numDrawCalls=0;var T=e.getProjectionMatrix(),D=e.getViewMatrix();if(!this._calledViewpointChangedHandler||!e._last_mat_view.equals(D)){var P=n.getViewpoint(),w="viewpointChanged";try{if(P.hasEventListener(w)||n.hasEventListener(w)){var A=P.getCurrentTransform(),F=(A=A.inverse().mult(D)).inverse(),R=new x3dom.fields.Quaternion(0,0,1,0);R.setValue(F);var I=F.e3(),B={target:P._xmlNode,type:w,matrix:A,position:I,orientation:R.toAxisAngle(),cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0},preventDefault:function(){this.cancelBubble=!0}};P.hasEventListener(w)&&P.callEvtHandler("on"+w,B),n.hasEventListener(w)&&n.callEvtHandler("on"+w,B),P.callEvtHandler("on"+w,B),this._calledViewpointChangedHandler=!0}}catch(e){x3dom.debug.logException(e)}}e._last_mat_view=D,e._last_mat_proj=T;var V=T.mult(D);if(e._last_mat_scene=V,n.drawableCollection=null,!n.drawableCollection){var E={viewArea:e,sortTrans:x._vf.sortTrans,viewMatrix:D,projMatrix:T,sceneMatrix:V,frustumCulling:!0,smallFeatureThreshold:x._smallFeatureThreshold,context:this,gl:i};n.drawableCollection=new x3dom.DrawableCollection(E),x3dom.Utils.startMeasure("traverse"),n.collectDrawableObjects(x3dom.fields.SFMatrix4f.identity(),n.drawableCollection,!0,!1,0,[]);var N=x3dom.Utils.stopMeasure("traverse");this.x3dElem.runtime.addMeasurement("TRAVERSE",N)}x3dom.Utils.startMeasure("sorting"),n.drawableCollection.sort();var k=x3dom.Utils.stopMeasure("sorting");this.x3dElem.runtime.addMeasurement("SORT",k);var O,L=e.getLights(),U=L.length,G=[],W=[],z=0;x3dom.Utils.startMeasure("shadow");for(var H=e.getLightMatrix(L),j=0;j<U;j++)if(L[j]._vf.shadowIntensity>0){var X=H[j],Z=n._webgl.fboShadow[z],Q=Math.max(0,Math.min(1,L[j]._vf.shadowOffset));if(x3dom.isa(L[j],x3dom.nodeTypes.PointLight))for(O=e.getWCtoLCMatricesPointLight(X,L[j],T),a=0;a<6;a++)this.renderShadowPass(i,e,O[a],D,Z[a],Q,!1);else{var q=Math.max(1,Math.min(L[j]._vf.shadowCascades,6));for(O=e.getWCtoLCMatricesCascaded(X,L[j],T),a=0;a<q;a++)this.renderShadowPass(i,e,O[a],D,Z[a],Q,!1)}z++,G[G.length]=O,W[W.length]=X}if(z>0||x3dom.SSAO.isEnabled(n)){this.renderShadowPass(i,e,V,D,n._webgl.fboScene,0,!0);var Y=x3dom.Utils.stopMeasure("shadow");this.x3dElem.runtime.addMeasurement("SHADOW",Y)}else this.x3dElem.runtime.removeMeasurement("SHADOW");for(O=e.getWCtoLCMatrix(e.getLightMatrix()[0]),r=0;r<h;r++)this.renderRTPass(i,e,m[r]);for(x3dom.Utils.startMeasure("render"),this.stateManager.viewport(0,0,this.canvas.width,this.canvas.height),M._webgl.render(i,D,T,e),x3dom.nodeTypes.PopGeometry.numRenderedVerts=0,x3dom.nodeTypes.PopGeometry.numRenderedTris=0,l=n.drawableCollection.length,x._vf.smallFeatureCulling&&x._lowPriorityThreshold<1&&e.isMovingOrAnimating()&&!(l=Math.floor(l*x._lowPriorityThreshold))&&n.drawableCollection.length&&(l=1),this.stateManager.unsetProgram(),a=0;a<l;a++){var J=n.drawableCollection.get(a);this.renderShape(J,e,L,U,D,V,O,T,i)}if(z>0&&this.renderShadows(i,e,o,G,W,D,T,V),this.stateManager.disable(i.BLEND),this.stateManager.disable(i.DEPTH_TEST),e._numRenderedNodes=l,x3dom.SSAO.isEnabled(n)&&x3dom.SSAO.renderSSAO(this.stateManager,i,n,this.canvas),void 0!==e._visDbgBuf&&e._visDbgBuf){var K=n._vf.pickMode.toLowerCase();0!=K.indexOf("idbuf")&&"color"!=K&&"texcoord"!=K||(this.stateManager.viewport(0,3*this.canvas.height/4,this.canvas.width/4,this.canvas.height/4),n._fgnd._webgl.render(i,n._webgl.fboPick.tex)),(z>0||x3dom.SSAO.isEnabled(n))&&(this.stateManager.viewport(this.canvas.width/4,3*this.canvas.height/4,this.canvas.width/4,this.canvas.height/4),n._fgnd._webgl.render(i,n._webgl.fboScene.tex));var $=3,ee=2;for(a=0;a<z;a++){Z=n._webgl.fboShadow[a];for(p=0;p<Z.length;p++)this.stateManager.viewport(ee*this.canvas.width/4,$*this.canvas.height/4,this.canvas.width/4,this.canvas.height/4),n._fgnd._webgl.render(i,Z[p].tex),ee<2?ee++:(ee=0,$--)}for(r=0;r<h;r++)(_=m[r])._webgl.fbo.fbo&&(this.stateManager.viewport(r*this.canvas.width/8,5*this.canvas.height/8,this.canvas.width/8,this.canvas.height/8),n._fgnd._webgl.render(i,_._webgl.fbo.tex))}i.finish();var te=x3dom.Utils.stopMeasure("render");this.x3dElem.runtime.addMeasurement("RENDER",te),this.x3dElem.runtime.addMeasurement("DRAW",l?te/l:0),this.x3dElem.runtime.addInfo("#NODES:",n.drawableCollection.numberOfNodes),this.x3dElem.runtime.addInfo("#SHAPES:",e._numRenderedNodes),this.x3dElem.runtime.addInfo("#DRAWS:",this.numDrawCalls),this.x3dElem.runtime.addInfo("#POINTS:",this.numCoords),this.x3dElem.runtime.addInfo("#TRIS:",this.numFaces)}},e.prototype.renderPingPongPass=function(e,t,i){var n=t._scene,_=i._vf.dimensions[0]+"x"+i._vf.dimensions[1],r=n._webgl.refinement[_];if(0!=i._currLoadLevel||n._webgl.refinement.stamps[0]&&n._webgl.refinement.stamps[1]||(n._webgl.refinement.stamps[0]=this.cache.getTexture2D(e,i._nameSpace.doc,i._nameSpace.getURL(i._vf.stamp0),!1,"anonymous",!1,!1),n._webgl.refinement.stamps[1]=this.cache.getTexture2D(e,i._nameSpace.doc,i._nameSpace.getURL(i._vf.stamp1),!1,"anonymous",!1,!1)),i._currLoadLevel<i._loadLevel){i._currLoadLevel++,i._webgl.texture&&e.deleteTexture(i._webgl.texture);var o=i._vf.url[0]+"/"+i._currLoadLevel+"."+i._vf.format;i._webgl.texture=x3dom.Utils.createTexture2D(e,i._nameSpace.doc,i._nameSpace.getURL(o),!1,"anonymous",!1,!1),i._vf.iterations%2==0?i._currLoadLevel%2!=0?i._repeat.x*=2:i._repeat.y*=2:i._currLoadLevel%2==0?i._repeat.x*=2:i._repeat.y*=2}if(i._webgl.texture.ready&&n._webgl.refinement.stamps[0].ready&&n._webgl.refinement.stamps[1].ready){this.stateManager.bindFramebuffer(e.FRAMEBUFFER,r.fbo),this.stateManager.viewport(0,0,r.width,r.height),this.stateManager.disable(e.BLEND),this.stateManager.disable(e.CULL_FACE),this.stateManager.disable(e.DEPTH_TEST),e.clearColor(0,0,0,1),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);var s=this.cache.getShader(e,x3dom.shader.TEXTURE_REFINEMENT);this.stateManager.useProgram(s),e.bindBuffer(e.ARRAY_BUFFER,n._webgl.refinement.positionBuffer),e.vertexAttribPointer(s.position,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(s.position),s.stamp=0,e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n._webgl.refinement.stamps[(i._currLoadLevel+1)%2]),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),i._currLoadLevel>1&&(s.lastTex=1,e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,i._webgl.fbo.tex),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),s.curTex=2,e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,i._webgl.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),s.mode=i._currLoadLevel-1,s.repeat=i._repeat.toGL(),e.drawArrays(e.TRIANGLES,0,6),this.stateManager.bindFramebuffer(e.FRAMEBUFFER,i._webgl.fbo.fbo),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),s.mode=0,s.curTex=2,e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,r.tex),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.drawArrays(e.TRIANGLES,0,6),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.disableVertexAttribArray(s.position),this.stateManager.bindFramebuffer(e.FRAMEBUFFER,null),this.stateManager.viewport(0,0,this.canvas.width,this.canvas.height),i._vf.autoRefinement&&i.nextLevel(),i._currLoadLevel==i._vf.maxLevel&&i._currLoadLevel++,i._webgl.fbo.mipMap&&(e.bindTexture(e.TEXTURE_2D,i._webgl.fbo.tex),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)),i.requirePingPong()||(e.deleteTexture(i._webgl.texture),delete i._webgl.texture,i._cleanupGLObjects(!0)),i._renderedImage++}},e.prototype.renderRTPass=function(e,t,i){if(x3dom.isa(i,x3dom.nodeTypes.RefinementTexture))i.requirePingPong()&&this.renderPingPongPass(e,t,i);else{switch(i._vf.update.toUpperCase()){case"NONE":return;case"NEXT_FRAME_ONLY":if(!i._needRenderUpdate)return;i._needRenderUpdate=!1}var n,_,r=t._scene,o=null,s=i.getViewMatrix(),a=i.getProjectionMatrix(),p=a.mult(s),l=t.getLightMatrix()[0],d=t.getWCtoLCMatrix(l),c=i._cf.excludeNodes.nodes,b=c.length,u=new Array(b);for(n=0;n<b;n++){var m=c[n].renderFlag&&c[n].renderFlag();u[n]=void 0===m?-1:!0===m?1:0,i._cf.excludeNodes.nodes[n]._vf.visible=!1}this.stateManager.bindFramebuffer(e.FRAMEBUFFER,i._webgl.fbo.fbo),this.stateManager.viewport(0,0,i._webgl.fbo.width,i._webgl.fbo.height),null===i._cf.background.node?(e.clearColor(0,0,0,1),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT)):i._cf.background.node===r.getBackground()?(o=r.getBackground())._webgl.render(e,s,a,t):(o=i._cf.background.node,this.setupScene(e,o),o._webgl.render(e,s,a,t)),this.stateManager.depthFunc(e.LEQUAL),this.stateManager.enable(e.DEPTH_TEST),this.stateManager.enable(e.CULL_FACE),this.stateManager.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE),this.stateManager.enable(e.BLEND);var h,f=t.getLights(),g=f.length,C=i._cf.scene.node;if(C&&C!==r){var S={viewArea:t,sortTrans:r.getEnvironment()._vf.sortTrans,viewMatrix:s,projMatrix:a,sceneMatrix:p,frustumCulling:!1,smallFeatureThreshold:1,context:this,gl:e};if(C.numberOfNodes=0,C.drawableCollection=new x3dom.DrawableCollection(S),C.collectDrawableObjects(x3dom.fields.SFMatrix4f.identity(),C.drawableCollection,!0,!1,0,[]),C.drawableCollection.sort(),_=C.drawableCollection.length,i._vf.showNormals)this.renderNormals(e,C,r._webgl.normalShader,s,p);else for(this.stateManager.unsetProgram(),n=0;n<_;n++)(h=C.drawableCollection.get(n)).shape.renderFlag()&&this.renderShape(h,t,f,g,s,p,d,a,e)}else if(_=r.drawableCollection.length,i._vf.showNormals)this.renderNormals(e,r,r._webgl.normalShader,s,p);else for(this.stateManager.unsetProgram(),n=0;n<_;n++)h=r.drawableCollection.get(n),this.renderShape(h,t,f,g,s,p,d,a,e);for(this.stateManager.disable(e.BLEND),this.stateManager.disable(e.DEPTH_TEST),e.flush(),this.stateManager.bindFramebuffer(e.FRAMEBUFFER,null),i._webgl.fbo.mipMap&&(e.bindTexture(e.TEXTURE_2D,i._webgl.fbo.tex),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)),n=0;n<b;n++)0!==u[n]&&(i._cf.excludeNodes.nodes[n]._vf.visible=!0)}},e.prototype.renderNormals=function(e,t,i,n,_){if(i&&t){this.stateManager.depthFunc(e.LEQUAL),this.stateManager.enable(e.DEPTH_TEST),this.stateManager.enable(e.CULL_FACE),this.stateManager.disable(e.BLEND),this.stateManager.useProgram(i);for(var r=x3dom.fields.SFVec3f.NullVector.toGL(),o=x3dom.fields.SFVec3f.OneVector.toGL(),s=0,a=t.drawableCollection.length;s<a;s++){var p=t.drawableCollection.get(s),l=p.transform,d=p.shape,c=d._webgl;if(c&&d&&d.renderFlag()){var b=d._cf.geometry.node,u=b._mesh,m=n.mult(l).inverse();i.normalMatrix=m.transpose().toGL(),i.modelViewProjectionMatrix=_.mult(l).toGL(),c.coordType!=e.FLOAT?(0!=c.popGeometry||4==u._numPosComponents&&x3dom.Utils.isUnsignedType(b._vf.coordType)?i.bgCenter=b.getMin().toGL():i.bgCenter=b._vf.position.toGL(),i.bgSize=b._vf.size.toGL(),i.bgPrecisionMax=b.getPrecisionMax("coordType")):(i.bgCenter=r,i.bgSize=o,i.bgPrecisionMax=1),c.normalType!=e.FLOAT?i.bgPrecisionNorMax=b.getPrecisionMax("normalType"):i.bgPrecisionNorMax=1,d.isSolid()?(this.stateManager.enable(e.CULL_FACE),d.isCCW()?this.stateManager.frontFace(e.CCW):this.stateManager.frontFace(e.CW)):this.stateManager.disable(e.CULL_FACE);for(var h=0,f=c.positions.length;h<f;h++){var g,C,S,y=6*h;if(void 0!==i.position&&c.buffers[y+x3dom.BUFFER_IDX.POSITION]&&c.indexes[h]){if(c.buffers[y+x3dom.BUFFER_IDX.INDEX]&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,c.buffers[y+x3dom.BUFFER_IDX.INDEX]),this.setVertexAttribPointerPosition(e,d,y,h),this.setVertexAttribPointerNormal(e,d,y,h),c.binaryGeometry>0||c.popGeometry>0)for(g=0,S=0,C=b._vf.vertexCount.length;g<C;g++)this.drawElements(e,c.primType[g],b._vf.vertexCount[g],c.indexType,x3dom.Utils.getByteAwareOffset(S,c.indexType,e)),S+=b._vf.vertexCount[g];else if(c.binaryGeometry<0||c.popGeometry<0)for(g=0,S=0,C=b._vf.vertexCount.length;g<C;g++)this.drawArrays(e,c.primType[g],S,b._vf.vertexCount[g]),S+=b._vf.vertexCount[g];else if(indicesReady&&c.bufferGeometry>0)this.drawElements(e,c.primType[0],b._vf.vertexCount[0],c.indexType,d._indexOffset);else if(c.bufferGeometry<0)this.drawArrays(e,c.primType[0],0,b._vf.vertexCount[0]);else if(b.hasIndexOffset()){var v=d.tessellationProperties();for(g=0,C=v.length;g<C;g++)this.drawElements(e,c.primType,v[g].count,c.indexType,v[g].offset*x3dom.Utils.getOffsetMultiplier(c.indexType,e))}else 0==c.indexes[h].length?this.drawArrays(e,c.primType,0,c.positions[h].length/3):this.drawElements(e,c.primType,c.indexes[h].length,c.indexType,0);e.disableVertexAttribArray(i.position),void 0!==i.normal&&e.disableVertexAttribArray(i.normal)}}}}}},e.prototype.shutdown=function(e){var t=this.ctx3d,i=e._scene;if(null!=t&&i){var n=i.getBackground();n._webgl&&void 0!==n._webgl.position&&(t.deleteBuffer(n._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),t.deleteBuffer(n._webgl.buffers[x3dom.BUFFER_IDX.POSITION]));var _=i._fgnd;void 0!==_._webgl.position&&(t.deleteBuffer(_._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),t.deleteBuffer(_._webgl.buffers[x3dom.BUFFER_IDX.POSITION]));for(var r=i.drawableCollection?i.drawableCollection.length:0,o=0;o<r;o++){var s=i.drawableCollection.get(o).shape;s._cleanupGLObjects&&s._cleanupGLObjects(!0)}this.cache.Release(t)}},e.prototype.renderShadows=function(e,t,i,n,_,r,o,s){var a=t._scene,p=x3dom.caps.MAX_TEXTURE_IMAGE_UNITS;if(!(p<7)){var l,d,c,b,u,m=1,h=[0];for(c=0;c<i.length;c++){var f=i[c]._vf.shadowFilterSize;for(d=(l=a._webgl.fboShadow[c]).length,b=0;b<d;b++)this.blurTex(e,a,l[b],f);(m+=6)>p&&(h[h.length]=c,m=7)}h[h.length]=i.length;var g=h.length-1,C=o.inverse(),S=s.inverse();this.stateManager.enable(e.BLEND),this.stateManager.blendFunc(e.DST_COLOR,e.ZERO);for(var y=0;y<g;y++){var v=h[y],x=h[y+1],M=[];for(u=v;u<x;u++)M[M.length]=i[u];var T,D,P=this.cache.getShadowRenderingShader(e,M);this.stateManager.useProgram(P),e.bindBuffer(e.ARRAY_BUFFER,a._webgl.ppBuffer),e.vertexAttribPointer(P.position,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(P.position),P.sceneMap=0,e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a._webgl.fboScene.tex),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),P.inverseProj=C.toGL(),P.inverseViewProj=S.toGL();for(var w=0,A=0,F=M.length;A<F;A++){for(D=_[A+v],T=n[A+v],l=a._webgl.fboShadow[A+v],d=T.length,c=0;c<d;c++)e.activeTexture(e.TEXTURE1+w),e.bindTexture(e.TEXTURE_2D,l[c].tex),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),P["light"+A+"_"+c+"_ShadowMap"]=w+1,P["light"+A+"_"+c+"_Matrix"]=T[c].toGL(),w++;if(P["light"+A+"_ViewMatrix"]=D.toGL(),!x3dom.isa(M[A],x3dom.nodeTypes.PointLight))for(b=0;b<d;b++){var R=Math.max(1,Math.min(M[A]._vf.shadowCascades,6)),I=Math.max(0,Math.min(M[A]._vf.shadowSplitFactor,1)),B=Math.max(0,Math.min(M[A]._vf.shadowSplitOffset,1)),V=t.getShadowSplitDepths(R,I,B,!1,o);P["light"+A+"_"+b+"_Split"]=V[b+1]}var E=r.mult(M[A].getCurrentTransform());x3dom.isa(M[A],x3dom.nodeTypes.DirectionalLight)?(P["light"+A+"_Type"]=0,P["light"+A+"_On"]=M[A]._vf.on?1:0,P["light"+A+"_Direction"]=E.multMatrixVec(M[A]._vf.direction).toGL(),P["light"+A+"_Attenuation"]=[1,1,1],P["light"+A+"_Location"]=[1,1,1],P["light"+A+"_Radius"]=0,P["light"+A+"_BeamWidth"]=0,P["light"+A+"_CutOffAngle"]=0,P["light"+A+"_ShadowIntensity"]=M[A]._vf.shadowIntensity,P["light"+A+"_ShadowCascades"]=M[A]._vf.shadowCascades,P["light"+A+"_ShadowOffset"]=Math.max(0,Math.min(1,M[A]._vf.shadowOffset))):x3dom.isa(M[A],x3dom.nodeTypes.PointLight)?(P["light"+A+"_Type"]=1,P["light"+A+"_On"]=M[A]._vf.on?1:0,P["light"+A+"_Direction"]=[1,1,1],P["light"+A+"_Attenuation"]=M[A]._vf.attenuation.toGL(),P["light"+A+"_Location"]=E.multMatrixPnt(M[A]._vf.location).toGL(),P["light"+A+"_Radius"]=M[A]._vf.radius,P["light"+A+"_BeamWidth"]=0,P["light"+A+"_CutOffAngle"]=0,P["light"+A+"_ShadowIntensity"]=M[A]._vf.shadowIntensity,P["light"+A+"_ShadowOffset"]=Math.max(0,Math.min(1,M[A]._vf.shadowOffset))):x3dom.isa(M[A],x3dom.nodeTypes.SpotLight)&&(P["light"+A+"_Type"]=2,P["light"+A+"_On"]=M[A]._vf.on?1:0,P["light"+A+"_Direction"]=E.multMatrixVec(M[A]._vf.direction).toGL(),P["light"+A+"_Attenuation"]=M[A]._vf.attenuation.toGL(),P["light"+A+"_Location"]=E.multMatrixPnt(M[A]._vf.location).toGL(),P["light"+A+"_Radius"]=M[A]._vf.radius,P["light"+A+"_BeamWidth"]=M[A]._vf.beamWidth,P["light"+A+"_CutOffAngle"]=M[A]._vf.cutOffAngle,P["light"+A+"_ShadowIntensity"]=M[A]._vf.shadowIntensity,P["light"+A+"_ShadowCascades"]=M[A]._vf.shadowCascades,P["light"+A+"_ShadowOffset"]=Math.max(0,Math.min(1,M[A]._vf.shadowOffset)))}e.drawArrays(e.TRIANGLES,0,6);var N=w+1;for(u=0;u<N;u++)e.activeTexture(e.TEXTURE0+u),e.bindTexture(e.TEXTURE_2D,null);e.disableVertexAttribArray(P.position)}this.stateManager.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA)}},e.prototype.blurTex=function(e,t,i,n){if(!(n<=0)){n=n<5?3:n<7?5:7;for(var _=i.width,r=i.height,o=null,s=0,a=t._webgl.fboBlur.length;s<a;s++)if(r==t._webgl.fboBlur[s].height){o=t._webgl.fboBlur[s];break}this.stateManager.bindFramebuffer(e.FRAMEBUFFER,o.fbo),this.stateManager.viewport(0,0,_,r),this.stateManager.enable(e.BLEND),this.stateManager.blendFunc(e.ONE,e.ZERO),this.stateManager.disable(e.CULL_FACE),this.stateManager.disable(e.DEPTH_TEST),e.clearColor(1,1,1,0),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);var p=this.cache.getShader(e,x3dom.shader.BLUR);this.stateManager.useProgram(p),e.bindBuffer(e.ARRAY_BUFFER,t._webgl.ppBuffer),e.vertexAttribPointer(p.position,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(p.position),p.pixelSizeHor=1/_,p.pixelSizeVert=1/r,p.filterSize=n,p.horizontal=!0,p.texture=0,e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,i.tex),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.drawArrays(e.TRIANGLES,0,6),this.stateManager.bindFramebuffer(e.FRAMEBUFFER,i.fbo),e.clearColor(1,1,1,0),e.clearDepth(1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),p.horizontal=!1,e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,o.tex),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.drawArrays(e.TRIANGLES,0,6),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.disableVertexAttribArray(p.position),e.flush(),this.stateManager.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),this.stateManager.bindFramebuffer(e.FRAMEBUFFER,null),this.stateManager.viewport(0,0,this.canvas.width,this.canvas.height)}},e.prototype.drawElements=function(e,t,i,n,_,r){if(r=null==r?1:r,r*=this.VRMode,2==x3dom.caps.WEBGL_VERSION)e.drawElementsInstanced(t,i,n,_,r);else if(x3dom.caps.INSTANCED_ARRAYS){this.ctx3d.getExtension("ANGLE_instanced_arrays").drawElementsInstancedANGLE(t,i,n,_,r)}else e.drawElements(t,i,n,_)},e.prototype.drawArrays=function(e,t,i,n,_){if(_=null==_?1:_,_*=this.VRMode,2==x3dom.caps.WEBGL_VERSION)e.drawArraysInstanced(t,i,n,_);else if(x3dom.caps.INSTANCED_ARRAYS){this.ctx3d.getExtension("ANGLE_instanced_arrays").drawArraysInstancedANGLE(t,i,n,_)}else e.drawArrays(t,i,n)},e.prototype.setVertexAttribEyeIdx=function(e,t){if(2==x3dom.caps.WEBGL_VERSION&&null!=t.eyeIdx)this.eyeIdxBuffer?(e.bindBuffer(e.ARRAY_BUFFER,this.eyeIdxBuffer),e.vertexAttribPointer(t.eyeIdx,1,e.FLOAT,!1,0,0),e.enableVertexAttribArray(t.eyeIdx),e.vertexAttribDivisor(t.eyeIdx,1)):(this.eyeIdxBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this.eyeIdxBuffer),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,1]),e.STATIC_DRAW),e.vertexAttribPointer(t.eyeIdx,1,e.FLOAT,!1,0,0),e.enableVertexAttribArray(t.eyeIdx),e.vertexAttribDivisor(t.eyeIdx,1));else if(x3dom.caps.INSTANCED_ARRAYS&&null!=t.eyeIdx){var i=this.ctx3d.getExtension("ANGLE_instanced_arrays");this.eyeIdxBuffer?(e.bindBuffer(e.ARRAY_BUFFER,this.eyeIdxBuffer),e.vertexAttribPointer(t.eyeIdx,1,e.FLOAT,!1,0,0),e.enableVertexAttribArray(t.eyeIdx),i.vertexAttribDivisorANGLE(t.eyeIdx,1)):(this.eyeIdxBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this.eyeIdxBuffer),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,1]),e.STATIC_DRAW),e.vertexAttribPointer(t.eyeIdx,1,e.FLOAT,!1,0,0),e.enableVertexAttribArray(t.eyeIdx),i.vertexAttribDivisorANGLE(t.eyeIdx,1))}},e.prototype.disableVertexAttribEyeIdx=function(e,t){if(2==x3dom.caps.WEBGL_VERSION&&null!=t.eyeIdx)e.disableVertexAttribArray(t.eyeIdx),e.vertexAttribDivisor(t.eyeIdx,0);else if(x3dom.caps.INSTANCED_ARRAYS&&null!=t.eyeIdx){var i=this.ctx3d.getExtension("ANGLE_instanced_arrays");e.disableVertexAttribArray(t.eyeIdx),i.vertexAttribDivisorANGLE(t.eyeIdx,0)}},e.prototype.setVertexAttribPointerPosition=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.position&&t._webgl.buffers[i+x3dom.BUFFER_IDX.POSITION]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.POSITION]),e.vertexAttribPointer(_.position,r._mesh._numPosComponents,t._webgl.coordType,t._webgl.coordNormalized,t._coordStrideOffset[0],t._coordStrideOffset[1]),e.enableVertexAttribArray(_.position)}},e.prototype.setVertexAttribPointerNormal=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.normal&&t._webgl.buffers[i+x3dom.BUFFER_IDX.NORMAL]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.NORMAL]),e.vertexAttribPointer(_.normal,r._mesh._numNormComponents,t._webgl.normalType,t._webgl.normalNormalized,t._normalStrideOffset[0],t._normalStrideOffset[1]),e.enableVertexAttribArray(_.normal)}},e.prototype.setVertexAttribPointerTexCoord=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.texcoord&&t._webgl.buffers[i+x3dom.BUFFER_IDX.TEXCOORD]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.TEXCOORD]),e.vertexAttribPointer(_.texcoord,r._mesh._numTexComponents,t._webgl.texCoordType,t._webgl.texCoordNormalized,t._texCoordStrideOffset[0],t._texCoordStrideOffset[1]),e.enableVertexAttribArray(_.texcoord)}},e.prototype.setVertexAttribPointerTexCoord2=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.texcoord2&&t._webgl.buffers[i+x3dom.BUFFER_IDX.TEXCOORD_1]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.TEXCOORD_1]),e.vertexAttribPointer(_.texcoord2,r._mesh._numTex2Components,t._webgl.texCoord2Type,t._webgl.texCoord2Normalized,t._texCoord2StrideOffset[0],t._texCoord2StrideOffset[1]),e.enableVertexAttribArray(_.texcoord2)}},e.prototype.setVertexAttribPointerColor=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.color&&t._webgl.buffers[i+x3dom.BUFFER_IDX.COLOR]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.COLOR]),e.vertexAttribPointer(_.color,r._mesh._numColComponents,t._webgl.colorType,t._webgl.colorNormalized,t._colorStrideOffset[0],t._colorStrideOffset[1]),e.enableVertexAttribArray(_.color)}},e.prototype.setVertexAttribPointerTangent=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.tangent&&t._webgl.buffers[i+x3dom.BUFFER_IDX.TANGENT]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.TANGENT]),e.vertexAttribPointer(_.tangent,r._mesh._numTangentComponents,t._webgl.tangentType,t._webgl.tangentNormalized,t._tangentStrideOffset[0],t._tangentStrideOffset[1]),e.enableVertexAttribArray(_.tangent)}},e.prototype.setVertexAttribPointerBinormal=function(e,t,i,n){var _=t._webgl.shader;if(void 0!==_.binormal&&t._webgl.buffers[i+x3dom.BUFFER_IDX.BITANGENT]){var r=t._cf.geometry.node;e.bindBuffer(e.ARRAY_BUFFER,t._webgl.buffers[i+x3dom.BUFFER_IDX.BITANGENT]),e.vertexAttribPointer(_.binormal,r._mesh._numBinormalComponents,t._webgl.binormalType,t._webgl.binormalNormalized,t._binormalStrideOffset[0],t._binormalStrideOffset[1]),e.enableVertexAttribArray(_.binormal)}},e.prototype.setTonemappingOperator=function(e,t){switch(e._scene.getEnvironment()._vf.tonemapping){case"none":t.tonemappingOperator=0;break;case"reinhard":t.tonemappingOperator=1;break;case"uncharted":t.tonemappingOperator=2;break;case"filmic":t.tonemappingOperator=3;break;default:t.tonemappingOperator=0}},function(t,i){var n=["webgl2","webgl","experimental-webgl","moz-webgl","webkit-3d"],_=/mac|ip(hone|od|ad)/i.test(navigator.platform),r=/safari/i.test(navigator.userAgent),o=/trident\//i.test(navigator.userAgent);_&&n.splice(0,1);for(var s=null,a=i.getElementsByTagName("Environment"),p={alpha:!0,depth:!0,stencil:!0,antialias:!!!(a&&a[0]&&a[0].hasAttribute("SSAO")&&"true"===a[0].getAttribute("SSAO").toLowerCase()),premultipliedAlpha:!1,preserveDrawingBuffer:!0,failIfMajorPerformanceCaveat:!0},l=0;l<n.length;l++)try{if(x3dom.caps.RENDERMODE="HARDWARE ("+n[l]+")",(s=t.getContext(n[l],p))||(x3dom.caps.RENDERMODE="SOFTWARE",p.failIfMajorPerformanceCaveat=!1,s=t.getContext(n[l],p),p.failIfMajorPerformanceCaveat=!0),s){var d=new e(s,t,"webgl",i);try{x3dom.caps.VENDOR=s.getParameter(s.VENDOR),x3dom.caps.VERSION=s.getParameter(s.VERSION),x3dom.caps.WEBGL_VERSION=-1===x3dom.caps.VERSION.indexOf("WebGL 2.0")?1:2,x3dom.caps.RENDERER=s.getParameter(s.RENDERER),x3dom.caps.SHADING_LANGUAGE_VERSION=s.getParameter(s.SHADING_LANGUAGE_VERSION),x3dom.caps.RED_BITS=s.getParameter(s.RED_BITS),x3dom.caps.GREEN_BITS=s.getParameter(s.GREEN_BITS),x3dom.caps.BLUE_BITS=s.getParameter(s.BLUE_BITS),x3dom.caps.ALPHA_BITS=s.getParameter(s.ALPHA_BITS),x3dom.caps.DEPTH_BITS=s.getParameter(s.DEPTH_BITS),x3dom.caps.MAX_VERTEX_ATTRIBS=s.getParameter(s.MAX_VERTEX_ATTRIBS),x3dom.caps.MAX_VERTEX_TEXTURE_IMAGE_UNITS=s.getParameter(s.MAX_VERTEX_TEXTURE_IMAGE_UNITS),x3dom.caps.MAX_VARYING_VECTORS=s.getParameter(s.MAX_VARYING_VECTORS),x3dom.caps.MAX_VERTEX_UNIFORM_VECTORS=s.getParameter(s.MAX_VERTEX_UNIFORM_VECTORS),x3dom.caps.MAX_COMBINED_TEXTURE_IMAGE_UNITS=s.getParameter(s.MAX_COMBINED_TEXTURE_IMAGE_UNITS),x3dom.caps.MAX_TEXTURE_SIZE=s.getParameter(s.MAX_TEXTURE_SIZE),x3dom.caps.MAX_TEXTURE_IMAGE_UNITS=s.getParameter(s.MAX_TEXTURE_IMAGE_UNITS),x3dom.caps.MAX_CUBE_MAP_TEXTURE_SIZE=s.getParameter(s.MAX_CUBE_MAP_TEXTURE_SIZE),x3dom.caps.COMPRESSED_TEXTURE_FORMATS=s.getParameter(s.COMPRESSED_TEXTURE_FORMATS),x3dom.caps.MAX_RENDERBUFFER_SIZE=s.getParameter(s.MAX_RENDERBUFFER_SIZE),x3dom.caps.MAX_VIEWPORT_DIMS=s.getParameter(s.MAX_VIEWPORT_DIMS),x3dom.caps.ALIASED_LINE_WIDTH_RANGE=s.getParameter(s.ALIASED_LINE_WIDTH_RANGE),x3dom.caps.ALIASED_POINT_SIZE_RANGE=s.getParameter(s.ALIASED_POINT_SIZE_RANGE),x3dom.caps.SAMPLES=s.getParameter(s.SAMPLES),x3dom.caps.COMPRESSED_TEXTURE=s.getExtension("WEBGL_compressed_texture_s3tc"),x3dom.caps.INDEX_UINT=s.getExtension("OES_element_index_uint"),x3dom.caps.FP_TEXTURES=s.getExtension("OES_texture_float"),x3dom.caps.FPL_TEXTURES=s.getExtension("OES_texture_float_linear"),x3dom.caps.HFP_TEXTURES=s.getExtension("OES_texture_half_float"),x3dom.caps.COLOR_BUFFER_FLOAT=s.getExtension("WEBGL_color_buffer_float"),x3dom.caps.HFPL_TEXTURES=s.getExtension("OES_texture_half_float_linear"),x3dom.caps.STD_DERIVATIVES=s.getExtension("OES_standard_derivatives"),x3dom.caps.DRAW_BUFFERS=s.getExtension("WEBGL_draw_buffers"),x3dom.caps.DEPTH_TEXTURE=s.getExtension("WEBGL_depth_texture"),x3dom.caps.DEBUGRENDERINFO=s.getExtension("WEBGL_debug_renderer_info"),x3dom.caps.ANISOTROPIC=s.getExtension("EXT_texture_filter_anisotropic"),x3dom.caps.TEXTURE_LOD=s.getExtension("EXT_shader_texture_lod"),x3dom.caps.INSTANCED_ARRAYS=s.getExtension("ANGLE_instanced_arrays"),x3dom.caps.ANISOTROPIC&&(x3dom.caps.MAX_ANISOTROPY=s.getParameter(x3dom.caps.ANISOTROPIC.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),x3dom.caps.EXTENSIONS=s.getSupportedExtensions(),x3dom.Utils.isWebGL2Enabled()&&(x3dom.caps.DEPTH_TEXTURE=null,x3dom.caps.INDEX_UINT=!0),x3dom.caps.DEBUGRENDERINFO?(x3dom.caps.UNMASKED_RENDERER_WEBGL=s.getParameter(x3dom.caps.DEBUGRENDERINFO.UNMASKED_RENDERER_WEBGL),x3dom.caps.UNMASKED_VENDOR_WEBGL=s.getParameter(x3dom.caps.DEBUGRENDERINFO.UNMASKED_VENDOR_WEBGL)):(x3dom.caps.UNMASKED_RENDERER_WEBGL="",x3dom.caps.UNMASKED_VENDOR_WEBGL="");var c=x3dom.caps.EXTENSIONS.toString().replace(/,/g,", ");x3dom.debug.logInfo(n[l]+" context found\nVendor: "+x3dom.caps.VENDOR+" "+x3dom.caps.UNMASKED_VENDOR_WEBGL+", Renderer: "+x3dom.caps.RENDERER+" "+x3dom.caps.UNMASKED_RENDERER_WEBGL+", Version: "+x3dom.caps.VERSION+", ShadingLangV.: "+x3dom.caps.SHADING_LANGUAGE_VERSION+", MSAA samples: "+x3dom.caps.SAMPLES+"\nExtensions: "+c),x3dom.caps.INDEX_UINT&&(x3dom.Utils.maxIndexableCoords=4294967295),_&&(x3dom.caps.HFP_TEXTURES=!1,x3dom.caps.FP_TEXTURES=!1),r&&(x3dom.caps.TEXTURE_LOD=!1),o&&(x3dom.caps.INSTANCED_ARRAYS=!1)}catch(e){x3dom.debug.logWarning("Your browser probably supports an older WebGL version."),d=null}return d}}catch(e){x3dom.debug.logWarning(e)}return null}}(),x3dom.SSAO={},x3dom.SSAO.isEnabled=function(e){return e.getEnvironment()._vf.SSAO},x3dom.SSAO.reinitializeShadersIfNecessary=function(e){void 0===x3dom.SSAO.shaderProgram&&(x3dom.SSAO.shaderProgram=x3dom.Utils.wrapProgram(e,new x3dom.shader.SSAOShader(e),"ssao")),void 0===x3dom.SSAO.blurShaderProgram&&(x3dom.SSAO.blurShaderProgram=x3dom.Utils.wrapProgram(e,new x3dom.shader.SSAOBlurShader(e),"ssao-blur"))},x3dom.SSAO.reinitializeRandomTextureIfNecessary=function(e,t){var i=t.getEnvironment()._vf.SSAOrandomTextureSize!=x3dom.SSAO.currentRandomTextureSize;if(void 0===x3dom.SSAO.randomTexture&&(x3dom.SSAO.randomTexture=e.createTexture()),void 0===x3dom.SSAO.randomTexture||i){e.bindTexture(e.TEXTURE_2D,x3dom.SSAO.randomTexture);for(var n=x3dom.SSAO.currentRandomTextureSize=t.getEnvironment()._vf.SSAOrandomTextureSize,_=new ArrayBuffer(n*n*4),r=new Uint8Array(_),o=0;o<n*n;++o){var s=2*Math.random()-1,a=2*Math.random()-1,p=Math.sqrt(s*s+a*a+0);s/=p,a/=p,r[4*o]=.5*(s+1)*255,r[4*o+1]=.5*(a+1)*255,r[4*o+2]=127.5,r[4*o+3]=255}e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,n,0,e.RGBA,e.UNSIGNED_BYTE,r),e.bindTexture(e.TEXTURE_2D,null)}},x3dom.SSAO.reinitializeFBOIfNecessary=function(e,t){var i=x3dom.SSAO.currentFBOWidth!=t.width||x3dom.SSAO.currentFBOHeight!=t.height;if(void 0===x3dom.SSAO.fbo||i){x3dom.SSAO.currentFBOWidth=t.width,x3dom.SSAO.currentFBOHeight=t.height;var n=e.getParameter(e.FRAMEBUFFER_BINDING);void 0===x3dom.SSAO.fbo&&(x3dom.SSAO.fbo=e.createFramebuffer()),e.bindFramebuffer(e.FRAMEBUFFER,x3dom.SSAO.fbo),void 0===x3dom.SSAO.fbotex&&(x3dom.SSAO.fbotex=e.createTexture()),e.bindTexture(e.TEXTURE_2D,x3dom.SSAO.fbotex),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,x3dom.SSAO.currentFBOWidth,x3dom.SSAO.currentFBOHeight,0,e.RGBA,e.UNSIGNED_BYTE,null),e.bindTexture(e.TEXTURE_2D,null),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,x3dom.SSAO.fbotex,0),e.bindFramebuffer(e.FRAMEBUFFER,n)}},x3dom.SSAO.render=function(e,t,i,n,_,r){var o=t.getParameter(t.FRAMEBUFFER_BINDING);null!=r&&t.bindFramebuffer(t.FRAMEBUFFER,r),e.frontFace(t.CCW),e.disable(t.CULL_FACE),e.disable(t.DEPTH_TEST);var s=x3dom.SSAO.shaderProgram;e.useProgram(s),s.depthTexture=0,s.randomTexture=1,s.radius=i.getEnvironment()._vf.SSAOradius,s.randomTextureTilingFactor=[_.width/x3dom.SSAO.currentRandomTextureSize,_.height/x3dom.SSAO.currentRandomTextureSize];var a=i.getViewpoint(),p=a.getNear(),l=a.getFar();s.nearPlane=p,s.farPlane=l,s.depthReconstructionConstantA=(l+p)/(p-l),s.depthReconstructionConstantB=2*l*p/(p-l),s.depthBufferEpsilon=1e-4*(l-p),s.samples=[.03800223814729654,.10441029119843426,-.04479934806797181,-.03800223814729654,-.10441029119843426,.04479934806797181,-.17023209847088397,.1428416910414532,.6154407640895228,.17023209847088397,-.1428416910414532,-.6154407640895228,-.288675134594813,-.16666666666666646,-.3774214123135722,.288675134594813,.16666666666666646,.3774214123135722,.07717696785196887,-.43769233467209245,-.5201284112706428,-.07717696785196887,.43769233467209245,.5201284112706428,.5471154183401156,-.09647120981496134,-.15886420745887797,-.5471154183401156,.09647120981496134,.15886420745887797,.3333333333333342,.5773502691896253,-.8012446019636266,-.3333333333333342,-.5773502691896253,.8012446019636266,-.49994591864508653,.5958123446480936,-.15385106176844343,.49994591864508653,-.5958123446480936,.15385106176844343,-.8352823295874743,-.3040179051783715,.7825440557226517,.8352823295874743,.3040179051783715,-.7825440557226517],s.tex||(s.tex=0),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,x3dom.SSAO.randomTexture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,i._fgnd._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),t.bindBuffer(t.ARRAY_BUFFER,i._fgnd._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),t.vertexAttribPointer(s.position,3,t.FLOAT,!1,0,0),t.enableVertexAttribArray(s.position),t.drawElements(i._fgnd._webgl.primType,i._fgnd._webgl.indexes.length,t.UNSIGNED_SHORT,0),t.disableVertexAttribArray(s.position),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,null),null!=r&&t.bindFramebuffer(t.FRAMEBUFFER,o)},x3dom.SSAO.blur=function(e,t,i,n,_,r,o){var s=t.getParameter(t.FRAMEBUFFER_BINDING);null!=o&&t.bindFramebuffer(t.FRAMEBUFFER,o),e.frontFace(t.CCW),e.disable(t.CULL_FACE),e.disable(t.DEPTH_TEST);var a=x3dom.SSAO.blurShaderProgram;e.useProgram(a),a.SSAOTexture=0,a.depthTexture=1,a.depthThreshold=i.getEnvironment()._vf.SSAOblurDepthTreshold;var p=i.getViewpoint(),l=p.getNear(),d=p.getFar();a.nearPlane=l,a.farPlane=d,a.depthReconstructionConstantA=(d+l)/(l-d),a.depthReconstructionConstantB=2*d*l/(l-d),a.pixelSize=[1/r.width,1/r.height],a.amount=i.getEnvironment()._vf.SSAOamount,t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,_),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,i._fgnd._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),t.bindBuffer(t.ARRAY_BUFFER,i._fgnd._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),t.vertexAttribPointer(a.position,3,t.FLOAT,!1,0,0),t.enableVertexAttribArray(a.position),t.drawElements(i._fgnd._webgl.primType,i._fgnd._webgl.indexes.length,t.UNSIGNED_SHORT,0),t.disableVertexAttribArray(a.position),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,null),null!=o&&t.bindFramebuffer(t.FRAMEBUFFER,s)},x3dom.SSAO.renderSSAO=function(e,t,i,n){this.reinitializeShadersIfNecessary(t),this.reinitializeRandomTextureIfNecessary(t,i),this.reinitializeFBOIfNecessary(t,n),e.viewport(0,0,n.width,n.height),this.render(e,t,i,i._webgl.fboScene.tex,n,x3dom.SSAO.fbo),t.enable(t.BLEND),t.blendFunc(t.DST_COLOR,t.ONE_MINUS_SRC_ALPHA),this.blur(e,t,i,x3dom.SSAO.fbotex,i._webgl.fboScene.tex,n,null),t.disable(t.BLEND)},x3dom.runtime={},x3dom.Runtime=function(e,t){this.doc=e,this.canvas=t,this.config={},this.isReady=!1,this.fps=0,this.VRMode=!1,this.states={measurements:[],infos:[]}},x3dom.Runtime.prototype.addMeasurement=function(e,t){this.states.measurements[e]=t},x3dom.Runtime.prototype.removeMeasurement=function(e){this.states.measurements[e]&&delete this.states.measurements[e]},x3dom.Runtime.prototype.addInfo=function(e,t){this.states.infos[e]=t},x3dom.Runtime.prototype.removeInfo=function(e){delete this.states.infos[e]},x3dom.Runtime.prototype.initialize=function(e,t){this.doc=e,this.canvas=t,this.config={},this.isReady=!1,this.fps=0},x3dom.Runtime.prototype.noBackendFound=function(){x3dom.debug.logInfo("No backend found. Unable to render.")},x3dom.Runtime.prototype.ready=function(){x3dom.debug.logInfo("System ready.")},x3dom.Runtime.prototype.enterFrame=function(){},x3dom.Runtime.prototype.exitFrame=function(){},x3dom.Runtime.prototype.triggerRedraw=function(){this.canvas.doc.needRender=!0},x3dom.Runtime.prototype.getActiveBindable=function(e){var t,i,n,_,r;if(t=this.canvas.doc._bindableBag._stacks,_=[],!(r=x3dom.nodeTypesLC[e.toLowerCase()]))return x3dom.debug.logError('No node of type "'+e+'" found.'),null;for(i=0;i<t.length;i++)void 0!==(n=t[i].getActive())._xmlNode&&x3dom.isa(n,r)&&_.push(n);return _[0]?_[0]._xmlNode:null},x3dom.Runtime.prototype.nextView=function(){var e=this.canvas.doc._scene.getViewpoint()._stack;e?e.switchTo("next"):x3dom.debug.logError("No valid ViewBindable stack.")},x3dom.Runtime.prototype.prevView=function(){var e=this.canvas.doc._scene.getViewpoint()._stack;e?e.switchTo("prev"):x3dom.debug.logError("No valid ViewBindable stack.")},x3dom.Runtime.prototype.viewpoint=function(){return this.canvas.doc._scene.getViewpoint()},x3dom.Runtime.prototype.viewMatrix=function(){return this.canvas.doc._viewarea.getViewMatrix()},x3dom.Runtime.prototype.projectionMatrix=function(){return this.canvas.doc._viewarea.getProjectionMatrix()},x3dom.Runtime.prototype.getWorldToCameraCoordinatesMatrix=function(){return this.canvas.doc._viewarea.getWCtoCCMatrix()},x3dom.Runtime.prototype.getCameraToWorldCoordinatesMatrix=function(){return this.canvas.doc._viewarea.getCCtoWCMatrix()},x3dom.Runtime.prototype.getViewingRay=function(e,t){return this.canvas.doc._viewarea.calcViewRay(e,t)},x3dom.Runtime.prototype.shootRay=function(e,t){var i=this.canvas.doc,n=i._viewarea._pickingInfo;return i.onPick(this.canvas.gl,e,t),{pickPosition:n.pickObj?n.pickPos:null,pickNormal:n.pickObj?n.pickNorm:null,pickObject:n.pickObj?n.pickObj._xmlNode:null}},x3dom.Runtime.prototype.getWidth=function(){return this.canvas.doc._viewarea._width},x3dom.Runtime.prototype.getHeight=function(){return this.canvas.doc._viewarea._height},x3dom.Runtime.prototype.mousePosition=function(e){var t=this.canvas.mousePosition(e);return[t.x,t.y]},x3dom.Runtime.prototype.calcCanvasPos=function(e,t,i){var n=window.devicePixelRatio||1,_=new x3dom.fields.SFVec3f(e,t,i),r=this.canvas.doc._viewarea.getWCtoCCMatrix().multFullMatrixPnt(_),o=this.canvas.doc._viewarea._width/n,s=this.canvas.doc._viewarea._height/n;return[Math.round((r.x+1)*(o-1)/2),Math.round((s-1)*(1-r.y)/2)]},x3dom.Runtime.prototype.calcPagePos=x3dom.Runtime.prototype.calcCanvasPos,x3dom.Runtime.prototype.getBBoxPoints=function(){var e=this.canvas.doc._scene;return e.updateVolume(),[{x:e._lastMin.x,y:e._lastMin.y,z:e._lastMin.z},{x:e._lastMax.x,y:e._lastMin.y,z:e._lastMin.z},{x:e._lastMin.x,y:e._lastMax.y,z:e._lastMin.z},{x:e._lastMax.x,y:e._lastMax.y,z:e._lastMin.z},{x:e._lastMin.x,y:e._lastMin.y,z:e._lastMax.z},{x:e._lastMax.x,y:e._lastMin.y,z:e._lastMax.z},{x:e._lastMin.x,y:e._lastMax.y,z:e._lastMax.z},{x:e._lastMax.x,y:e._lastMax.y,z:e._lastMax.z}]},x3dom.Runtime.prototype.getSceneBRect=function(){for(var e={x:Number.MAX_VALUE,y:Number.MAX_VALUE},t={x:Number.MIN_VALUE,y:Number.MIN_VALUE},i=this.getBBoxPoints(),n=0;n<i.length;n++){var _=this.calcCanvasPos(i[n].x,i[n].y,i[n].z);e.x=_[0]<e.x?_[0]:e.x,e.y=_[1]<e.y?_[1]:e.y,t.x=_[0]>t.x?_[0]:t.x,t.y=_[1]>t.y?_[1]:t.y}return{x:e.x,y:e.y,width:t.x-e.x,height:t.y-e.y}},x3dom.Runtime.prototype.calcClientPos=function(e,t,i){var n=this.canvas.canvas.offsetParent;if(!n)return x3dom.debug.logError("Can't calc client pos without offsetParent."),[0,0];var _=n.getBoundingClientRect(),r=this.calcCanvasPos(e,t,i),o=document.defaultView.getComputedStyle(n,null),s=parseFloat(o.getPropertyValue("padding-left")),a=parseFloat(o.getPropertyValue("border-left-width")),p=parseFloat(o.getPropertyValue("padding-top")),l=parseFloat(o.getPropertyValue("border-top-width"));return[_.left+s+a+r[0],_.top+p+l+r[1]]},x3dom.Runtime.prototype.getScreenshot=function(){var e="",t=this.canvas.backend,i=this.canvas.canvas;if(i)if("flash"==t)e=i.getScreenshot();else{var n=document.createElement("canvas");n.width=i.width,n.height=i.height;var _=n.getContext("2d");_.drawImage(i,0,0,i.width,i.height),_.scale(1,-1),_.translate(0,-i.height),e=n.toDataURL()}return e},x3dom.Runtime.prototype.getCanvas=function(){return this.canvas.canvas},x3dom.Runtime.prototype.lightMatrix=function(){this.canvas.doc._viewarea.getLightMatrix()},x3dom.Runtime.prototype.resetView=function(){this.canvas.doc._viewarea.resetView()},x3dom.Runtime.prototype.lightView=function(){return this.canvas.doc._nodeBag.lights.length>0?(this.canvas.doc._viewarea.animateTo(this.canvas.doc._viewarea.getLightMatrix()[0],this.canvas.doc._scene.getViewpoint()),!0):(x3dom.debug.logInfo("No lights to navigate to."),!1)},x3dom.Runtime.prototype.uprightView=function(){this.canvas.doc._viewarea.uprightView()},x3dom.Runtime.prototype.fitAll=function(e){void 0===e&&(e=!0);var t=this.canvas.doc._scene;t.updateVolume(),this.canvas.doc._viewarea.fit(t._lastMin,t._lastMax,e)},x3dom.Runtime.prototype.fitObject=function(e,t){if(e&&e._x3domNode){void 0===t&&(t=!0);var i=x3dom.fields.SFVec3f.MAX(),n=x3dom.fields.SFVec3f.MIN();e._x3domNode.getVolume().getBounds(i,n);var _=e._x3domNode.getCurrentTransform();if(i=_.multMatrixPnt(i),n=_.multMatrixPnt(n),x3dom.isa(e._x3domNode,x3dom.nodeTypes.X3DTransformNode)){var r=e._x3domNode._trafo.inverse();i=r.multMatrixPnt(i),n=r.multMatrixPnt(n)}this.canvas.doc._viewarea.fit(i,n,t)}},x3dom.Runtime.prototype.showAll=function(e,t){this.canvas.doc._viewarea.showAll(e,t)},x3dom.Runtime.prototype.showObject=function(e,t){if(e&&e._x3domNode){void 0===t&&(t="negZ");var i=x3dom.fields.SFVec3f.MAX(),n=x3dom.fields.SFVec3f.MIN();e._x3domNode.getVolume().getBounds(i,n);var _=e._x3domNode.getCurrentTransform();i=_.multMatrixPnt(i),n=_.multMatrixPnt(n);var r,o=this.canvas.doc._viewarea,s=o._width<o._height?o._width:o._height;switch(t){case"posX":r=new x3dom.fields.SFVec3f(1,0,0);break;case"negX":r=new x3dom.fields.SFVec3f(-1,0,0);break;case"posY":r=new x3dom.fields.SFVec3f(0,1,0);break;case"negY":r=new x3dom.fields.SFVec3f(0,-1,0);break;case"posZ":r=new x3dom.fields.SFVec3f(0,0,1);break;case"negZ":r=new x3dom.fields.SFVec3f(0,0,-1)}var a=this.canvas.doc._scene.getViewpoint(),p=a.getFieldOfView()/2,l=Math.tan(p);Math.abs(l)>x3dom.fields.Eps&&(s/=l);var d=o._width-1,c=o._height-1,b=.25,u=new x3dom.fields.SFVec2f(b*d,b*c);b=.75;var m=new x3dom.fields.SFVec2f(b*d,b*c),h=n.subtract(i).multiply(.5),f=h.length(),g=i.add(h),C=m.subtract(u).multiply(.5),S=1.5*C.length();C=C.add(u);var y=1;S>x3dom.fields.Eps&&(y=f/S*Math.sqrt(C.x*C.x+C.y*C.y+s*s)),r=(r=_.multMatrixVec(r).normalize()).multiply(y);var v=g.add(r),x=x3dom.fields.Quaternion.rotateFromTo(new x3dom.fields.SFVec3f(0,0,1),r).toMatrix(),M=x3dom.fields.SFMatrix4f.translation(v.negate()),T=x3dom.fields.SFMatrix4f.translation(v),D=(T=T.mult(x).mult(M).mult(T)).inverse();o.animateTo(D,a)}},x3dom.Runtime.prototype.animateViewpointTo=function(e,t){var i=this.canvas.doc._viewarea,n=this.canvas.doc._scene.getViewpoint();null!=e._x3domNode&&(e=e._x3domNode),i.animateTo(e,n,t)},x3dom.Runtime.prototype.getCenter=function(e){return e&&e._x3domNode&&(this.isA(e,"X3DShapeNode")||this.isA(e,"X3DGeometryNode"))?e._x3domNode.getCenter():null},x3dom.Runtime.prototype.getCurrentTransform=function(e){return e&&e._x3domNode?e._x3domNode.getCurrentTransform():null},x3dom.Runtime.prototype.getBBox=function(e){if(e&&e._x3domNode&&this.isA(e,"X3DBoundedObject")){var t=e._x3domNode.getVolume();return{min:x3dom.fields.SFVec3f.copy(t.min),max:x3dom.fields.SFVec3f.copy(t.max)}}return null},x3dom.Runtime.prototype.getSceneBBox=function(){var e=this.canvas.doc._scene;return e.updateVolume(),{min:x3dom.fields.SFVec3f.copy(e._lastMin),max:x3dom.fields.SFVec3f.copy(e._lastMax)}},x3dom.Runtime.prototype.debug=function(e){var t=this.canvas.doc;return void 0===t._viewarea._visDbgBuf&&(t._viewarea._visDbgBuf="true"===t._x3dElem.getAttribute("showLog")),arguments.length>0?!0===e?(t._viewarea._visDbgBuf=!0,x3dom.debug.logContainer.style.display="block"):(t._viewarea._visDbgBuf=!1,x3dom.debug.logContainer.style.display="none"):(t._viewarea._visDbgBuf=!t._viewarea._visDbgBuf,x3dom.debug.logContainer.style.display=1==t._viewarea._visDbgBuf?"block":"none"),t.needRender=!0,t._viewarea._visDbgBuf},x3dom.Runtime.prototype.navigationType=function(){return this.canvas.doc._scene.getNavigationInfo().getType()},x3dom.Runtime.prototype.noNav=function(){this.canvas.doc._scene.getNavigationInfo().setType("none")},x3dom.Runtime.prototype.examine=function(){this.canvas.doc._scene.getNavigationInfo().setType("examine")},x3dom.Runtime.prototype.turnTable=function(){this.canvas.doc._scene.getNavigationInfo().setType("turntable")},x3dom.Runtime.prototype.fly=function(){this.canvas.doc._scene.getNavigationInfo().setType("fly")},x3dom.Runtime.prototype.freeFly=function(){this.canvas.doc._scene.getNavigationInfo().setType("freefly")},x3dom.Runtime.prototype.lookAt=function(){this.canvas.doc._scene.getNavigationInfo().setType("lookat")},x3dom.Runtime.prototype.lookAround=function(){this.canvas.doc._scene.getNavigationInfo().setType("lookaround")},x3dom.Runtime.prototype.walk=function(){this.canvas.doc._scene.getNavigationInfo().setType("walk")},x3dom.Runtime.prototype.game=function(){this.canvas.doc._scene.getNavigationInfo().setType("game")},x3dom.Runtime.prototype.helicopter=function(){this.canvas.doc._scene.getNavigationInfo().setType("helicopter")},x3dom.Runtime.prototype.resetExamin=function(){var e=this.canvas.doc._viewarea;e._rotMat=x3dom.fields.SFMatrix4f.identity(),e._transMat=x3dom.fields.SFMatrix4f.identity(),e._movement=new x3dom.fields.SFVec3f(0,0,0),e._needNavigationMatrixUpdate=!0,this.canvas.doc.needRender=!0},x3dom.Runtime.prototype.disableKeys=function(){this.canvas.disableKeys=!0},x3dom.Runtime.prototype.enableKeys=function(){this.canvas.disableKeys=!1},x3dom.Runtime.prototype.disableLeftDrag=function(){this.canvas.disableLeftDrag=!0},x3dom.Runtime.prototype.enableLeftDrag=function(){this.canvas.disableLeftDrag=!1},x3dom.Runtime.prototype.disableRightDrag=function(){this.canvas.disableRightDrag=!0},x3dom.Runtime.prototype.enableRightDrag=function(){this.canvas.disableRightDrag=!1},x3dom.Runtime.prototype.disableMiddleDrag=function(){this.canvas.disableMiddleDrag=!0},x3dom.Runtime.prototype.enableMiddleDrag=function(){this.canvas.disableMiddleDrag=!1},x3dom.Runtime.prototype.togglePoints=function(e){var t=this.canvas.doc,i=!0===e?3:2;return t._viewarea._points=++t._viewarea._points%i,t.needRender=!0,t._viewarea._points},x3dom.Runtime.prototype.pickRect=function(e,t,i,n){return this.canvas.doc.onPickRect(this.canvas.gl,e,t,i,n)},x3dom.Runtime.prototype.pickMode=function(e){return e&&!0===e.internal?this.canvas.doc._scene._vf.pickMode:this.canvas.doc._scene._vf.pickMode.toLowerCase()},x3dom.Runtime.prototype.changePickMode=function(e){switch(e=e.toLowerCase()){case"idbuf":e="idBuf";break;case"idbuf24":e="idBuf24";break;case"idbufid":e="idBufId";break;case"texcoord":e="texCoord";break;case"color":e="color";break;case"box":e="box";break;default:x3dom.debug.logWarning("Switch pickMode to "+e+" unknown intersect type"),e=void 0}return void 0!==e&&(this.canvas.doc._scene._vf.pickMode=e,x3dom.debug.logInfo("Switched pickMode to '"+e+"'."),!0)},x3dom.Runtime.prototype.speed=function(e){var t=this.canvas.doc._scene.getNavigationInfo();return e&&(t._vf.speed=e,x3dom.debug.logInfo("Changed navigation speed to "+t._vf.speed)),t._vf.speed},x3dom.Runtime.prototype.zoom=function(e){this.canvas.doc._viewarea.zoom(e),this.canvas.doc.needRender=!0},x3dom.Runtime.prototype.statistics=function(e){var t=this.canvas.stateViewer;return!!t&&(this.canvas.doc.needRender=!0,!0===e?(t.display(e),!0):!1===e?(t.display(e),!1):(t.display(!t.active),t.active))},x3dom.Runtime.prototype.processIndicator=function(e){var t=this.canvas.progressDiv;return!!t&&(!0===e?(t.style.display="flex",!0):!1===e?(t.style.display="none",!1):"none"!=t.style.display)},x3dom.Runtime.prototype.properties=function(){return this.canvas.doc.properties},x3dom.Runtime.prototype.backendName=function(){return this.canvas.backend},x3dom.Runtime.prototype.getFPS=function(){return this.fps},x3dom.Runtime.prototype.isA=function(e,t){var i=!1;return t&&e&&e._x3domNode&&(""===t&&(t="X3DNode"),i=x3dom.isa(e._x3domNode,x3dom.nodeTypesLC[t.toLowerCase()])),i},x3dom.Runtime.prototype.getPixelScale=function(){var e=this.viewpoint();if(!x3dom.isa(e,x3dom.nodeTypes.OrthoViewpoint))return x3dom.debug.logError("getPixelScale is only implemented for orthographic Viewpoints"),null;var t=e.getZoom(),i=t[0],n=t[1],_=t[2],r=t[3]-n,o=(_-i)/this.getWidth(),s=r/this.getHeight();return new x3dom.fields.SFVec3f(o,s,0)},x3dom.Runtime.prototype.onAnimationStarted=function(){},x3dom.Runtime.prototype.onAnimationFinished=function(){},x3dom.Runtime.prototype.enterVR=function(){this.canvas.vrDisplay&&!this.canvas.vrDisplay.isPresenting&&this.canvas.vrDisplay.requestPresent([{source:this.canvas.canvas}]).then(function(){this.canvas.doc.needRender=!0}.bind(this))},x3dom.Runtime.prototype.exitVR=function(){this.canvas.vrDisplay&&this.canvas.vrDisplay.isPresenting&&this.canvas.vrDisplay.exitPresent()},x3dom.Runtime.prototype.toggleVR=function(){this.canvas.vrDisplay&&!this.canvas.vrDisplay.isPresenting?this.enterVR():this.canvas.vrDisplay&&this.canvas.vrDisplay.isPresenting&&this.exitVR()},x3dom.Runtime.prototype.toggleProjection=function(e,t){var i,n=document.getElementById("x3d").runtime.canvas.doc._scene.getNavigationInfo(),_=n._vf.transitionTime,r=document.getElementById(e)._x3domNode,o=document.getElementById(t)._x3domNode;if(n._vf.transitionTime=0,o._bindAnimation=!1,r._bindAnimation=!1,r._vf.isActive)o._viewMatrix=r._viewMatrix,document.getElementById(t).setAttribute("set_bind","true"),i=r._viewMatrix.e3().length()/2.2,o.setZoom(i);else if(o._vf.isActive){r._viewMatrix=o._viewMatrix,document.getElementById(e).setAttribute("set_bind","true"),i=-2.2*o._fieldOfView[2];var s=o._viewMatrix.e2().normalize().multiply(i);r._viewMatrix.setTranslate(s)}return n._vf.transitionTime=_,o._bindAnimation=!0,r._bindAnimation=!0,r._vf.isActive?0:1},x3dom.Runtime.prototype.replaceWorld=function(e){for(var t,i,n=this.doc.cloneNode(!1);t=e.firstChild;)"HEAD"==(i=1===t.nodeType?t.localName.toUpperCase():null)||"SCENE"==i?n.appendChild(t):t.remove();this.doc.parentNode.replaceChild(n,this.doc),this.doc=n,x3dom.reload()},x3dom.Runtime.prototype.createX3DFromJS=function(e,t){return t&&(e=x3dom.protoExpander.prototypeExpander(t,e)),(new x3dom.JSONParser).parseJavaScript(e)},x3dom.Runtime.prototype.createX3DFromString=function(e,t){try{var i=JSON.parse(e);return this.createX3DFromJS(i,t)}catch(t){var n=new DOMParser,_=n.parseFromString(e,"application/xml"),r=_.querySelector("X3D");return null==r&&(r=(_=n.parseFromString(e,"text/html")).querySelector("X3D")),r}},x3dom.Runtime.prototype.createX3DFromURLPromise=function(e,t){this.canvas.doc.incrementDownloads();var i=this;return fetch(e).then((function(e){return e.text()})).then((function(e){return i.canvas.doc.decrementDownloads(),i.createX3DFromString(e,t)})).catch((function(e){return i.canvas.doc.decrementDownloads(),x3dom.debug.logError("fetch failed: "+e),null}))},x3dom.Runtime.prototype.loadURL=function(e,t){var i=this;this.createX3DFromURLPromise(e,t).then((function(t){null!=t?i.replaceWorld(t):x3dom.debug.logError("loadURL: could not fetch or parse "+e)}))},x3dom.userAgentFeature={supportsDOMAttrModified:!1},function(){"use strict";var e=function(){var e,t,i,n=document.getElementsByTagName("X3D"),_=[];for(e=0;e<n.length;e++)void 0===n[e].hasRuntime&&_.push(n[e]);var r,o,s,a,p,l,d,c=new x3dom.Properties,b=array_to_object(["showLog","showStat","showProgress","PrimitiveQuality","components","loadpath","disableDoubleClick","backend","altImg","runtimeEnabled","disableKeys","showTouchpoints","disableTouch","maxActiveDownloads","useGeoCache"]),u=!1;for(e=0;e<_.length;e++){for(c.setProperty("showLog",_[e].getAttribute("showLog")||"false"),c.setProperty("showStat",_[e].getAttribute("showStat")||"false"),c.setProperty("showProgress",_[e].getAttribute("showProgress")||"true"),c.setProperty("PrimitiveQuality",_[e].getAttribute("PrimitiveQuality")||"High"),c.setProperty("useGeoCache",_[e].getAttribute("useGeoCache")||"true"),i=_[e].getElementsByTagName("PARAM"),t=0;t<i.length;t++)i[t].getAttribute("name")in b&&c.setProperty(i[t].getAttribute("name"),i[t].getAttribute("value"));"true"===c.getProperty("showLog")&&(u=!0)}for(1==u?x3dom.debug.activate(!0):x3dom.debug.activate(!1),_=_.map((function(e){return e.hasRuntime=!0,e})),void 0!==x3dom.about&&x3dom.debug.logInfo("X3DOM "+x3dom.about.version+", Build: "+x3dom.about.build+", Revison: <a href='https://github.com/x3dom/x3dom/tree/"+x3dom.about.revision+"'>"+x3dom.about.revision+"</a>, Date: "+x3dom.about.date),x3dom.debug.logInfo("Found "+_.length+" X3D and nodes..."),e=0;e<_.length;e++)r=_[e],o=new x3dom.X3DCanvas(r,x3dom.canvases.length),x3dom.canvases.push(o),null!==o.gl?(l=(new Date).getTime(),_[e].runtime=new x3dom.Runtime(_[e],o),_[e].runtime.initialize(_[e],o),x3dom.runtime.ready&&(_[e].runtime.ready=x3dom.runtime.ready),""==o.backend&&x3dom.runtime.noBackendFound(),o.load(_[e],e,c),"true"===c.getProperty("showStat")?_[e].runtime.statistics(!0):_[e].runtime.statistics(!1),"true"===c.getProperty("showProgress")?("bar"===c.getProperty("showProgress")&&o.progressDiv.setAttribute("class","x3dom-progress bar"),_[e].runtime.processIndicator(!0)):_[e].runtime.processIndicator(!1),d=(new Date).getTime()-l,x3dom.debug.logInfo("Time for setup and init of GL element no. "+e+": "+d+" ms.")):((s=document.createElement("div")).setAttribute("class","x3dom-nox3d"),s.setAttribute("id","x3dom-nox3d"),(a=document.createElement("p")).appendChild(document.createTextNode("WebGL is not yet supported in your browser. ")),(p=document.createElement("a")).setAttribute("href","http://www.x3dom.org/?page_id=9"),p.appendChild(document.createTextNode("Follow link for a list of supported browsers... ")),s.appendChild(a),s.appendChild(p),o.x3dElem.appendChild(s),o.stateViewer&&r.removeChild(o.stateViewer.viewer));var m;m=null,document.createEvent?((m=document.createEvent("Events")).initEvent("load",!0,!0),document.dispatchEvent(m)):document.createEventObject&&(m=document.createEventObject(),document.body.fireEvent("onload",m))},t=function(){if(x3dom.canvases&&x3dom.canvases.length>0&&x3dom.canvases[0].doc){for(var e=0;e<x3dom.canvases.length;e++)x3dom.canvases[e].doc.shutdown(x3dom.canvases[e].gl);x3dom.canvases=[]}};x3dom.reload=function(){e()},window.addEventListener?(window.addEventListener("load",e,!1),window.addEventListener("unload",t,!1),window.addEventListener("reload",t,!1)):window.attachEvent&&(window.attachEvent("onload",e),window.attachEvent("onunload",t),window.attachEvent("onreload",t)),"complete"===document.readyState&&window.setTimeout((function(){e()}),20)}(),x3dom.Cache=function(){this.textures=[],this.shaders=[]},x3dom.Cache.prototype.getTexture2D=function(e,t,i,n,_,r,o,s,a){var p=i;return void 0===this.textures[p]&&(this.textures[p]=x3dom.Utils.createTexture2D(e,t,i,n,_,r,o,s,a)),this.textures[p]},x3dom.Cache.prototype.getTexture2DByDEF=function(e,t,i){var n=t.name+"_"+i;return void 0===this.textures[n]&&(this.textures[n]=e.createTexture()),this.textures[n]},x3dom.Cache.prototype.getTextureCube=function(e,t,i,n,_,r,o,s){for(var a="",p=0;p<i.length;++p)a+=i[p]+"|";return void 0===this.textures[a]&&(this.textures[a]=x3dom.Utils.createTextureCube(e,t,i,n,_,r,o,s)),this.textures[a]},x3dom.Cache.prototype.getShader=function(e,t){var i=null;if(void 0===this.shaders[t]){switch(t){case x3dom.shader.PICKING:i=new x3dom.shader.PickingShader(e);break;case x3dom.shader.PICKING_24:i=new x3dom.shader.Picking24Shader(e);break;case x3dom.shader.PICKING_ID:i=new x3dom.shader.PickingIdShader(e);break;case x3dom.shader.PICKING_COLOR:i=new x3dom.shader.PickingColorShader(e);break;case x3dom.shader.PICKING_TEXCOORD:i=new x3dom.shader.PickingTexcoordShader(e);break;case x3dom.shader.FRONTGROUND_TEXTURE:i=new x3dom.shader.FrontgroundTextureShader(e);break;case x3dom.shader.BACKGROUND_TEXTURE:i=new x3dom.shader.BackgroundTextureShader(e);break;case x3dom.shader.BACKGROUND_SKYTEXTURE:i=new x3dom.shader.BackgroundSkyTextureShader(e);break;case x3dom.shader.BACKGROUND_CUBETEXTURE:i=new x3dom.shader.BackgroundCubeTextureShader(e);break;case x3dom.shader.BACKGROUND_CUBETEXTURE_DDS:i=new x3dom.shader.BackgroundCubeTextureDDSShader(e);break;case x3dom.shader.SHADOW:i=new x3dom.shader.ShadowShader(e);break;case x3dom.shader.BLUR:i=new x3dom.shader.BlurShader(e);break;case x3dom.shader.DEPTH:break;case x3dom.shader.NORMAL:i=new x3dom.shader.NormalShader(e);break;case x3dom.shader.TEXTURE_REFINEMENT:i=new x3dom.shader.TextureRefinementShader(e)}i?this.shaders[t]=x3dom.Utils.wrapProgram(e,i,t):x3dom.debug.logError("Couldn't create shader: "+t)}return this.shaders[t]},x3dom.Cache.prototype.getDynamicShader=function(e,t,i){var n=x3dom.Utils.generateProperties(t,i),_=n.id;if(void 0===this.shaders[_]){var r=null;r=-1!=n.CSHADER?new x3dom.shader.ComposedShader(e,i):new x3dom.shader.DynamicShader(e,n),this.shaders[_]=x3dom.Utils.wrapProgram(e,r,_)}return this.shaders[_]},x3dom.Cache.prototype.getShaderByProperties=function(e,t,i,n,_){var r=i.id;if(null!=n&&(r+=n),null!=_&&(r+="S"),void 0===this.shaders[r]){var o=null;if(null!=n)o=new x3dom.shader.DynamicShaderPicking(e,i,n);else if(null!=_)o=new x3dom.shader.DynamicShadowShader(e,i);else if(-1!=i.CSHADER)o=new x3dom.shader.ComposedShader(e,t);else if(null!=i.KHR_MATERIAL_COMMONS&&0!=i.KHR_MATERIAL_COMMONS)o=new x3dom.shader.KHRMaterialCommonsShader(e,i);else{if(null!=i.EMPTY_SHADER&&0!=i.EMPTY_SHADER)return{shaderID:r};o=new x3dom.shader.DynamicShader(e,i)}this.shaders[r]=x3dom.Utils.wrapProgram(e,o,r)}return this.shaders[r]},x3dom.Cache.prototype.getShadowRenderingShader=function(e,t){for(var i="shadow",n=0;n<t.length;n++)x3dom.isa(t[n],x3dom.nodeTypes.SpotLight)?i+="S":x3dom.isa(t[n],x3dom.nodeTypes.PointLight)?i+="P":i+="D";if(void 0===this.shaders[i]){var _=new x3dom.shader.ShadowRenderingShader(e,t);this.shaders[i]=x3dom.Utils.wrapProgram(e,_,i)}return this.shaders[i]},x3dom.Cache.prototype.Release=function(e){for(var t in this.textures)e.deleteTexture(this.textures[t]);for(var i in this.textures=[],this.shaders){for(var n=this.shaders[i],_=e.getAttachedShaders(n.program),r=0;r<_.length;++r)e.detachShader(n.program,_[r]),e.deleteShader(_[r]);e.deleteProgram(n.program)}this.shaders=[]},x3dom.Texture=function(e,t,i,n){this.gl=e,this.doc=t,this.cache=i,this.node=n,this.samplerName="diffuseMap",this.type=e.TEXTURE_2D,this.format=e.RGBA,this.magFilter=e.LINEAR,this.minFilter=e.LINEAR,this.wrapS=e.REPEAT,this.wrapT=e.REPEAT,this.genMipMaps=!1,this.texture=null,this.ready=!1,this.anisotropicDegree=1,this.dashtexture=!1;var _=this.node;if(this.node._x3domTexture=this,x3dom.isa(_,x3dom.nodeTypes.MovieTexture)&&-1!==_._vf.url[0].indexOf("mpd",_._vf.url[0].length-"mpd".length)){this.dashtexture=!0;var r=document.getElementById("AdditionalDashVideoScript");r||((r=document.createElement("script")).setAttribute("type","text/javascript"),r.setAttribute("src",x3dom.Texture.dashVideoScriptFile),r.setAttribute("id","AdditionalDashVideoScript"),r.onload=function(){for(var e;e=x3dom.Texture.loadDashVideos.pop();)x3dom.Texture.textNum++,e.update();r.ready=!0},document.getElementsByTagName("head")[0].appendChild(r)),!0===r.ready?(x3dom.Texture.textNum++,this.update()):x3dom.Texture.loadDashVideos.push(this)}this.dashtexture||this.update()},x3dom.Texture.dashVideoScriptFile="dash.all.js",x3dom.Texture.loadDashVideos=[],x3dom.Texture.textNum=0,x3dom.Texture.clampFontSize=!1,x3dom.Texture.minFontQuality=.5,x3dom.Texture.maxFontQuality=10,x3dom.Texture.prototype.update=function(){x3dom.isa(this.node,x3dom.nodeTypes.Text)?this.updateText():this.updateTexture(),this.node.validateGLObject()},x3dom.Texture.prototype.setPixel=function(e,t,i,n){var _=this.gl,r=new Uint8Array(i);_.bindTexture(this.type,this.texture),_.pixelStorei(_.UNPACK_ALIGNMENT,1),_.texSubImage2D(this.type,0,e,t,1,1,this.format,_.UNSIGNED_BYTE,r),_.bindTexture(this.type,null),n&&(this.doc.needRender=!0)},x3dom.Texture.prototype.updateTexture=function(){var e=this.gl,t=this.doc,i=this.node;if(this.samplerName=i._type,x3dom.isa(i,x3dom.nodeTypes.X3DEnvironmentTextureNode)?this.type=e.TEXTURE_CUBE_MAP:this.type=e.TEXTURE_2D,x3dom.isa(i,x3dom.nodeTypes.PixelTexture))switch(i._vf.image.comp){case 1:this.format=e.LUMINANCE;break;case 2:this.format=e.LUMINANCE_ALPHA;break;case 3:this.format=e.RGB;break;case 4:this.format=e.RGBA}else this.format=e.RGBA;if(null!==i._cf.textureProperties.node){var n=i._cf.textureProperties.node;this.wrapS=x3dom.Utils.boundaryModesDic(e,n._vf.boundaryModeS),this.wrapT=x3dom.Utils.boundaryModesDic(e,n._vf.boundaryModeT),this.minFilter=x3dom.Utils.minFilterDic(e,n._vf.minificationFilter),this.magFilter=x3dom.Utils.magFilterDic(e,n._vf.magnificationFilter),this.anisotropicDegree=Math.min(Math.max(n._vf.anisotropicDegree,1),x3dom.caps.MAX_ANISOTROPY),!0===n._vf.generateMipMaps?(this.genMipMaps=!0,this.minFilter==e.NEAREST?this.minFilter=e.NEAREST_MIPMAP_NEAREST:this.minFilter==e.LINEAR&&(this.minFilter=e.LINEAR_MIPMAP_LINEAR),this.texture&&(this.texture.ready||this.texture.textureCubeReady)&&(e.bindTexture(this.type,this.texture),e.generateMipmap(this.type),e.bindTexture(this.type,null))):(this.genMipMaps=!1,this.minFilter==e.LINEAR_MIPMAP_LINEAR||this.minFilter==e.LINEAR_MIPMAP_NEAREST?this.minFilter=e.LINEAR:this.minFilter!=e.NEAREST_MIPMAP_LINEAR&&this.minFilter!=e.NEAREST_MIPMAP_NEAREST||(this.minFilter=e.NEAREST))}else 0==i._vf.repeatS?this.wrapS=e.CLAMP_TO_EDGE:this.wrapS=e.REPEAT,0==i._vf.repeatT?this.wrapT=e.CLAMP_TO_EDGE:this.wrapT=e.REPEAT,"displacementMap"==this.samplerName&&(this.wrapS=e.CLAMP_TO_EDGE,this.wrapT=e.CLAMP_TO_EDGE,this.minFilter=e.NEAREST,this.magFilter=e.NEAREST);var _=i._video&&!0===i._needPerFrameUpdate;if(i._isCanvas&&i._canvas)null==this.texture&&(this.texture=e.createTexture()),this.texture.width=i._canvas.width,this.texture.height=i._canvas.height,this.texture.ready=!0,e.bindTexture(this.type,this.texture),e.texImage2D(this.type,0,this.format,this.format,e.UNSIGNED_BYTE,i._canvas),this.genMipMaps&&e.generateMipmap(this.type),e.bindTexture(this.type,null);else if(x3dom.isa(i,x3dom.nodeTypes.RenderedTexture))i._webgl&&i._webgl.fbo?i._webgl.fbo.dtex&&i._vf.depthMap?this.texture=i._webgl.fbo.dtex:this.texture=i._webgl.fbo.tex:(this.texture=null,x3dom.debug.logError("Try updating RenderedTexture without FBO initialized!")),this.texture&&(this.texture.ready=!0);else if(x3dom.isa(i,x3dom.nodeTypes.PixelTexture)){0==i._vf.origChannelCount&&i.setOrigChannelCount(i._vf.image.comp),null==this.texture&&(this.node._DEF?this.texture=this.cache.getTexture2DByDEF(e,this.node._nameSpace,this.node._DEF):this.texture=e.createTexture()),this.texture.width=i._vf.image.width,this.texture.height=i._vf.image.height,this.texture.ready=!0;var r=i._vf.image.array,o=i._vf.image.width*i._vf.image.height*i._vf.image.comp,s=new Uint8Array(o);s.set(r),e.bindTexture(this.type,this.texture),e.pixelStorei(e.UNPACK_ALIGNMENT,1),e.texImage2D(this.type,0,this.format,i._vf.image.width,i._vf.image.height,0,this.format,e.UNSIGNED_BYTE,s),this.genMipMaps&&e.generateMipmap(this.type),e.bindTexture(this.type,null)}else if(x3dom.isa(i,x3dom.nodeTypes.MovieTexture)||_){var a=this,p=document.getElementsByTagName("body")[0];if(null==this.texture&&(this.texture=e.createTexture()),this.dashtexture){var l=document.createElement("div");l.setAttribute("class","dash-video-player"+x3dom.Texture.textNum),i._video=document.createElement("video"),i._video.setAttribute("preload","auto"),i._video.setAttribute("muted","muted");var d=document.createElement("script");d.setAttribute("type","text/javascript"),d.innerHTML='startDashVideo("'+i._vf.url[0]+'",".dash-video-player'+x3dom.Texture.textNum+' video")',l.appendChild(d),l.appendChild(i._video),p.appendChild(l),i._video.style.visibility="hidden",i._video.style.display="none"}else{_||(i._video=document.createElement("video"),i._video.setAttribute("preload","auto"),i._video.setAttribute("muted","muted"),i._video.setAttribute("autoplay",""),i._video.setAttribute("playsinline",""),i._video.crossOrigin="anonymous",i._video.load());for(var c=0;c<i._vf.url.length;c++){var b=i._nameSpace.getURL(i._vf.url[c]);x3dom.debug.logInfo("Adding video file: "+b);var u=document.createElement("source");u.setAttribute("src",b),i._video.appendChild(u)}}var m=function(){e.bindTexture(a.type,a.texture),e.texImage2D(a.type,0,a.format,a.format,e.UNSIGNED_BYTE,i._video),a.genMipMaps&&e.generateMipmap(a.type),e.bindTexture(a.type,null),a.texture.ready=!0,t.needRender=!0},h=function(){window.removeEventListener("mousedown",h),window.removeEventListener("keydown",h),i._video instanceof HTMLMediaElement?i._video.play().then((function(){i._intervalID&&(x3dom.debug.logInfo("The video has already started, startVideo() is called repeatedly."),clearInterval(i._intervalID),i._intervalID=null),i._intervalID=setInterval(m,16)})).catch((function(e){x3dom.debug.logInfo("Waiting for interaction: "+e),window.addEventListener("mousedown",h),window.addEventListener("keydown",h)})):x3dom.debug.logInfo("No video exists.")};i._video.startVideo=h,i._video.pauseVideo=function(){window.removeEventListener("mousedown",h),window.removeEventListener("keydown",h),i._video.pause(),clearInterval(i._intervalID),i._intervalID=null},i._video.addEventListener("canplaythrough",h,!0),i._video.addEventListener("ended",(function(){clearInterval(i._intervalID),i._intervalID=null,!0===i._vf.loop&&(i._video.play(),i._intervalID=setInterval(m,16))}),!0)}else x3dom.isa(i,x3dom.nodeTypes.X3DEnvironmentTextureNode)?this.texture=this.cache.getTextureCube(e,t,i.getTexUrl(),!1,i._vf.crossOrigin,i._vf.scale,this.genMipMaps,i._vf.flipY):this.texture=this.cache.getTexture2D(e,t,i._nameSpace.getURL(i._vf.url[0]),!1,i._vf.crossOrigin,i._vf.scale,this.genMipMaps,i._vf.flipY,i)},x3dom.Texture.prototype.updateText=function(){var e=this.gl;this.wrapS=e.CLAMP_TO_EDGE,this.wrapT=e.CLAMP_TO_EDGE,this.type=e.TEXTURE_2D,this.format=e.RGBA,this.magFilter=e.LINEAR,this.minFilter=e.LINEAR_MIPMAP_LINEAR,this.genMipMaps=!0,x3dom.caps.MAX_ANISOTROPY&&(this.anisotropicDegree=x3dom.caps.MAX_ANISOTROPY);var t=this.node._cf.fontStyle.node,i="serif",n="normal",_="left",r=1,o=1,s=2,a="FIRST";if(null!==t){var p=t._vf.family.toString();switch(i=(p=(p=p.trim().replace(/\'/g,"").replace(/\,/," ")).split(" ")).map((function(e){return"SANS"==e?"Verdana, sans-serif":"SERIF"==e?"Georgia, serif":"TYPEWRITER"==e?"monospace":""+e})).join(","),(n=t._vf.style.toString().replace(/\'/g,"")).toUpperCase()){case"PLAIN":n="normal";break;case"BOLD":n="bold";break;case"ITALIC":n="italic";break;case"BOLDITALIC":n="italic bold";break;default:n="normal"}var l=t._vf.leftToRight?"ltr":"rtl",d=t._vf.topToBottom,c="ltr"==l?"left":"right",b="ltr"==l?"right":"left";switch((_=t._vf.justify[0].toString().replace(/\'/g,"")).toUpperCase()){case"BEGIN":_=c;break;case"END":_=b;break;case"FIRST":_=c;break;case"MIDDLE":_="center";break;default:_=c}if(void 0===t._vf.justify[1])a="FIRST";else switch((a=t._vf.justify[1].toString().replace(/\'/g,"")).toUpperCase()){case"BEGIN":a="BEGIN";break;case"FIRST":a="FIRST";break;case"MIDDLE":a="MIDDLE";break;case"END":a="END";break;default:a="FIRST"}r=t._vf.size,o=t._vf.spacing,t._vf.horizontal,t._vf.language,s=t._vf.quality,s=Math.max(x3dom.Texture.minFontQuality,s),s=Math.min(x3dom.Texture.maxFontQuality,s),r<.1&&(r=.1),x3dom.Texture.clampFontSize&&r>2.3&&(r=2.3)}var u,m,h=this.node._vf.string,f=this.node._vf.maxExtent,g=[],C=_,S=document.createElement("canvas");S.dir=l;var y=32*r;document.body.appendChild(S);var v=S.getContext("2d");v.font=n+" "+y+"px "+i;var x,M,T,D=0;for(T=0;T<h.length;T++)(x=v.measureText(h[T]).width)>D&&(D=x),M=0|this.node._vf.length[T],f>0&&(M>f||0==M)&&(M=f),g[T]=M<=0?x:32*M;var P=.25*y,w=D+P,A=y+y*o*(h.length-1)+P;u=0,m=0;var F=0,R=0,I="alphabetic";switch(_){case"center":F=-w/2,u=w/2;break;case"left":F=0,u=0;break;case"right":F=-w,u=w}switch(a){case"MIDDLE":R=A/2-P/2,I="middle",m=y/2;break;case"BEGIN":R=d?0:A-P,I=d?"top":"bottom",m=d?0:y;break;case"FIRST":R=d?y:A-P,I=d?"alphabetic":"bottom",m=y;break;case"END":R=d?A-P:0,I=d?"bottom":"top",m=d?y:0}var B=w*(1/32),V=A*(1/32),E=x3dom.caps.MAX_TEXTURE_SIZE>>2;F*=1/32,R*=1/32,S.width=Math.min(x3dom.Utils.nextHighestPowerOfTwo(w*s),E),S.height=Math.min(x3dom.Utils.nextHighestPowerOfTwo(A*s),E),S.dir=l,v.scale(S.width/w,S.height/A),v.fillStyle="rgba(0,0,0,0)",v.fillRect(0,0,v.canvas.width,v.canvas.height),v.fillStyle="white",v.textBaseline=I,v.font=n+" "+y+"px "+i,v.textAlign=C;var N={font_style:n,font_family:i,font_spacing:o,paragraph:h,topToBottom:d,leftToRight:l,textX:u,textY:m,textHeight:y,lengths:g};this.renderScaledText(v,1,N),null===this.texture&&(this.texture=e.createTexture()),e.bindTexture(this.type,this.texture),this.uploadTextMipmap(S,N),e.bindTexture(this.type,null),document.body.removeChild(S),this.node._mesh._positions[0]=[0+F,-V+R,0,B+F,-V+R,0,B+F,0+R,0,0+F,0+R,0],this.node.invalidateVolume(),this.node._parentNodes.forEach((function(e){e.setAllDirty()}))},x3dom.Texture.prototype.renderScaledText=function(e,t,i){e.font=i.font_style+" "+i.textHeight/t+"px "+i.font_family;for(var n=i.textY,_=0;_<i.paragraph.length;_++){var r=i.topToBottom?_:i.paragraph.length-1-_,o=i.paragraph[r];"rtl"==i.leftToRight&&(o="‮"+o),e.fillText(o,i.textX/t,n/t,i.lengths[r]/t),n+=i.textHeight*i.font_spacing}},x3dom.Texture.prototype.uploadTextMipmap=function(e,t){for(var i=this.gl,n=e.width,_=e.height,r=0,o=1,s=n,a=_,p=e.getContext("2d");i.texImage2D(this.type,r++,this.format,this.format,i.UNSIGNED_BYTE,p.getImageData(0,0,s,a)),1!=s||1!=a;)s=Math.max(1,s>>1),a=Math.max(1,a>>1),p.clearRect(0,0,n,_),o*=2,this.renderScaledText(p,o,t)},x3dom.X3DDocument=function(e,t,i){this.canvas=e,this.ctx=t,this.properties=i,this.needRender=!0,this._x3dElem=null,this._scene=null,this._viewarea=null,this.downloadCount=0,this.previousDownloadCount=0,this.mutationObserver=new MutationObserver(this.onMutation.bind(this)),this.X3DMutationObserver=new MutationObserver(this.onX3DMutation.bind(this)),this._nodeBag={timer:[],lights:[],clipPlanes:[],followers:[],trans:[],renderTextures:[],viewarea:[],affectedPointingSensors:[]},this.onload=function(){},this.onerror=function(){}},x3dom.X3DDocument.prototype.load=function(e,t){var i={},n=[e],_=this;!function r(){if(0===n.length)return _._setup(i[e],i,t),void _.onload();var o=n.shift();!x3dom.isX3DElement(o)||"x3d"!==o.localName.toLowerCase()&&"websg"!==o.localName.toLowerCase()||(i[o]=o,_._x3dElem=o,r())}()},x3dom.findScene=function(e){for(var t=[],i=0;i<e.childNodes.length;i++){var n=e.childNodes[i];n&&n.localName&&"scene"===n.localName.toLowerCase()&&t.push(n)}return t.length>1?(x3dom.debug.logError("X3D element has more than one Scene child (has "+e.childNodes.length+")."),null):t[0]},x3dom.X3DDocument.prototype._setup=function(e){var t=x3dom.findScene(e);this.X3DMutationObserver.observe(document,{attributes:!1,attributeOldValue:!1,childList:!0,subtree:!0}),this.mutationObserver.observe(e,{attributes:!1,attributeOldValue:!1,childList:!0,subtree:!1}),this.mutationObserver.observe(t,{attributes:!0,attributeOldValue:!0,childList:!0,subtree:!0}),this._bindableBag=new x3dom.BindableBag(this);var i=new x3dom.NodeNameSpace("scene",this).setupTree(t);this._scene=i,this._bindableBag.setRefNode(i),this._viewarea=new x3dom.Viewarea(this,i),this._viewarea._width=this.canvas.width,this._viewarea._height=this.canvas.height},x3dom.X3DDocument.prototype.advanceTime=function(e){var t=0;if(this._nodeBag.timer.length)for(t=0;t<this._nodeBag.timer.length;t++)this.needRender|=this._nodeBag.timer[t].tick(e);if(this._nodeBag.followers.length)for(t=0;t<this._nodeBag.followers.length;t++)this.needRender|=this._nodeBag.followers[t].tick(e);if(this._nodeBag.trans.length)for(t=0;t<this._nodeBag.trans.length;t++)this.needRender|=this._nodeBag.trans[t].tick(e);if(this._nodeBag.viewarea.length)for(t=0;t<this._nodeBag.viewarea.length;t++)this.needRender|=this._nodeBag.viewarea[t].tick(e)},x3dom.X3DDocument.prototype.render=function(e,t,i){e&&this._viewarea&&(this._viewarea.setVRFrameData(t),this._viewarea.updateGamepads(i),e.renderScene(this._viewarea))},x3dom.X3DDocument.prototype.onPick=function(e,t,i){e&&this._viewarea&&e.pickValue(this._viewarea,t,i,1)},x3dom.X3DDocument.prototype.onPickRect=function(e,t,i,n,_){return e&&this._viewarea?e.pickRect(this._viewarea,t,i,n,_):[]},x3dom.X3DDocument.prototype.onMove=function(e,t,i,n){e&&this._viewarea&&(this._viewarea._scene._vf.doPickPass&&e.pickValue(this._viewarea,t,i,n),this._viewarea.onMove(t,i,n))},x3dom.X3DDocument.prototype.onMoveView=function(e,t,i,n,_){e&&this._viewarea&&this._scene.getNavigationInfo()._impl.onTouchDrag(this._viewarea,t,i,n,_)},x3dom.X3DDocument.prototype.onDrag=function(e,t,i,n){e&&this._viewarea&&(this._viewarea._scene._vf.doPickPass&&!this._viewarea._isMoving&&e.pickValue(this._viewarea,t,i,n),this._viewarea.onDrag(t,i,n))},x3dom.X3DDocument.prototype.onWheel=function(e,t,i,n){e&&this._viewarea&&(this._viewarea._scene._vf.doPickPass&&e.pickValue(this._viewarea,t,n,0),this._viewarea.onDrag(t,i,2))},x3dom.X3DDocument.prototype.onMousePress=function(e,t,i,n){e&&this._viewarea&&(this._viewarea._scene.updateVolume(),e.pickValue(this._viewarea,t,i,n),this._viewarea.onMousePress(t,i,n))},x3dom.X3DDocument.prototype.onMouseRelease=function(e,t,i,n,_){if(e&&this._viewarea){var r=_<<8|n;e.pickValue(this._viewarea,t,i,r),this._viewarea.onMouseRelease(t,i,n,_)}},x3dom.X3DDocument.prototype.onMouseOver=function(e,t,i,n){e&&this._viewarea&&(e.pickValue(this._viewarea,t,i,n),this._viewarea.onMouseOver(t,i,n))},x3dom.X3DDocument.prototype.onMouseOut=function(e,t,i,n){e&&this._viewarea&&(e.pickValue(this._viewarea,t,i,n),this._viewarea.onMouseOut(t,i,n))},x3dom.X3DDocument.prototype.onDoubleClick=function(e,t,i){e&&this._viewarea&&this._viewarea.onDoubleClick(t,i)},x3dom.X3DDocument.prototype.onKeyDown=function(e){switch(e){case 37:this._viewarea.strafeLeft();break;case 38:this._viewarea.moveFwd();break;case 39:this._viewarea.strafeRight();break;case 40:this._viewarea.moveBwd()}},x3dom.X3DDocument.prototype.onKeyUp=function(e){var t=null;switch(e){case 13:x3dom.toggleFullScreen();break;case 33:(t=this._scene.getViewpoint()._stack)?t.switchTo("prev"):x3dom.debug.logError("No valid ViewBindable stack.");break;case 34:(t=this._scene.getViewpoint()._stack)?t.switchTo("next"):x3dom.debug.logError("No valid ViewBindable stack.");break;case 35:(t=this._scene.getViewpoint()._stack)?t.switchTo("last"):x3dom.debug.logError("No valid ViewBindable stack.");break;case 36:(t=this._scene.getViewpoint()._stack)?t.switchTo("first"):x3dom.debug.logError("No valid ViewBindable stack.")}},x3dom.X3DDocument.prototype.onKeyPress=function(e){var t=this._scene.getNavigationInfo(),i=this._scene.getEnvironment();switch(e){case 32:var n=this.canvas.parent.stateViewer;n&&n.display(),x3dom.debug.logInfo("a: show all | i: fit view | d: show helper buffers | s: small feature culling | t: light view | m: toggle render mode | c: frustum culling | p: intersect type | \ne: examine mode | f: fly mode | y: freefly mode | w: walk mode | h: helicopter mode | l: lookAt mode | o: lookaround | g: game mode | n: turntable | u: upright position | \nv: print viewpoint info | r: reset view | home: first view | end: last view | pageUp: next view | pageDown: prev. view | +: increase speed | -: decrease speed ");break;case 43:t._vf.speed=2*t._vf.speed,x3dom.debug.logInfo("Changed navigation speed to "+t._vf.speed);break;case 45:t._vf.speed=.5*t._vf.speed,x3dom.debug.logInfo("Changed navigation speed to "+t._vf.speed);break;case 51:x3dom.nodeTypes.PopGeometry.ErrorToleranceFactor+=.5,x3dom.debug.logInfo("Changed POP error tolerance to "+x3dom.nodeTypes.PopGeometry.ErrorToleranceFactor);break;case 52:x3dom.nodeTypes.PopGeometry.ErrorToleranceFactor-=.5,x3dom.debug.logInfo("Changed POP error tolerance to "+x3dom.nodeTypes.PopGeometry.ErrorToleranceFactor);break;case 54:t._vf.typeParams[1]+=1,t._heliUpdated=!1,x3dom.debug.logInfo("Changed helicopter height to "+t._vf.typeParams[1]);break;case 55:t._vf.typeParams[1]-=1,t._heliUpdated=!1,x3dom.debug.logInfo("Changed helicopter height to "+t._vf.typeParams[1]);break;case 56:t._vf.typeParams[0]-=.02,t._heliUpdated=!1,x3dom.debug.logInfo("Changed helicopter angle to "+t._vf.typeParams[0]);break;case 57:t._vf.typeParams[0]+=.02,t._heliUpdated=!1,x3dom.debug.logInfo("Changed helicopter angle to "+t._vf.typeParams[0]);break;case 97:this._viewarea.showAll();break;case 99:i._vf.frustumCulling=!i._vf.frustumCulling,x3dom.debug.logInfo("Viewfrustum culling "+(i._vf.frustumCulling?"on":"off"));break;case 100:void 0===this._viewarea._visDbgBuf&&(this._viewarea._visDbgBuf="true"===this._x3dElem.getAttribute("showLog")),this._viewarea._visDbgBuf=!this._viewarea._visDbgBuf,x3dom.debug.logContainer.style.display=1==this._viewarea._visDbgBuf?"block":"none";break;case 101:t.setType("examine",this._viewarea);break;case 102:t.setType("fly",this._viewarea);break;case 103:t.setType("game",this._viewarea);break;case 104:t.setType("helicopter",this._viewarea);break;case 105:this._viewarea.fit(this._scene._lastMin,this._scene._lastMax);break;case 108:t.setType("lookat",this._viewarea);break;case 109:this._viewarea._points=++this._viewarea._points%2;break;case 110:t.setType("turntable",this._viewarea);break;case 111:t.setType("lookaround",this._viewarea);break;case 112:switch(this._scene._vf.pickMode.toLowerCase()){case"idbuf":this._scene._vf.pickMode="color";break;case"color":this._scene._vf.pickMode="texCoord";break;case"texcoord":this._scene._vf.pickMode="box";break;default:this._scene._vf.pickMode="idBuf"}x3dom.debug.logInfo("Switch pickMode to '"+this._scene._vf.pickMode+"'.");break;case 114:this._viewarea.resetView();break;case 115:i._vf.smallFeatureCulling=!i._vf.smallFeatureCulling,x3dom.debug.logInfo("Small feature culling "+(i._vf.smallFeatureCulling?"on":"off"));break;case 116:this._nodeBag.lights.length>0&&this._viewarea.animateTo(this._viewarea.getLightMatrix()[0],this._scene.getViewpoint());break;case 117:this._viewarea.uprightView();break;case 118:var _=this;!function(){var e=_._viewarea._scene.getViewpoint(),t=_._viewarea.getViewMatrix().inverse(),i=new x3dom.fields.Quaternion(0,0,1,0);i.setValue(t);var n=i.toAxisAngle(),r=t.e3(),o=e.getCenterOfRotation();x3dom.debug.logInfo('\n<Viewpoint position="'+r.x.toFixed(5)+" "+r.y.toFixed(5)+" "+r.z.toFixed(5)+'" orientation="'+n[0].x.toFixed(5)+" "+n[0].y.toFixed(5)+" "+n[0].z.toFixed(5)+" "+n[1].toFixed(5)+'" \n\tzNear="'+e.getNear().toFixed(5)+'" zFar="'+e.getFar().toFixed(5)+'" centerOfRotation="'+o.x.toFixed(5)+" "+o.y.toFixed(5)+" "+o.z.toFixed(5)+'" fieldOfView="'+e.getFieldOfView().toFixed(5)+'" description="'+e._vf.description+'"></Viewpoint>')}();break;case 119:t.setType("walk",this._viewarea);break;case 121:t.setType("freefly",this._viewarea)}},x3dom.X3DDocument.prototype.shutdown=function(e){e&&e.shutdown(this._viewarea)},x3dom.X3DDocument.prototype.hasAnimationStateChanged=function(){return!!this._viewarea&&this._viewarea.hasAnimationStateChanged()},x3dom.X3DDocument.prototype.isAnimating=function(){return!!this._viewarea&&this._viewarea.isAnimating()},x3dom.X3DDocument.prototype.incrementDownloads=function(){this.downloadCount++},x3dom.X3DDocument.prototype.decrementDownloads=function(){this.downloadCount--},x3dom.X3DDocument.prototype.cleanNodeBag=function(e,t){for(var i=0,n=e.length;i<n;i++)if(e[i]===t){e.splice(i,1);break}},x3dom.X3DDocument.prototype.removeX3DOMBackendGraph=function(e){for(var t=e.childNodes,i=0,n=t.length;i<n;i++)this.removeX3DOMBackendGraph(t[i]);if(e._x3domNode){var _=e._x3domNode,r=_._nameSpace;if(x3dom.isa(_,x3dom.nodeTypes.X3DShapeNode))_._cleanupGLObjects&&_._cleanupGLObjects(!0),x3dom.nodeTypes.Shape.idMap.nodeID[_._objectID]&&delete x3dom.nodeTypes.Shape.idMap.nodeID[_._objectID];else if(x3dom.isa(_,x3dom.nodeTypes.TimeSensor))this.cleanNodeBag(this._nodeBag.timer,_);else if(x3dom.isa(_,x3dom.nodeTypes.X3DLightNode))this.cleanNodeBag(this._nodeBag.lights,_);else if(x3dom.isa(_,x3dom.nodeTypes.X3DFollowerNode))this.cleanNodeBag(this._nodeBag.followers,_);else if(x3dom.isa(_,x3dom.nodeTypes.X3DTransformNode))this.cleanNodeBag(this._nodeBag.trans,_);else if(x3dom.isa(_,x3dom.nodeTypes.RenderedTexture))this.cleanNodeBag(this._nodeBag.renderTextures,_),_._cleanupGLObjects&&_._cleanupGLObjects();else if(x3dom.isa(_,x3dom.nodeTypes.X3DPointingDeviceSensorNode))this.cleanNodeBag(this._nodeBag.affectedPointingSensors,_);else if(x3dom.isa(_,x3dom.nodeTypes.Texture))_.shutdown();else if(x3dom.isa(_,x3dom.nodeTypes.AudioClip))_.shutdown();else if(x3dom.isa(_,x3dom.nodeTypes.X3DBindableNode)){var o=_._stack;o&&(_.bind(!1),this.cleanNodeBag(o._bindBag,_)),_._cleanupGLObjects&&_._cleanupGLObjects()}else x3dom.isa(_,x3dom.nodeTypes.Scene)&&_._webgl&&(_._webgl=null);if(r&&!e.getAttribute("use")&&!e.getAttribute("USE")){r.removeNode(_._DEF);var s=r.superInlineNode;if(s&&s._nameSpace){var a=s._nameSpace.imports,p=r.exports,l=a.get(s._DEF);l&&p.forEach((function(e,t){_._DEF==e&&l.forEach((function(e,i){t==e&&delete s._nameSpace.defMap[i]}))}))}}_._xmlNode=null,delete e._x3domNode}},x3dom.X3DDocument.prototype.getParentNode=function(e){return e&&"x3dommetagroup"==e.localName.toLowerCase()&&(e=this.getParentNode(e.parentNode)),e},x3dom.X3DDocument.prototype.onAttributeChanged=function(e,t,i){"_x3domNode"in e&&(e._x3domNode.updateField(t,i),this.needRender=!0)},x3dom.X3DDocument.prototype.onNodeRemoved=function(e,t){var i=e;if(i){i.querySelectorAll&&i.querySelectorAll("*").forEach((function(e){e.highlight=null,e.addEventListener=null,e.removeEventListener=null}));var n=this.getParentNode(t);if(n&&"_x3domNode"in n&&"_x3domNode"in i){var _=n._x3domNode,r=i._x3domNode,o=r.findX3DDoc();if(o){var s=o._viewarea._pickingInfo;s.firstObj=null,s.lastObj=null,s.lastClickObj=null,s.pickObj=null}_&&r&&(_.removeChild(r),_.nodeChanged(),this.removeX3DOMBackendGraph(i),this._viewarea&&this._viewarea._scene&&(this._viewarea._scene.nodeChanged(),this._viewarea._scene.updateVolume(),this.needRender=!0))}else if(i.localName&&"ROUTE"==i.localName.toUpperCase()&&i._nodeNameSpace){var a=i._nodeNameSpace.defMap[i.getAttribute("fromNode")],p=i._nodeNameSpace.defMap[i.getAttribute("toNode")];a&&p&&a.removeRoute(i.getAttribute("fromField"),p,i.getAttribute("toField"))}else if(i.localName&&"IMPORT"==i.localName.toUpperCase()&&i._nodeNameSpace){var l=i.getAttribute("inlineDEF")||i.getAttribute("inlinedef"),d=i.getAttribute("importedDEF")||i.getAttribute("importeddef"),c=i.getAttribute("AS")||i.getAttribute("as");if(!l||!d)return;c||(c=d);var b=i._nodeNameSpace.imports,u=b.get(l);u&&u.get(c)==d&&(delete i._nodeNameSpace.defMap[c],u.delete(c),0==u.size&&b.delete(l))}else if(i.localName&&"EXPORT"==i.localName.toUpperCase()&&i._nodeNameSpace){var m=i.getAttribute("localDEF")||i.getAttribute("localdef");c=i.getAttribute("AS")||i.getAttribute("as");if(!m)return;c||(c=m);var h=i._nodeNameSpace.exports;h.get(c)==m&&h.delete(c)}}},x3dom.X3DDocument.prototype.onX3DNodeRemoved=function(e,t){var i=[];"querySelector"in e&&e.querySelector("X3D")&&(i=e.querySelectorAll("X3D")),e.localName&&"X3D"==e.localName.toUpperCase()&&(i=[e]),i.forEach((function(e){var t=e.runtime;if(t&&t.canvas&&t.canvas.doc&&t.canvas.doc._scene){var i=t.canvas.doc._scene._xmlNode;this.removeX3DOMBackendGraph(i);for(var n=0;n<x3dom.canvases.length;n++)if(x3dom.canvases[n]===t.canvas){x3dom.canvases[n].doc.shutdown(x3dom.canvases[n].gl),x3dom.canvases.splice(n,1);break}t.canvas.doc._scene=null,t.canvas.doc._viewarea=null,t.canvas.doc=null,t.canvas=null,t=null,e.context=null,e.runtime=null}}),this)},x3dom.X3DDocument.prototype.onNodeAdded=function(e,t){var i=e,n=this.getParentNode(t);if((!n.tagName||"inline"!=n.tagName.toLowerCase())&&"_x3domNode"in n){var _=n._x3domNode;if(_&&_._nameSpace&&i instanceof Element){if("_x3domNode"in i){if(i._x3domNode._parentNodes.includes(_))return;_.removeChild(i._x3domNode),this.removeX3DOMBackendGraph(i)}x3dom.caps.DOMNodeInsertedEvent_perSubtree&&this.removeX3DOMBackendGraph(i);var r=_._nameSpace.setupTree(i);_.addChild(r,i.getAttribute("containerField")),_.nodeChanged();var o=n.parentNode;o&&o._x3domNode&&o._x3domNode.nodeChanged(),this._viewarea&&this._viewarea._scene&&(this._viewarea._scene.nodeChanged(),this._viewarea._scene.updateVolume(),this.needRender=!0)}else x3dom.debug.logWarning("No _nameSpace in onNodeAdded")}},x3dom.X3DDocument.prototype.onX3DNodeAdded=function(e,t){var i=e;i.localName&&i.localName.toUpperCase()},x3dom.X3DDocument.prototype.onMutation=function(e){for(var t=0,i=e.length;t<i;t++)if("attributes"===e[t].type&&e[t].oldValue)this.onAttributeChanged(e[t].target,e[t].attributeName,e[t].target[e[t].attributeName]);else if("childList"===e[t].type){if(e[t].removedNodes.length)for(var n=0,_=e[t].removedNodes.length;n<_;n++)this.onNodeRemoved(e[t].removedNodes[n],e[t].target);if(e[t].addedNodes.length)for(n=0,_=e[t].addedNodes.length;n<_;n++)this.onNodeAdded(e[t].addedNodes[n],e[t].target)}},x3dom.X3DDocument.prototype.onX3DMutation=function(e){for(var t=0,i=e.length;t<i;t++)if("childList"===e[t].type&&e[t].removedNodes.length)for(var n=0,_=e[t].removedNodes.length;n<_;n++)this.onX3DNodeRemoved(e[t].removedNodes[n],e[t].target)},x3dom.MatrixMixer=function(e,t){this.beginTime=e||0,this.endTime=t||1,this.isMixing=!1,this._beginMat=x3dom.fields.SFMatrix4f.identity(),this._beginInvMat=x3dom.fields.SFMatrix4f.identity(),this._beginLogMat=x3dom.fields.SFMatrix4f.identity(),this._endMat=x3dom.fields.SFMatrix4f.identity(),this._endLogMat=x3dom.fields.SFMatrix4f.identity(),this._beginRot=new x3dom.fields.Quaternion,this._endRot=new x3dom.fields.Quaternion,this._beginPos=new x3dom.fields.SFVec3f,this._endPos=new x3dom.fields.SFVec3f,this._result=x3dom.fields.SFMatrix4f.identity(),this._useQuaternion=!1,this._isVPtarget=!1},x3dom.MatrixMixer.prototype._calcFraction=function(e){var t=(e-this.beginTime)/(this.endTime-this.beginTime);return(Math.sin(t*Math.PI-Math.PI/2)+1)/2},x3dom.MatrixMixer.prototype._isValid=function(){var e=this._beginMat.inverse().mult(this._endMat).getEulerAngles();return Math.abs(e[0])!=Math.PI&&Math.abs(e[1])!=Math.PI&&Math.abs(e[2])!=Math.PI},x3dom.MatrixMixer.prototype._prepareQuaternionAnimation=function(){this._beginRot.setValue(this._beginMat),this._endRot.setValue(this._endMat),this._beginPos=this._beginMat.e3(),this._endPos=this._endMat.e3(),this._useQuaternion=!0},x3dom.MatrixMixer.prototype.reset=function(){this.beginTime=0,this.endTime=0,this._useQuaternion=!1,this.isMixing=!1},x3dom.MatrixMixer.prototype.isActive=function(){return this.beginTime>0},x3dom.MatrixMixer.prototype.setBeginMatrix=function(e){this._beginMat.setValues(e),this._beginInvMat=e.inverse(),this._beginLogMat=x3dom.fields.SFMatrix4f.zeroMatrix()},x3dom.MatrixMixer.prototype.getBeginMatrix=function(e){return this._beginMat},x3dom.MatrixMixer.prototype.setEndMatrix=function(e){this._endMat.setValues(e),this._isValid()||this._prepareQuaternionAnimation(),this._endLogMat=this._endMat.mult(this._beginInvMat).log(),this._logDiffMat=this._endLogMat.addScaled(this._beginLogMat,-1)},x3dom.MatrixMixer.prototype.getEndMatrix=function(e){return this._endMat},x3dom.MatrixMixer.prototype._mixQuaternion=function(e){var t=this._beginRot.slerp(this._endRot,e),i=this._beginPos.addScaled(this._endPos.subtract(this._beginPos),e);return this._result.setRotate(t),this._result.setTranslate(i),this._result.copy()},x3dom.MatrixMixer.prototype._mixMatrix=function(e){return this._logDiffMat.multiply(e).add(this._beginLogMat).exp().mult(this._beginMat)},x3dom.MatrixMixer.prototype.mix=function(e){if(e<=this.beginTime)return this._beginMat;if(e>=this.endTime)return this.reset(),this._endMat;this.isMixing=!0;var t=this._calcFraction(e);return this._useQuaternion?this._mixQuaternion(t):this._mixMatrix(t)},x3dom.Mesh=function(e){this._parent=e,this._vol=new x3dom.fields.BoxVolume,this._invalidate=!0,this._numFaces=0,this._numCoords=0,this._primType="TRIANGLES",this._positions=[],this._normals=[],this._texCoords=[],this._texCoords2=[],this._colors=[],this._indices=[],this._tangents=[],this._binormals=[],this._positions[0]=[],this._normals[0]=[],this._texCoords[0]=[],this._texCoords2[0]=[],this._colors[0]=[],this._indices[0]=[],this._tangents[0]=[],this._binormals[0]=[]},x3dom.Mesh.prototype._dynamicFields={},x3dom.Mesh.prototype._numPosComponents=3,x3dom.Mesh.prototype._numTexComponents=2,x3dom.Mesh.prototype._numTex2Components=2,x3dom.Mesh.prototype._numColComponents=3,x3dom.Mesh.prototype._numNormComponents=3,x3dom.Mesh.prototype._numTangentComponents=3,x3dom.Mesh.prototype._numBinormalComponents=3,x3dom.Mesh.prototype._lit=!0,x3dom.Mesh.prototype._vol=null,x3dom.Mesh.prototype._invalidate=!0,x3dom.Mesh.prototype._numFaces=0,x3dom.Mesh.prototype._numCoords=0,x3dom.Mesh.prototype.getVolume=function(){if(1==this._invalidate&&!this._vol.isValid()){var e=this._positions[0],t=e.length;if(t>=3){var i=new x3dom.fields.SFVec3f(e[0],e[1],e[2]);this._vol.setBounds(i,i);for(var n=3;n<t;n+=3)this._vol.min.x>e[n]&&(this._vol.min.x=e[n]),this._vol.min.y>e[n+1]&&(this._vol.min.y=e[n+1]),this._vol.min.z>e[n+2]&&(this._vol.min.z=e[n+2]),this._vol.max.x<e[n]&&(this._vol.max.x=e[n]),this._vol.max.y<e[n+1]&&(this._vol.max.y=e[n+1]),this._vol.max.z<e[n+2]&&(this._vol.max.z=e[n+2]);this._invalidate=!1}}return this._vol},x3dom.Mesh.prototype.invalidate=function(){this._invalidate=!0,this._vol.invalidate()},x3dom.Mesh.prototype.isValid=function(){return this._vol.isValid()},x3dom.Mesh.prototype.getCenter=function(){return this.getVolume().getCenter()},x3dom.Mesh.prototype.getDiameter=function(){return this.getVolume().getDiameter()},x3dom.Mesh.prototype.doIntersect=function(e){var t=this.getVolume(),i=e.intersect(t.min,t.max);return i&&e.enter<e.dist&&(e.dist=e.enter,e.hitObject=this._parent,e.hitPoint=e.pos.add(e.dir.multiply(e.enter))),i},x3dom.Mesh.prototype.calcNormals=function(e,t){void 0===t&&(t=!0);var i,n,_,r,o=this._multiIndIndices&&this._multiIndIndices.length,s=o?this._multiIndIndices:this._indices[0],a=this._positions[0],p=[],l=[],d=a.length,c=null,b=void 0!==this._posSize&&this._posSize>d?this._posSize/3:d/3;for(b=3*(b-Math.floor(b)>0?Math.floor(b+1):b),i=0;i<b;++i)l[i]=[];for(b=s.length,i=0;i<b;i+=3){var u,m,h,f;o?(u=3*i,m=3*(i+1),h=3*(i+2),f=new x3dom.fields.SFVec3f(a[m],a[m+1],a[m+2]),_=new x3dom.fields.SFVec3f(a[u],a[u+1],a[u+2]).subtract(f),r=f.subtract(new x3dom.fields.SFVec3f(a[h],a[h+1],a[h+2]))):(u=3*s[i],m=3*s[i+1],h=3*s[i+2],f=new x3dom.fields.SFVec3f(a[m],a[m+1],a[m+2]),_=new x3dom.fields.SFVec3f(a[u],a[u+1],a[u+2]).subtract(f),r=f.subtract(new x3dom.fields.SFVec3f(a[h],a[h+1],a[h+2])),u=3*i,m=3*(i+1),h=3*(i+2)),c=_.cross(r).normalize(),t||(c=c.negate()),e<=x3dom.fields.Eps?(p[u]=p[m]=p[h]=c.x,p[u+1]=p[m+1]=p[h+1]=c.y,p[u+2]=p[m+2]=p[h+2]=c.z):(l[s[i]].push(c),l[s[i+1]].push(c),l[s[i+2]].push(c))}if(e>x3dom.fields.Eps)for(i=0;i<d;i+=3){var g,C=i/3;for(b=(g=o?l[s[C]]:l[C]).length,c=new x3dom.fields.SFVec3f(0,0,0),n=0;n<b;++n)c=c.add(g[n]);c=c.normalize(),p[i]=c.x,p[i+1]=c.y,p[i+2]=c.z}this._normals[0]=p},x3dom.Mesh.prototype.splitMesh=function(e,t){var i,n;i=void 0===e?3:e,void 0===t&&(t=!1);var _=x3dom.Utils.maxIndexableCoords;if(_=Math.floor(_/i)*i,!(this._positions[0].length/3<=_)||t){n=!!t&&(this._multiIndIndices&&this._multiIndIndices.length);var r=this._positions[0],o=this._normals[0],s=this._texCoords[0],a=this._colors[0],p=n?this._multiIndIndices:this._indices[0],l=this._tangents[0],d=this._binormals[0],c=0;do{this._positions[c]=[],this._normals[c]=[],this._texCoords[c]=[],this._colors[c]=[],this._indices[c]=[],this._tangents[c]=[],this._binormals[c]=[];var b=p.length-(c+1)*_>=0;if(this._indices[c]=b?p.slice(c*_,(c+1)*_):p.slice(c*_),n)for(m=0,h=this._indices[c].length;m<h;m++)this._indices[c][m]=m;else if(c)for(var u=c*_,m=0,h=this._indices[c].length;m<h;m++)this._indices[c][m]-=u;this._positions[c]=b?r.slice(c*_*3,3*(c+1)*_):r.slice(c*_*3),o.length&&(this._normals[c]=b?o.slice(c*_*3,3*(c+1)*_):o.slice(c*_*3)),s.length&&(this._texCoords[c]=b?s.slice(c*_*this._numTexComponents,this._numTexComponents*(c+1)*_):s.slice(c*_*this._numTexComponents)),a.length&&(this._colors[c]=b?a.slice(c*_*this._numColComponents,this._numColComponents*(c+1)*_):a.slice(c*_*this._numColComponents)),l.length&&(this._tangents[c]=b?l.slice(c*_*3,3*(c+1)*_):l.slice(c*_*3)),d.length&&(this._binormals[c]=b?d.slice(c*_*3,3*(c+1)*_):d.slice(c*_*3))}while(r.length>++c*_*3)}},x3dom.Mesh.prototype.calcTexCoords=function(e){if(this._texCoords[0]=[],"sphere-local"===e.toLowerCase())for(var t=0,i=0,n=this._normals[0].length;t<n;t+=3)this._texCoords[0][i++]=.5+this._normals[0][t]/2,this._texCoords[0][i++]=.5+this._normals[0][t+1]/2;if("coord"===e.toLowerCase())for(var _=0,r=0,o=this._positions[0].length;_<o;_+=3)this._texCoords[0][r++]=this._positions[0][_],this._texCoords[0][r++]=this._positions[0][_+1];else{var s=new x3dom.fields.SFVec3f(0,0,0),a=new x3dom.fields.SFVec3f(0,0,0);this.getVolume().getBounds(s,a);var p=a.subtract(s),l=0,d=1;p.x>=p.y?p.x>=p.z?(l=0,d=p.y>=p.z?1:2):(l=2,d=0):p.y>=p.z?(l=1,d=p.x>=p.z?0:2):(l=2,d=1);var c=1,b=0,u=0;switch(l){case 0:c=p.x,b=s.x;break;case 1:c=p.y,b=s.y;break;case 2:c=p.z,b=s.z}switch(d){case 0:p.x,u=s.x;break;case 1:p.y,u=s.y;break;case 2:p.z,u=s.z}for(_=0,r=0,o=this._positions[0].length;_<o;_+=3)this._texCoords[0][r++]=(this._positions[0][_+l]-b)/c,this._texCoords[0][r++]=(this._positions[0][_+d]-u)/c}},x3dom.docs={},x3dom.docs.specURLMap={CADGeometry:"CADGeometry.html",Core:"core.html",DIS:"dis.html",CubeMapTexturing:"env_texture.html",EnvironmentalEffects:"enveffects.html",EnvironmentalSensor:"envsensor.html",Followers:"followers.html",Geospatial:"geodata.html",Geometry2D:"geometry2D.html",Geometry3D:"geometry3D.html",Grouping:"group.html","H-Anim":"hanim.html",Interpolation:"interp.html",KeyDeviceSensor:"keyboard.html",Layering:"layering.html",Layout:"layout.html",Lighting:"lighting.html",Navigation:"navigation.html",Networking:"networking.html",NURBS:"nurbs.html",ParticleSystems:"particle_systems.html",Picking:"picking.html",PointingDeviceSensor:"pointingsensor.html",Rendering:"rendering.html",RigidBodyPhysics:"rigid_physics.html",Scripting:"scripting.html",Shaders:"shaders.html",Shape:"shape.html",Sound:"sound.html",Text:"text.html",Texturing3D:"texture3D.html",Texturing:"texturing.html",Time:"time.html",EventUtilities:"utils.html",VolumeRendering:"volume.html"},x3dom.docs.specBaseURL="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/",x3dom.docs.getNodeTreeInfo=function(){var e,t="",i=function(e,t){for(var i=0;i<e.length;i++)if(e[i]===t)return!0;return!1},n=function(e,i){for(var _=0;_<i;_++)t+=" ";for(var _ in t+="<a href='"+x3dom.docs.specBaseURL+x3dom.docs.specURLMap[x3dom.nodeTypes[e]._compName]+"#"+e+"' style='color:black; text-decoration:none; font-weight:bold;'>"+e+"</a> <a href='"+x3dom.docs.specBaseURL+x3dom.docs.specURLMap[x3dom.nodeTypes[e]._compName]+"' style='color:black; text-decoration:none; font-style:italic;'>"+x3dom.nodeTypes[e]._compName+"</a><br/>",x3dom.nodeTypes[e].childTypes[e])n(x3dom.nodeTypes[e].childTypes[e][_],i+1)};for(e in x3dom.nodeTypes){var _;for(void 0===(_=x3dom.nodeTypes[e]).childTypes&&(_.childTypes={});_.superClass;)void 0===_.superClass.childTypes[_.superClass._typeName]&&(_.superClass.childTypes[_.superClass._typeName]=[]),i(_.superClass.childTypes[_.superClass._typeName],_._typeName)||_.superClass.childTypes[_.superClass._typeName].push(_._typeName),_=_.superClass}return n("X3DNode",0),"<div class='x3dom-doc-nodes-tree'>"+t+"</div>"},x3dom.docs.getComponentInfo=function(){var e,t,i,n=[],_="";for(t in x3dom.components)n.push(t);for(i in n.sort(),n){for(var r in t=n[i],e=x3dom.components[t],_+="<h2><a href='"+x3dom.docs.specBaseURL+x3dom.docs.specURLMap[t]+"' style='color:black; text-decoration:none; font-style:italic;'>"+t+"</a></h2>",_+="<ul style='list-style-type:circle;'>",e)_+="<li><a href='"+x3dom.docs.specBaseURL+x3dom.docs.specURLMap[t]+"#"+r+"' style='color:black; text-decoration:none; font-weight:bold;'>"+r+"</a></li>";_+="</ul>"}return _},x3dom.arc={},x3dom.arc.instance=null,x3dom.arc.Limits=function(e,t,i){this._min=e,this._max=t,this.getValue=function(e){return e=this._min+(this._max-this._min)*e,this._max>=e?this._min<=e?e:this._min:this._max}},x3dom.arc.ARF=function(e,t,i,n,_,r,o,s){this._name=e,this._stateValue=[.5,.5],this._limits=new x3dom.arc.Limits(t,i),this._factorGetterFunc=_,this._factorSetterFunc=r,this._setterFunc=s,this._getterFunc=o,this._dirFac=n,this.getFactor=function(){return this._factorGetterFunc()},this.update=function(e,t){var i=this._stateValue[e]+t*this._dirFac;this._stateValue[e]=0<=i?1>=i?i:1:0,this._setterFunc(this._limits.getValue(this._stateValue[e]))},this.reset=function(){this._stateValue[0]=.5,this._stateValue[1]=.5}},x3dom.arc.AdaptiveRenderControl=defineClass(null,(function(e){x3dom.arc.instance=this,this._scene=e,this._targetFrameRate=[],this._targetFrameRate[0]=this._scene._vf.minFrameRate,this._targetFrameRate[1]=this._scene._vf.maxFrameRate,this._currentState=0;var t=this._scene.getEnvironment();this._arfs=[],this._arfs.push(new x3dom.arc.ARF("smallFeatureCulling",0,10,-1,(function(){return t._vf.smallFeatureFactor}),(function(e){t._vf.smallFeatureFactor=e}),(function(){return t._vf.smallFeatureThreshold}),(function(e){t._vf.smallFeatureThreshold=e}))),this._arfs.push(new x3dom.arc.ARF("lowPriorityCulling",0,100,1,(function(){return t._vf.lowPriorityFactor}),(function(e){t._vf.lowPriorityFactor=e}),(function(){return 100*t._vf.lowPriorityThreshold}),(function(e){t._vf.lowPriorityThreshold=e/100}))),this._arfs.push(new x3dom.arc.ARF("tessellationDetailCulling",1,12,-1,(function(){return t._vf.tessellationErrorFactor}),(function(e){t._vf.tessellationErrorFactor=e}),(function(){return t.tessellationErrorThreshold}),(function(e){t.tessellationErrorThreshold=e}))),this._stepWidth=.1}),{update:function(e,t){this._currentState=e;var i=t-this._targetFrameRate[e];this._stepWidth=Math.abs(i)>10?.1:.01;var n,_=0,r=[],o=this._arfs.length;for(n=0;n<o;++n)r[n]=this._arfs[n].getFactor(),r[n]>0&&(_+=r[n]);var s=i<0?-1:1;for(n=0;n<o;++n)r[n]>0&&(r[n]/=_,this._arfs[n].update(e,this._stepWidth*r[n]*s))},reset:function(){for(var e=0,t=this._arfs.length;e<t;++e)this._arfs[e].reset()}}),x3dom.RequestManager={},x3dom.RequestManager.requests=[],x3dom.RequestManager.maxParallelRequests=50,x3dom.RequestManager.failedRequests=0,x3dom.RequestManager.loadedRequests=0,x3dom.RequestManager.totalRequests=0,x3dom.RequestManager.activeRequests=[],x3dom.RequestManager.requestHeaders=[],x3dom.RequestManager.withCredentials=!1,x3dom.RequestManager.onSendRequest=function(e){},x3dom.RequestManager.onAbortAllRequests=function(e){},x3dom.RequestManager.addRequestHeader=function(e,t){this.requestHeaders.push({header:e,value:t})},x3dom.RequestManager._sendRequest=function(){if(this.onSendRequest(this._getCounters()),!(this.activeRequests.length>this.maxParallelRequests)){var e=this.requests.pop();e&&(this.activeRequests.push(e),e.send(null),this._sendRequest())}},x3dom.RequestManager._getCounters=function(){return{loaded:this.loadedRequests,active:this.activeRequests.length,failed:this.failedRequests,total:this.totalRequests}},x3dom.RequestManager.addRequest=function(e){if(e instanceof XMLHttpRequest){this.totalRequests++,e.withCredentials=this.withCredentials;for(var t=0;t<this.requestHeaders.length;t++){var i=this.requestHeaders[t].header,n=this.requestHeaders[t].value;e.setRequestHeader(i,n)}e.addEventListener("load",this._onLoadHandler.bind(this)),e.addEventListener("error",this._onErrorHandler.bind(this)),this.requests.push(e),this._sendRequest()}},x3dom.RequestManager.abortAllRequests=function(){for(var e=0;e<this.activeRequests.length;e++)this.activeRequests[e].abort();this.requests=[],this.activeRequests=[],this.failedRequests=0,this.loadedRequests=0,this.totalRequests=0,this.onAbortAllRequests(this._getCounters())},x3dom.RequestManager._removeActiveRequest=function(e){var t=this.activeRequests.indexOf(e);return this.activeRequests.splice(t,1)},x3dom.RequestManager._onLoadHandler=function(e){this._removeActiveRequest(e.target),this.loadedRequests++,this._sendRequest()},x3dom.RequestManager._onErrorHandler=function(e){this._removeActiveRequest(e.target),this.failedRequests++,this._sendRequest()},x3dom.Properties=function(){this.properties={}},x3dom.Properties.prototype.setProperty=function(e,t){x3dom.debug.logInfo("Properties: Setting property '"+e+"' to value '"+t+"'"),this.properties[e]=t},x3dom.Properties.prototype.getProperty=function(e,t){return this.properties[e]?this.properties[e]:t},x3dom.Properties.prototype.merge=function(e){for(var t in e.properties)this.properties[t]=e.properties[t]},x3dom.Properties.prototype.toString=function(){var e="";for(var t in this.properties)e+="Name: "+t+" Value: "+this.properties[t]+"\n";return e},x3dom.DoublyLinkedList=function(){this.length=0,this.first=null,this.last=null},x3dom.DoublyLinkedList.ListNode=function(e,t,i,n,_){this.point=e,this.point_index=t,this.normals=i,this.colors=n,this.texCoords=_,this.next=null,this.prev=null},x3dom.DoublyLinkedList.prototype.appendNode=function(e){null===this.first?(e.prev=e,e.next=e,this.first=e,this.last=e):(e.prev=this.last,e.next=this.first,this.first.prev=e,this.last.next=e,this.last=e),this.length++},x3dom.DoublyLinkedList.prototype.insertAfterNode=function(e,t){t.prev=e,t.next=e.next,e.next.prev=t,e.next=t,t.prev==this.last&&(this.last=t),this.length++},x3dom.DoublyLinkedList.prototype.deleteNode=function(e){this.length>1?(e.prev.next=e.next,e.next.prev=e.prev,e==this.first&&(this.first=e.next),e==this.last&&(this.last=e.prev)):(this.first=null,this.last=null),e.prev=null,e.next=null,this.length--},x3dom.DoublyLinkedList.prototype.getNode=function(e){var t=null;if(e>this.length)return t;for(var i=0;i<this.length;i++)if(t=0==i?this.first:t.next,i==e)return t;return null},x3dom.DoublyLinkedList.prototype.invert=function(){for(var e=null,t=this.first,i=0;i<this.length;i++)e=t.prev,t.prev=t.next,t.next=e,t=t.prev;e=this.first,this.first=this.last,this.last=e},x3dom.EarClipping={getIndexes:function(e){var t,i,n,_,r,o=e.first.next,s=this.identifyPlane(o.prev.point,o.point,o.next.point);for(i=[],n=[],t=0;t<e.length;t++){switch(o=e.getNode(t),s){case"XY":_=o.point.x,r=o.point.y;break;case"XZ":_=o.point.z,r=o.point.x;break;default:_=o.point.y,r=o.point.z}i.push(r),i.push(_),n.push(o.point_index)}var a=x3dom.EarCut.triangulate(i,null,2);return a=a.map((function(e){return n[e]}))},getMultiIndexes:function(e){var t,i,n,_=e.first.next,r=this.identifyPlane(_.prev.point,_.point,_.next.point),o={indices:[],point:[],normals:[],colors:[],texCoords:[]},s={indices:[],point:[],normals:[],colors:[],texCoords:[]},a=[];for(t=0;t<e.length;t++){switch(_=e.getNode(t),r){case"XY":i=_.point.x,n=_.point.y;break;case"XZ":i=_.point.z,n=_.point.x;break;default:i=_.point.y,n=_.point.z}a.push(n),a.push(i),s.indices.push(_.point_index),s.point.push(_.point),_.normals&&s.normals.push(_.normals),_.colors&&s.colors.push(_.colors),_.texCoords&&s.texCoords.push(_.texCoords)}var p=x3dom.EarCut.triangulate(a,null,2);return o.indices=p.map((function(e){return s.indices[e]})),o.point=p.map((function(e){return s.point[e]})),_.normals&&(o.normals=p.map((function(e){return s.normals[e]}))),_.colors&&(o.colors=p.map((function(e){return s.colors[e]}))),_.texCoords&&(o.texCoords=p.map((function(e){return s.texCoords[e]}))),o},identifyPlane:function(e,t,i){var n,_,r,o,s,a,p,l,d;n=t.x-e.x,_=t.y-e.y,r=t.z-e.z,o=i.x-e.x,s=i.y-e.y,a=i.z-e.z,p=Math.abs(_*a-r*s),l=Math.abs(r*o-n*a),d=Math.abs(n*s-_*o);var c=Math.max(p,l,d);return c==p?"YZ":c==l?"XZ":c==d?"XY":"XZ"}},x3dom.EarCut={triangulate:function(e,t,i){return function(e,t,i){i=i||2;var o,s,a,p,c,u,m,h=t&&t.length,f=h?t[0]*i:e.length,g=function(e,t,i,n){var _,r,o=0;for(_=t,r=i-n;_<i;_+=n)o+=(e[r]-e[_])*(e[_+1]+e[r+1]),r=_;return o>0}(e,0,f,i),C=n(e,0,f,i,!0,g),S=[];if(!C)return S;h&&(C=function(e,t,i,r){var o,s,a,p,c,u=[];for(o=0,s=t.length;o<s;o++)a=t[o]*r,p=o<s-1?t[o+1]*r:e.length,(c=n(e,a,p,r,!1))===c.next&&(c.steiner=!0),u.push(b(c));for(u.sort(l),o=0;o<u.length;o++)d(u[o],i),i=_(i,i.next);return i}(e,t,C,i));if(e.length>80*i){o=a=e[0],s=p=e[1];for(var y=i;y<f;y+=i)c=e[y],u=e[y+1],c<o&&(o=c),u<s&&(s=u),c>a&&(a=c),u>p&&(p=u);m=Math.max(a-o,p-s)}r(C,S,i,o,s,m),!1===g&&S.reverse();return S}(e,t,i);function n(e,t,i,n,_,r){var o,s;if(_===r)for(o=t;o<i;o+=n)s=y(o,e[o],e[o+1],s);else for(o=i-n;o>=t;o-=n)s=y(o,e[o],e[o+1],s);return s}function _(e,t){if(!e)return e;t||(t=e);var i,n=e;do{if(i=!1,n.steiner||!f(n,n.next)&&0!==h(n.prev,n,n.next))n=n.next;else{if(v(n),(n=t=n.prev)===n.next)return null;i=!0}}while(i||n!==t);return t}function r(e,t,i,n,l,d,b){if(e){!b&&d&&function(e,t,i,n){var _=e;do{null===_.z&&(_.z=c(_.x,_.y,t,i,n)),_.prevZ=_.prev,_.nextZ=_.next,_=_.next}while(_!==e);_.prevZ.nextZ=null,_.prevZ=null,function(e){var t,i,n,_,r,o,s,a,p=1;do{for(i=e,e=null,r=null,o=0;i;){for(o++,n=i,s=0,t=0;t<p&&(s++,n=n.nextZ);t++);for(a=p;s>0||a>0&&n;)0===s?(_=n,n=n.nextZ,a--):0!==a&&n?i.z<=n.z?(_=i,i=i.nextZ,s--):(_=n,n=n.nextZ,a--):(_=i,i=i.nextZ,s--),r?r.nextZ=_:e=_,_.prevZ=r,r=_;i=n}r.nextZ=null,p*=2}while(o>1)}(_)}(e,n,l,d);for(var u,m,h=e;e.prev!==e.next;)if(u=e.prev,m=e.next,d?s(e,n,l,d):o(e))t.push(u.i/i),t.push(e.i/i),t.push(m.i/i),v(e),e=m.next,h=m.next;else if((e=m)===h){b?1===b?r(e=a(e,t,i),t,i,n,l,d,2):2===b&&p(e,t,i,n,l,d):r(_(e),t,i,n,l,d,1);break}}}function o(e){var t=e.prev,i=e,n=e.next;if(h(t,i,n)>=0)return!1;for(var _=e.next.next;_!==e.prev;){if(u(t.x,t.y,i.x,i.y,n.x,n.y,_.x,_.y)&&h(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function s(e,t,i,n){var _=e.prev,r=e,o=e.next;if(h(_,r,o)>=0)return!1;for(var s=_.x<r.x?_.x<o.x?_.x:o.x:r.x<o.x?r.x:o.x,a=_.y<r.y?_.y<o.y?_.y:o.y:r.y<o.y?r.y:o.y,p=_.x>r.x?_.x>o.x?_.x:o.x:r.x>o.x?r.x:o.x,l=_.y>r.y?_.y>o.y?_.y:o.y:r.y>o.y?r.y:o.y,d=c(s,a,t,i,n),b=c(p,l,t,i,n),m=e.nextZ;m&&m.z<=b;){if(m!==e.prev&&m!==e.next&&u(_.x,_.y,r.x,r.y,o.x,o.y,m.x,m.y)&&h(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(m=e.prevZ;m&&m.z>=d;){if(m!==e.prev&&m!==e.next&&u(_.x,_.y,r.x,r.y,o.x,o.y,m.x,m.y)&&h(m.prev,m,m.next)>=0)return!1;m=m.prevZ}return!0}function a(e,t,i){var n=e;do{var _=n.prev,r=n.next.next;g(_,n,n.next,r)&&C(_,r)&&C(r,_)&&(t.push(_.i/i),t.push(n.i/i),t.push(r.i/i),v(n),v(n.next),n=e=r),n=n.next}while(n!==e);return n}function p(e,t,i,n,o,s){var a=e;do{for(var p=a.next.next;p!==a.prev;){if(a.i!==p.i&&m(a,p)){var l=S(a,p);return a=_(a,a.next),l=_(l,l.next),r(a,t,i,n,o,s),void r(l,t,i,n,o,s)}p=p.next}a=a.next}while(a!==e)}function l(e,t){return e.x-t.x}function d(e,t){if(t=function(e,t){var i,n=t,_=e.x,r=e.y,o=-1/0;do{if(r<=n.y&&r>=n.next.y){var s=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);s<=_&&s>o&&(o=s,i=n.x<n.next.x?n:n.next)}n=n.next}while(n!==t);if(!i)return null;var a,p=i,l=1/0;n=i.next;for(;n!==p;)_>=n.x&&n.x>=i.x&&u(r<i.y?_:o,r,i.x,i.y,r<i.y?o:_,r,n.x,n.y)&&((a=Math.abs(r-n.y)/(_-n.x))<l||a===l&&n.x>i.x)&&C(n,e)&&(i=n,l=a),n=n.next;return i}(e,t)){var i=S(t,e);_(i,i.next)}}function c(e,t,i,n,_){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)/_)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)/_)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function b(e){var t=e,i=e;do{t.x<i.x&&(i=t),t=t.next}while(t!==e);return i}function u(e,t,i,n,_,r,o,s){return(_-o)*(t-s)-(e-o)*(r-s)>=0&&(e-o)*(n-s)-(i-o)*(t-s)>=0&&(i-o)*(r-s)-(_-o)*(n-s)>=0}function m(e,t){return f(e,t)||e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&g(i,i.next,e,t))return!0;i=i.next}while(i!==e);return!1}(e,t)&&C(e,t)&&C(t,e)&&function(e,t){var i=e,n=!1,_=(e.x+t.x)/2,r=(e.y+t.y)/2;do{i.y>r!=i.next.y>r&&_<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==e);return n}(e,t)}function h(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function f(e,t){return e.x===t.x&&e.y===t.y}function g(e,t,i,n){return h(e,t,i)>0!=h(e,t,n)>0&&h(i,n,e)>0!=h(i,n,t)>0}function C(e,t){return h(e.prev,e,e.next)<0?h(e,t,e.next)>=0&&h(e,e.prev,t)>=0:h(e,t,e.prev)<0||h(e,e.next,t)<0}function S(e,t){var i=new x(e.i,e.x,e.y),n=new x(t.i,t.x,t.y),_=e.next,r=t.prev;return e.next=t,t.prev=e,i.next=_,_.prev=i,n.next=i,i.prev=n,r.next=n,n.prev=r,n}function y(e,t,i,n){var _=new x(e,t,i);return n?(_.next=n.next,_.prev=n,n.next.prev=_,n.next=_):(_.prev=_,_.next=_),_}function v(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function x(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}}},x3dom.FieldInterpolator=function(e,t,i,n){this.beginTime=e||0,this.endTime=t||1,this.beginValue=i||0,this.endValue=n||0,this.isInterpolating=!1},x3dom.FieldInterpolator.prototype.isActive=function(){return this.beginTime>0},x3dom.FieldInterpolator.prototype.calcFraction=function(e){var t=(e-this.beginTime)/(this.endTime-this.beginTime);return(Math.sin(t*Math.PI-Math.PI/2)+1)/2},x3dom.FieldInterpolator.prototype.reset=function(){this.isInterpolating=!1,this.beginTime=0,this.endTime=1,this.beginValue=0,this.endValue=0},x3dom.FieldInterpolator.prototype.interpolate=function(e){if(e<this.beginTime)return this.beginValue;if(e>=this.endTime){var t=this.endValue;return this.reset(),t}return this.isInterpolating=!0,this.beginValue+(this.endValue-this.beginValue)*this.calcFraction(e)},x3dom.Utils={},x3dom.Utils.maxIndexableCoords=65535,x3dom.Utils.needLineWidth=!1,x3dom.Utils.measurements=[],window.performance=window.performance||{},performance.now=performance.now||performance.mozNow||performance.msNow||performance.oNow||performance.webkitNow||function(){return(new Date).getTime()},x3dom.Utils.startMeasure=function(e){var t=e.toUpperCase();x3dom.Utils.measurements[t]||(x3dom.Utils.measurements[t]=performance.now())},x3dom.Utils.stopMeasure=function(e){var t=e.toUpperCase();if(x3dom.Utils.measurements[t]){var i=x3dom.Utils.measurements[t];return delete x3dom.Utils.measurements[t],performance.now()-i}return 0},x3dom.Utils.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},x3dom.Utils.createTexture2D=function(e,t,i,n,_,r,o,s,a){s=s||!1;var p=e.createTexture(),l=new Uint8Array([0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255]);e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,2,2,0,e.RGBA,e.UNSIGNED_BYTE,l),o&&e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null),p.ready=!1;var d=0;if(null==i||""==i)return p;var c=new Image;switch(_.toLowerCase()){case"anonymous":c.crossOrigin="anonymous";break;case"use-credentials":c.crossOrigin="use-credentials";break;case"none":break;default:x3dom.Utils.forbiddenBySOP(i)&&(c.crossOrigin="anonymous")}var b=function(){if(a&&0===a.getOrigChannelCount()){var e=new XMLHttpRequest;e.open("GET",i),e.onloadstart=function(){e.responseType="arraybuffer"},e.onload=function(){var t=e.getResponseHeader("Content-Type"),i=new Uint8Array(e.response),n=x3dom.Utils.detectChannelCount(i,t);n&&a.setOrigChannelCount(n),c.src=x3dom.Utils.arrayBufferToObjectURL(i,t)},e.onerror=function(){x3dom.debug.logError("[Utils|createTexture2D] Can't http request: "+i),c.src=i},x3dom.RequestManager.addRequest(e)}else c.src=i;t.incrementDownloads()};return b(),c.onload=function(){p.originalWidth=c.width,p.originalHeight=c.height,r&&(c=x3dom.Utils.scaleImage(c)),1!=n&&1!=s||e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,c),o&&e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null),1!=n&&1!=s||e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),p.width=c.width,p.height=c.height,p.ready=!0,t.decrementDownloads(),t.needRender=!0},c.onerror=function(n){x3dom.Utils.tryDDSLoading(p,e,t,i,o,s,a).then((function(){t.decrementDownloads(),t.needRender=!0}),(function(){x3dom.debug.logError("[Utils|createTexture2D] Can't load Image: "+i),t.decrementDownloads(),d++,a&&d<a._vf.url.length&&(i=a._nameSpace.getURL(a._vf.url[d]),b())}))},p},x3dom.Utils.tryDDSLoading=function(e,t,i,n,_,r,o){return x3dom.DDSLoader.load(n).then((function(i){if(i&&(!i.isCompressed||x3dom.caps.COMPRESSED_TEXTURE)){for(var n in t.bindTexture(i.type,e),!1,x3dom.Utils.isPowerOfTwo(i.width)||x3dom.Utils.isPowerOfTwo(i.height)?i.generateMipmaps&&t.texParameteri(i.type,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_LINEAR):(t.texParameteri(i.type,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(i.type,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(i.type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(i.type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),i.generateMipmaps=!1),i.data)for(var _=i.width,r=i.height,s=i.data[n],a=0;a<s.length;a++)0!=a&&(_=Math.max(.5*_,1),r=Math.max(.5*r,1)),i.format.internal<33776||i.format.internal>33779?t.texImage2D(+n,a,i.format.internal,_,r,0,i.format.format,i.format.type,s[a]):(t.compressedTexImage2D(+n,a,i.format.internal,_,r,0,s[a]),i.generateMipmaps=!1);i.generateMipmaps&&t.generateMipmap(i.type),t.bindTexture(i.type,null),e.width=i.width,e.height=i.height,e.ready=!0,e.textureCubeReady=!0,o&&i.channelCount&&o.setOrigChannelCount(i.channelCount)}}))},x3dom.Utils.createTextureCube=function(e,t,i,n,_,r,o,s){var a,p=new Uint8Array([0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255]),l=e.createTexture();a=n?[e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Z,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_X,e.TEXTURE_CUBE_MAP_NEGATIVE_X]:[e.TEXTURE_CUBE_MAP_NEGATIVE_Z,e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_X,e.TEXTURE_CUBE_MAP_POSITIVE_X],l.ready=!1,l.pendingTextureLoads=-1,l.textureCubeReady=!1;for(var d=0,c=0,b=0;b<a.length;b++)e.bindTexture(e.TEXTURE_CUBE_MAP,l),e.texImage2D(a[b],0,e.RGBA,2,2,0,e.RGBA,e.UNSIGNED_BYTE,p),e.bindTexture(e.TEXTURE_CUBE_MAP,null);if(1==i.length)t.incrementDownloads(),x3dom.Utils.tryDDSLoading(l,e,t,i[0],o,s).then((function(){t.decrementDownloads(),t.needRender=!0}),(function(){x3dom.debug.logError("[Utils|createTexture2D] Can't load Image: "+i),t.decrementDownloads()}));else if(6==i.length)for(b=0;b<a.length;b++){var u=a[b],m=new Image;switch(_.toLowerCase()){case"anonymous":m.crossOrigin="anonymous";break;case"use-credentials":m.crossOrigin="use-credentials";break;case"none":break;default:x3dom.Utils.forbiddenBySOP(i[b])&&(m.crossOrigin="anonymous")}l.pendingTextureLoads++,t.incrementDownloads(),m.onload=function(i,n,_,s){return function(){0==d&&0==c?(d=_.width,c=_.height):!r||d==_.width&&c==_.height||(x3dom.debug.logWarning("[Utils|createTextureCube] Rescaling CubeMap images, which are of different size!"),_=x3dom.Utils.rescaleImage(_,d,c)),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,s),e.bindTexture(e.TEXTURE_CUBE_MAP,i),e.texImage2D(n,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,_),e.bindTexture(e.TEXTURE_CUBE_MAP,null),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),i.pendingTextureLoads--,t.decrementDownloads(),i.pendingTextureLoads<0&&(i.width=d,i.height=c,i.textureCubeReady=!0,o&&(e.bindTexture(e.TEXTURE_CUBE_MAP,i),e.generateMipmap(e.TEXTURE_CUBE_MAP),e.bindTexture(e.TEXTURE_CUBE_MAP,null)),x3dom.debug.logInfo("[Utils|createTextureCube] Loading CubeMap finished..."),t.needRender=!0)}}(l,u,m,n),m.onerror=function(){t.decrementDownloads(),x3dom.debug.logError("[Utils|createTextureCube] Can't load CubeMap!")},m.src=i[b]}return l},x3dom.Utils.detectChannelCount=function(e,t){switch(t){case"image/jpeg":return x3dom.Utils.detectChannelCountJPG(e);case"image/png":return x3dom.Utils.detectChannelCountPNG(e);case"image/gif":return x3dom.Utils.detectChannelCountGIF(e)}},x3dom.Utils.detectChannelCountJPG=function(e){if(255==e[0]&&216==e[1])for(var t=2,i=new DataView(e.buffer,e.byteOffset,e.byteLength);t+4<e.byteLength;)if(255==e[t]){var n=e[t+1];if(255!=e[t+=2]){var _=i.getUint16(t);if(t+_>e.byteLength)return;if(_>=7&&(192==n||194==n))return e[t+7];t+=_}}else t+=1},x3dom.Utils.detectChannelCountPNG=function(e){if(!(e.byteLength<29)&&137==e[0]&&80==e[1]&&78==e[2]&&71==e[3]&&13==e[4]&&10==e[5]&&26==e[6]&&10==e[7]&&73==e[12]&&72==e[13]&&68==e[14]&&82==e[15])return 0==e[25]?1:2==e[25]?3:4==e[25]?2:6==e[25]?4:void 0},x3dom.Utils.detectChannelCountGIF=function(e){if(71==e[0]&&73==e[1]&&70==e[2]&&56==e[3]&&(55==e[4]||57==e[4])&&97==e[5]&&1&e[10]){for(var t=224&e[10],i=13;i<t;i+=3)if(e[i]!=e[i+1]||e[i]!=e[i+2]||e[i+1]!=e[i+2])return 3;return 1}},x3dom.Utils.initFBO=function(e,t,i,n,_,r,o){var s=e.createTexture();s.width=t,s.height=i,e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,i,0,e.RGBA,n,null),_&&e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null);var a,p=null;if(x3dom.caps.DRAW_BUFFERS&&void 0!==o)for(p=[s],a=1;a<o;a++)p[a]=e.createTexture(),p[a].width=t,p[a].height=i,e.bindTexture(e.TEXTURE_2D,p[a]),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,i,0,e.RGBA,n,null),_&&e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null);var l=e.createFramebuffer(),d=null,c=null;if(r&&(null!==x3dom.caps.DEPTH_TEXTURE?(d=e.createTexture(),e.bindTexture(e.TEXTURE_2D,d),e.texImage2D(e.TEXTURE_2D,0,e.DEPTH_COMPONENT,t,i,0,e.DEPTH_COMPONENT,e.UNSIGNED_SHORT,null),_&&e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null),d.width=t,d.height=i):(c=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,c),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t,i),e.bindRenderbuffer(e.RENDERBUFFER,null))),e.bindFramebuffer(e.FRAMEBUFFER,l),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,s,0),x3dom.caps.DRAW_BUFFERS&&void 0!==o)for(a=1;a<o;a++)e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+a,e.TEXTURE_2D,p[a],0);r&&null!==x3dom.caps.DEPTH_TEXTURE?e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,d,0):e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,c);var b=e.checkFramebufferStatus(e.FRAMEBUFFER);return b!=e.FRAMEBUFFER_COMPLETE&&x3dom.debug.logWarning("[Utils|InitFBO] FBO-Status: "+b),e.bindFramebuffer(e.FRAMEBUFFER,null),{fbo:l,dtex:d,rbo:c,tex:s,texTargets:p,width:t,height:i,type:n,mipMap:_}},x3dom.Utils.getFileName=function(e){return e.lastIndexOf("/")>-1?e.substr(e.lastIndexOf("/")+1):e.lastIndexOf("\\")>-1?e.substr(e.lastIndexOf("\\")+1):e},x3dom.Utils.isWebGL2Enabled=function(){var e=document.createElement("canvas");return!!(e.getContext("webgl2")||e.getContext("experimental-webgl2"))},x3dom.Utils.findTextureByName=function(e,t){for(var i=0;i<e.length;++i)if(t==e[i].samplerName)return e[i];return!1},x3dom.Utils.rescaleImage=function(e,t,i){var n=document.createElement("canvas");return n.width=t,n.height=i,n.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,n.width,n.height),n},x3dom.Utils.scaleImage=function(e){if(!x3dom.Utils.isPowerOfTwo(e.width)||!x3dom.Utils.isPowerOfTwo(e.height)){var t=document.createElement("canvas");t.width=x3dom.Utils.nextHighestPowerOfTwo(e.width),t.height=x3dom.Utils.nextHighestPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e},x3dom.Utils.isPowerOfTwo=function(e){return 0==(e&e-1)},x3dom.Utils.nextHighestPowerOfTwo=function(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1},x3dom.Utils.nextBestPowerOfTwo=function(e){var t=Math.log(e)/.693147180559945;return Math.pow(2,Math.round(t))},x3dom.Utils.getDataTypeSize=function(e){switch(e){case"Int8":case"Uint8":return 1;case"Int16":case"Uint16":return 2;case"Int32":case"Uint32":case"Float32":return 4;case"Float64":default:return 8}},x3dom.Utils.getOffsetMultiplier=function(e,t){switch(e){case t.UNSIGNED_SHORT:return 1;case t.UNSIGNED_INT:return 2;case t.UNSIGNED_BYTE:return.5;default:return 1}},x3dom.Utils.getByteAwareOffset=function(e,t,i){switch(t){case i.UNSIGNED_SHORT:return 2*e;case i.UNSIGNED_INT:return 4*e;case i.UNSIGNED_BYTE:return e;default:return 2*e}},x3dom.Utils.getVertexAttribType=function(e,t){var i=t.NONE;switch(e){case"Int8":i=t.BYTE;break;case"Uint8":i=t.UNSIGNED_BYTE;break;case"Int16":i=t.SHORT;break;case"Uint16":i=t.UNSIGNED_SHORT;break;case"Int32":i=t.INT;break;case"Uint32":i=t.UNSIGNED_INT;break;case"Float32":i=t.FLOAT;break;case"Float64":default:x3dom.debug.logError("Can't find this.gl data type for "+e+", getting FLOAT..."),i=t.FLOAT}return i},x3dom.Utils.getArrayBufferView=function(e,t){var i=null;switch(e){case"Int8":i=new Int8Array(t);break;case"Uint8":i=new Uint8Array(t);break;case"Int16":i=new Int16Array(t);break;case"Uint16":i=new Uint16Array(t);break;case"Int32":i=new Int32Array(t);break;case"Uint32":i=new Uint32Array(t);break;case"Float32":i=new Float32Array(t);break;case"Float64":i=new Float64Array(t);break;default:x3dom.debug.logError("Can't create typed array view of type "+e+", trying Float32..."),i=new Float32Array(t)}return i},x3dom.Utils.isUnsignedType=function(e){return"Uint8"==e||"Uint16"==e||"Uint16"==e||"Uint32"==e},x3dom.Utils.checkDirtyLighting=function(e){return e.getLights().length+e._scene.getNavigationInfo()._vf.headlight},x3dom.Utils.checkDirtyPhysicalEnvironmentLight=function(e,t){return!!t.PHYSICALENVLIGHT!=e.hasPhysicalEnvironmentLight()},x3dom.Utils.checkDirtyEnvironment=function(e,t){var i=e._scene.getEnvironment();return t.GAMMACORRECTION!=i._vf.gammaCorrectionDefault},x3dom.Utils.minFilterDic=function(e,t){switch(t.toUpperCase()){case"NEAREST":return e.NEAREST;case"LINEAR":return e.LINEAR;case"NEAREST_MIPMAP_NEAREST":return e.NEAREST_MIPMAP_NEAREST;case"NEAREST_MIPMAP_LINEAR":return e.NEAREST_MIPMAP_LINEAR;case"LINEAR_MIPMAP_NEAREST":return e.LINEAR_MIPMAP_NEAREST;case"LINEAR_MIPMAP_LINEAR":return e.LINEAR_MIPMAP_LINEAR;case"AVG_PIXEL":return e.LINEAR;case"AVG_PIXEL_AVG_MIPMAP":return e.LINEAR_MIPMAP_LINEAR;case"AVG_PIXEL_NEAREST_MIPMAP":return e.LINEAR_MIPMAP_NEAREST;case"DEFAULT":return e.LINEAR_MIPMAP_LINEAR;case"FASTEST":case"NEAREST_PIXEL":return e.NEAREST;case"NEAREST_PIXEL_AVG_MIPMAP":return e.NEAREST_MIPMAP_LINEAR;case"NEAREST_PIXEL_NEAREST_MIPMAP":return e.NEAREST_MIPMAP_NEAREST;case"NICEST":return e.LINEAR_MIPMAP_LINEAR;default:return e.LINEAR}},x3dom.Utils.minFilterDicX3D=function(e){switch(e){case 9728:return"NEAREST";case 9729:return"LINEAR";case 9984:return"NEAREST_MIPMAP_NEAREST";case 9985:return"LINEAR_MIPMAP_NEAREST";case 9986:return"NEAREST_MIPMAP_LINEAR";case 9987:default:return"LINEAR_MIPMAP_LINEAR"}},x3dom.Utils.magFilterDic=function(e,t){switch(t.toUpperCase()){case"NEAREST":return e.NEAREST;case"LINEAR":case"AVG_PIXEL":case"DEFAULT":return e.LINEAR;case"FASTEST":case"NEAREST_PIXEL":return e.NEAREST;case"NICEST":default:return e.LINEAR}},x3dom.Utils.magFilterDicX3D=function(e){switch(e){case 9728:return"NEAREST";case 9729:default:return"LINEAR"}},x3dom.Utils.boundaryModesDicX3D=function(e){switch(e){case 10497:return"REPEAT";case 33071:return"CLAMP_TO_EDGE";case 33648:return"MIRRORED_REPEAT";default:return"REPEAT"}},x3dom.Utils.boundaryModesDic=function(e,t){switch(t.toUpperCase()){case"CLAMP":case"CLAMP_TO_EDGE":case"CLAMP_TO_BOUNDARY":return e.CLAMP_TO_EDGE;case"MIRRORED_REPEAT":return e.MIRRORED_REPEAT;case"REPEAT":default:return e.REPEAT}},x3dom.Utils.primTypeDic=function(e,t){switch(t.toUpperCase()){case"POINTS":return e.POINTS;case"LINES":return e.LINES;case"LINELOOP":return e.LINE_LOOP;case"LINESTRIP":return e.LINE_STRIP;case"TRIANGLES":return e.TRIANGLES;case"TRIANGLESTRIP":return e.TRIANGLE_STRIP;case"TRIANGLEFAN":return e.TRIANGLE_FAN;default:return e.TRIANGLES}},x3dom.Utils.depthFunc=function(e,t){switch(t.toUpperCase()){case"NEVER":return e.NEVER;case"ALWAYS":return e.ALWAYS;case"LESS":return e.LESS;case"EQUAL":return e.EQUAL;case"LEQUAL":return e.LEQUAL;case"GREATER":return e.GREATER;case"GEQUAL":return e.GEQUAL;case"NOTEQUAL":return e.NOTEQUAL;default:return e.LEQUAL}},x3dom.Utils.blendFunc=function(e,t){switch(t.toLowerCase()){case"zero":return e.ZERO;case"one":return e.ONE;case"dst_color":return e.DST_COLOR;case"dst_alpha":return e.DST_ALPHA;case"src_color":return e.SRC_COLOR;case"src_alpha":return e.SRC_ALPHA;case"one_minus_dst_color":return e.ONE_MINUS_DST_COLOR;case"one_minus_dst_alpha":return e.ONE_MINUS_DST_ALPHA;case"one_minus_src_color":return e.ONE_MINUS_SRC_COLOR;case"one_minus_src_alpha":return e.ONE_MINUS_SRC_ALPHA;case"src_alpha_saturate":return e.SRC_ALPHA_SATURATE;case"constant_color":return e.CONSTANT_COLOR;case"constant_alpha":return e.CONSTANT_ALPHA;case"one_minus_constant_color":return e.ONE_MINUS_CONSTANT_COLOR;case"one_minus_constant_alpha":return e.ONE_MINUS_CONSTANT_ALPHA;default:return 0}},x3dom.Utils.blendEquation=function(e,t){switch(t.toLowerCase()){case"func_add":return e.FUNC_ADD;case"func_subtract":return e.FUNC_SUBTRACT;case"func_reverse_subtract":return e.FUNC_REVERSE_SUBTRACT;case"min":case"max":case"logic_op":default:return 0}},x3dom.Utils.generateProperties=function(e,t){var i={},n=t._cf.geometry.node,_=t._cf.appearance.node,r=_?_._cf.texture.node:null,o=_?_._cf.material.node:null,s=e._scene.getEnvironment();return _&&_._shader&&x3dom.isa(_._shader,x3dom.nodeTypes.ComposedShader)?i.CSHADER=_._shader._id:n&&(i.CSHADER=-1,i.APPMAT=_&&(o||i.CSSHADER)?1:0,i.SOLID=t.isSolid()?1:0,i.TEXT=x3dom.isa(n,x3dom.nodeTypes.Text)?1:0,i.POPGEOMETRY=x3dom.isa(n,x3dom.nodeTypes.PopGeometry)?1:0,i.BUFFERGEOMETRY=x3dom.isa(n,x3dom.nodeTypes.BufferGeometry)?1:0,i.BINARYGEOMETRY=x3dom.isa(n,x3dom.nodeTypes.BinaryGeometry)?1:0,i.POINTLINE2D=n.needLighting()?0:1,i.VERTEXID=i.BINARYGEOMETRY&&n._vf.idsPerVertex?1:0,i.IS_PARTICLE=x3dom.isa(n,x3dom.nodeTypes.ParticleSet)?1:0,i.POINTPROPERTIES=_&&_._cf.pointProperties.node?1:0,i.TANGENTDATA=n._mesh._tangents[0].length>0&&n._mesh._binormals[0].length>0?1:0,i.PBR_MATERIAL=i.APPMAT&&x3dom.isa(o,x3dom.nodeTypes.PhysicalMaterial)?1:0,i.TWOSIDEDMAT=i.APPMAT&&x3dom.isa(o,x3dom.nodeTypes.TwoSidedMaterial)?1:0,i.SEPARATEBACKMAT=i.TWOSIDEDMAT&&o._vf.separateBackColor?1:0,i.SHADOW=e.getLightsShadow()?1:0,i.FOG=e._scene.getFog()._vf.visibilityRange>0?1:0,i.CSSHADER=_&&_._shader&&x3dom.isa(_._shader,x3dom.nodeTypes.CommonSurfaceShader)?1:0,i.LIGHTS=!i.POINTLINE2D&&_&&t.isLit()&&(o||i.CSSHADER)?e.getLights().length+e._scene.getNavigationInfo()._vf.headlight:0,i.TEXTURED=r||i.TEXT||i.CSSHADER&&_._shader.needTexcoords()||i.PBR_MATERIAL&&o.hasTextures()?1:0,i.CUBEMAP=r&&x3dom.isa(r,x3dom.nodeTypes.X3DEnvironmentTextureNode)||i.CSSHADER&&_._shader.getEnvironmentMap()?1:0,i.PIXELTEX=r&&x3dom.isa(r,x3dom.nodeTypes.PixelTexture)?1:0,i.TEXTRAFO=_&&_._cf.textureTransform.node?1:0,i.DIFFUSEMAP=r&&!x3dom.isa(r,x3dom.nodeTypes.X3DEnvironmentTextureNode)||i.CSSHADER&&_._shader.getDiffuseMap()||i.PBR_MATERIAL&&o._cf.baseColorTexture.node?1:0,i.NORMALMAP=i.CSSHADER&&_._shader.getNormalMap()||i.PBR_MATERIAL&&o._cf.normalTexture.node?1:0,i.SPECMAP=i.CSSHADER&&_._shader.getSpecularMap()?1:0,i.SHINMAP=i.CSSHADER&&_._shader.getShininessMap()?1:0,i.EMISSIVEMAP=i.PBR_MATERIAL&&o._cf.emissiveTexture.node?1:0,i.OCCLUSIONMAP=i.PBR_MATERIAL&&o._cf.occlusionTexture.node?1:0,i.DISPLACEMENTMAP=i.CSSHADER&&_._shader.getDisplacementMap()?1:0,i.DIFFPLACEMENTMAP=i.CSSHADER&&_._shader.getDiffuseDisplacementMap()?1:0,i.ALPHAMODE=i.PBR_MATERIAL?o._vf.alphaMode:"BLEND",i.ISROUGHNESSMETALLIC=i.PBR_MATERIAL&&"roughnessMetallic"==o._vf.model?1:0,i.ROUGHNESSMETALLICMAP=i.PBR_MATERIAL&&o._cf.roughnessMetallicTexture.node?1:0,i.SPECULARGLOSSINESSMAP=i.PBR_MATERIAL&&o._cf.specularGlossinessTexture.node?1:0,i.OCCLUSIONROUGHNESSMETALLICMAP=i.PBR_MATERIAL&&o._cf.occlusionRoughnessMetallicTexture.node?1:0,i.PHYSICALENVLIGHT=e.hasPhysicalEnvironmentLight()?1:0,i.NORMALSPACE=i.NORMALMAP&&i.CSSHADER?_._shader._vf.normalSpace.toUpperCase():i.NORMALMAP&&i.PBR_MATERIAL?o._vf.normalSpace.toUpperCase():"TANGENT",i.BLENDING=i.TEXT||i.CUBEMAP||i.CSSHADER||i.PBR_MATERIAL||r&&r._blending?1:0,i.REQUIREBBOX=void 0!==n._vf.coordType&&"Float32"!=n._vf.coordType?1:0,i.REQUIREBBOXNOR=void 0!==n._vf.normalType&&"Float32"!=n._vf.normalType?1:0,i.REQUIREBBOXCOL=void 0!==n._vf.colorType&&"Float32"!=n._vf.colorType?1:0,i.REQUIREBBOXTEX=void 0!==n._vf.texCoordType&&"Float32"!=n._vf.texCoordType?1:0,i.COLCOMPONENTS=n._mesh._numColComponents,i.NORCOMPONENTS=n._mesh._numNormComponents,i.POSCOMPONENTS=n._mesh._numPosComponents,i.SPHEREMAPPING=void 0!==n._cf.texCoord&&null!==n._cf.texCoord.node&&n._cf.texCoord.node._vf.mode&&"sphere"==n._cf.texCoord.node._vf.mode.toLowerCase()?1:0,i.VERTEXCOLOR=n._mesh._colors[0].length>0||i.POPGEOMETRY&&n.hasColor()||i.BUFFERGEOMETRY&&n.hasColor()||void 0!==n._vf.color&&n._vf.color.length>0?1:0,i.CLIPPLANES=t._clipPlanes.length,i.ALPHATHRESHOLD=_?_._vf.alphaClipThreshold.toFixed(2):.1,i.MULTITEXCOORD=i.BUFFERGEOMETRY&&n.hasMultiTexCoord()?1:0,i.DIFFUSEMAPCHANNEL=i.PBR_MATERIAL&&i.DIFFUSEMAP&&1===o._cf.baseColorTexture.node._vf.channel?1:0,i.NORMALMAPCHANNEL=i.PBR_MATERIAL&&i.NORMALMAP&&1===o._cf.normalTexture.node._vf.channel?1:0,i.EMISSIVEMAPCHANNEL=i.PBR_MATERIAL&&i.EMISSIVEMAP&&1===o._cf.emissiveTexture.node._vf.channel?1:0,i.OCCLUSIONMAPCHANNEL=i.PBR_MATERIAL&&i.OCCLUSIONMAP&&1===o._cf.occlusionTexture.node._vf.channel?1:0,i.ROUGHNESSMETALLICMAPCHANNEL=i.PBR_MATERIAL&&i.ROUGHNESSMETALLICMAP&&1===o._cf.roughnessMetallicTexture.node._vf.channel?1:0,i.OCCLUSIONROUGHNESSMETALLICMAPCHANNEL=i.PBR_MATERIAL&&i.OCCLUSIONROUGHNESSMETALLICMAP&&1===o._cf.occlusionRoughnessMetallicTexture.node._vf.channel?1:0,i.SPECULARGLOSSINESSMAPCHANNEL=i.PBR_MATERIAL&&i.SPECULARGLOSSINESSMAP&&1===o._cf.specularGlossinessTexture.node._vf.channel?1:0,i.ALPHAMASK=i.PBR_MATERIAL&&"MASK"==o._vf.alphaMode?1:0,i.UNLIT=i.PBR_MATERIAL&&o._vf.unlit?1:0,i.GAMMACORRECTION=s._vf.gammaCorrectionDefault,i.KHR_MATERIAL_COMMONS=0),i.toIdentifier=function(){delete this.id;var e="";for(var t in this)this[t]!=this.toIdentifier&&this[t]!=this.toString&&(e+=this[t]);return this.id=e,e},i.toString=function(){var e="";for(var t in this)this[t]!=this.toIdentifier&&this[t]!=this.toString&&(e+=t+": "+this[t]+", ");return e},i.toIdentifier(),i},x3dom.Utils.lerp=function(e,t,i){return e+(t-e)*(i=(i=i<0?0:i)>1?1:i)},x3dom.Utils.wrapProgram=function(e,t,i){var n,_,r={shaderID:i,program:t,bind:function(){e.useProgram(t)}},o=null,s=null,a=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(n=0;n<a;++n){try{s=e.getActiveUniform(t,n)}catch(e){if(!s)continue}switch((_=e.getError())&&x3dom.debug.logError("GL-Error (on searching uniforms): name="+s.name+" type="+s.type+" size="+s.size+" Err="+_),o=e.getUniformLocation(t,s.name),s.type){case e.SAMPLER_2D:case e.SAMPLER_CUBE:case e.BOOL:r.__defineSetter__(s.name,function(t){return function(i){e.uniform1i(t,i)}}(o));break;case e.FLOAT:-1!=s.name.indexOf("[0]")?r.__defineSetter__(s.name.substring(0,s.name.length-3),function(t){return function(i){e.uniform1fv(t,new Float32Array(i))}}(o)):r.__defineSetter__(s.name,function(t){return function(i){e.uniform1f(t,i)}}(o));break;case e.FLOAT_VEC2:r.__defineSetter__(s.name,function(t){return function(i){e.uniform2f(t,i[0],i[1])}}(o));break;case e.FLOAT_VEC3:-1!=s.name.indexOf("[0]")?r.__defineSetter__(s.name.substring(0,s.name.length-3),function(t){return function(i){e.uniform3fv(t,new Float32Array(i))}}(o)):r.__defineSetter__(s.name,function(t){return function(i){e.uniform3f(t,i[0],i[1],i[2])}}(o));break;case e.FLOAT_VEC4:r.__defineSetter__(s.name,function(t){return function(i){e.uniform4f(t,i[0],i[1],i[2],i[3])}}(o));break;case e.FLOAT_MAT2:r.__defineSetter__(s.name,function(t){return function(i){e.uniformMatrix2fv(t,!1,new Float32Array(i))}}(o));break;case e.FLOAT_MAT3:r.__defineSetter__(s.name,function(t){return function(i){e.uniformMatrix3fv(t,!1,new Float32Array(i))}}(o));break;case e.FLOAT_MAT4:r.__defineSetter__(s.name,function(t){return function(i){e.uniformMatrix4fv(t,!1,new Float32Array(i))}}(o));break;case e.INT:r.__defineSetter__(s.name,function(t){return function(i){e.uniform1i(t,i)}}(o));break;default:x3dom.debug.logWarning("GLSL program variable "+s.name+" has unknown type "+s.type)}}var p=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(n=0;n<p;++n){try{s=e.getActiveAttrib(t,n)}catch(e){if(!s)continue}(_=e.getError())&&x3dom.debug.logError("GL-Error (on searching attributes): name="+s.name+" type="+s.type+" size="+s.size+" Err="+_),o=e.getAttribLocation(t,s.name),r[s.name]=o}return r},x3dom.Utils.arrayBufferToJSON=function(e,t,i){var n,_,r,o,s,a;for(t=null!=t?t:0,n="",r=i=null!=i?i:e.length,_=t;_<r;)switch((o=e[_++])>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n+=String.fromCharCode(o);break;case 12:case 13:s=e[_++],n+=String.fromCharCode((31&o)<<6|63&s);break;case 14:s=e[_++],a=e[_++],n+=String.fromCharCode((15&o)<<12|(63&s)<<6|(63&a)<<0)}return JSON.parse(n)},x3dom.Utils.arrayBufferToObjectURL=function(e,t){return URL.createObjectURL(new Blob([new Uint8Array(e)],{type:t}))},x3dom.Utils.dataURIToObjectURL=function(e){if(-1==e.indexOf("data:"))return e;for(var t=e.split(","),i=t[0].split(":")[1].split(";")[0],n=t[1],_=window.atob(n),r=_.length,o=new Uint8Array(r),s=0;s<r;s++)o[s]=_.charCodeAt(s);return URL.createObjectURL(new Blob([o],{type:i}))},x3dom.Utils.arrayBufferToDataURL=function(e,t){for(var i="",n=new Uint8Array(e),_=0;_<n.byteLength;_++)i+=String.fromCharCode(n[_]);return"data:"+t+";base64,"+window.btoa(i)},x3dom.Utils.forbiddenBySOP=function(e){var t,i,n,_,r,o=(e=e.toLowerCase()).split("//"),s=""===document.location.port?"80":document.location.port;return 2===o.length&&(t=o[0],r=(n=(1===(i=o[1].split("/")[0].split("?")[0].split("#")[0].split("@")).length?i[0]:i[1]).split(":"))[0],_=n[1]),_=_||s,r=r||document.location.host,t=t||document.location.protocol,!(_===s&&r===document.location.host&&t===document.location.protocol)},x3dom.States=function(e){var t=this;this.active=!1,this.viewer=document.createElement("div"),this.viewer.id="x3dom-state-viewer";var i=document.createElement("div");i.className="x3dom-states-head",i.appendChild(document.createTextNode("x3dom"));var n=document.createElement("span");n.className="x3dom-states-head2",n.appendChild(document.createTextNode("stats")),i.appendChild(n),this.renderMode=document.createElement("div"),this.renderMode.className="x3dom-states-rendermode-hardware",this.measureList=document.createElement("ul"),this.measureList.className="x3dom-states-list",this.infoList=document.createElement("ul"),this.infoList.className="x3dom-states-list",this.requestList=document.createElement("ul"),this.requestList.className="x3dom-states-list",this.viewer.appendChild(this.renderMode),this.viewer.appendChild(this.measureList),this.viewer.appendChild(this.infoList),this.viewer.appendChild(this.requestList),this.disableContextMenu=function(e){return e.preventDefault(),e.stopPropagation(),e.returnValue=!1,!1},this.thousandSeperator=function(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},this.toFixed=function(e){return e.toFixed(2)},this.addItem=function(e,t,i){var n=document.createElement("li");n.className="x3dom-states-item";var _=document.createElement("div");_.className="x3dom-states-item-title",_.appendChild(document.createTextNode(t));var r=document.createElement("div");r.className="x3dom-states-item-value",r.appendChild(document.createTextNode(i)),n.appendChild(_),n.appendChild(r),e.appendChild(n)},this.update=function(){if(e.runtime||void 0===this.updateMethodID){var t=e.runtime.states.infos,i=e.runtime.states.measurements,n=x3dom.caps.RENDERMODE;for(var _ in"HARDWARE"==n?(this.renderMode.innerHTML="Hardware-Rendering",this.renderMode.className="x3dom-states-rendermode-hardware"):"SOFTWARE"==n&&(this.renderMode.innerHTML="Software-Rendering",this.renderMode.className="x3dom-states-rendermode-software"),this.measureList.innerHTML="",i)i.hasOwnProperty(_)&&this.addItem(this.measureList,_,this.toFixed(i[_]));for(var r in this.infoList.innerHTML="",t)t.hasOwnProperty(r)&&this.addItem(this.infoList,r,this.thousandSeperator(t[r]));this.requestList.innerHTML="",this.addItem(this.requestList,"#ACTIVE",x3dom.RequestManager.activeRequests.length),this.addItem(this.requestList,"#TOTAL",x3dom.RequestManager.totalRequests),this.addItem(this.requestList,"#LOADED",x3dom.RequestManager.loadedRequests),this.addItem(this.requestList,"#FAILED",x3dom.RequestManager.failedRequests)}else clearInterval(this.updateMethodID)},this.updateMethodID=window.setInterval((function(){t.update()}),1e3),this.viewer.addEventListener("contextmenu",t.disableContextMenu)},x3dom.States.prototype.display=function(e){this.active=void 0!==e?e:!this.active,this.viewer.style.display=this.active?"block":"none"},x3dom.StateManager=function(e){this.gl=e,this.states=[],this.initStates()},x3dom.StateManager.prototype.initStates=function(){this.states.shaderID=null,this.states.colorMask={red:null,green:null,blue:null,alpha:null},this.states.depthMask=null,this.states.stencilMask=null,this.states.cullFace=null,this.states.frontFace=null,this.states.lineWidth=null,this.states.blendColor={red:null,green:null,blue:null,alpha:null},this.states.blendEquation=null,this.states.blendEquationSeparate={modeRGB:null,modeAlpha:null},this.states.blendFunc={sfactor:null,dfactor:null},this.states.blendFuncSeparate={srcRGB:null,dstRGB:null,srcAlpha:null,dstAlpha:null},this.states.depthFunc=null,this.states.viewport={x:null,y:null,width:null,height:null},this.states.depthRange={zNear:null,zFar:null}},x3dom.StateManager.prototype.useProgram=function(e){return this.states.shaderID!=e.shaderID&&(this.gl.useProgram(e.program),this.states.shaderID=e.shaderID,!0)},x3dom.StateManager.prototype.unsetProgram=function(){this.states.shaderID=null},x3dom.StateManager.prototype.enable=function(e){!0!==this.states[e]&&(this.gl.enable(e),this.states[e]=!0)},x3dom.StateManager.prototype.disable=function(e){!1!==this.states[e]&&(this.gl.disable(e),this.states[e]=!1)},x3dom.StateManager.prototype.colorMask=function(e,t,i,n){this.states.colorMask.red==e&&this.states.colorMask.green==t&&this.states.colorMask.blue==i&&this.states.colorMask.alpha==n||(this.gl.colorMask(e,t,i,n),this.states.colorMask.red=e,this.states.colorMask.green=t,this.states.colorMask.blue=i,this.states.colorMask.alpha=n)},x3dom.StateManager.prototype.depthMask=function(e){this.states.depthMask!=e&&(this.gl.depthMask(e),this.states.depthMask=e)},x3dom.StateManager.prototype.stencilMask=function(e){this.states.stencilMask!=e&&(this.gl.stencilMask(e),this.states.stencilMask=e)},x3dom.StateManager.prototype.cullFace=function(e){this.states.cullFace!=e&&(this.gl.cullFace(e),this.states.cullFace=e)},x3dom.StateManager.prototype.frontFace=function(e){this.states.frontFace!=e&&(this.gl.frontFace(e),this.states.frontFace=e)},x3dom.StateManager.prototype.lineWidth=function(e){e=e<=1?1:e,this.states.lineWidth!=e&&(this.gl.lineWidth(e),this.states.lineWidth=e)},x3dom.StateManager.prototype.blendColor=function(e,t,i,n){this.states.blendColor.red==e&&this.states.blendColor.green==t&&this.states.blendColor.blue==i&&this.states.blendColor.alpha==n||(this.gl.blendColor(e,t,i,n),this.states.blendColor.red=e,this.states.blendColor.green=t,this.states.blendColor.blue=i,this.states.blendColor.alpha=n)},x3dom.StateManager.prototype.blendEquation=function(e){e&&this.states.blendEquation!=e&&(this.gl.blendEquation(e),this.states.blendEquation=e)},x3dom.StateManager.prototype.blendEquationSeparate=function(e,t){this.states.blendEquationSeparate.modeRGB==e&&this.states.blendEquationSeparate.modeAlpha==t||(this.gl.blendEquationSeparate(e,t),this.states.blendEquationSeparate.modeRGB=e,this.states.blendEquationSeparate.modeAlpha=t)},x3dom.StateManager.prototype.blendFunc=function(e,t){this.states.blendFunc.sfactor==e&&this.states.blendFunc.dfactor==t||(this.gl.blendFunc(e,t),this.states.blendFunc.sfactor=e,this.states.blendFunc.dfactor=t)},x3dom.StateManager.prototype.blendFuncSeparate=function(e,t,i,n){this.states.blendFuncSeparate.srcRGB==e&&this.states.blendFuncSeparate.dstRGB==t&&this.states.blendFuncSeparate.srcAlpha==i&&this.states.blendFuncSeparate.dstAlpha==n||(this.gl.blendFuncSeparate(e,t,i,n),this.states.blendFuncSeparate.srcRGB=e,this.states.blendFuncSeparate.dstRGB=t,this.states.blendFuncSeparate.srcAlpha=i,this.states.blendFuncSeparate.dstAlpha=n)},x3dom.StateManager.prototype.depthFunc=function(e){this.states.depthFunc!=e&&(this.gl.depthFunc(e),this.states.depthFunc=e)},x3dom.StateManager.prototype.depthRange=function(e,t){e<0||t<0||e>t||(e=e>1?1:e,t=t>1?1:t,this.states.depthRange.zNear==e&&this.states.depthRange.zFar==t||(this.gl.depthRange(e,t),this.states.depthRange.zNear=e,this.states.depthRange.zFar=t))},x3dom.StateManager.prototype.viewport=function(e,t,i,n){this.states.viewport.x==e&&this.states.viewport.y==t&&this.states.viewport.width==i&&this.states.viewport.height==n||(this.gl.viewport(e,t,i,n),this.states.viewport.x=e,this.states.viewport.y=t,this.states.viewport.width=i,this.states.viewport.height=n)},x3dom.StateManager.prototype.bindFramebuffer=function(e,t){this.gl.bindFramebuffer(e,t),this.initStates()},x3dom.BinaryContainerLoader={outOfMemory:!1,checkError:function(e){var t=e.getError();t&&(t==e.OUT_OF_MEMORY?(this.outOfMemory=!0,x3dom.debug.logError("GL-Error "+t+" on loading binary container (out of memory)."),console.error("WebGL: OUT_OF_MEMORY")):x3dom.debug.logError("GL-Error "+t+" on loading binary container."))}},x3dom.BinaryContainerLoader.setupBinGeo=function(e,t,i,n,_){if(!this.outOfMemory){var r=(new Date).getTime(),o=this,s=e._cf.geometry.node;e._webgl.binaryGeometry=-1,e._webgl.internalDownloadCount=(s._vf.index.length>0?1:0)+(s._hasStrideOffset&&s._vf.coord.length>0?1:0)+(!s._hasStrideOffset&&s._vf.coord.length>0?1:0)+(!s._hasStrideOffset&&s._vf.normal.length>0?1:0)+(!s._hasStrideOffset&&s._vf.texCoord.length>0?1:0)+(!s._hasStrideOffset&&s._vf.color.length>0?1:0);var a=0==s._vf.normalPerVertex||s._vf.index.length>0&&("Int32"==s._vf.indexType||"Uint32"==s._vf.indexType&&!x3dom.caps.INDEX_UINT);if(e._webgl.makeSeparateTris={index:null,coord:null,normal:null,texCoord:null,color:null,pushBuffer:function(t,i){this[t]=i,0==--e._webgl.internalDownloadCount&&(this.coord&&this.createMesh(),e._nameSpace.doc.needRender=!0),0==--e._nameSpace.doc.downloadCount&&(e._nameSpace.doc.needRender=!0)},createMesh:function(){var r=s;if(r._hasStrideOffset)x3dom.debug.logError(r._vf.indexType+" index type and per-face normals not supported for interleaved arrays.");else{for(var a=0;a<e._webgl.primType.length;a++)if(e._webgl.primType[a]==i.TRIANGLE_STRIP)return void x3dom.debug.logError("makeSeparateTris: triangle strips not yet supported for per-face normals.");var p,l,d=r._vf.coordType;e._webgl.coordType=x3dom.Utils.getVertexAttribType(d,i),e._webgl.coordType!=i.FLOAT?(4==r._mesh._numPosComponents&&x3dom.Utils.isUnsignedType(r._vf.coordType)?x3dom.fields.SFVec3f.copy(r.getMin()):x3dom.fields.SFVec3f.copy(r._vf.position),p=x3dom.fields.SFVec3f.copy(r._vf.size),l=r.getPrecisionMax("coordType")):(new x3dom.fields.SFVec3f(0,0,0),p=new x3dom.fields.SFVec3f(1,1,1),l=1);var c=e._coordStrideOffset[0]/x3dom.Utils.getDataTypeSize(r._vf.coordType);c=0==c?3:c,x3dom.debug.logWarning("makeSeparateTris.createMesh called with coord length "+c),this.color&&c!=e._colorStrideOffset[0]/x3dom.Utils.getDataTypeSize(r._vf.colorType)&&(this.color=null,x3dom.debug.logWarning("Color format not supported."));var b=this.texCoord?e._texCoordStrideOffset[0]/x3dom.Utils.getDataTypeSize(r._vf.texCoordType):0;r._vf.normalType="Float32",e._webgl.normalType=i.FLOAT,r._mesh._numNormComponents=3,e._normalStrideOffset=[0,0];var u,m,h,f=[],g=[],C=[],S=[],y=this.index?this.index.length-2:this.coord.length/3-2;for(u=0;u<y;u+=3){m=c*(this.index?this.index[u]:u);var v=new x3dom.fields.SFVec3f(p.x*this.coord[m]/l,p.y*this.coord[m+1]/l,p.z*this.coord[m+2]/l);f.push(this.coord[m]),f.push(this.coord[m+1]),f.push(this.coord[m+2]),c>3&&f.push(this.coord[m+3]),this.color&&(S.push(this.color[m]),S.push(this.color[m+1]),S.push(this.color[m+2]),c>3&&S.push(this.color[m+3])),this.texCoord&&(h=b*(this.index?this.index[u]:u),C.push(this.texCoord[h]),C.push(this.texCoord[h+1]),b>3&&(C.push(this.texCoord[h+2]),C.push(this.texCoord[h+3]))),m=c*(this.index?this.index[u+1]:u+1);var x=new x3dom.fields.SFVec3f(p.x*this.coord[m]/l,p.y*this.coord[m+1]/l,p.z*this.coord[m+2]/l);f.push(this.coord[m]),f.push(this.coord[m+1]),f.push(this.coord[m+2]),c>3&&f.push(this.coord[m+3]),this.color&&(S.push(this.color[m]),S.push(this.color[m+1]),S.push(this.color[m+2]),c>3&&S.push(this.color[m+3])),this.texCoord&&(h=b*(this.index?this.index[u+1]:u+1),C.push(this.texCoord[h]),C.push(this.texCoord[h+1]),b>3&&(C.push(this.texCoord[h+2]),C.push(this.texCoord[h+3]))),m=c*(this.index?this.index[u+2]:u+2);var M=new x3dom.fields.SFVec3f(p.x*this.coord[m]/l,p.y*this.coord[m+1]/l,p.z*this.coord[m+2]/l);f.push(this.coord[m]),f.push(this.coord[m+1]),f.push(this.coord[m+2]),c>3&&f.push(this.coord[m+3]),this.color&&(S.push(this.color[m]),S.push(this.color[m+1]),S.push(this.color[m+2]),c>3&&S.push(this.color[m+3])),this.texCoord&&(h=b*(this.index?this.index[u+2]:u+2),C.push(this.texCoord[h]),C.push(this.texCoord[h+1]),b>3&&(C.push(this.texCoord[h+2]),C.push(this.texCoord[h+3])));var T=v.subtract(x),D=x.subtract(M),P=T.cross(D).normalize();for(m=0;m<3;m++)g.push(P.x),g.push(P.y),g.push(P.z)}var w=i.createBuffer();e._webgl.buffers[x3dom.BUFFER_IDX.POSITION]=w,i.bindBuffer(i.ARRAY_BUFFER,w),i.bufferData(i.ARRAY_BUFFER,x3dom.Utils.getArrayBufferView(r._vf.coordType,f),i.STATIC_DRAW),i.vertexAttribPointer(t.position,r._mesh._numPosComponents,e._webgl.coordType,!1,e._coordStrideOffset[0],e._coordStrideOffset[1]),i.enableVertexAttribArray(t.position),w=i.createBuffer(),e._webgl.buffers[x3dom.BUFFER_IDX.NORMAL]=w,i.bindBuffer(i.ARRAY_BUFFER,w),i.bufferData(i.ARRAY_BUFFER,new Float32Array(g),i.STATIC_DRAW),i.vertexAttribPointer(t.normal,r._mesh._numNormComponents,e._webgl.normalType,!1,e._normalStrideOffset[0],e._normalStrideOffset[1]),i.enableVertexAttribArray(t.normal),this.texCoord&&(w=i.createBuffer(),e._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD]=w,i.bindBuffer(i.ARRAY_BUFFER,w),i.bufferData(i.ARRAY_BUFFER,x3dom.Utils.getArrayBufferView(r._vf.texCoordType,C),i.STATIC_DRAW),i.vertexAttribPointer(t.texcoord,r._mesh._numTexComponents,e._webgl.texCoordType,!1,e._texCoordStrideOffset[0],e._texCoordStrideOffset[1]),i.enableVertexAttribArray(t.texcoord)),this.color&&(w=i.createBuffer(),e._webgl.buffers[x3dom.BUFFER_IDX.COLOR]=w,i.bindBuffer(i.ARRAY_BUFFER,w),i.bufferData(i.ARRAY_BUFFER,x3dom.Utils.getArrayBufferView(r._vf.colorType,S),i.STATIC_DRAW),i.vertexAttribPointer(t.color,r._mesh._numColComponents,e._webgl.colorType,!1,e._colorStrideOffset[0],e._colorStrideOffset[1]),i.enableVertexAttribArray(t.color)),r._vf.vertexCount=[],r._vf.vertexCount[0]=f.length/c,r._mesh._numCoords=r._vf.vertexCount[0],r._mesh._numFaces=r._vf.vertexCount[0]/3,e._webgl.primType=[],e._webgl.primType[0]=i.TRIANGLES,f=null,g=null,C=null,S=null,this.index=null,this.coord=null,this.normal=null,this.texCoord=null,this.color=null,o.checkError(i),delete e._webgl.shader,e._webgl.shader=_.cache.getDynamicShader(i,n,e)}}},s._vf.index.length>0){e._webgl.binaryGeometry=1;var p=new XMLHttpRequest;p.open("GET",e._nameSpace.getURL(s._vf.index),!0),p.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(p),p.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==p.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var t=p.response,n=s,_=n._vf.indexType,l=x3dom.Utils.getArrayBufferView(_,t);if(a)e._webgl.makeSeparateTris.pushBuffer("index",l);else{var d=i.createBuffer();x3dom.caps.INDEX_UINT&&"Uint32"==_?e._webgl.indexType=i.UNSIGNED_INT:e._webgl.indexType=i.UNSIGNED_SHORT,i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,d),i.bufferData(i.ELEMENT_ARRAY_BUFFER,l,i.STATIC_DRAW),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),0==n._vf.vertexCount[0]&&(n._vf.vertexCount[0]=l.length),n._mesh._numFaces=0;for(var c=0;c<n._vf.vertexCount.length;c++)e._webgl.primType[c]==i.TRIANGLE_STRIP?n._mesh._numFaces+=n._vf.vertexCount[c]-2:n._mesh._numFaces+=n._vf.vertexCount[c]/3;l=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var b=(new Date).getTime()-r;x3dom.debug.logInfo("XHR0/ index load time: "+b+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.INDEX]=d}}}else x3dom.debug.logError("XHR1/ index load failed with status: "+p.status)}}if(s._hasStrideOffset&&s._vf.coord.length>0){var l=new XMLHttpRequest;l.open("GET",e._nameSpace.getURL(s._vf.coord),!0),l.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(l),l.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==l.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var n=l.response,_=s,a=_._vf.coordType;e._webgl.coordType=x3dom.Utils.getVertexAttribType(a,i),e._webgl.normalType=e._webgl.coordType,e._webgl.texCoordType=e._webgl.coordType,e._webgl.colorType=e._webgl.coordType;var p=x3dom.Utils.getArrayBufferView(a,n),d=e._coordStrideOffset[0]/x3dom.Utils.getDataTypeSize(a);if(d&&(_._mesh._numCoords=p.length/d),0==_._vf.index.length)for(var c=0;c<_._vf.vertexCount.length;c++)e._webgl.primType[c]==i.TRIANGLE_STRIP?_._mesh._numFaces+=_._vf.vertexCount[c]-2:_._mesh._numFaces+=_._vf.vertexCount[c]/3;var b=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,b),i.bufferData(i.ARRAY_BUFFER,p,i.STATIC_DRAW),i.vertexAttribPointer(t.position,_._mesh._numPosComponents,e._webgl.coordType,!1,e._coordStrideOffset[0],e._coordStrideOffset[1]),i.enableVertexAttribArray(t.position),_._vf.normal.length>0&&(e._webgl.buffers[x3dom.BUFFER_IDX.NORMAL]=b,i.bindBuffer(i.ARRAY_BUFFER,b),i.bufferData(i.ARRAY_BUFFER,p,i.STATIC_DRAW),i.vertexAttribPointer(t.normal,_._mesh._numNormComponents,e._webgl.normalType,!1,e._normalStrideOffset[0],e._normalStrideOffset[1]),i.enableVertexAttribArray(t.normal)),_._vf.texCoord.length>0&&(e._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD]=b,i.bindBuffer(i.ARRAY_BUFFER,b),i.bufferData(i.ARRAY_BUFFER,p,i.STATIC_DRAW),i.vertexAttribPointer(t.texcoord,_._mesh._numTexComponents,e._webgl.texCoordType,!1,e._texCoordStrideOffset[0],e._texCoordStrideOffset[1]),i.enableVertexAttribArray(t.texcoord)),_._vf.color.length>0&&(e._webgl.buffers[x3dom.BUFFER_IDX.COLOR]=b,i.bindBuffer(i.ARRAY_BUFFER,b),i.bufferData(i.ARRAY_BUFFER,p,i.STATIC_DRAW),i.vertexAttribPointer(t.color,_._mesh._numColComponents,e._webgl.colorType,!1,e._colorStrideOffset[0],e._colorStrideOffset[1]),i.enableVertexAttribArray(t.color)),p=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var u=(new Date).getTime()-r;x3dom.debug.logInfo("XHR/ interleaved array load time: "+u+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.POSITION]=b}}else x3dom.debug.logError("XHR1/ interleaved array load failed with status: "+l.status)}}if(!s._hasStrideOffset&&s._vf.coord.length>0){var d=new XMLHttpRequest;d.open("GET",e._nameSpace.getURL(s._vf.coord),!0),d.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(d),d.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==d.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var n=d.response,_=s,p=0,l=_._vf.coordType;e._webgl.coordType=x3dom.Utils.getVertexAttribType(l,i);var c=x3dom.Utils.getArrayBufferView(l,n);if(a)e._webgl.makeSeparateTris.pushBuffer("coord",c);else{i.bindAttribLocation(t.program,0,"position");var b=i.createBuffer();if(i.bindBuffer(i.ARRAY_BUFFER,b),i.bufferData(i.ARRAY_BUFFER,c,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),_._mesh._numCoords=c.length/_._mesh._numPosComponents,0==_._vf.index.length)for(p=0;p<_._vf.vertexCount.length;p++)e._webgl.primType[p]==i.TRIANGLE_STRIP?_._mesh._numFaces+=_._vf.vertexCount[p]-2:_._mesh._numFaces+=_._vf.vertexCount[p]/3;if("Float32"==l&&(e._vf.bboxSize.x<0||e._vf.bboxSize.y<0||e._vf.bboxSize.z<0)){var u=new x3dom.fields.SFVec3f(c[0],c[1],c[2]),m=new x3dom.fields.SFVec3f(c[0],c[1],c[2]);for(p=3;p<c.length;p+=3)u.x>c[p+0]&&(u.x=c[p+0]),u.y>c[p+1]&&(u.y=c[p+1]),u.z>c[p+2]&&(u.z=c[p+2]),m.x<c[p+0]&&(m.x=c[p+0]),m.y<c[p+1]&&(m.y=c[p+1]),m.z<c[p+2]&&(m.z=c[p+2]);e._vf.bboxCenter.setValues(u.add(m).multiply(.5)),e._vf.bboxSize.setValues(m.subtract(u))}c=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var h=(new Date).getTime()-r;x3dom.debug.logInfo("XHR1/ coord load time: "+h+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.POSITION]=b}}}else x3dom.debug.logError("XHR1/ coord load failed with status: "+d.status)}}if(!s._hasStrideOffset&&s._vf.normal.length>0){var c=new XMLHttpRequest;c.open("GET",e._nameSpace.getURL(s._vf.normal),!0),c.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(c),c.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==c.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var t=c.response,n=s._vf.normalType;e._webgl.normalType=x3dom.Utils.getVertexAttribType(n,i);var _=x3dom.Utils.getArrayBufferView(n,t);if(a)e._webgl.makeSeparateTris.pushBuffer("normal",_);else{var p=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,p),i.bufferData(i.ARRAY_BUFFER,_,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),_=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var l=(new Date).getTime()-r;x3dom.debug.logInfo("XHR2/ normal load time: "+l+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.NORMAL]=p}}}else x3dom.debug.logError("XHR2/ normal load failed with status: "+c.status)}}if(!s._hasStrideOffset&&s._vf.texCoord.length>0){var b=new XMLHttpRequest;b.open("GET",e._nameSpace.getURL(s._vf.texCoord),!0),b.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(b),b.onload=function(){var t,n;if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==b.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var _=b.response,p=s._vf.texCoordType;e._webgl.texCoordType=x3dom.Utils.getVertexAttribType(p,i);var l=x3dom.Utils.getArrayBufferView(p,_);if(a)e._webgl.makeSeparateTris.pushBuffer("texCoord",l);else{if(s._vf.idsPerVertex){var d=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,d);var c=x3dom.Utils.getArrayBufferView("Float32",l.length/2);for(t=0,n=0;t<l.length;t+=2,n++)c[n]=65536*l[t+1]+l[t];i.bufferData(i.ARRAY_BUFFER,c,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),e._webgl.buffers[x3dom.BUFFER_IDX.ID]=d}else{var u=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,u),i.bufferData(i.ARRAY_BUFFER,l,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),e._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD]=u}l=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var m=(new Date).getTime()-r;x3dom.debug.logInfo("XHR3/ texCoord load time: "+m+" ms")}}}else x3dom.debug.logError("XHR3/ texcoord load failed with status: "+b.status)}}if(!s._hasStrideOffset&&s._vf.color.length>0){var u=new XMLHttpRequest;u.open("GET",e._nameSpace.getURL(s._vf.color),!0),u.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(u),u.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==u.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var t=u.response,n=s._vf.colorType;e._webgl.colorType=x3dom.Utils.getVertexAttribType(n,i);var _=x3dom.Utils.getArrayBufferView(n,t);if(a)e._webgl.makeSeparateTris.pushBuffer("color",_);else{var p=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,p),i.bufferData(i.ARRAY_BUFFER,_,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),_=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var l=(new Date).getTime()-r;x3dom.debug.logInfo("XHR4/ color load time: "+l+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.COLOR]=p}}}else x3dom.debug.logError("XHR4/ color load failed with status: "+u.status)}}if(!s._hasStrideOffset&&s._vf.tangent.length>0){var m=new XMLHttpRequest;m.open("GET",e._nameSpace.getURL(s._vf.normal),!0),m.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(m),m.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==m.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var t=m.response,n=s._vf.tangentType;e._webgl.tangentType=x3dom.Utils.getVertexAttribType(n,i);var _=x3dom.Utils.getArrayBufferView(n,t);if(a)e._webgl.makeSeparateTris.pushBuffer("tangent",_);else{var p=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,p),i.bufferData(i.ARRAY_BUFFER,_,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),_=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var l=(new Date).getTime()-r;x3dom.debug.logInfo("XHR5/ normal load time: "+l+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.TANGENT]=p}}}else x3dom.debug.logError("XHR2/ normal load failed with status: "+m.status)}}if(!s._hasStrideOffset&&s._vf.binormal.length>0){var h=new XMLHttpRequest;h.open("GET",e._nameSpace.getURL(s._vf.normal),!0),h.responseType="arraybuffer",e._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(h),h.onload=function(){if(e._nameSpace.doc.decrementDownloads(),e._webgl.internalDownloadCount-=1,200==h.status){if(e._webgl)if(s._vf.compressed)x3dom.debug.logError("x3dom 1.8.2+ do not support compressed BinaryGeometries anymore");else{var t=h.response,n=s._vf.binormalType;e._webgl.binormalType=x3dom.Utils.getVertexAttribType(n,i);var _=x3dom.Utils.getArrayBufferView(n,t);if(a)e._webgl.makeSeparateTris.pushBuffer("binormal",_);else{var p=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,p),i.bufferData(i.ARRAY_BUFFER,_,i.STATIC_DRAW),i.bindBuffer(i.ARRAY_BUFFER,null),_=null,0==e._webgl.internalDownloadCount&&(e._nameSpace.doc.needRender=!0),o.checkError(i);var l=(new Date).getTime()-r;x3dom.debug.logInfo("XHR6/ normal load time: "+l+" ms"),e._webgl.buffers[x3dom.BUFFER_IDX.BITANGENT]=p}}}else x3dom.debug.logError("XHR6/ normal load failed with status: "+h.status)}}}},x3dom.BinaryContainerLoader.setupPopGeo=function(e,t,i,n,_){if(!this.outOfMemory){var r=e._cf.geometry.node;if(r.hasIndex()){e._webgl.popGeometry=1,e._webgl.buffers[x3dom.BUFFER_IDX.INDEX]=i.createBuffer(),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),i.bufferData(i.ELEMENT_ARRAY_BUFFER,2*r.getTotalNumberOfIndices(),i.STATIC_DRAW),e._webgl.buffers[x3dom.BUFFER_IDX.ID]=i.createBuffer();var o=new Float32Array(r._vf.vertexBufferSize);!function(){for(var e=0;e<o.length;++e)o[e]=e}(),i.bindBuffer(i.ARRAY_BUFFER,e._webgl.buffers[x3dom.BUFFER_IDX.ID]),i.bufferData(i.ARRAY_BUFFER,o,i.STATIC_DRAW)}else e._webgl.popGeometry=-1;e._webgl.buffers[x3dom.BUFFER_IDX.POSITION]=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,e._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),i.bufferData(i.ARRAY_BUFFER,r._vf.attributeStride*r._vf.vertexBufferSize,i.STATIC_DRAW);var s=r._vf.coordType;e._webgl.coordType=x3dom.Utils.getVertexAttribType(s,i),e._coordStrideOffset[0]=r.getAttributeStride(),e._coordStrideOffset[1]=r.getPositionOffset(),i.vertexAttribPointer(t.position,e._cf.geometry.node._mesh._numPosComponents,e._webgl.coordType,!1,e._coordStrideOffset[0],e._coordStrideOffset[1]),i.enableVertexAttribArray(t.position),r.hasNormal()&&(s=r._vf.normalType,e._webgl.normalType=x3dom.Utils.getVertexAttribType(s,i),e._normalStrideOffset[0]=r.getAttributeStride(),e._normalStrideOffset[1]=r.getNormalOffset(),e._webgl.buffers[x3dom.BUFFER_IDX.NORMAL]=e._webgl.buffers[x3dom.BUFFER_IDX.POSITION],i.vertexAttribPointer(t.normal,e._cf.geometry.node._mesh._numNormComponents,e._webgl.normalType,!1,e._normalStrideOffset[0],e._normalStrideOffset[1]),i.enableVertexAttribArray(t.normal)),r.hasTexCoord()&&(s=r._vf.texCoordType,e._webgl.texCoordType=x3dom.Utils.getVertexAttribType(s,i),e._webgl.buffers[x3dom.BUFFER_IDX.TEXCOORD]=e._webgl.buffers[x3dom.BUFFER_IDX.POSITION],e._texCoordStrideOffset[0]=r.getAttributeStride(),e._texCoordStrideOffset[1]=r.getTexCoordOffset(),i.vertexAttribPointer(t.texcoord,e._cf.geometry.node._mesh._numTexComponents,e._webgl.texCoordType,!1,e._texCoordStrideOffset[0],e._texCoordStrideOffset[1]),i.enableVertexAttribArray(t.texcoord)),r.hasColor()&&(s=r._vf.colorType,e._webgl.colorType=x3dom.Utils.getVertexAttribType(s,i),e._webgl.buffers[x3dom.BUFFER_IDX.COLOR]=e._webgl.buffers[x3dom.BUFFER_IDX.POSITION],e._colorStrideOffset[0]=r.getAttributeStride(),e._colorStrideOffset[1]=r.getColorOffset(),i.vertexAttribPointer(t.color,e._cf.geometry.node._mesh._numColComponents,e._webgl.colorType,!1,e._colorStrideOffset[0],e._colorStrideOffset[1]),i.enableVertexAttribArray(t.color)),e._webgl.currentNumIndices=0,e._webgl.currentNumVertices=0,e._webgl.numVerticesAtLevel=[],e._webgl.levelsAvailable=0,this.checkError(i),e._webgl.levelLoaded=[],function(){for(var t=0;t<r.getNumLevels();++t)e._webgl.levelLoaded.push(!1)}();var a=function(t,n){if(e._webgl.levelLoaded[n]=!0,e._webgl.numVerticesAtLevel[n]=0,t){var _=0,o=!1;if(r.hasIndex()&&(_=2*r.getNumIndicesByLevel(n))>0){o=!0;var s=new Uint8Array(t,0,_);i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e._webgl.buffers[x3dom.BUFFER_IDX.INDEX]),function(){for(var e=0,t=0;t<n;++t)e+=r.getNumIndicesByLevel(t);i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,2*e,s)}()}var a=t.byteLength-_;if(a>0){o=!0;var p=new Uint8Array(t,_,a);i.bindBuffer(i.ARRAY_BUFFER,e._webgl.buffers[x3dom.BUFFER_IDX.POSITION]),r.hasIndex()?i.bufferSubData(i.ARRAY_BUFFER,r.getVertexDataBufferOffset(n)*r.getAttributeStride(),p):i.bufferSubData(i.ARRAY_BUFFER,e._webgl.currentNumVertices*r.getAttributeStride(),p),e._webgl.numVerticesAtLevel[n]=a/r.getAttributeStride(),e._webgl.currentNumVertices+=e._webgl.numVerticesAtLevel[n]}!function(){for(var t=0,i=e._webgl.levelsAvailable;i<r.getNumLevels()&&!1!==e._webgl.levelLoaded[i];++i)t+=r.getNumIndicesByLevel(i),++e._webgl.levelsAvailable;e._webgl.currentNumIndices=t}(),r._mesh._numCoords=e._webgl.currentNumVertices,r._mesh._numFaces=(r.hasIndex()?e._webgl.currentNumIndices:e._webgl.currentNumVertices)/3,r.adaptVertexCount(r.hasIndex()?3*r._mesh._numFaces:r._mesh._numCoords),o&&(e._nameSpace.doc.needRender=!0)}},p=r.getDataURLs();e._webgl.downloadStartTimer=(new Date).getTime();for(var l=0;l<p.length;++l){e._nameSpace.doc.incrementDownloads();var d=new XMLHttpRequest;d.responseType="arraybuffer",d.open("GET",p[l]),d.onload=function(t,i){e._nameSpace.doc.decrementDownloads(),a(t.response,i)}.bind(this,d,l),x3dom.RequestManager.addRequest(d)}}},x3dom.BinaryContainerLoader.bufferGeoCache={},x3dom.BinaryContainerLoader.setupBufferGeo=function(e,t,i,n,_){var r,o=e._cf.geometry.node,s=null,a=null,p=!0;e._webgl.bufferGeometry=o._indexed?1:-1,o._mesh._numCoords=o._vf.vertexCount[0],o._mesh._numFaces=o._vf.vertexCount[0]/3;var l=function(t){if(0!=p){var n=function(e){var t;if(a){var i=o._cf.views.nodes[a._vf.view],n=a._vf.byteOffset+i._vf.byteOffset,_=a._vf.count*a._vf.components;t=x3dom.BinaryContainerLoader.getArrayBufferFromType(a._vf.componentType,e,n,_)}return t}(t),_=function(e){var t;if(s){var i=o._cf.views.nodes[s._vf.view],n=s._vf.byteOffset+i._vf.byteOffset,_=s._vf.count*s._vf.components;t=x3dom.BinaryContainerLoader.getArrayBufferFromType(s._vf.componentType,e,n,_)}return t}(t),r=new Float32Array(3*a._vf.count),l=new x3dom.fields.SFVec3f,d=new x3dom.fields.SFVec3f,c=new x3dom.fields.SFVec3f,b=new x3dom.fields.SFVec3f,u=new x3dom.fields.SFVec3f;if(_)for(var m,h,f,g=0;g<_.length;g+=3)m=3*_[g],h=3*_[g+1],f=3*_[g+2],l.set(n[m],n[m+1],n[m+2]),d.set(n[h],n[h+1],n[h+2]),c.set(n[f],n[f+1],n[f+2]),b=b.subtractVectors(l,d),u=(u=(u=u.subtractVectors(c,d)).cross(b)).normalize(),r[m]=r[h]=r[f]=u.x,r[m+1]=r[h+1]=r[f+1]=u.y,r[m+2]=r[h+2]=r[f+2]=u.z;else if(n)for(g=0;g<n.length;g+=9)l.set(n[g],n[g+1],n[g+2]),d.set(n[g+3],n[g+4],n[g+5]),c.set(n[g+6],n[g+7],n[g+8]),b=b.subtractVectors(l,d),u=(u=(u=u.subtractVectors(c,d)).cross(b)).normalize(),r[g]=r[g+3]=r[g+6]=u.x,r[g+1]=r[g+4]=r[g+7]=u.y,r[g+2]=r[g+5]=r[g+8]=u.z;var C=i.createBuffer();i.bindBuffer(34962,C),i.bufferData(34962,r,i.STATIC_DRAW),i.bindBuffer(34962,null),e._webgl.buffers[x3dom.BUFFER_IDX.NORMAL]=C,e._normalStrideOffset=[12,0],e._webgl.normalType=5126,o._mesh._numNormComponents=3}};""!=o._vf.buffer&&(r=e._nameSpace.getURL(o._vf.buffer),null==x3dom.BinaryContainerLoader.bufferGeoCache[r]&&(e._nameSpace.doc.incrementDownloads(),x3dom.BinaryContainerLoader.bufferGeoCache[r]={},x3dom.BinaryContainerLoader.bufferGeoCache[r].buffers=[],x3dom.BinaryContainerLoader.bufferGeoCache[r].shapes=[],x3dom.BinaryContainerLoader.bufferGeoCache[r].decrementDownload=!0,x3dom.BinaryContainerLoader.bufferGeoCache[r].promise=new Promise((function(e,t){var i=new XMLHttpRequest;i.open("GET",r),i.responseType="arraybuffer",i.onload=function(n){200!=i.status?t():e(i.response)},i.onerror=function(e){t()},x3dom.RequestManager.addRequest(i)}))),x3dom.BinaryContainerLoader.bufferGeoCache[r].promise.then((function(t){null!=e._webgl?(!function(e){for(var t=o._cf.views.nodes,n=0;n<t.length;n++){var _=t[n],s=_._vf.id,a=_._vf.byteOffset,p=_._vf.byteLength;if(null==x3dom.BinaryContainerLoader.bufferGeoCache[r].buffers[s]||!i.isBuffer(x3dom.BinaryContainerLoader.bufferGeoCache[r].buffers[s])){var l=new Uint8Array(e,a,p),d=i.createBuffer();i.bindBuffer(_._vf.target,d),i.bufferData(_._vf.target,l,i.STATIC_DRAW),i.bindBuffer(_._vf.target,null),x3dom.BinaryContainerLoader.bufferGeoCache[r].buffers[s]=d}}}(t),function(){for(var t=o._cf.accessors.nodes,i=0;i<t.length;i++){var n=t[i],_=n._vf.byteOffset,l=n._vf.byteStride,d=n._vf.bufferType,c=n._vf.components,b=n._vf.componentType,u=n._vf.normalized,m=n._vf.view;switch(d){case"INDEX":s=n,e._webgl.indexType=b,e._indexOffset=_;break;case"POSITION":a=n,e._coordStrideOffset=[l,_],e._webgl.coordType=b,e._webgl.coordNormalized=u,o._mesh._numPosComponents=c;break;case"NORMAL":p=!1,e._normalStrideOffset=[l,_],e._webgl.normalType=b,e._webgl.normalNormalized=u,o._mesh._numNormComponents=c;break;case"TEXCOORD_0":case"TEXCOORD":e._texCoordStrideOffset=[l,_],e._webgl.texCoordType=b,e._webgl.texCoordNormalized=u,o._mesh._numTexComponents=c;break;case"TEXCOORD_1":e._texCoord2StrideOffset=[l,_],e._webgl.texCoord2Type=b,e._webgl.texCoord2Normalized=u,o._mesh._numTex2Components=c;break;case"COLOR":case"COLOR_0":e._colorStrideOffset=[l,_],e._webgl.colorType=b,e._webgl.colorNormalized=u,o._mesh._numColComponents=c;break;case"TANGENT":e._tangentStrideOffset=[l,_],e._webgl.tangentType=b,e._webgl.tangentNormalized=u,o._mesh._numTangentComponents=c;break;case"BITANGENT":e._binormalStrideOffset=[l,_],e._webgl.binormalType=b,e._webgl.binormalNormalized=u,o._mesh._numBinormalComponents=c}var h=x3dom.BUFFER_IDX[n._vf.bufferType],f=o._cf.views.nodes[m]._vf.id;e._webgl.buffers[h]=x3dom.BinaryContainerLoader.bufferGeoCache[r].buffers[f]}}(),l(t),function(t){t.shapes.push(e),e._webgl._bufferGeoCache=t;var i=e._cleanupGLObjects;e._cleanupGLObjects=function(e,t){var n=this._webgl._bufferGeoCache,_=n.shapes.indexOf(this);_>-1&&n.shapes.splice(_,1),n.shapes.length>0||i.call(this,e,t)}}(x3dom.BinaryContainerLoader.bufferGeoCache[r]),x3dom.BinaryContainerLoader.bufferGeoCache[r].decrementDownload&&(x3dom.BinaryContainerLoader.bufferGeoCache[r].decrementDownload=!1,e._nameSpace.doc.decrementDownloads(),e._nameSpace.doc.needRender=!0)):x3dom.BinaryContainerLoader.bufferGeoCache[r]=void 0})).catch((function(){x3dom.BinaryContainerLoader.bufferGeoCache[r].decrementDownload&&(x3dom.BinaryContainerLoader.bufferGeoCache[r].decrementDownload=!1,e._nameSpace.doc.decrementDownloads())})))},x3dom.BinaryContainerLoader.setupBufferInterpolator=function(e){var t=function(e,t,i){for(var n=e._cf.views.nodes[t._vf.view],_=t._vf.byteOffset+n._vf.byteOffset,r=t._vf.count*t._vf.components,o=t._vf.componentType,s=x3dom.BinaryContainerLoader.getArrayBufferFromType(o,i,_,r),a=0,p=s.length;a<p;a++)s[a]=s[a]/e._vf.duration;return new x3dom.fields.MFFloat(s)},i=function(e,t,i){var n=e._cf.views.nodes[t._vf.view],_=t._vf.byteOffset+n._vf.byteOffset,r=t._vf.count*t._vf.components,o=t._vf.componentType,s=x3dom.BinaryContainerLoader.getArrayBufferFromType(o,i,_,r);return e.keyValueFromAccessor(s,o)},n=e._nameSpace.getURL(e._vf.buffer);null==x3dom.BinaryContainerLoader.bufferGeoCache[n]&&(e._nameSpace.doc.incrementDownloads(),x3dom.BinaryContainerLoader.bufferGeoCache[n]={},x3dom.BinaryContainerLoader.bufferGeoCache[n].buffers=[],x3dom.BinaryContainerLoader.bufferGeoCache[n].decrementDownload=!0,x3dom.BinaryContainerLoader.bufferGeoCache[n].promise=new Promise((function(e,t){var i=new XMLHttpRequest;i.open("GET",n),i.responseType="arraybuffer",i.onload=function(n){200!=i.status?t():e(i.response)},i.onerror=function(e){t()},x3dom.RequestManager.addRequest(i)}))),x3dom.BinaryContainerLoader.bufferGeoCache[n].promise.then((function(_){null!=e?(!function(n){for(var _,r,o=e._cf.accessors.nodes,s=0;s<o.length;s++){var a=o[s];switch(a._vf.bufferType){case"SAMPLER_INPUT":_=t(e,a,n),e._vf.key=_;break;case"SAMPLER_OUTPUT":r=i(e,a,n)}}if("STEP"===e._vf.interpolation){for(var p=_.copy(),l=r.copy(),d=(s=1,_.length);s<d;s++)p.splice(2*s,0,_[s]);for(s=0,d=r.length;s<d;s++)l.splice(2*s+1,0,r[s]);_=p,r=l}e._vf.keyValue=r}(_),x3dom.BinaryContainerLoader.bufferGeoCache[n].decrementDownload&&(x3dom.BinaryContainerLoader.bufferGeoCache[n].decrementDownload=!1,e._nameSpace.doc.decrementDownloads(),e._nameSpace.doc.needRender=!0)):x3dom.BinaryContainerLoader.bufferGeoCache[n]=void 0})).catch((function(){x3dom.BinaryContainerLoader.bufferGeoCache[n].decrementDownload&&(x3dom.BinaryContainerLoader.bufferGeoCache[n].decrementDownload=!1,e._nameSpace.doc.decrementDownloads())}))},x3dom.BinaryContainerLoader.getArrayBufferFromType=function(e,t,i,n){switch(e){case 5120:return new Int8Array(t,i,n);case 5121:return new Uint8Array(t,i,n);case 5122:return new Int16Array(t,i,n);case 5123:return new Uint16Array(t,i,n);case 5125:return new Uint32Array(t,i,n);case 5126:return new Float32Array(t,i,n)}},x3dom.DrawableCollection=function(e){this.collection=[],this.viewMatrix=e.viewMatrix,this.projMatrix=e.projMatrix,this.sceneMatrix=e.sceneMatrix,this.viewarea=e.viewArea;var t=this.viewarea._scene,i=t.getEnvironment(),n=t.getViewpoint();this.near=n.getNear(),this.pixelHeightAtDistOne=n.getImgPlaneHeightAtDistOne()/this.viewarea._height,this.context=e.context,this.gl=e.gl,this.viewFrustum=this.viewarea.getViewfrustum(this.sceneMatrix),this.worldVol=new x3dom.fields.BoxVolume,this.frustumCulling=e.frustumCulling&&null!=this.viewFrustum,this.smallFeatureThreshold=e.smallFeatureThreshold,this.sortOpaque=this.smallFeatureThreshold>0&&i._lowPriorityThreshold<1,this.sortTrans=e.sortTrans,this.prioLevels=10,this.maxTreshold=100,this.sortBySortKey=!1,this.sortByPriority=!1,this.numberOfNodes=0,this.length=0},x3dom.DrawableCollection.prototype.cull=function(e,t,i,n){var _=t.boundedNode;if(!_||!_.renderFlag())return-1;var r,o=_.getVolume();if(this.frustumCulling&&t.needCulling){if(i&&!t.worldVolume.isValid()?(t.worldVolume.transformFrom(e,o),r=t.worldVolume):n<63&&(this.worldVol.transformFrom(e,o),r=this.worldVol),n<63&&(n=this.viewFrustum.intersect(r,n)),-1==n)return-1}else n=63;if(t.coverage=-1,this.smallFeatureThreshold>0||_.forceUpdateCoverage()){var s=this.viewMatrix.mult(e);t.center=s.multMatrixPnt(o.getCenter());var a=s.multMatrixVec(o.getRadialVec()).length(),p=Math.max(-t.center.z-a,this.near)*this.pixelHeightAtDistOne;if(t.coverage=2*a/p,this.smallFeatureThreshold>0&&t.coverage<this.smallFeatureThreshold&&t.needCulling)return-1}return this.numberOfNodes++,n},x3dom.DrawableCollection.prototype.addShape=function(e,t,i){var n={};n.shape=e,n.transform=t,n.localTransform=i.localMatrix,n.localVolume=i.volume,n.worldVolume=x3dom.fields.BoxVolume.copy(i.worldVolume),n.priority=Math.max(0,i.coverage),n.shaderID=e.getShaderProperties(this.viewarea).id;var _=e._cf.appearance.node;if(n.sortType=_?_._vf.sortType.toLowerCase():"opaque",n.sortKey=_?_._vf.sortKey:0,"transparent"==n.sortType)if(this.smallFeatureThreshold>0)n.zPos=i.center.z;else{var r=t.multMatrixPnt(e.getCenter());r=this.viewMatrix.multMatrixPnt(r),n.zPos=r.z}this.sortBySortKey||0==n.sortKey||(this.sortBySortKey=!0),void 0===this.collection[n.sortType]&&(this.collection[n.sortType]=[]),this.collection[n.sortType].push(n),this.length++,this.context&&this.gl&&this.context.setupShape(this.gl,n,this.viewarea)},x3dom.DrawableCollection.prototype.addDrawable=function(e){e.shaderID=e.shape.getShaderProperties(this.viewarea).id;var t=e.shape._cf.appearance.node;if(e.sortType=t?t._vf.sortType.toLowerCase():"opaque",e.sortKey=t?t._vf.sortKey:0,"transparent"==e.sortType){var i=e.transform.multMatrixPnt(e.shape.getCenter());i=this.viewMatrix.multMatrixPnt(i),e.zPos=i.z}this.sortBySortKey||0==e.sortKey||(this.sortBySortKey=!0),void 0===this.collection[e.sortType]&&(this.collection[e.sortType]=[]),this.collection[e.sortType].push(e),this.length++,this.context&&this.gl&&this.context.setupShape(this.gl,e,this.viewarea)},x3dom.DrawableCollection.prototype.calculatePriority=function(e){var t=Math.max(0,e.coverage),i=this.prioLevels-1;return t=Math.min(Math.round(t/(this.maxTreshold/i)),i)},x3dom.DrawableCollection.prototype.concat=function(){var e=void 0!==this.collection.opaque?this.collection.opaque:[],t=void 0!==this.collection.transparent?this.collection.transparent:[];this.collection=e.concat(t)},x3dom.DrawableCollection.prototype.get=function(e){return this.collection[e]},x3dom.DrawableCollection.prototype.sort=function(){var e=[],t=[],i=this;void 0!==this.collection.opaque&&(this.sortOpaque&&this.collection.opaque.sort((function(e,t){return e.sortKey!=t.sortKey&&i.sortBySortKey?e.sortKey-t.sortKey:t.priority-e.priority})),e=this.collection.opaque),void 0!==this.collection.transparent&&(this.sortTrans&&this.collection.transparent.sort((function(e,t){return e.sortKey!=t.sortKey&&i.sortBySortKey?e.sortKey-t.sortKey:e.priority!=t.priority&&i.sortByPriority?t.priority-e.priority:e.zPos-t.zPos})),t=this.collection.transparent),this.collection=e.concat(t)},x3dom.DrawableCollection.prototype.forEach=function(e,t){var i,n,_,r;for(t=void 0!==t?Math.min(t,this.prioLevels):this.prioLevels,i=0;i<this.collection.opaque.length;++i)if(void 0!==this.collection.opaque[i])for(n=this.collection.opaque[i].length;n>0;--n)if(void 0!==this.collection.opaque[i][n])for(_ in this.collection.opaque[i][n])for(r=0;r<this.collection.opaque[i][n][_].length;++r)e(this.collection.opaque[i][n][_][r]);for(i=0;i<this.collection.transparent.length;++i)if(void 0!==this.collection.transparent[i])for(n=this.collection.transparent[i].length;n>0;--n)if(void 0!==this.collection.transparent[i][n])for(var o in this.collection.transparent[i][n])for(this.collection.transparent[i][n][o].sort((function(e,t){return e.zPos-t.zPos})),r=0;r<this.collection.transparent[i][n][o].length;++r)e(this.collection.transparent[i][n][o][r])},x3dom.Moveable=function(e,t,i,n,_){this._x3domRoot=e,this._runtime=e.runtime,this._callback=i,this._gridSize=n||0,this._moveable=t,this._drag=!1,this._w=0,this._h=0,this._uPlane=null,this._vPlane=null,this._pPlane=null,this._isect=null,this._translationOffset=null,this._rotationOffset=null,this._scaleOffset=null,this._lastX=0,this._lastY=0,this._buttonState=0,this._mode=_&&_.length?_.toLowerCase():"translation",this._firstRay=null,this._matrixTrafo=null,this._navType="examine",this.attachHandlers()},x3dom.Moveable.prototype.setGridSize=function(e){this._gridSize=e},x3dom.Moveable.prototype.setMode=function(e){this._mode=e.toLowerCase()},x3dom.Moveable.prototype.attachHandlers=function(){this._moveable._iMove=this,this._x3domRoot._iMove||(this._x3domRoot._iMove=[]),this._x3domRoot._iMove.push(this),this._moveable.addEventListener("mousedown",this.start,!1),this._moveable.addEventListener("mouseover",this.over,!1),this._moveable.addEventListener("mouseout",this.out,!1),1==this._x3domRoot._iMove.length&&(this._x3domRoot.addEventListener("mouseup",this.stop,!1),this._x3domRoot.addEventListener("mouseout",this.stop,!1),this._x3domRoot.addEventListener("mousemove",this.move,!0),this._runtime.canvas.disableTouch||(this._x3domRoot.addEventListener("MozTouchDown",this.touchStartHandlerMoz,!1),this._x3domRoot.addEventListener("MozTouchMove",this.touchMoveHandlerMoz,!0),this._x3domRoot.addEventListener("MozTouchUp",this.touchEndHandlerMoz,!1),this._x3domRoot.addEventListener("touchstart",this.touchStartHandler,!1),this._x3domRoot.addEventListener("touchmove",this.touchMoveHandler,!0),this._x3domRoot.addEventListener("touchend",this.touchEndHandler,!1)))},x3dom.Moveable.prototype.detachHandlers=function(){var e=this._x3domRoot._iMove;if(e)for(var t=0,i=e.length;t<i;t++)if(e[t]==this){e.splice(t,1);break}this._moveable.removeEventListener("mousedown",this.start,!1),this._moveable.removeEventListener("mouseover",this.over,!1),this._moveable.removeEventListener("mouseout",this.out,!1),0==e.length&&(this._x3domRoot.removeEventListener("mouseup",this.stop,!1),this._x3domRoot.removeEventListener("mouseout",this.stop,!1),this._x3domRoot.removeEventListener("mousemove",this.move,!0),this._runtime.canvas.disableTouch||(this._x3domRoot.removeEventListener("MozTouchDown",this.touchStartHandlerMoz,!1),this._x3domRoot.removeEventListener("MozTouchMove",this.touchMoveHandlerMoz,!0),this._x3domRoot.removeEventListener("MozTouchUp",this.touchEndHandlerMoz,!1),this._x3domRoot.removeEventListener("touchstart",this.touchStartHandler,!1),this._x3domRoot.removeEventListener("touchmove",this.touchMoveHandler,!0),this._x3domRoot.removeEventListener("touchend",this.touchEndHandler,!1))),this._moveable._iMove&&delete this._moveable._iMove},x3dom.Moveable.prototype.calcViewPlane=function(e){this._w=this._runtime.getWidth(),this._h=this._runtime.getHeight();var t=this._runtime.getViewingRay(0,this._h-1),i=t.pos.add(t.dir),n=(t=this._runtime.getViewingRay(this._w-1,this._h-1)).pos.add(t.dir),_=(t=this._runtime.getViewingRay(0,0)).pos.add(t.dir);this._uPlane=n.subtract(i).normalize(),this._vPlane=_.subtract(i).normalize(),this._pPlane=0===arguments.length?i:x3dom.fields.SFVec3f.copy(e)},x3dom.Moveable.prototype.det=function(e){return e[0][0]*e[1][1]*e[2][2]+e[0][1]*e[1][2]*e[2][0]+e[0][2]*e[2][1]*e[1][0]-e[2][0]*e[1][1]*e[0][2]-e[0][0]*e[2][1]*e[1][2]-e[1][0]*e[0][1]*e[2][2]},x3dom.Moveable.prototype.translateXY=function(e){for(var t=null,i=[],n=[],_=0;_<3;_++)i[_]=[],n[_]=[],i[_][0]=this._uPlane.at(_),n[_][0]=i[_][0],i[_][1]=this._vPlane.at(_),n[_][1]=i[_][1],i[_][2]=e.pos.subtract(this._pPlane).at(_),n[_][2]=-e.dir.at(_);var r=this.det(n);if(0!==r){var o=this.det(i)/r;t=e.pos.addScaled(e.dir,o)}return t&&(this._isect&&(t=t.subtract(this._isect)),t=t.add(this._translationOffset)),t},x3dom.Moveable.prototype.translateZ=function(e,t){var i=this._runtime.getSceneBBox(),n=(t<this._lastY?1:-1)*i.max.subtract(i.min).length()/100;return this._translationOffset=this._translationOffset.addScaled(e.dir,n),this._translationOffset},x3dom.Moveable.prototype.rotate=function(e,t){var i=2*Math.PI,n=(t-this._lastY)*i/this._w,_=(e-this._lastX)*i/this._h,r=x3dom.fields.Quaternion.axisAngle(this._uPlane,n),o=r.toMatrix();this._rotationOffset=o.mult(this._rotationOffset),o=(r=x3dom.fields.Quaternion.axisAngle(this._vPlane,_)).toMatrix(),this._rotationOffset=o.mult(this._rotationOffset);var s=this._rotationOffset.mult(x3dom.fields.SFMatrix4f.scale(this._scaleOffset)),a=new x3dom.fields.Quaternion(0,0,1,0);return a.setValue(s),a},x3dom.Moveable.prototype.over=function(e){this._iMove._runtime.getCanvas().style.cursor="crosshair"},x3dom.Moveable.prototype.out=function(e){var t=this._iMove;t._drag||(t._runtime.getCanvas().style.cursor="pointer")},x3dom.Moveable.prototype.start=function(e){var t=this._iMove;switch(t._mode){case"translation":t._buttonState=4==e.button?1:3&e.button;break;case"rotation":t._buttonState=4;break;case"all":default:t._buttonState=e.button}if(!t._drag&&t._buttonState){t._lastX=e.layerX,t._lastY=e.layerY,t._drag=!0,t._navType=t._runtime.navigationType(),t._runtime.noNav(),t._isect=new x3dom.fields.SFVec3f(e.worldX,e.worldY,e.worldZ),t.calcViewPlane(t._isect),t._firstRay=t._runtime.getViewingRay(e.layerX,e.layerY);var i=t._moveable.getAttribute("translation");if(t._matrixTrafo=null,i){t._translationOffset=x3dom.fields.SFVec3f.parse(i);var n=t._moveable.getAttribute("rotation");n=n?x3dom.fields.Quaternion.parseAxisAngle(n):new x3dom.fields.Quaternion(0,0,1,0),t._rotationOffset=n.toMatrix();var _=t._moveable.getAttribute("scale");t._scaleOffset=_?x3dom.fields.SFVec3f.parse(_):new x3dom.fields.SFVec3f(1,1,1)}else if(i=t._moveable.getAttribute("matrix")){t._matrixTrafo=x3dom.fields.SFMatrix4f.parse(i).transpose();var r=new x3dom.fields.SFVec3f(0,0,0),o=new x3dom.fields.SFVec3f(1,1,1),s=new x3dom.fields.Quaternion(0,0,1,0),a=new x3dom.fields.Quaternion(0,0,1,0);t._matrixTrafo.getTransform(r,s,o,a),t._translationOffset=r,t._rotationOffset=s.toMatrix(),t._scaleOffset=o}else t._translationOffset=new x3dom.fields.SFVec3f(0,0,0),t._rotationOffset=new x3dom.fields.SFMatrix4f,t._scaleOffset=new x3dom.fields.SFVec3f(1,1,1);t._runtime.getCanvas().style.cursor="crosshair"}},x3dom.Moveable.prototype.move=function(e){for(var t=0,i=this._iMove.length;t<i;t++){var n=this._iMove[t];if(n._drag){var _=n._runtime.mousePosition(e),r=n._runtime.getViewingRay(_[0],_[1]),o=null;if(o=2==n._buttonState?n.translateZ(n._firstRay,_[1]):1==n._buttonState?n.translateXY(r):n.rotate(_[0],_[1])){if(n._gridSize>0&&4!=n._buttonState){var s=n._gridSize*Math.round(o.x/n._gridSize),a=n._gridSize*Math.round(o.y/n._gridSize),p=n._gridSize*Math.round(o.z/n._gridSize);o=new x3dom.fields.SFVec3f(s,a,p)}n._matrixTrafo?(4==n._buttonState?n._matrixTrafo.setRotate(o):n._matrixTrafo.setTranslate(o),n._moveable.setAttribute("matrix",n._matrixTrafo.toGL().toString())):4==n._buttonState?n._moveable.setAttribute("rotation",o.toAxisAngle().toString()):n._moveable.setAttribute("translation",o.toString()),n._callback&&n._callback(n._moveable,o)}n._lastX=_[0],n._lastY=_[1]}}},x3dom.Moveable.prototype.stop=function(e){for(var t=0,i=this._iMove.length;t<i;t++){var n=this._iMove[t];if(n._drag)n._lastX=e.layerX,n._lastY=e.layerY,n._isect=null,n._drag=!1,n._runtime.canvas.doc._scene.getNavigationInfo().setType(n._navType),n._runtime.getCanvas().style.cursor="pointer"}},x3dom.Moveable.prototype.touchStartHandler=function(e){e.preventDefault()},x3dom.Moveable.prototype.touchStartHandlerMoz=function(e){e.preventDefault()},x3dom.Moveable.prototype.touchMoveHandler=function(e){e.preventDefault()},x3dom.Moveable.prototype.touchMoveHandlerMoz=function(e){e.preventDefault()},x3dom.Moveable.prototype.touchEndHandler=function(e){if(this._iMove.length){var t=this._iMove[0];t.stop.apply(t._x3domRoot,[e])}e.preventDefault()},x3dom.Moveable.prototype.touchEndHandlerMoz=function(e){if(this._iMove.length){var t=this._iMove[0];t.stop.apply(t._x3domRoot,[e])}e.preventDefault()},function(){"use strict";function e(e){return"function"==typeof e}function t(){var e=setTimeout;return function(){return e(i,1)}}function i(){for(var e=0;e<f;e+=2)(0,D[e])(D[e+1]),D[e]=void 0,D[e+1]=void 0;f=0}function n(e,t){var i=this,n=new this.constructor(r);void 0===n[w]&&m(n);var _=i._state;if(_){var o=arguments[_-1];S((function(){return u(_,n,o,i._result)}))}else c(i,n,e,t);return n}function _(e){if(e&&"object"==typeof e&&e.constructor===this)return e;var t=new this(r);return a(t,e),t}function r(){}function o(e){try{return e.then}catch(e){return I.error=e,I}}function s(t,i,r){i.constructor===t.constructor&&r===n&&i.constructor.resolve===_?function(e,t){t._state===F?l(e,t._result):t._state===R?d(e,t._result):c(t,void 0,(function(t){return a(e,t)}),(function(t){return d(e,t)}))}(t,i):r===I?(d(t,I.error),I.error=null):void 0===r?l(t,i):e(r)?function(e,t,i){S((function(e){var n=!1,_=function(e,t,i,n){try{e.call(t,i,n)}catch(e){return e}}(i,t,(function(i){n||(n=!0,t!==i?a(e,i):l(e,i))}),(function(t){n||(n=!0,d(e,t))}),e._label);!n&&_&&(n=!0,d(e,_))}),e)}(t,i,r):l(t,i)}function a(e,t){e===t?d(e,new TypeError("You cannot resolve a promise with itself")):function(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}(t)?s(e,t,o(t)):l(e,t)}function p(e){e._onerror&&e._onerror(e._result),b(e)}function l(e,t){e._state===A&&(e._result=t,e._state=F,0!==e._subscribers.length&&S(b,e))}function d(e,t){e._state===A&&(e._state=R,e._result=t,S(p,e))}function c(e,t,i,n){var _=e._subscribers,r=_.length;e._onerror=null,_[r]=t,_[r+F]=i,_[r+R]=n,0===r&&e._state&&S(b,e)}function b(e){var t=e._subscribers,i=e._state;if(0!==t.length){for(var n=void 0,_=void 0,r=e._result,o=0;o<t.length;o+=3)n=t[o],_=t[o+i],n?u(i,n,_,r):_(r);e._subscribers.length=0}}function u(t,i,n,_){var r=e(n),o=void 0,s=void 0,p=void 0,c=void 0;if(r){if((o=function(e,t){try{return e(t)}catch(e){return I.error=e,I}}(n,_))===I?(c=!0,s=o.error,o.error=null):p=!0,i===o)return void d(i,new TypeError("A promises callback cannot return that same promise."))}else o=_,p=!0;i._state!==A||(r&&p?a(i,o):c?d(i,s):t===F?l(i,o):t===R&&d(i,o))}function m(e){e[w]=B++,e._state=void 0,e._result=void 0,e._subscribers=[]}var h=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},f=0,g=void 0,C=void 0,S=function(e,t){D[f]=e,D[f+1]=t,2===(f+=2)&&(C?C(i):P())},y="undefined"!=typeof window?window:void 0,v=y||{},x=v.MutationObserver||v.WebKitMutationObserver,M="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),T="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,D=new Array(1e3),P=void 0;P=M?function(){return process.nextTick(i)}:x?function(){var e=0,t=new x(i),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():T?function(){var e=new MessageChannel;return e.port1.onmessage=i,function(){return e.port2.postMessage(0)}}():void 0===y&&"function"==typeof require?function(){try{var e=Function("return this")().require("vertx");return void 0!==(g=e.runOnLoop||e.runOnContext)?function(){g(i)}:t()}catch(e){return t()}}():t();var w=Math.random().toString(36).substring(2),A=void 0,F=1,R=2,I={error:null},B=0,V=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(r),this.promise[w]||m(this.promise),h(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?l(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&l(this.promise,this._result))):d(this.promise,new Error("Array Methods must be provided an Array"))}return e.prototype._enumerate=function(e){for(var t=0;this._state===A&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var i=this._instanceConstructor,a=i.resolve;if(a===_){var p=o(e);if(p===n&&e._state!==A)this._settledAt(e._state,t,e._result);else if("function"!=typeof p)this._remaining--,this._result[t]=e;else if(i===E){var l=new i(r);s(l,e,p),this._willSettleAt(l,t)}else this._willSettleAt(new i((function(t){return t(e)})),t)}else this._willSettleAt(a(e),t)},e.prototype._settledAt=function(e,t,i){var n=this.promise;n._state===A&&(this._remaining--,e===R?d(n,i):this._result[t]=i),0===this._remaining&&l(n,this._result)},e.prototype._willSettleAt=function(e,t){var i=this;c(e,void 0,(function(e){return i._settledAt(F,t,e)}),(function(e){return i._settledAt(R,t,e)}))},e}(),E=function(){function e(t){this[w]=B++,this._result=this._state=void 0,this._subscribers=[],r!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(e,t){try{t((function(t){a(e,t)}),(function(t){d(e,t)}))}catch(t){d(e,t)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this.constructor;return this.then((function(i){return t.resolve(e()).then((function(){return i}))}),(function(i){return t.resolve(e()).then((function(){throw i}))}))},e}();E.prototype.then=n,E.all=function(e){return new V(this,e).promise},E.race=function(e){var t=this;return new t(h(e)?function(i,n){for(var _=e.length,r=0;r<_;r++)t.resolve(e[r]).then(i,n)}:function(e,t){return t(new TypeError("You must pass an array to race."))})},E.resolve=_,E.reject=function(e){var t=new this(r);return d(t,e),t},E._setScheduler=function(e){C=e},E._setAsap=function(e){S=e},E._asap=S,E.polyfill=function(){var e=void 0;if("undefined"!=typeof global)e=global;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var i=null;try{i=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===i&&!t.cast)return}e.Promise=E},E.Promise=E,E.polyfill()}(),x3dom.glTF2Loader=function(e){this._nameSpace=e,this._definitions={},this._supportedExtensions=["KHR_materials_pbrSpecularGlossiness","KHR_materials_unlit","KHR_texture_transform"]},x3dom.glTF2Loader.prototype.load=function(e,t){this._gltf=this._getGLTF(e,t);var i=this._generateX3DScene(),n=this._gltf.scene||0,_=this._gltf.scenes[n];if(this._generateX3DWorldInfo(_,i),this._unsupportedExtensionsRequired())return x3dom.debug.logWarning("Cannot render glTF."),x3dom.debug.logWarning("Some required extension of "+this._gltf.extensionsRequired+" not supported."),i;for(var r=0;r<_.nodes.length;r++){var o=this._gltf.nodes[_.nodes[r]];this._traverseNodes(o,i,_.nodes[r])}if(this._gltf.animations)for(r=0;r<this._gltf.animations.length;r++){var s=this._gltf.animations[r],a="glTF_ANIMATION_"+r;this._generateX3DAnimationNodes(i,s,a)}return i},x3dom.glTF2Loader.prototype._unsupportedExtensionsRequired=function(){return!!this._gltf.extensionsRequired&&this._gltf.extensionsRequired.some((function(e){return this._supportedExtensions.indexOf(e)<0}),this)},x3dom.glTF2Loader.prototype._generateX3DWorldInfo=function(e,t){if(this._gltf.asset){var i,n,_=this._gltf.asset,r=["copyright","generator","version","minversion"],o=document.createElement("worldinfo"),s=new x3dom.fields.MFString;for(n=0;n<r.length;n++)_[i=r[n]]&&s.push('"'+r[n]+":"+_[i]+'"');o.setAttribute("info",s.toString()),_.extras&&_.extras.title&&o.setAttribute("title",_.extras.title);var a=document.createElement("MetadataSet");a.setAttribute("name","global"),a.setAttribute("containerfield","metadata"),this._generateX3DMetadata(_,a,"asset_extras","value"),this._generateX3DMetadata(e,a,"scene_extras","value"),a.hasChildNodes()&&o.appendChild(a),t.appendChild(o)}},x3dom.glTF2Loader.prototype._generateX3DMetadata=function(e,t,i,n){if(e.extras){n=n||"metadata";var _=r(i=i||"extras",e.extras,n);t.appendChild(_)}else;function r(e,t,i){var n=typeof t;return"string"==n||null===t||"undefined"==n?o("MetadataString",e,JSON.stringify(t),i):"number"==n?o("MetadataFloat",e,t,i):"boolean"==n?o("MetadataBoolean",e,t,i):"object"==n?function(e,t,i){var n=document.createElement("MetadataSet");n.setAttribute("name",e),n.setAttribute("containerfield",i);var _,o,s=Object.keys(t);for(o=0;o<s.length;o++)_=s[o],n.appendChild(r(_,t[_],"value"));return n}(e,t,i):o("MetadataString",e,t,i)}function o(e,t,i,n){var _=document.createElement(e);return _.setAttribute("name",t),_.setAttribute("value",i),_.setAttribute("containerfield",n),_}},x3dom.glTF2Loader.prototype._traverseNodes=function(e,t,i){var n=this._generateX3DNode(e,i);if(t.appendChild(n),e.children)for(var _=0;_<e.children.length;_++){var r=this._gltf.nodes[e.children[_]];this._traverseNodes(r,n,e.children[_])}},x3dom.glTF2Loader.prototype._generateX3DNode=function(e,t){var i;if(e.name=e.name?e.name:t,i=null!=e.matrix?this._generateX3DMatrixTransform(e):(null!=e.translation||null!=e.rotation||e.scale,this._generateX3DTransform(e)),this._generateX3DMetadata(e,i),null!=e.mesh)for(var n=this._gltf.meshes[e.mesh],_=0;_<n.primitives.length;_++)i.appendChild(this._generateX3DShape(n.primitives[_]));if(null!=e.model){var r=this._gltf.models[e.model];null!=r.uri&&i.appendChild(this._generateX3DInline(r))}return null!=e.camera&&i.appendChild(this._generateX3DViewpoint(e)),i},x3dom.glTF2Loader.prototype._generateX3DScene=function(){return document.createElement("scene")},x3dom.glTF2Loader.prototype._generateX3DTransform=function(e){var t=document.createElement("transform");return null!=e.translation&&t.setAttribute("translation",e.translation.join(" ")),null!=e.rotation&&t.setAttribute("rotation",this._toAxisAngle(e.rotation).join(" ")),null!=e.scale&&t.setAttribute("scale",e.scale.join(" ")),null!=e.name&&t.setAttribute("DEF","glTF_NODE_"+e.name),t},x3dom.glTF2Loader.prototype._generateX3DMatrixTransform=function(e){var t=document.createElement("matrixtransform");return null!=e.matrix&&t.setAttribute("matrix",e.matrix.join(" ")),null!=e.name&&t.setAttribute("DEF","glTF_NODE_"+e.name),t},x3dom.glTF2Loader.prototype._generateX3DGroup=function(e){return document.createElement("group")},x3dom.glTF2Loader.prototype._generateX3DInline=function(e){var t=document.createElement("inline");return t.setAttribute("url",e.uri),null!=e.mimeType&&t.setAttribute("contentType",e.mimeType),t},x3dom.glTF2Loader.prototype._generateX3DViewpoint=function(e){var t=this._gltf.cameras[e.camera],i="glTF_CAMERA_"+e.camera;switch(t.type){case"orthographic":return this._generateX3DOrthoViewpoint(i,t.orthographic);case"perspective":default:return this._generateX3DPerspectiveViewpoint(i,t.perspective)}},x3dom.glTF2Loader.prototype._generateX3DPerspectiveViewpoint=function(e,t){var i=document.createElement("viewpoint");this._generateX3DMetadata(t,i);var n=t.yfov||.785398,_=t.znear||-1,r=t.zfar||-1;return r/_>1e5&&(r=_=-1),i.setAttribute("DEF",e),i.setAttribute("fieldOfView",n),i.setAttribute("zNear",_),i.setAttribute("zFar",r),i.setAttribute("position","0 0 0"),i},x3dom.glTF2Loader.prototype._generateX3DOrthoViewpoint=function(e,t){var i=document.createElement("orthoviewpoint");this._generateX3DMetadata(t,i);var n=t.xmag||1,_=t.ymag||1,r=t.znear||-1,o=t.zfar||-1,s=[-n,-_,n,_];return i.setAttribute("DEF",e),i.setAttribute("fieldOfView",s),i.setAttribute("zNear",r),i.setAttribute("zFar",o),i.setAttribute("position","0 0 0"),i},x3dom.glTF2Loader.prototype._generateX3DShape=function(e){var t=document.createElement("shape");this._generateX3DMetadata(e,t);var i=null!=e.material?this._gltf.materials[e.material]:{name:"DEFAULT"};return null==i.name&&(i.name=e.material),t.appendChild(this._generateX3DAppearance(i)),t.appendChild(this._generateX3DBufferGeometry(e)),t},x3dom.glTF2Loader.prototype._generateX3DAppearance=function(e){var t=document.createElement("appearance");return this._generateX3DMetadata(e,t),"BLEND"===e.alphaMode?t.setAttribute("sortType","transparent"):t.setAttribute("sortType","opaque"),t.appendChild(this._generateX3DPhysicalMaterial(e)),this._textureTransform&&(t.appendChild(this._textureTransform),this._textureTransform=void 0),t},x3dom.glTF2Loader.prototype._generateX3DPhysicalMaterial=function(e){var t=document.createElement("physicalmaterial");if(this._USEorDEF(t,"glTF_MATERIAL_"+e.name))return t;var i,n,_=[1,1,1,1],r=e.emissiveFactor||[0,0,0],o=1,s=1,a=e.alphaMode||"OPAQUE",p=e.alphaCutoff||.5,l=!0,d=void 0,c=void 0,b=0;if(e.pbrMetallicRoughness?(c=e.pbrMetallicRoughness,d="roughnessMetallic"):e.extensions&&e.extensions.KHR_materials_pbrSpecularGlossiness&&(c=e.extensions.KHR_materials_pbrSpecularGlossiness,d="specularGlossiness"),"roughnessMetallic"==d){_=c.baseColorFactor||[1,1,1,1],o=null!=c.metallicFactor?c.metallicFactor:1,s=null!=c.roughnessFactor?c.roughnessFactor:1;c.baseColorTexture&&(b=c.baseColorTexture.texCoord?1:0,i=this._gltf.textures[c.baseColorTexture.index],n=c.baseColorTexture.extensions&&c.baseColorTexture.extensions.KHR_texture_transform?c.baseColorTexture.extensions.KHR_texture_transform:void 0,t.appendChild(this._generateX3DImageTexture(i,"baseColorTexture",b,n))),c.metallicRoughnessTexture&&(b=c.metallicRoughnessTexture.texCoord?1:0,i=this._gltf.textures[c.metallicRoughnessTexture.index],n=c.metallicRoughnessTexture.extensions&&c.metallicRoughnessTexture.extensions.KHR_texture_transform?c.metallicRoughnessTexture.extensions.KHR_texture_transform:void 0,e.occlusionTexture&&e.occlusionTexture.index==c.metallicRoughnessTexture.index?(l=!1,t.appendChild(this._generateX3DImageTexture(i,"occlusionRoughnessMetallicTexture",b,n))):t.appendChild(this._generateX3DImageTexture(i,"roughnessMetallicTexture",b,n))),t.setAttribute("baseColorFactor",_.join(" ")),t.setAttribute("metallicFactor",o),t.setAttribute("roughnessFactor",s)}else if("specularGlossiness"==d){var u=c.diffuseFactor||[1,1,1,1],m=c.specularFactor||[1,1,1],h=null!=c.glossinessFactor?c.glossinessFactor:1;c.diffuseTexture&&(b=c.diffuseTexture.texCoord?1:0,i=this._gltf.textures[c.diffuseTexture.index],n=c.diffuseTexture.extensions&&c.diffuseTexture.extensions.KHR_texture_transform?c.diffuseTexture.extensions.KHR_texture_transform:void 0,t.appendChild(this._generateX3DImageTexture(i,"baseColorTexture",b,n))),c.specularGlossinessTexture&&(b=c.specularGlossinessTexture.texCoord?1:0,i=this._gltf.textures[c.specularGlossinessTexture.index],n=c.specularGlossinessTexture.extensions&&c.specularGlossinessTexture.extensions.KHR_texture_transform?c.specularGlossinessTexture.extensions.KHR_texture_transform:void 0,t.appendChild(this._generateX3DImageTexture(i,"specularGlossinessTexture",b,n))),t.setAttribute("diffuseFactor",u.join(" ")),t.setAttribute("specularFactor",m.join(" ")),t.setAttribute("glossinessFactor",h)}return e.normalTexture&&(b=e.normalTexture.texCoord?1:0,i=this._gltf.textures[e.normalTexture.index],n=e.normalTexture.extensions&&e.normalTexture.extensions.KHR_texture_transform?e.normalTexture.extensions.KHR_texture_transform:void 0,t.appendChild(this._generateX3DImageTexture(i,"normalTexture",b,n))),e.emissiveTexture&&(b=e.emissiveTexture.texCoord?1:0,i=this._gltf.textures[e.emissiveTexture.index],n=e.emissiveTexture.extensions&&e.emissiveTexture.extensions.KHR_texture_transform?e.emissiveTexture.extensions.KHR_texture_transform:void 0,t.appendChild(this._generateX3DImageTexture(i,"emissiveTexture",b,n))),e.occlusionTexture&&l&&(b=e.occlusionTexture.texCoord?1:0,i=this._gltf.textures[e.occlusionTexture.index],n=e.occlusionTexture.extensions&&e.occlusionTexture.extensions.KHR_texture_transform?e.occlusionTexture.extensions.KHR_texture_transform:void 0,t.appendChild(this._generateX3DImageTexture(i,"occlusionTexture",b,n))),e.extensions&&e.extensions.KHR_materials_unlit&&t.setAttribute("unlit",!0),t.setAttribute("emissiveFactor",r.join(" ")),t.setAttribute("alphaMode",a),t.setAttribute("alphaCutoff",p),t.setAttribute("model",d),t},x3dom.glTF2Loader.prototype._generateX3DImageTexture=function(e,t,i,n){var _=this._gltf.images[e.source],r=document.createElement("imagetexture");if(this._generateX3DMetadata(e,r),r.setAttribute("origChannelCount","2"),r.setAttribute("flipY","true"),t&&r.setAttribute("containerField",t),null!=_.uri&&r.setAttribute("url",x3dom.Utils.dataURIToObjectURL(_.uri)),null!=e.sampler){var o=this._gltf.samplers[e.sampler];r.appendChild(this._createX3DTextureProperties(o))}return i&&r.setAttribute("channel","1"),n&&(this._textureTransform=this._createX3DTextureTransform(r,n)),r},x3dom.glTF2Loader.prototype._createX3DTextureProperties=function(e){var t=document.createElement("textureproperties");return t.setAttribute("boundaryModeS",x3dom.Utils.boundaryModesDicX3D(e.wrapS)),t.setAttribute("boundaryModeT",x3dom.Utils.boundaryModesDicX3D(e.wrapT)),t.setAttribute("magnificationFilter",x3dom.Utils.magFilterDicX3D(e.magFilter)),t.setAttribute("minificationFilter",x3dom.Utils.minFilterDicX3D(e.minFilter)),(null==e.minFilter||e.minFilter>=9984&&e.minFilter<=9987)&&t.setAttribute("generateMipMaps","true"),t},x3dom.glTF2Loader.prototype._createX3DTextureTransform=function(e,t){var i=document.createElement("matrixtexturetransform"),n=t.offset||[0,0],_=t.rotation||0,r=t.scale||[1,1],o=new x3dom.fields.SFVec3f(-0,-0,0),s=new x3dom.fields.SFVec3f(0,0,0),a=new x3dom.fields.SFVec3f(n[0],n[1],0),p=new x3dom.fields.SFVec3f(r[0],r[1],0),l=x3dom.fields.SFMatrix4f.translation(s.add(a)).mult(x3dom.fields.SFMatrix4f.rotationZ(-1*_)).mult(x3dom.fields.SFMatrix4f.scale(p)).mult(x3dom.fields.SFMatrix4f.translation(o));return i.setAttribute("matrix",l.toString()),t.texCoord&&e.setAttribute("channel",texCoord),i},x3dom.glTF2Loader.prototype._generateX3DBufferGeometry=function(e){var t=[],i=document.createElement("buffergeometry"),n=this._getCenterAndSize(e);(i.setAttribute("buffer",this._bufferURI(e)),i.setAttribute("position",n.center.join(" ")),i.setAttribute("size",n.size.join(" ")),i.setAttribute("vertexCount",this._getVertexCount(e)),i.setAttribute("primType",this._primitiveType(e.mode)),null!=e.material)&&(this._gltf.materials[e.material].doubleSided&&i.setAttribute("solid","false"));if(null!=e.indices){var _=this._gltf.accessors[e.indices];(s=this._gltf.bufferViews[_.bufferView]).id=_.bufferView,s.target=34963;var r=t.indexOf(s);null!=s.target&&-1==r&&(r=t.push(s)-1),i.appendChild(this._generateX3DBufferAccessor("INDEX",_,r))}for(var o in e.attributes){var s;_=this._gltf.accessors[e.attributes[o]];(s=this._gltf.bufferViews[_.bufferView]).target=34962,s.id=_.bufferView;r=t.indexOf(s);null!=s.target&&-1==r&&(r=t.push(s)-1),i.appendChild(this._generateX3DBufferAccessor(o,_,r))}for(var a=0;a<t.length;a++)i.appendChild(this._generateX3DBufferView(t[a]));return i},x3dom.glTF2Loader.prototype._generateX3DBufferView=function(e){var t=document.createElement("bufferview");return t.setAttribute("target",e.target),t.setAttribute("byteOffset",e.byteOffset||0),t.setAttribute("byteLength",e.byteLength),t.setAttribute("id",e.id),t},x3dom.glTF2Loader.prototype._generateX3DBufferAccessor=function(e,t,i){var n=this._componentsOf(t.type),_=this._gltf.bufferViews[t.bufferView],r=t.byteOffset,o=document.createElement("bufferaccessor");return o.setAttribute("bufferType",e.replace("_0","")),o.setAttribute("view",i),o.setAttribute("byteOffset",r||0),o.setAttribute("byteStride",_.byteStride||0),o.setAttribute("normalized",t.normalized||!1),o.setAttribute("components",n),o.setAttribute("componentType",t.componentType),o.setAttribute("count",t.count),o},x3dom.glTF2Loader.prototype._generateX3DAnimationNodes=function(e,t,i){var n=this._animationDuration(t),_=i+"_TIMESENSOR";e.appendChild(this._generateX3DTimeSensor(_,n));for(var r=0;r<t.channels.length;r++){var o=t.channels[r],s=o.target.path,a=o.target.node,p=t.samplers[o.sampler],l="glTF_NODE_"+this._gltf.nodes[a].name,d=i+"_INTERPOLATOR_"+r;e.appendChild(this._generateX3DInterpolator(d,s,p,n)),e.appendChild(this._createX3DRoute("fraction_changed",_,"set_fraction",d)),e.appendChild(this._createX3DRoute("value_changed",d,"set_"+s,l))}},x3dom.glTF2Loader.prototype._generateX3DTimeSensor=function(e,t){var i=document.createElement("TimeSensor");return i.setAttribute("loop","true"),i.setAttribute("cycleInterval",t),i.setAttribute("DEF",e),i},x3dom.glTF2Loader.prototype._generateX3DInterpolator=function(e,t,i,n){var _,r=i.interpolation||"LINEAR",o=this._gltf.accessors[i.input],s=this._gltf.accessors[i.output],a=this._gltf.bufferViews[o.bufferView],p=this._gltf.bufferViews[s.bufferView];switch(t){case"scale":case"translation":_=document.createElement("PositionInterpolator");break;case"rotation":_=document.createElement("OrientationInterpolator");break;case"weights":_=document.createElement("ScalarInterpolator")}return _.setAttribute("DEF",e),_.setAttribute("buffer",this._bufferURI(i)),_.setAttribute("interpolation",r),_.setAttribute("duration",n),_.appendChild(this._generateX3DBufferAccessor("SAMPLER_INPUT",o,0)),_.appendChild(this._generateX3DBufferAccessor("SAMPLER_OUTPUT",s,1)),_.appendChild(this._generateX3DBufferView(a)),_.appendChild(this._generateX3DBufferView(p)),_},x3dom.glTF2Loader.prototype._createX3DRoute=function(e,t,i,n){var _=document.createElement("ROUTE");return _.setAttribute("fromField",e),_.setAttribute("fromNode",t),_.setAttribute("toField",i),_.setAttribute("toNode",n),_},x3dom.glTF2Loader.prototype._getCenterAndSize=function(e){var t=[1,1,1],i=[0,0,0];if(null!=e.attributes.POSITION){var n=this._gltf.accessors[e.attributes.POSITION];t[0]=n.max[0]-n.min[0],t[1]=n.max[1]-n.min[1],t[2]=n.max[2]-n.min[2],i[0]=n.min[0]+.5*t[0],i[1]=n.min[1]+.5*t[1],i[2]=n.min[2]+.5*t[2]}return{center:i,size:t}},x3dom.glTF2Loader.prototype._getVertexCount=function(e){var t=0;return null!=e.indices?t=this._gltf.accessors[e.indices].count:null!=e.attributes.POSITION&&(t=this._gltf.accessors[e.attributes.POSITION].count),t},x3dom.glTF2Loader.prototype._sizeInBytes=function(e){switch(e){case 5120:case 5121:return 1;case 5122:case 5123:return 2;case 5125:case 5126:return 4}},x3dom.glTF2Loader.prototype._componentsOf=function(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}},x3dom.glTF2Loader.prototype._bufferURI=function(e){var t,i="";if(null!=e.attributes&&null!=e.attributes.POSITION?t=e.attributes.POSITION:e.input&&(t=e.input),null!=t){var n=this._gltf.accessors[t],_=this._gltf.bufferViews[n.bufferView],r=this._gltf.buffers[_.buffer];i=x3dom.Utils.dataURIToObjectURL(r.uri)}return i},x3dom.glTF2Loader.prototype._USEorDEF=function(e,t){return null!=this._definitions[t]?(e.setAttribute("USE",t),!0):(e.setAttribute("DEF",t),this._definitions[t]=t,!1)},x3dom.glTF2Loader.prototype._primitiveType=function(e){switch(e){case 0:return"POINTS";case 1:return"LINES";case 2:return"LINE_LOOP";case 3:return"LINE_STRIP";case 4:return"TRIANGLES";case 5:return"TRIANGLE_STRIP";case 6:return"TRIANGLE_FAN";default:return"TRIANGLES"}},x3dom.glTF2Loader.prototype._isDefaultSampler=function(e){return 10497==e.wrapS&&10497==e.wrapT&&9729==e.magFilter&&9729==e.minFilter},x3dom.glTF2Loader.prototype._toAxisAngle=function(e){var t=[],i=(e=new x3dom.fields.Quaternion(e[0],e[1],e[2],e[3])).toAxisAngle();return t[0]=i[0].x,t[1]=i[0].y,t[2]=i[0].z,t[3]=i[1],t},x3dom.glTF2Loader.prototype._getGLTF=function(e,t){if(!t)return"string"==typeof e?JSON.parse(e):e;var i=0,n=new Uint32Array(e,i,3);if(1179937895==n[0]||2==n[1]){i+=12;var _=new Uint32Array(e,i,2);if(1313821514==_[1]){i+=8;var r=new Uint8Array(e,i,_[0]);i+=_[0];var o=new Uint32Array(e,i,2);if(5130562==o[1]){i+=8;var s=new Uint8Array(e,i,o[0]),a=x3dom.Utils.arrayBufferToJSON(r);return a.buffers[0].uri=x3dom.Utils.arrayBufferToObjectURL(s,"application/octet-stream"),this._convertBinaryImages(a,e,i),a}}}},x3dom.glTF2Loader.prototype._convertBinaryImages=function(e,t,i){if(null!=e.images)for(var n=0;n<e.images.length;n++){var _=e.images[n];if(null!=_.bufferView){var r=e.bufferViews[_.bufferView];r.byteOffset=r.byteOffset||0;var o=new Uint8Array(t,i+r.byteOffset,r.byteLength);_.uri=x3dom.Utils.arrayBufferToObjectURL(o,_.mimeType)}}},x3dom.glTF2Loader.prototype._animationDuration=function(e){for(var t=-1,i=0;i<e.channels.length;i++){var n=e.channels[i],_=e.samplers[n.sampler],r=this._gltf.accessors[_.input];t=Math.max(r.max[0],t)}return t},x3dom.DDSLoader={},x3dom.DDSLoader.load=function(e){return new Promise((function(t,i){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){var e=x3dom.DDSLoader._read(n.response);e?t(e):i(e)},n.onerror=function(){i()},x3dom.RequestManager.addRequest(n)}))},x3dom.DDSLoader._read=function(e){if(!(void 0===e||e.byteLength<148)){var t={isCompressed:!1,isVolume:!1,isCubeMap:!1,targets:[],data:[]},i=new Uint32Array(e,0,32);if(t.header=x3dom.DDSLoader._readHeader(i),i=new Uint32Array(e,128,5),t.header10=x3dom.DDSLoader._readHeader10(t,i),542327876==t.header.dwMagic&&124==t.header.dwSize&&x3dom.DDSLoader._readFormat(t))return x3dom.DDSLoader._readMipmapCount(t),x3dom.DDSLoader._readType(t),this._readData(t,e),t}},x3dom.DDSLoader._readHeader=function(e){return{dwMagic:e[0],dwSize:e[1],dwFlags:x3dom.DDSLoader._readDDSFlags(e[2]),dwHeight:e[3],dwWidth:e[4],dwPitchOrLinearSize:e[5],dwDepth:e[6],dwMipMapCount:e[7],dwReserved1:"UNUSED",ddspf:{dwSize:e[19],dwFlags:x3dom.DDSLoader._readPFFlags(e[20]),dwFourCC:x3dom.DDSLoader.int32ToFourCC(e[21]),dwRGBBitCount:e[22],dwRBitMask:e[23],dwGBitMask:e[24],dwBBitMask:e[25],dwABitMask:e[26]},dwCaps:x3dom.DDSLoader._readCapsFlags(e[27]),dwCaps2:x3dom.DDSLoader._readCaps2Flags(e[28]),dwCaps3:"UNUSED",dwCaps4:"UNUSED",dwReserved2:"UNUSED"}},x3dom.DDSLoader._readHeader10=function(e,t){return"DX10"!=e.header.ddspf.dwFourCC?null:{dxgiFormat:t[0],resourceDimension:x3dom.DDSLoader._readResourceDimension(t[1]),miscFlags:x3dom.DDSLoader._readMiscFlags(t[2]),arraySize:t[3],miscFlags2:x3dom.DDSLoader._readMiscFlags2(t[4])}},x3dom.DDSLoader._readMipmapCount=function(e){e.numberOfMipmaps=e.header.dwFlags.DDSD_MIPMAPCOUNT?e.header.dwMipMapCount:1},x3dom.DDSLoader._readType=function(e){e.header.dwFlags.DDSD_DEPTH&&e.header.dwCaps2.DDSCAPS2_VOLUME?(e.type=32879,e.numberOfImages=e.header.dwCaps.DDSD_DEPTH):e.header.dwCaps2.DDSCAPS2_CUBEMAP?(e.type=34067,e.header.dwCaps2.DDSCAPS2_CUBEMAP_POSITIVEX&&e.targets.push(34069),e.header.dwCaps2.DDSCAPS2_CUBEMAP_NEGATIVEX&&e.targets.push(34070),e.header.dwCaps2.DDSCAPS2_CUBEMAP_POSITIVEY&&e.targets.push(34071),e.header.dwCaps2.DDSCAPS2_CUBEMAP_NEGATIVEY&&e.targets.push(34072),e.header.dwCaps2.DDSCAPS2_CUBEMAP_POSITIVEZ&&e.targets.push(34073),e.header.dwCaps2.DDSCAPS2_CUBEMAP_NEGATIVEZ&&e.targets.push(34074),e.numberOfImages=e.targets.length):(e.type=3553,e.targets.push(3553),e.numberOfImages=e.targets.length)},x3dom.DDSLoader._readDDSFlags=function(e){return{DDSD_CAPS:!!(1&e),DDSD_HEIGHT:!!(2&e),DDSD_WIDTH:!!(4&e),DDSD_PITCH:!!(8&e),DDSD_PIXELFORMAT:!!(4096&e),DDSD_MIPMAPCOUNT:!!(131072&e),DDSD_LINEARSIZE:!!(524288&e),DDSD_DEPTH:!!(8388608&e)}},x3dom.DDSLoader._readPFFlags=function(e){return{DDPF_ALPHAPIXELS:!!(1&e),DDPF_ALPHA:!!(2&e),DDPF_FOURCC:!!(4&e),DDPF_RGB:!!(64&e),DDPF_YUV:!!(512&e),DDPF_LUMINANCE:!!(131072&e)}},x3dom.DDSLoader._readCapsFlags=function(e){return{DDSCAPS_COMPLEX:!!(8&e),DDSCAPS_MIPMAP:!!(4194304&e),DDSCAPS_TEXTURE:!!(4096&e)}},x3dom.DDSLoader._readCaps2Flags=function(e){return{DDSCAPS2_CUBEMAP:!!(512&e),DDSCAPS2_CUBEMAP_POSITIVEX:!!(1024&e),DDSCAPS2_CUBEMAP_NEGATIVEX:!!(2048&e),DDSCAPS2_CUBEMAP_POSITIVEY:!!(4096&e),DDSCAPS2_CUBEMAP_NEGATIVEY:!!(8192&e),DDSCAPS2_CUBEMAP_POSITIVEZ:!!(16384&e),DDSCAPS2_CUBEMAP_NEGATIVEZ:!!(32768&e),DDSCAPS2_VOLUME:!!(131072&e)}},x3dom.DDSLoader._readResourceDimension=function(e){switch(e){case 0:return"D3D10_RESOURCE_DIMENSION_UNKNOWN";case 1:return"D3D10_RESOURCE_DIMENSION_BUFFER";case 2:return"D3D10_RESOURCE_DIMENSION_TEXTURE1D";case 3:return"D3D10_RESOURCE_DIMENSION_TEXTURE2D";case 4:return"D3D10_RESOURCE_DIMENSION_TEXTURE3D"}},x3dom.DDSLoader._readMiscFlags=function(e){return{D3D11_RESOURCE_MISC_GENERATE_MIPS:!!(1&e),D3D11_RESOURCE_MISC_SHARED:!!(2&e),D3D11_RESOURCE_MISC_TEXTURECUBE:!!(4&e),D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS:!!(16&e),D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS:!!(32&e),D3D11_RESOURCE_MISC_BUFFER_STRUCTURED:!!(64&e),D3D11_RESOURCE_MISC_RESOURCE_CLAMP:!!(128&e),D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX:!!(256&e),D3D11_RESOURCE_MISC_GDI_COMPATIBLE:!!(512&e),D3D11_RESOURCE_MISC_SHARED_NTHANDLE:!!(2048&e),D3D11_RESOURCE_MISC_RESTRICTED_CONTENT:!!(4096&e),D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE:!!(8192&e),D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER:!!(16384&e),D3D11_RESOURCE_MISC_GUARDED:!!(32768&e),D3D11_RESOURCE_MISC_TILE_POOL:!!(131072&e),D3D11_RESOURCE_MISC_TILED:!!(262144&e),D3D11_RESOURCE_MISC_HW_PROTECTED:!!(524288&e)}},x3dom.DDSLoader._readMiscFlags2=function(e){var t={};switch(e){case 0:case 1:case 2:case 3:case 4:t.alphaMode="DDS_ALPHA_MODE_UNKNOWN"}return t},x3dom.DDSLoader._readData=function(e,t,i,n){var _,r,o,s=e.header10?148:128;e.width=e.header.dwWidth,e.height=e.header.dwHeight,e.generateMipmaps=e.numberOfMipmaps<=1&&!e.isCompressed;for(var a=0;a<e.numberOfImages;a++){r=e.header.dwWidth,o=e.header.dwHeight,e.data[e.targets[a]]=[];for(var p=0;p<e.numberOfMipmaps;p++)0!=p&&(r=Math.max(.5*r,1),o=Math.max(.5*o,1)),e.isCompressed?(_=this._readCompressedData(t,r,o,s,e.blockSize),e.data[e.targets[a]][p]=_):(_=this._readUncompressedData(t,r,o,s,e.format),e.data[e.targets[a]][p]=_),s+=_.length*_.BYTES_PER_ELEMENT*e.format.bytesPerElementFactor}return e.format.overwriteType&&(e.format.type=e.format.overwriteType),e.format.overwriteInternalType&&(e.format.internal=e.format.overwriteInternalType),e},x3dom.DDSLoader._readCompressedData=function(e,t,i,n,_){var r=Math.max(1,parseInt((t+3)/4))*Math.max(1,parseInt((i+3)/4))*_;return new Uint8Array(e.slice(n,n+r))},x3dom.DDSLoader._readUncompressedData=function(e,t,i,n,_,r){if(_.bytesPerElementFactor=1,6406==_.internal)return new Uint8Array(e.slice(n,n+t*i));if(6409==_.internal)return new Uint8Array(e.slice(n,n+t*i));if(6410==_.internal)return new Uint8Array(e.slice(n,n+t*i*2));if(6407==_.internal)return x3dom.DDSLoader.R8G8B8_To_B8G8R8(new Uint8Array(e.slice(n,n+t*i*3)));if(36194==_.internal)return new Uint16Array(e.slice(n,n+t*i*2));if(6408==_.internal&&36193!=_.type&&5126!=_.type)return x3dom.DDSLoader.A8R8G8B8_To_A8B8G8R8(new Uint8Array(e.slice(n,n+t*i*4)));if(32854==_.internal)return x3dom.DDSLoader.A4R4G4B4_To_A4B4G4R4(new Uint16Array(e.slice(n,n+t*i*2)));if(32855==_.internal)return x3dom.DDSLoader.A1R5G5B5_To_A1B5G5R5(new Uint16Array(e.slice(n,n+t*i*2)));if(34842==_.internal||36193==_.type)return x3dom.caps.HFP_TEXTURES||2==x3dom.caps.WEBGL_VERSION?new Uint16Array(e.slice(n,n+t*i*4*2)):x3dom.caps.FP_TEXTURES?(_.overwriteType=5126,_.overwriteInternalType=2==x3dom.caps.WEBGL_VERSION?34836:6408,_.bytesPerElementFactor=.5,x3dom.DDSLoader.UI16_To_F32(new Uint16Array(e.slice(n,n+t*i*4*2)))):(_.overwriteType=5121,_.overwriteInternalType=6408,_.bytesPerElementFactor=2,x3dom.DDSLoader.UI16_To_UI8(new Uint16Array(e.slice(n,n+t*i*4*2))));if(34836==_.internal||5126==_.type){if(x3dom.caps.FP_TEXTURES||2==x3dom.caps.WEBGL_VERSION)return new Float32Array(e.slice(n,n+t*i*4*4))}else if(35898==_.internal)return new Uint8Array(e.slice(n,n+t*i*3))},x3dom.DDSLoader._readFormat=function(e){var t=e.header.ddspf;if(t.dwFlags.DDPF_FOURCC)if("DXT1"==t.dwFourCC)e.channelCount=3,e.blockSize=8,e.isCompressed=!0,e.format={internal:33776,format:6407,type:5121};else if("DXT3"==t.dwFourCC)e.channelCount=3,e.blockSize=16,e.isCompressed=!0,e.format={internal:33778,format:6408,type:5121};else if("DXT5"==t.dwFourCC)e.channelCount=4,e.blockSize=16,e.isCompressed=!0,e.format={internal:33779,format:6408,type:5121};else if("t"==t.dwFourCC)e.channelCount=4,2==x3dom.caps.WEBGL_VERSION?e.format={internal:34836,format:6408,type:5126}:e.format={internal:6408,format:6408,type:5126};else{if("q"!=t.dwFourCC&&"$"!=t.dwFourCC)return!1;e.channelCount=4,2==x3dom.caps.WEBGL_VERSION?e.format={internal:34842,format:6408,type:5131}:e.format={internal:6408,format:6408,type:36193}}else if(t.dwFlags.DDPF_RGB&&!t.dwFlags.DDPF_ALPHAPIXELS)if(e.channelCount=3,24==t.dwRGBBitCount&&16711680==t.dwRBitMask&&65280==t.dwGBitMask&&255==t.dwBBitMask)e.format={internal:6407,format:6407,type:5121};else{if(16!=t.dwRGBBitCount||63488!=t.dwRBitMask||2016!=t.dwGBitMask||31!=t.dwBBitMask)return!1;e.format={internal:36194,format:6407,type:33635}}else if(t.dwFlags.DDPF_RGB&&t.dwFlags.DDPF_ALPHAPIXELS)if(e.channelCount=4,32==t.dwRGBBitCount&&16711680==t.dwRBitMask&&65280==t.dwGBitMask&&255==t.dwBBitMask&&4278190080==t.dwABitMask)e.format={internal:6408,format:6408,type:5121};else if(16==t.dwRGBBitCount&&3840==t.dwRBitMask&&240==t.dwGBitMask&&15==t.dwBBitMask&&61440==t.dwABitMask)e.format={internal:32854,format:6408,type:32819};else{if(16!=t.dwRGBBitCount||31744!=t.dwRBitMask||992!=t.dwGBitMask||31!=t.dwBBitMask||32768!=t.dwABitMask)return!1;e.format={internal:32855,format:6408,type:32820}}else if(t.dwFlags.DDPF_LUMINANCE&&!t.dwFlags.DDPF_ALPHAPIXELS){if(8!=t.dwRGBBitCount||255!=t.dwRBitMask)return!1;e.format={internal:6409,format:6409,type:5121},e.channelCount=1}else if(t.dwFlags.DDPF_LUMINANCE&&t.dwFlags.DDPF_ALPHAPIXELS){if(16!=t.dwRGBBitCount||255!=t.dwRBitMask||65280!=t.dwABitMask)return!1;e.format={internal:6410,format:6410,type:5121},e.channelCount=2}else{if(!t.dwFlags.DDPF_ALPHA)return!1;if(8!=t.dwRGBBitCount||255!=t.dwABitMask)return!1;e.format={internal:6406,format:6406,type:5121},e.channelCount=1}return!0},x3dom.DDSLoader.int32ToFourCC=function(e){return String.fromCharCode(255&e,e>>8&255,e>>16&255,e>>24&255).replace(/[\x00]/g,"")},x3dom.DDSLoader.R8G8B8_To_B8G8R8=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i+=3)t[i]=e[i+1],t[i+1]=e[i+0],t[i+2]=e[i+2];return t},x3dom.DDSLoader.A8R8G8B8_To_A8B8G8R8=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i+=4)t[i]=e[i+2],t[i+1]=e[i+1],t[i+2]=e[i+0],t[i+3]=e[i+3];return t},x3dom.DDSLoader.UI16_To_UI8=function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i+=4)t[i]=255*x3dom.DDSLoader.UI16_To_UI8_2(e[i]),t[i+1]=255*x3dom.DDSLoader.UI16_To_UI8_2(e[i+1]),t[i+2]=255*x3dom.DDSLoader.UI16_To_UI8_2(e[i+2]),t[i+3]=255*x3dom.DDSLoader.UI16_To_UI8_2(e[i+3]);return t},x3dom.DDSLoader.UI16_To_F32=function(e){for(var t=new Float32Array(e.length),i=0;i<e.length;i+=4)t[i]=x3dom.DDSLoader.UI16_To_F16(e[i]),t[i+1]=x3dom.DDSLoader.UI16_To_F16(e[i+1]),t[i+2]=x3dom.DDSLoader.UI16_To_F16(e[i+2]),t[i+3]=x3dom.DDSLoader.UI16_To_F16(e[i+3]);return t},x3dom.DDSLoader.UI16_To_F16=function(e){var t=e>>15&1,i=e>>10&1023,n=e&Math.pow(2,10)-1;return 0!==i?Math.pow(-1,t)*(1+n/Math.pow(2,10))*Math.pow(2,i-15):0===n?0:Math.pow(-1,t)*n/Math.pow(2,10)*Math.pow(2,-14)},x3dom.DDSLoader.UI16_To_UI8_2=function(e){var t=x3dom.DDSLoader.UI16_To_F16(e);return t/(t+1)},x3dom.DDSLoader.A4R4G4B4_To_A4B4G4R4=function(e){for(var t,i,n,_,r=new Uint16Array(e.length),o=0;o<e.length;o++)t=e[o]>>12&15,i=e[o]>>8&15,n=e[o]>>4&15,_=15&e[o],r[o]=i<<12&n<<8&_<<4&t;return r},x3dom.DDSLoader.A1R5G5B5_To_A1B5G5R5=function(e){for(var t,i,n,_,r=new Uint16Array(e.length),o=0;o<e.length;o++)t=e[o]>>15&1,i=e[o]>>10&31,n=e[o]>>5&95,_=95&e[o],r[o]=i<<11&n<<6&_<<1&t;return r},x3dom.VRControllerManager=function(){this.leftInline=void 0,this.leftTransform=void 0,this.rightInline=void 0,this.rightTransform=void 0,this.leftGamepadIdx=void 0,this.rightGamepadIdx=void 0,this.vrDisplay=void 0,this.wasPresenting=!1,this.controllers={"HTC Vive MV":{left:"https://x3dom.org/download/assets/vr/vive.glb",right:"https://x3dom.org/download/assets/vr/vive.glb",scaleFactor:new x3dom.fields.SFVec3f(40,40,40),offset:new x3dom.fields.SFVec3f,axesScale:[1,1]},"Oculus Oculus Rift CV1":{left:"https://x3dom.org/download/assets/vr/oculus-touch-left.glb",right:"https://x3dom.org/download/assets/vr/oculus-touch-right.glb",scaleFactor:new x3dom.fields.SFVec3f(39.5,39.5,39.5),offset:new x3dom.fields.SFVec3f,axesScale:[1,1]},"Oculus Go":{left:"https://x3dom.org/download/assets/vr/oculus-go.glb",right:"https://x3dom.org/download/assets/vr/oculus-go.glb",scaleFactor:new x3dom.fields.SFVec3f(1,1,1),offset:new x3dom.fields.SFVec3f(.2,-.3,-.3),axesScale:[1,-1]},"Emulated HTC Vive DVT":{left:"https://x3dom.org/download/assets/vr/vive.glb",right:"https://x3dom.org/download/assets/vr/vive.glb",scaleFactor:new x3dom.fields.SFVec3f(40,40,40),offset:new x3dom.fields.SFVec3f,axesScale:[1,1]},"WindowsMR DELL VISOR VR118":{left:"https://x3dom.org/download/assets/vr/microsoft-left.glb",right:"https://x3dom.org/download/assets/vr/microsoft-right.glb",scaleFactor:new x3dom.fields.SFVec3f(40,40,40),offset:new x3dom.fields.SFVec3f,axesScale:[1,1]}},this._addInlines(),this._addGamePadListeners()},x3dom.VRControllerManager.prototype._addGamePadListeners=function(){window.addEventListener("gamepadconnected",this._onGamePadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._onGamePadDisconnected.bind(this))},x3dom.VRControllerManager.prototype._onGamePadConnected=function(e){var t=e.gamepad;navigator.getVRDisplays().then(function(e){var i=e[0];if(i&&t.displayId==i.displayId){var n=this.controllers[i.displayName];if(!n)return;"left"==t.hand?(this.leftGamepadIdx=t.index,this.leftInline.setAttribute("url",n.left)):"right"==t.hand&&(this.rightGamepadIdx=t.index,this.rightInline.setAttribute("url",n.right,n.scaleFactor))}}.bind(this))},x3dom.VRControllerManager.prototype._onGamePadDisconnected=function(e){console.log(e)},x3dom.VRControllerManager.prototype._addInlines=function(){var e=document.querySelector("scene")||document.querySelector("Scene");e&&(this.leftTransform=document.createElement("matrixtransform"),this.leftInline=document.createElement("inline"),this.rightTransform=document.createElement("matrixtransform"),this.rightInline=document.createElement("inline"),this.leftInline.setAttribute("render","false"),this.rightInline.setAttribute("render","false"),this.leftTransform.appendChild(this.leftInline),this.rightTransform.appendChild(this.rightInline),e.appendChild(this.leftTransform),e.appendChild(this.rightTransform))},x3dom.VRControllerManager.prototype.fit=function(e,t){var i=e._scene._lastMin,n=e._scene._lastMax.subtract(i).multiply(.5).length(),_=e.vrLeftViewMatrix.e2(),r=Math.min(e._width/e._height,1),o=n/Math.tan(.5*Math.PI/2)/r;e._movement=_.multiply(-o)},x3dom.VRControllerManager.prototype.update=function(e,t){if(!t||t&&!t.isPresenting)this.wasPresenting&&(this.leftInline.setAttribute("render","false"),this.rightInline.setAttribute("render","false"),this.wasPresenting=!1);else{this.wasPresenting||(this.leftInline.setAttribute("render","true"),this.rightInline.setAttribute("render","true"),this.fit(e,t)),this.wasPresenting=!0;var i=navigator.getGamepads(),n={};if(null!=this.leftGamepadIdx&&i[this.leftGamepadIdx]){var _=i[this.leftGamepadIdx];n.left=_}if(null!=this.rightGamepadIdx&&i[this.rightGamepadIdx]){_=i[this.rightGamepadIdx];n.right=_}this.onUpdate(e,t,n)}},x3dom.VRControllerManager.prototype.onUpdate=function(e,t,i){var n=new x3dom.fields.SFMatrix4f,_=new x3dom.fields.SFMatrix4f,r=[0,0],o=this.controllers[t.displayName].axesScale;i.left&&(r[0]+=i.left.axes[0]*o[0],r[1]+=i.left.axes[1]*o[1],i.left.buttons[1].pressed&&this.fit(e)),i.right&&(r[0]+=i.right.axes[0]*o[0],r[1]+=i.right.axes[1]*o[1],i.right.buttons[1].pressed&&this.fit(e));var s=5*r[0],a=5*r[1],p=e.vrLeftViewMatrix.e2(),l=e.vrLeftViewMatrix.e0(),d=e._scene._lastMax.subtract(e._scene._lastMin).length();d=d<x3dom.fields.Eps?1:d,p=new x3dom.fields.SFVec3f(-p.x,-p.y,p.z).multiply(d*(a/e._height)),l=new x3dom.fields.SFVec3f(-l.x,-l.y,l.z).multiply(d*(s/e._width)),e._movement=e._movement.add(l).add(p),n=x3dom.fields.SFMatrix4f.translation(e._movement),e.vrLeftViewMatrix=e.vrLeftViewMatrix.mult(n).mult(_),e.vrRightViewMatrix=e.vrRightViewMatrix.mult(n).mult(_),this._updateControllerModels(e,t,i)},x3dom.VRControllerManager.prototype._updateControllerModels=function(e,t,i){if(!t||t&&!t.isPresenting)return this.leftInline.setAttribute("render","false"),void this.rightInline.setAttribute("render","false");if(this.leftInline.setAttribute("render","true"),this.rightInline.setAttribute("render","true"),i.left){var n=(s=i.left.pose).orientation?x3dom.fields.Quaternion.fromArray(s.orientation):new x3dom.fields.Quaternion,_=s.position?x3dom.fields.SFVec3f.fromArray(s.position):this.controllers[t.displayName].offset,r=this.controllers[t.displayName].scaleFactor;_=_.subtract(e._movement);var o=x3dom.fields.SFMatrix4f.fromRotationTranslationScale(n,_,r);this.leftTransform.setAttribute("matrix",o.toString())}if(i.right){var s;n=(s=i.right.pose).orientation?x3dom.fields.Quaternion.fromArray(s.orientation):new x3dom.fields.Quaternion,_=s.position?x3dom.fields.SFVec3f.fromArray(s.position):this.controllers[t.displayName].offset,r=this.controllers[t.displayName].scaleFactor;_=_.subtract(e._movement);o=x3dom.fields.SFMatrix4f.fromRotationTranslationScale(n,_,r);this.rightTransform.setAttribute("matrix",o.toString())}},x3dom.JSONParser=function(e){this.x3djsonNS="http://www.web3d.org/specifications/x3d-namespace"},x3dom.JSONParser.prototype.constructor=x3dom.JSONParser,x3dom.JSONParser.prototype.parseJavaScript=function(e){var t=this.CreateElement("X3D");return this.ConvertToX3DOM(e,"",t),t},x3dom.JSONParser.prototype.elementSetAttribute=function(e,t,i){"SON schema"===t||"ncoding"===t||"function"==typeof e.setAttribute&&e.setAttribute(t,i)},x3dom.JSONParser.prototype.ConvertChildren=function(e,t,i){var n;for(n in t)"object"==typeof t[n]&&(isNaN(parseInt(n))?this.ConvertObject(n,t,i,e.substr(1)):this.ConvertToX3DOM(t[n],n,i,e.substr(1)))},x3dom.JSONParser.prototype.CreateElement=function(e,t){var i=null;return void 0===this.x3djsonNS?i=document.createElement(e):null==(i=document.createElementNS(this.x3djsonNS,e))&&(console.error("Trouble creating element for",e),i=document.createElement(e)),void 0!==t&&this.elementSetAttribute(i,"containerField",t),i},x3dom.JSONParser.prototype.CDATACreateFunction=function(e,t,i){var n=i.trim().replace(/\\"/g,'\\"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");do{n=(i=n).replace(/'([^'\r\n]*)\n([^']*)'/g,"'$1\\n$2'")}while(n!=i);var _="<script> <![CDATA[ "+n+" ]]> <\/script>",r=(new DOMParser).parseFromString(_,"application/xml").children[0].childNodes[1];t.appendChild(r)},x3dom.JSONParser.prototype.ConvertObject=function(e,t,i,n){var _;if(null!==t&&"object"==typeof t[e])if(e.startsWith("@"))this.ConvertToX3DOM(t[e],e,i);else if(e.startsWith("-"))this.ConvertChildren(e,t[e],i);else if("#comment"===e)for(var r in t[e])_=document.createComment(this.CommentStringToXML(t[e][r])),i.appendChild(_);else if("#sourceText"===e||"#sourceCode"===e)this.CDATACreateFunction(document,i,t[e].join("\r\n")+"\r\n");else if("connect"===e||"fieldValue"===e||"field"===e||"meta"===e||"component"===e)for(var o in t[e])"object"==typeof t[e][o]&&(_=this.CreateElement(e,n),this.ConvertToX3DOM(t[e][o],o,_),i.appendChild(_),i.appendChild(document.createTextNode("\n")));else _=this.CreateElement(e,n),this.ConvertToX3DOM(t[e],e,_),i.appendChild(_),i.appendChild(document.createTextNode("\n"))},x3dom.JSONParser.prototype.CommentStringToXML=function(e){return e=e.replace(/\\\\/g,"\\")},x3dom.JSONParser.prototype.SFStringToXML=function(e){return e=(e=e.replace(/\\/g,"\\\\")).replace(/"/g,'\\"')},x3dom.JSONParser.prototype.JSONStringToXML=function(e){return e=(e=e.replace(/\\/g,"\\\\")).replace(/\n/g,"\\n")},x3dom.JSONParser.prototype.ConvertToX3DOM=function(e,t,i,n){var _,r=[],o=!1,s=!1;for(_ in e)if(o=!isNaN(parseInt(_)))"number"==typeof e[_]?r.push(e[_]):"string"==typeof e[_]?(r.push(e[_]),s=!0):"boolean"==typeof e[_]?r.push(e[_]):"object"==typeof e[_]?this.ConvertToX3DOM(e[_],_,i):void 0===e[_]||console.error("Unknown type found in array "+typeof e[_]);else if("object"==typeof e[_])if("X3D"===_)this.ConvertToX3DOM(e[_],_,i);else if("-skin"===_||"-skeleton"===_||"-value"===_){var a=e[_][0];for(var p in a)a[p]["@containerField"]=_.substr(1),console.log(a[p]),this.ConvertObject(_,e,i,a[p]["@containerField"])}else 0===_.indexOf("HAnim")&&"HAnimHumanoid"!==_&&void 0!==e[_]["@USE"]?(e[_]["@containerField"]=_.substr(5).toLowerCase()+"s",this.ConvertObject(_,e,i,e[_]["@containerField"])):this.ConvertObject(_,e,i);else if("number"==typeof e[_])this.elementSetAttribute(i,_.substr(1),e[_]);else if("string"==typeof e[_])if("#comment"!==_)this.elementSetAttribute(i,_.substr(1),this.JSONStringToXML(e[_]));else{var l=document.createComment(this.CommentStringToXML(e[_]));i.appendChild(l)}else"boolean"==typeof e[_]?this.elementSetAttribute(i,_.substr(1),e[_]):void 0===e[_]||(console.error("Unknown type found in object "+typeof e[_]),console.error(e));if(o&&t.startsWith("@"))if(s){for(var d in r)r[d]=this.SFStringToXML(r[d]);this.elementSetAttribute(i,t.substr(1),'"'+r.join('" "')+'"')}else this.elementSetAttribute(i,t.substr(1),r.join(" "));return i},x3dom.PROTOS=function(){this.protos={},this.names={},this.protoField={},this.scriptField={},this.interfaceField={},this.envField={},this.scopecount=0,this.privatescope=[],this.defs={},this.founddef=null,this.SFNodes={"-appearance":1,"-body":1,"-child":1,"-collidable":1,"-collider":1,"-color":1,"-composableRenderStyle":1,"-coord":1,"-emitter":1,"-fillProperties":1,"-fogCoord":1,"-fontStyle":1,"-geometry":1,"-geoOrigin":1,"-layout":1,"-lineProperties":1,"-massDensityModel":1,"-material":1,"-metadata":1,"-normal":1,"-nurbsCurve":1,"-nurbsCurve2D":1,"-pickingGeometry":1,"-renderStyle":1,"-shape":1,"-source":1,"-texCoord":1,"-texCoordNurbs":1,"-texCoordRamp":1,"-texture":1,"-texture2D":1,"-texture2DMulti":1,"-texture3D":1,"-textureProperties":1,"-textureTransform":1,"-transferFunction":1,"-viewport":1}},x3dom.PROTOS.prototype={flattenerArray:function(e,t){var i=[],n=0;for(var _ in e){var r=this.flattener(e[_],i,e.length);if(Array.isArray(r)){for(var o in r)i[parseInt(_)+n+parseInt(o)]=r[o];n+=r.length-1}else i[parseInt(_)+n]=r}return i},flattenerObject:function(e,t,i){var n={};for(var _ in e){var r=this.flattener(e[_],t,i);if(Array.isArray(r))if(this.SFNodes[_]){if(n[_]=r[0],r.length>1){t[i]={Switch:{"@whichChoice":-1,"-children":[{Group:{"-children":[]}}]}};for(var o=1;o<r.length;o++)t[i].Switch["-children"][0].Group["-children"][o-1]=r[o]}}else n[_]=r;else this.SFNodes[_]&&"object"==typeof r&&r["#comment"]?n["-children"]?(n[_]={},n["-children"].push(r)):(n[_]={},n["-children"]=[r]):n[_]=r}return n},flattener:function(e,t,i){if("object"==typeof e){if(Array.isArray(e))var n=this.flattenerArray(e,t);else n=this.flattenerObject(e,t,i);return n}return e},pushScope:function(e){this.privatescope.push(e)},popScope:function(){this.privatescope.pop()},saveDef:function(e){return this.defs[e]=this.getScope(),this.getScope(e)},getDef:function(e){return this.defs[e]},getField:function(e,t){return e+"_"+t},getScope:function(e){var t,i=(t=e?this.defs[e]?this.defs[e]+"_"+e:e:this.privatescope.join("_")).lastIndexOf("DECL");return i>0&&(t=t.substring(i)),t},scopeLength:function(){return this.privatescope.length},upScope:function(e){return this.privatescope.slice(0,this.privatescope.length-e).join("_")},setValueFromInterface:function(e,t,i){var n=this.getInterface(e),_="@";if(void 0!==n&&void 0!==n[0]&&(_=n[0].substr(0,1)),"@"===_&&"children"===i&&(_="-"),"-"===_&&"value"===i&&(_="@"),i=_+i,void 0!==n&&void 0!==n[1]&&void 0!==n[0]&&void 0!==n[1][n[0]]){var r=n[1][n[0]];return Array.isArray(r)&&"SFNode"===n[1]["@type"]&&"-children"!==i&&(console.error("SFNode is array, reducing",r),r=r[0]),Array.isArray(r)||"-children"!==i||(i="@value"),t[i]=r,[n[1]["@type"],n[2]]}},getObjectField:function(e,t){var i="value";for(var n in 1===t.indexOf("FNode")&&(i="children"),e)"@value"!==n&&"-children"!==n||(i=n.substr(1));return i},findFieldByName:function(e,t){for(var i in e){var n=e[i];if(n["@name"]===t)return n}throw"Can't find "+t},getScriptFieldFieldTypeFieldByNameAttribute:function(e,t){var i=this.findFieldByName(e,t),n=i["@name"],_=i["@type"];return[i,n,_,t=this.getObjectField(i,_)]},getScriptFieldFieldTypeField:function(e,t){var i=e[t],n=i["@name"],_=i["@type"];return[i,n,_,this.getObjectField(i,_)]},setScriptFields:function(e,t){var i=this.getScope();for(var n in e){var _=this.getScriptFieldFieldTypeField(e,n),r=_[0],o=_[1],s=_[2],a=_[3],p=this.setValueFromInterface(o,r,a);this.setScriptField(i,o,r,a,s,t),void 0!==p&&this.setScriptField(p[1],o,r,a,s,t)}},setScriptField:function(e,t,i,n,_,r){void 0===this.scriptField[this.getField(e,t)]&&(this.scriptField[this.getField(e,t)]=[]),this.scriptField[this.getField(e,t)][this.scriptField[this.getField(e,t)].length]=[i,n,_,r]},setEnv:function(e,t,i,n,_,r){var o=this.getInterface(t);void 0!==o&&(e=o[2]),void 0===this.envField[this.getField(e,t)]&&(this.envField[this.getField(e,t)]=[]),this.envField[this.getField(e,t)][this.envField[this.getField(e,t)].length]=[i,n,_,r]},getEnv:function(e,t){return this.envField[this.getField(e,t)]},setConnectField:function(e,t,i,n,_,r){void 0===this.protoField[this.getField(e,t)]&&(this.protoField[this.getField(e,t)]=[]),this.protoField[this.getField(e,t)][this.protoField[this.getField(e,t)].length]=[i,n,_,r]},setConnectFields:function(e,t,i){var n=e["@DEF"],_=this.saveDef(n),r=e[t].connect,o=this.getScope();for(var s in r){var a=r[s];if(a){var p=this.getScope(a["@protoField"]),l=a["@nodeField"],d=this.setValueFromInterface(p,i,l),c=void 0;void 0!==d?(c=d[0],this.setEnv(o,p,i,l,c,_),this.setConnectField(o,p,i,l,c,_),this.setConnectField(d[1],p,i,l,c,_)):(this.setEnv(o,p,i,l,c,_),this.setConnectField(o,p,i,l,c,_))}}},setScriptConnectFields:function(e,t,i,n){var _=t[i].connect,r=this.getScope(),o=t["@DEF"];n.field=this.realPrototypeExpander(e,t.field,!0);n["@DEF"];for(var s in _){var a=_[s];if(a){var p=this.getScope(a["@protoField"]),l=a["@nodeField"],d=this.getScriptFieldFieldTypeFieldByNameAttribute(n.field,l);a=d[0];d[1];var c=d[2];l=d[3];var b=this.setValueFromInterface(p,a,l);void 0!==b?(c=b[0],this.setScriptField(r,p,a,l,c,o),this.setScriptField(b[1],p,a,l,c,o)):this.setScriptField(r,p,a,l,c,o)}}},getInterface:function(e){for(var t=0;t<this.scopeLength();t++){var i=this.upScope(t);if(!i)break;var n=this.interfaceField[this.getField(i,e)];if(n)return n}},setInterface:function(e,t){var i=this.getScope();this.interfaceField[this.getField(i,e["@name"])]=[t,e,i]},clearScope:function(e,t){var i=this.getScope();delete this.scriptField[this.getField(i,e)],delete this.protoField[this.getField(i,e)],this.zap(e,t)},extractConnectedDef:function(e,t){var i;for(var n in this.scriptField[this.getField(e,t)])if(void 0===i){var _=this.scriptField[this.getField(e,t)][n];if(void 0!==_&&void 0!==_[3]){var r=this.getField(e,_[3]);-1==r.indexOf("DECL",1)&&(i=[r,_[0]["@name"]])}}if(void 0===i)for(var o in this.protoField[this.getField(e,t)]){var s=this.protoField[this.getField(e,t)][o];void 0!==s&&(i=[s[3],s[1]])}if(void 0===i)for(var a in this.protoField[this.getField(e,"__DEF_FIELD__")]){var p=this.protoField[this.getField(e,"__DEF_FIELD__")][a];void 0!==p&&(i=[p[3],t])}return void 0===i&&(i=[e,t]),i},setObjectValues:function(e,t,i,n){var _=!1;for(var r in this.protoField[this.getField(e,t)]){var o=this.protoField[this.getField(e,t)][r];void 0!==o&&(this.setObjectValue(e,t,o,i,n),_=!0)}for(var s in this.scriptField[this.getField(e,t)]){var a=this.scriptField[this.getField(e,t)][s];void 0!==a&&(this.setObjectValue(e,t,a,i,n),_=!0)}if(!_)for(var p=0;p<this.scopeLength();p++){var l=this.upScope(p);if(!l)break;var d=this.getEnv(l,t);for(var c in d){var b=d[c];void 0!==b&&b[3].indexOf(l)===b[3].lastIndexOf(l)&&this.setObjectValue(l,b[1],b,i,n)}}},setObjectValue:function(e,t,i,n,_){Array.isArray(_)&&void 0!==i[2]&&("SFNode"===i[2]?_=_[0]:i[2]);var r=i[1].substr(0,1);"@"===(r="-"!==r&&"@"!==r?n.substr(0,1):"")&&"children"===i[1]&&(r="-"),"-"===r&&"value"===i[1]&&(r="@"),Array.isArray(_)||"children"!==i[1]||(_=[_]),i[0][r+i[1]]=_},zap:function(e,t){var i;if("object"==typeof t)for(i in t)if("is"===i.toLowerCase()){var n=t[i].connect;for(var _ in n){var r=n[_];r&&r["@protoField"]===e&&delete n[_]}}else this.zap(e,t[i]);return t},zapIs:function(e){var t;if("object"==typeof e)for(t in e)"is"===t.toLowerCase()?delete e[t]:this.zapIs(e[t]);return e},prototypeExpander:function(e,t){return t},readCode:function(e,t,i,n,_,r){void 0!==e&&(r[_]["#sourceText"]=e.split(/\r?\n/),delete r[_]["@url"])},handleScript:function(e,t,i,n){n[i]=this.realPrototypeExpander(e,t[i],!0),this.setScriptFields(n[i].field,n[i]["@DEF"]);var _=n[i]["@url"];this.loadURLs(e,_,this.readCode,null,(function(){}),i,n)},handleProtoDeclare:function(e,t,i){var n=t[i]["@name"],_=t[i]["@DEF"];return this.protos[n]=t[i],this.saveDef(_),void 0!==t[i]["@appinfo"]&&(this.protos[n]["@appinfo"]=t[i]["@appinfo"]),void 0!==t[i]["@documentation"]&&(this.protos[n]["@documentation"]=t[i]["@documentation"]),this.pushScope("DECL"+n),this.names[_]=n,this.realPrototypeExpander(e,t[i],!1),this.popScope(),t},handleProtoInterface:function(e,t,i){var n=t[i].field;for(var _ in n){var r=n[_];void 0!==r["@value"]?this.setInterface(r,"@value"):void 0!==r["-children"]?this.setInterface(r,"-children"):this.setInterface(r)}return t},handleProtoInstance:function(e,t,i){var n=t[i]["@name"],_=t[i]["@DEF"],r=t[i]["@USE"];this.names[_]=n,void 0===n&&void 0!==r&&(n=this.names[r]),this.pushScope("DECL"+n);var o,s={};if(void 0===_&&void 0===r&&(_="INSTANCE"),this.getDef(_)&&void 0===r&&(this.scopecount+=1e3,_+=""+this.scopecount),void 0!==_){this.saveDef(_);this.pushScope(_)}if(void 0===this.protos[n]||void 0===this.protos[n].ProtoBody)console.error("ProtoBody undefined for",n);else{var a=this.protos[n].ProtoBody["-children"];for(var p in a){var l=a[p];for(var d in l)if(void 0===o&&(o=l[d]["@DEF"],void 0!==r)){this.saveDef(r);this.pushScope(r)}}s=JSON.parse(JSON.stringify(a))}for(var c=s;Array.isArray(c)&&null!==c[0]&&void 0!==c[0];)c=c[0];if(void 0!==r&&"object"==typeof c){(b={})[d]={},b[d]["@USE"]=this.getScope(),void 0!==o&&this.popScope()}else{var b=this.realPrototypeExpander(e,s,!1),u=t[i].fieldValue;for(var m in u){var h=u[m],f=h["@name"],g="@value",C=h[g];for(var S in h)"@name"!==S&&(C=h[g=S],this.pushScope("FIELD"+f),"object"==typeof c&&void 0!==c[d]&&(c[d]["@DEF"]=this.getScope()),C=this.realPrototypeExpander(e,C,!1),this.popScope(),this.getInterface(f),this.setObjectValues(this.getScope(),f,g,C))}}return void 0!==r&&this.popScope(),void 0!==_&&this.popScope(),this.popScope(),b},realPrototypeExpander:function(e,t,i){if("object"==typeof t){var n=null;for(var _ in n=Array.isArray(t)?[]:{},t){var r=_.toLowerCase();if("script"===r)this.handleScript(e,t,_,n);else if("protodeclare"===r)this.handleProtoDeclare(e,t,_);else if("protointerface"===r)this.handleProtoInterface(e,t,_);else if("protobody"===r)this.realPrototypeExpander(e,t[_],i);else if("protoinstance"===r)n=this.handleProtoInstance(e,t,_);else if("connect"===r)this.realPrototypeExpander(e,t[_],i);else if("fieldvalue"===r)this.realPrototypeExpander(e,t[_],i);else if("field"===r)n[_]=this.realPrototypeExpander(e,t[_],i);else if("@value"===r)n[_]=this.realPrototypeExpander(e,t[_],i);else if("-children"===r)n[_]=this.realPrototypeExpander(e,t[_],i);else if("is"===r)i?this.setScriptConnectFields(e,t,_,n):this.setConnectFields(t,_,n),this.realPrototypeExpander(e,t[_],i);else if("route"===r){n[_]={};var o=this.extractConnectedDef(this.getScope(t[_]["@fromNode"]),t[_]["@fromField"]);n[_]["@fromNode"]=o[0],n[_]["@fromField"]=o[1];var s=this.extractConnectedDef(this.getScope(t[_]["@toNode"]),t[_]["@toField"]);n[_]["@toNode"]=s[0],n[_]["@toField"]=s[1]}else"@name"===r?n[_]=t[_]:"@def"===r?(n[_]=this.saveDef(t[_]),this.setConnectField(this.getScope(),"__DEF_FIELD__",n,t[_],"SFString",n[_])):n[_]="@use"===r?this.getScope(t[_]):this.realPrototypeExpander(e,t[_],i)}return n}return t},searchForProtoDeclare:function(e,t){var i,n;if("object"==typeof e)for(i in e)"ProtoDeclare"===i&&(e[i]["@name"]===t&&(n=e),void 0===n&&null===this.founddef&&(this.founddef=e)),void 0===n&&(n=this.searchForProtoDeclare(e[i],t));return n},searchAndReplaceProto:function(e,t,i,n,_,r){var o=this.searchForProtoDeclare(t,i);if(void 0===o&&(o=n),null===o||void 0===o.ProtoDeclare)console.error("ProtoDeclare is still null or undefined",e,i,JSON.stringify(t));else{var s=_["@name"],a=_["@appinfo"],p=_["@description"];o.ProtoDeclare["@name"]=s,o.ProtoDeclare["@appinfo"]=a,o.ProtoDeclare["@description"]=p}r(o)},loadedProto:function(e,t,i,n,_,r){if(void 0!==e)try{this.founddef=null;var o={};try{o=JSON.parse(e),_.searchAndReplaceProto(n,o,t,_.founddef,i,r)}catch(o){if("function"==typeof DOM2JSONSerializer)try{var s=(new DOM2JSONSerializer).serializeToString(null,e.firstElementChild,n,mapToMethod,fieldTypes);_.searchAndReplaceProto(n,JSON.parse(s),t,_.founddef,i,r)}catch(e){"function"==typeof alert&&alert(e),console.error("Convert failed",e)}else console.error("Did not convert XML to JSON. Oops!")}}catch(e){console.error("Failed to parse JSON in ",n,e)}else console.error("data is undefined for file",n)},doLoad:function(e,t,i,n,_,r){var o=r["@name"],s=t.indexOf("#"),a=o;s>=0&&(a=t.substring(s+1));try{i.loadedProto(e,a,r,t,i,(function(e){n(_,e,i)}))}catch(e){console.error("Error searching for proto",e)}},processURLs:function(e,t){var i;for(i in e){if(0===e[i].indexOf("http://")||0===e[i].indexOf("https://"));else if(0===e[i].indexOf("urn:web3d:media:textures/panoramas/")){var n=e[i].lastIndexOf("/");n>0&&(e[i]="examples/Basic/UniversalMediaPanoramas/"+e[i].substring(n+1))}else{var _=e[i].indexOf("#"),r=t.lastIndexOf("/"),o=t;for(r>=0&&(o=t.substring(0,r));e[i].startsWith("../");){e[i]=e[i].substr(3);r=o.lastIndexOf("/");o=r>=0?o.substring(0,r):""}e[i]=0==_?t+e[i]:o+"/"+e[i]}var s=e[i].lastIndexOf("#"),a="";s>=0&&(a=e[i].substring(s),e[i]=e[i].substring(0,s));var p=e[i].lastIndexOf(".wrl");p===e[i].length-4&&(e[i]=e[i].substring(0,p)+".json"+a);var l=e[i].lastIndexOf(".wrz");l===e[i].length-4&&(e[i]=e[i].substring(0,l)+".json"+a)}return e},loadURLs:function(e,t,i,n,_,r,o){if(void 0!==t)for(var s in t=this.processURLs(t,e))try{!function(t){var s=t.indexOf("://"),a="file",p="localhost",l="/"+e;if(s>0){a=t.substring(0,s);var d=t.indexOf("/",s+3);p=t.substring(s+3,d),l=t.substring(d)}if("http"===a){if("undefined"!=typeof http)http.get({host:p,path:l},(function(e){var s="";e.on("data",(function(e){s+=e})),e.on("end",(function(){i(s,t,n,_,r,o)}))}));else if((b=new XMLHttpRequest).open("GET",t,!1),b.send(null),200===b.status){var c=b.responseText;i(c,t,n,_,r,o)}}else if("https"===a){if("undefined"!=typeof https)https.get({host:p,path:l},(function(e){var s="";e.on("data",(function(e){s+=e})),e.on("end",(function(){i(s,t,n,_,r,o)}))}));else if((b=new XMLHttpRequest).open("GET",t,!1),b.send(null),200===b.status){c=b.responseText;i(c,t,n,_,r,o)}}else if("undefined"==typeof fs||a.startsWith("http")){var b;if((b=new XMLHttpRequest).open("GET",t,!1),b.send(null),200===b.status){c=b.responseText;i(c,t,n,_,r,o)}else console.error("Didn't load",t,". No file system or http request.")}else{var u=t.indexOf("#");u>0&&(t=t.substring(0,u));try{var c=fs.readFileSync(t);i(c.toString(),t,n,_,r,o)}catch(e){var m=t;m.endsWith(".json")&&(m=m.substring(0,m.lastIndexOf("."))+".x3d","function"==typeof runAndSend&&runAndSend(["---silent",m],(function(e){c=JSON.stringify(e),i(c,m,n,_,r,o)})))}}}(t[s])}catch(e){console.error(e)}},load:function(e,t,i,n,_){var r=i[e],o=r["@url"];this.loadURLs(t,o,n.doLoad,n,_,e,r)},externalPrototypeExpander:function(e,t){if("object"==typeof t){var i=null;for(var n in i=Array.isArray(t)?[]:{},t)"ExternProtoDeclare"===n?this.load(n,e,t,this,(function(t,n,_){null!=n&&void 0!==n&&(i.ProtoDeclare=_.externalPrototypeExpander(e,n).ProtoDeclare)})):i[n]=this.externalPrototypeExpander(e,t[n]);for(var _=Object.keys(t).length;_>Object.keys(i).length+1;);return setTimeout((function(){}),50),i}return t}},x3dom.protoExpander=new x3dom.PROTOS,x3dom.ProtoDeclaration=function(e,t,i,n,_,r){this._nameSpace=e,this.name=t,this._protoBody=i||null,this.fields=n||[],this.isExternProto=_||!1,this.url=r||[],this.needsLoading=!0,this.instanceQueue=[]},x3dom.ProtoDeclaration.prototype.registerNode=function(){var e=this;x3dom.registerNodeType(e.name,"Core",defineClass(x3dom.nodeTypes.X3DNode,(function(t){x3dom.nodeTypes[e.name].superClass.call(this,t),this._cf_hash={},e.fields.forEach((function(i){if(i.dataType.endsWith("ode")){t&&t.xmlNode&&0==t.xmlNode.querySelectorAll("[containerField='"+i.name+"']").length&&i.cfValue.forEach((function(e){t.xmlNode.appendChild(e.cloneNode(!0))}));var n=x3dom.nodeTypes.X3DNode,_=e._protoBody._ISRoutes;if(i.name in _){var r=_[i.name][0],o=r.nodeField,s=e._protoBody.querySelector("[DEF="+r.nodeDEF+"]"),a=s.localName.toLowerCase();if(a in x3dom.nodeTypesLC){var p={doc:t.doc,runtime:t.runtime,xmlNode:s.cloneNode(!0),nameSpace:t.nameSpace},l=new x3dom.nodeTypesLC[a](p);o in l._cf&&(n=l._cf[o].type)}}else x3dom.debug.logWarning(e.name+" Proto: field without IS connection - "+i.name);this["addField_"+i.dataType](i.name,n),this._cf_hash[i.name]="trigger"}else t&&t.xmlNode&&!t.xmlNode.hasAttribute(i.name)&&i.value&&t.xmlNode.setAttribute(i.name,i.value),this["addField_"+i.dataType](t,i.name,i.value)}),this);var i="protoNS";t.xmlNode.hasAttribute("DEF")&&(i=t.xmlNode.getAttribute("DEF")+"NS"),this.innerNameSpace=new x3dom.NodeNameSpace(i,t.doc),this.innerNameSpace.setBaseURL(t.nameSpace.baseURL+e.name),e._nameSpace.addSpace(this.innerNameSpace),e._nameSpace.protos.forEach((function(e){this.innerNameSpace.protos.push(e)}),this),this.nodes=[],this.protoBodyClone=e._protoBody.cloneNode(!0),this.declaration=e,this.isProtoInstance=!0,this._changing=!1,this._externTries=0,this._maxTries=5}),{nodeChanged:function(e){if(!this._changing){this._changing=!0;var t=this.protoBodyClone;t.querySelectorAll(":scope > *").forEach((function(e){var i=e.localName.toLowerCase();"protodeclare"==i?this.innerNameSpace.protoDeclare(e):"externprotodeclare"==i?this.innerNameSpace.externProtoDeclare(e):"protoinstance"==i&&this.innerNameSpace.protoInstance(e,t)}),this);var i,n=this.protoBodyClone.childNodes;for(i=0;i<n.length;i++){var _=this.innerNameSpace.setupTree.call(this.innerNameSpace,n[i],this);null!=_&&this.nodes.push(_)}this.typeNode=this.nodes[0],this.helperNodes=this.nodes.slice(1);var r,o=this._xmlNode.attributes;for(i=0;i<o.length;i++)(r=o[i]).name.startsWith("on")&&this.typeNode._xmlNode.setAttribute(r.name,r.value);for(var s in this._vf)this.fieldChanged(s);for(s in this._cf){"nodes"in this._cf[s]&&this._cf_hash[s]===this._get_cf_hash(s)&&s!=e||this.fieldChanged(s)}for(s in this._vf){s in this.declaration._protoBody._ISRoutes&&this._setupFieldWatchers(s)}for(s in this._changing=!1,this._cf)"nodes"in this._cf[s]&&(this._cf_hash[s]=this._get_cf_hash(s))}},fieldChanged:function(e){try{var t=this.declaration._protoBody._ISRoutes;if(!(e in t))return;t[e].forEach((function(t){var i=this.innerNameSpace.defMap[t.nodeDEF];if(null!=i){this._externTries=0;var n=this._normalizeName(t.nodeField,i);if(e in this._vf)i._vf[n]=this._vf[e],i.fieldChanged(n);else if(e in this._cf){i._cf[n]=this._cf[e];var _=[];if("MFNode"==i._cfFieldTypes[n]?_=this._cf[e].nodes:"SFNode"==i._cfFieldTypes[n]&&this._cf[e].node?_=[this._cf[e].node]:x3dom.debug.logWarning("Unexpected field type: "+i._cfFieldTypes[n]),i._childNodes.forEach((function(e){i.removeChild(e,n,"force")})),_.forEach((function(e){i.addChild(e,n)})),"MFNode"==i._cfFieldTypes[n])for(var r=0;r<_.length;r++)for(var o=_[r],s=_.length-1;s>r;s--)o==_[s]&&_.splice(s,1);i.nodeChanged(n)}}else{if("protoinstance"==this.protoBodyClone.querySelector("[DEF="+t.nodeDEF+"]").tagName.toLowerCase()&&this._externTries++<this._maxTries){x3dom.debug.logWarning(" ExternProto instance attempt: "+this._externTries);setTimeout(this.fieldChanged.bind(this),1e3,e)}}}),this)}catch(e){x3dom.debug.logWarning("Proto warning: "+e)}},_normalizeName:function(e,t){return e in t._vf?e:e.replace(/^set_/,"").replace(/_changed$/,"")},_setupFieldWatchers:function(e){this.declaration._protoBody._ISRoutes[e].forEach((function(t){var i=this.innerNameSpace.defMap[t.nodeDEF];if(null!=i){var n=this._normalizeName(t.nodeField,i);i._fieldWatchers[n]||(i._fieldWatchers[n]=[]);var _=this.postMessage.bind(this,e),r=i._fieldWatchers[n];r.push(_);var o=r.length-1;this._fieldWatchers[e]||(this._fieldWatchers[e]=[]);var s=function(e){r.splice(o,1),i.postMessage(n,e),r.push(_),o=r.length-1}.bind(i);this._fieldWatchers[e].push(s)}else{if("protoinstance"==this.protoBodyClone.querySelector("[DEF="+t.nodeDEF+"]").tagName.toLowerCase()&&this._externTries++<this._maxTries){x3dom.debug.logWarning(" retrying ExternProto: "+this._externTries);setTimeout(this._setupFieldWatchers.bind(this),1e3,e)}}}),this)},_get_cf_hash:function(e){return this._cf[e].nodes.length}}))},x3dom.shader={},x3dom.shader.PICKING="picking",x3dom.shader.PICKING_24="picking24",x3dom.shader.PICKING_ID="pickingId",x3dom.shader.PICKING_COLOR="pickingColor",x3dom.shader.PICKING_TEXCOORD="pickingTexCoord",x3dom.shader.FRONTGROUND_TEXTURE="frontgroundTexture",x3dom.shader.BACKGROUND_TEXTURE="backgroundTexture",x3dom.shader.BACKGROUND_SKYTEXTURE="backgroundSkyTexture",x3dom.shader.BACKGROUND_CUBETEXTURE="backgroundCubeTexture",x3dom.shader.BACKGROUND_CUBETEXTURE_DDS="backgroundCubeTextureDDS",x3dom.shader.BLUR="blur",x3dom.shader.DEPTH="depth",x3dom.shader.NORMAL="normal",x3dom.shader.TEXTURE_REFINEMENT="textureRefinement",x3dom.shader.SSAO="ssao",x3dom.shader.material=function(){return"uniform vec3 diffuseColor;\nuniform vec3 specularColor;\nuniform vec3 emissiveColor;\nuniform float shininess;\nuniform float transparency;\nuniform float ambientIntensity;\n"},x3dom.shader.physicalMaterial=function(){return"uniform vec3 baseColorFacor;\nuniform vec3 emissiveFactor;\nuniform float metallicFactor;\nuniform float roughnessFactor;\n"},x3dom.shader.twoSidedMaterial=function(){return"uniform vec3 backDiffuseColor;\nuniform vec3 backSpecularColor;\nuniform vec3 backEmissiveColor;\nuniform float backShininess;\nuniform float backTransparency;\nuniform float backAmbientIntensity;\n"},x3dom.shader.fog=function(){return"uniform vec3 fogColor;\nuniform float fogType;\nuniform float fogRange;\nvarying vec3 fragEyePosition;\nfloat calcFog(in vec3 eye) {\n float f0 = 0.0;\n if(fogType == 0.0) {\n if(length(eye) < fogRange){\n f0 = (fogRange-length(eye)) / fogRange;\n }\n }else{\n if(length(eye) < fogRange){\n f0 = exp(-length(eye) / (fogRange-length(eye) ) );\n }\n }\n f0 = clamp(f0, 0.0, 1.0);\n return f0;\n}\n"},x3dom.shader.clipPlanes=function(e){var t,i="";for(t=0;t<e;t++)i+="uniform vec4 clipPlane"+t+"_Plane;\n",i+="uniform float clipPlane"+t+"_CappingStrength;\n",i+="uniform vec3 clipPlane"+t+"_CappingColor;\n";for(i+="vec3 calculateClipPlanes() {\n",t=0;t<e;t++)i+="vec4 clipPlane"+t+";\n",i+="if(fragEyeIdx == 1.0){\n",i+=" clipPlane"+t+" = clipPlane"+t+"_Plane * viewMatrixInverse2;\n",i+="}else{\n",i+=" clipPlane"+t+" = clipPlane"+t+"_Plane * viewMatrixInverse;\n",i+="}\n",i+="float dist"+t+" = dot(fragPosition, clipPlane"+t+");\n";for(i+=" if( ",t=0;t<e;t++)0!=t&&(i+=" || "),i+="dist"+t+" < 0.0";for(i+=" ) ",i+="{ discard; }\n",t=0;t<e;t++)i+=" if( abs(dist"+t+") < clipPlane"+t+"_CappingStrength ) ",i+="{ return clipPlane"+t+"_CappingColor; }\n";return i+=" return vec3(-1.0, -1.0, -1.0);\n",i+="}\n"},x3dom.shader.gammaCorrectionDecl=function(e){var t="";return"none"===e.GAMMACORRECTION||("fastlinear"===e.GAMMACORRECTION?(t+="vec4 gammaEncode(vec4 color){\n vec4 tmp = sqrt(color);\n return vec4(tmp.rgb, color.a);\n}\n",t+="vec4 gammaDecode(vec4 color){\n vec4 tmp = color * color;\n return vec4(tmp.rgb, color.a);\n}\n",t+="vec3 gammaEncode(vec3 color){\n return sqrt(color);\n}\n",t+="vec3 gammaDecode(vec3 color){\n return (color * color);\n}\n"):(t+="const vec4 gammaEncode4Vector = vec4(0.4545454545454545, 0.4545454545454545, 0.4545454545454545, 1.0);\n",t+="const vec4 gammaDecode4Vector = vec4(2.2, 2.2, 2.2, 1.0);\n",t+="vec4 gammaEncode(vec4 color){\n return pow(abs(color), gammaEncode4Vector);\n}\n",t+="vec4 gammaDecode(vec4 color){\n return pow(abs(color), gammaDecode4Vector);\n}\n",t+="const vec3 gammaEncode3Vector = vec3(0.4545454545454545, 0.4545454545454545, 0.4545454545454545);\n",t+="const vec3 gammaDecode3Vector = vec3(2.2, 2.2, 2.2);\n",t+="vec3 gammaEncode(vec3 color){\n return pow(abs(color), gammaEncode3Vector);\n}\n",t+="vec3 gammaDecode(vec3 color){\n return pow(abs(color), gammaDecode3Vector);\n}\n")),t},x3dom.shader.encodeGamma=function(e,t){return"none"===e.GAMMACORRECTION?t:"gammaEncode ("+t+")"};x3dom.shader.decodeGamma=function(e,t){return"none"===e.GAMMACORRECTION?t:"gammaDecode ("+t+")"},x3dom.shader.rgbaPacking=function(){return"vec4 packDepth(float depth){\n depth = (depth + 1.0)*0.5;\n vec4 outVal = vec4(1.0, 255.0, 65025.0, 160581375.0) * depth;\n outVal = fract(outVal);\n outVal -= outVal.yzww * vec4(1.0/255.0, 1.0/255.0, 1.0/255.0, 0.0);\n return outVal;\n}\n","float unpackDepth(vec4 color){\n float depth = dot(color, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0));\n return (2.0*depth - 1.0);\n}\n","vec4 packDepth(float depth){\n depth = (depth + 1.0)*0.5;\n vec4 outVal = vec4(1.0, 255.0, 65025.0, 160581375.0) * depth;\n outVal = fract(outVal);\n outVal -= outVal.yzww * vec4(1.0/255.0, 1.0/255.0, 1.0/255.0, 0.0);\n return outVal;\n}\nfloat unpackDepth(vec4 color){\n float depth = dot(color, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0));\n return (2.0*depth - 1.0);\n}\n"},x3dom.shader.calcMipLevel=function(){return"vec2 dirToCubeUV( vec3 dir ) {\n vec2 uv = vec2(0.0);\n vec3 absDir = abs(dir);\n if( absDir.x >= absDir.y && absDir.x >= absDir.z) {\n if(dir.x < 0.0) {\n uv.x = 1.0 - (((dir.z/absDir.x) + 1.0) * 0.5);\n uv.y = 1.0 - (((-dir.y/absDir.x) + 1.0) * 0.5);\n } else {\n uv.x = 1.0 - (((-dir.z/absDir.x) + 1.0) * 0.5);\n uv.y = 1.0 - (((-dir.y/absDir.x) + 1.0) * 0.5);\n }\n } else if( absDir.y >= absDir.x && absDir.y >= absDir.z) {\n if(dir.y < 0.0) {\n uv.x = ((dir.x/absDir.y) + 1.0) * 0.5;\n uv.y = ((-dir.z/absDir.y) + 1.0) * 0.5;\n } else {\n uv.x = ((dir.x/absDir.y) + 1.0) * 0.5;\n uv.y = ((dir.z/absDir.y) + 1.0) * 0.5;\nif(uv.y == 0.0) { uv.x = 1.0; uv.y = 0.0; }\n }\n } else if( absDir.z >= absDir.x && absDir.z >= absDir.y) {\n if(dir.z < 0.0) {\n uv.x = (((-dir.x/absDir.z) + 1.0) * 0.5);\n uv.y = 1.0 - (((-dir.y/absDir.z) + 1.0) * 0.5);\n } else {\n uv.x = ((dir.x/absDir.z) + 1.0) * 0.5;\n uv.y = 1.0 - (((-dir.y/absDir.z) + 1.0) * 0.5);\n }\n }\n float a = pow(64.0,2.0) / pow(64.0,3.0);\n uv.x = a * pow(uv.x, 3.0) + uv.x;\n uv.y = a * pow(uv.y, 3.0) + uv.y;\n return uv;\n}\n","float calcMipLevel( vec2 uv ) {\n vec2 dx_vtc = dFdx(uv) * 64.0;\n vec2 dy_vtc = dFdy(uv) * 64.0;\n float delta_max_sqr = max(dot(dx_vtc, dx_vtc), dot(dy_vtc, dy_vtc));\n return 0.5 * log2(delta_max_sqr);\n}\n","vec3 fixSeams(vec3 vec, float mipmapIndex) {\n float scale = 1.0 - exp2(mipmapIndex) / 64.0;\n float M = max(max(abs(vec.x), abs(vec.y)), abs(vec.z));\n if (abs(vec.x) != M) vec.x *= scale;\n if (abs(vec.y) != M) vec.y *= scale;\n if (abs(vec.z) != M) vec.z *= scale;\n return vec;\n}","vec2 dirToCubeUV( vec3 dir ) {\n vec2 uv = vec2(0.0);\n vec3 absDir = abs(dir);\n if( absDir.x >= absDir.y && absDir.x >= absDir.z) {\n if(dir.x < 0.0) {\n uv.x = 1.0 - (((dir.z/absDir.x) + 1.0) * 0.5);\n uv.y = 1.0 - (((-dir.y/absDir.x) + 1.0) * 0.5);\n } else {\n uv.x = 1.0 - (((-dir.z/absDir.x) + 1.0) * 0.5);\n uv.y = 1.0 - (((-dir.y/absDir.x) + 1.0) * 0.5);\n }\n } else if( absDir.y >= absDir.x && absDir.y >= absDir.z) {\n if(dir.y < 0.0) {\n uv.x = ((dir.x/absDir.y) + 1.0) * 0.5;\n uv.y = ((-dir.z/absDir.y) + 1.0) * 0.5;\n } else {\n uv.x = ((dir.x/absDir.y) + 1.0) * 0.5;\n uv.y = ((dir.z/absDir.y) + 1.0) * 0.5;\nif(uv.y == 0.0) { uv.x = 1.0; uv.y = 0.0; }\n }\n } else if( absDir.z >= absDir.x && absDir.z >= absDir.y) {\n if(dir.z < 0.0) {\n uv.x = (((-dir.x/absDir.z) + 1.0) * 0.5);\n uv.y = 1.0 - (((-dir.y/absDir.z) + 1.0) * 0.5);\n } else {\n uv.x = ((dir.x/absDir.z) + 1.0) * 0.5;\n uv.y = 1.0 - (((-dir.y/absDir.z) + 1.0) * 0.5);\n }\n }\n float a = pow(64.0,2.0) / pow(64.0,3.0);\n uv.x = a * pow(uv.x, 3.0) + uv.x;\n uv.y = a * pow(uv.y, 3.0) + uv.y;\n return uv;\n}\nfloat calcMipLevel( vec2 uv ) {\n vec2 dx_vtc = dFdx(uv) * 64.0;\n vec2 dy_vtc = dFdy(uv) * 64.0;\n float delta_max_sqr = max(dot(dx_vtc, dx_vtc), dot(dy_vtc, dy_vtc));\n return 0.5 * log2(delta_max_sqr);\n}\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n float scale = 1.0 - exp2(mipmapIndex) / 64.0;\n float M = max(max(abs(vec.x), abs(vec.y)), abs(vec.z));\n if (abs(vec.x) != M) vec.x *= scale;\n if (abs(vec.y) != M) vec.y *= scale;\n if (abs(vec.z) != M) vec.z *= scale;\n return vec;\n}"},x3dom.shader.shadowRendering=function(){var e="";return e+="float getLightInfluence(float lType, float lShadowIntensity, float lOn, vec3 lLocation, vec3 lDirection, float lCutOffAngle, float lBeamWidth, vec3 lAttenuation, float lRadius, vec3 eyeCoords) {\n if (lOn == 0.0 || lShadowIntensity == 0.0){ return 0.0;\n } else if (lType == 0.0) {\n return 1.0;\n } else {\n float attenuation = 0.0;\n vec3 lightVec = (lLocation - (eyeCoords));\n float distance = length(lightVec);\n lightVec = normalize(lightVec);\n eyeCoords = normalize(-eyeCoords);\n if(lRadius == 0.0 || distance <= lRadius) {\n attenuation = 1.0 / max(lAttenuation.x + lAttenuation.y * distance + lAttenuation.z * (distance * distance), 1.0);\n }\n if (lType == 1.0) return attenuation;\n float spotAngle = acos(max(0.0, dot(-lightVec, normalize(lDirection))));\n if(spotAngle >= lCutOffAngle) return 0.0;\n else if(spotAngle <= lBeamWidth) return attenuation;\n else return attenuation * (spotAngle - lCutOffAngle) / (lBeamWidth - lCutOffAngle);\n }\n}\n",e+="void getShadowValues(inout vec4 shadowMapValues, inout float viewSampleDepth, in mat4 lightMatrix, in vec4 worldCoords, in sampler2D shadowMap){\n vec4 lightSpaceCoords = lightMatrix*worldCoords;\n vec3 lightSpaceCoordsCart = lightSpaceCoords.xyz / lightSpaceCoords.w;\n vec2 textureCoords = (lightSpaceCoordsCart.xy + 1.0)*0.5;\n viewSampleDepth = lightSpaceCoordsCart.z;\n shadowMapValues = texture2D(shadowMap, textureCoords);\n",x3dom.caps.FP_TEXTURES||(e+=" shadowMapValues = vec4(1.0,1.0,unpackDepth(shadowMapValues),1.0);\n"),e+="}\n",e+="void getShadowValuesPointLight(inout vec4 shadowMapValues, inout float viewSampleDepth, in vec3 lLocation, in vec4 worldCoords, in mat4 lightViewMatrix,in mat4 lMatrix_0, in mat4 lMatrix_1, in mat4 lMatrix_2, in mat4 lMatrix_3, in mat4 lMatrix_4, in mat4 lMatrix_5,in sampler2D shadowMap_0, in sampler2D shadowMap_1, in sampler2D shadowMap_2, in sampler2D shadowMap_3,in sampler2D shadowMap_4, in sampler2D shadowMap_5){\n vec4 transformed = lightViewMatrix * worldCoords;\n vec3 lightVec = normalize(transformed.xyz/transformed.w);\n vec3 lightVecAbs = abs(lightVec);\n float maximum = max(max(lightVecAbs.x, lightVecAbs.y),lightVecAbs.z);\n if (lightVecAbs.x == maximum) {\n if (lightVec.x < 0.0) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_3,worldCoords,shadowMap_3);\n else getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_1,worldCoords,shadowMap_1);\n }\n else if (lightVecAbs.y == maximum) {\n if (lightVec.y < 0.0) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_4,worldCoords,shadowMap_4);\n else getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_5,worldCoords,shadowMap_5);\n }\n else if (lightVec.z < 0.0) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_0,worldCoords,shadowMap_0);\n else getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_2,worldCoords,shadowMap_2);\n}\n",e+="void getShadowValuesCascaded(inout vec4 shadowMapValues, inout float viewSampleDepth, in vec4 worldCoords, in float eyeDepth, in mat4 lMatrix_0, in mat4 lMatrix_1, in mat4 lMatrix_2,in mat4 lMatrix_3, in mat4 lMatrix_4, in mat4 lMatrix_5, in sampler2D shadowMap_0, in sampler2D shadowMap_1, in sampler2D shadowMap_2,in sampler2D shadowMap_3, in sampler2D shadowMap_4, in sampler2D shadowMap_5, in float split_0, in float split_1, in float split_2, in float split_3, in float split_4){\n if (eyeDepth < split_0) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_0, worldCoords, shadowMap_0);\n else if (eyeDepth < split_1) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_1, worldCoords, shadowMap_1);\n else if (eyeDepth < split_2) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_2, worldCoords, shadowMap_2);\n else if (eyeDepth < split_3) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_3, worldCoords, shadowMap_3);\n else if (eyeDepth < split_4) getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_4, worldCoords, shadowMap_4);\n else getShadowValues(shadowMapValues, viewSampleDepth, lMatrix_5, worldCoords, shadowMap_5);\n}\n",e+="float ESM(float shadowMapDepth, float viewSampleDepth, float offset){\n",x3dom.caps.FP_TEXTURES?e+=" return shadowMapDepth * exp(-80.0*(1.0-offset)*viewSampleDepth);\n":e+=" return exp(-80.0*(1.0-offset)*(viewSampleDepth - shadowMapDepth));\n",e+="}\n",e+="float VSM(vec2 moments, float viewSampleDepth, float offset){\n viewSampleDepth = (viewSampleDepth + 1.0) * 0.5;\n if (viewSampleDepth <= moments.x) return 1.0;\n float variance = moments.y - moments.x * moments.x;\n variance = max(variance, 0.00002 + offset*0.01);\n float d = viewSampleDepth - moments.x;\n return variance/(variance + d*d);\n}\n"},x3dom.shader.light=function(e){for(var t="",i=0;i<e;i++)t+="uniform float light"+i+"_On;\nuniform float light"+i+"_Type;\nuniform vec3 light"+i+"_Location;\nuniform vec3 light"+i+"_Direction;\nuniform vec3 light"+i+"_Color;\nuniform vec3 light"+i+"_Attenuation;\nuniform float light"+i+"_Radius;\nuniform float light"+i+"_Intensity;\nuniform float light"+i+"_AmbientIntensity;\nuniform float light"+i+"_BeamWidth;\nuniform float light"+i+"_CutOffAngle;\nuniform float light"+i+"_ShadowIntensity;\n";return t+="void lighting(in float lType, in vec3 lLocation, in vec3 lDirection, in vec3 lColor, in vec3 lAttenuation, in float lRadius, in float lIntensity, in float lAmbientIntensity, in float lBeamWidth, in float lCutOffAngle, in vec3 positionVS, in vec3 N, in vec3 V, float shin, float ambIntensity, vec3 reflectivity, inout vec3 ambient, inout vec3 diffuse, inout vec3 specular)\n{\n vec3 L;\n float spot = 1.0, attentuation = 0.0;\n if(lType == 0.0) {\n L = -normalize(lDirection);\n V = normalize(V);\n attentuation = 1.0;\n } else{\n L = (lLocation - (-V));\n float d = length(L);\n L = normalize(L);\n V = normalize(V);\n if(lRadius == 0.0 || d <= lRadius) {\n attentuation = 1.0 / max(lAttenuation.x + lAttenuation.y * d + lAttenuation.z * (d * d), 1.0);\n }\n if(lType == 2.0) {\n float spotAngle = acos(max(0.0, dot(-L, normalize(lDirection))));\n if(spotAngle >= lCutOffAngle) spot = 0.0;\n else if(spotAngle <= lBeamWidth) spot = 1.0;\n else spot = (spotAngle - lCutOffAngle ) / (lBeamWidth - lCutOffAngle);\n }\n }\n vec3 H = normalize( L + V );\n float NdotL = clamp(dot(L, N), 0.0, 1.0);\n float NdotH = clamp(dot(H, N), 0.0, 1.0);\n float ambientFactor = lAmbientIntensity * ambIntensity;\n float diffuseFactor = lIntensity * NdotL;\n float specularFactor = lIntensity * pow(NdotH, shin*128.0);\n ambient += lColor * ambientFactor * attentuation * spot;\n diffuse += lColor * diffuseFactor * attentuation * spot;\n specular += lColor * specularFactor * attentuation * spot;\n}\n"},x3dom.shader.lightPBR=function(e){for(var t="",i=0;i<e;i++)t+="uniform float light"+i+"_On;\nuniform float light"+i+"_Type;\nuniform vec3 light"+i+"_Location;\nuniform vec3 light"+i+"_Direction;\nuniform vec3 light"+i+"_Color;\nuniform vec3 light"+i+"_Attenuation;\nuniform float light"+i+"_Radius;\nuniform float light"+i+"_Intensity;\nuniform float light"+i+"_AmbientIntensity;\nuniform float light"+i+"_BeamWidth;\nuniform float light"+i+"_CutOffAngle;\nuniform float light"+i+"_ShadowIntensity;\n";return t+="void lighting(in float lType, in vec3 lLocation, in vec3 lDirection, in vec3 lColor, in vec3 lAttenuation, in float lRadius, in float lIntensity, in float lAmbientIntensity, in float lBeamWidth, in float lCutOffAngle, in vec3 positionVS, in vec3 N, in vec3 V, float shin, float ambIntensity, vec3 reflectivity, inout vec3 ambient, inout vec3 diffuse, inout vec3 specular)\n{\n vec3 L;\n float spot = 1.0, attentuation = 0.0;\n if(lType == 0.0) {\n L = -normalize(lDirection);\n V = normalize(V);\n attentuation = 1.0;\n } else{\n L = (lLocation - (-V));\n float d = length(L);\n L = normalize(L);\n V = normalize(V);\n if(lRadius == 0.0 || d <= lRadius) {\n attentuation = 1.0 / max(lAttenuation.x + lAttenuation.y * d + lAttenuation.z * (d * d), 1.0);\n }\n if(lType == 2.0) {\n float spotAngle = acos(max(0.0, dot(-L, normalize(lDirection))));\n if(spotAngle >= lCutOffAngle) spot = 0.0;\n else if(spotAngle <= lBeamWidth) spot = 1.0;\n else spot = (spotAngle - lCutOffAngle ) / (lBeamWidth - lCutOffAngle);\n }\n }\n vec3 fresnel = vec3(1.0, 1.0, 1.0);\n vec3 H = normalize( L + V );\n float NoL = clamp( dot( N, L ), 0.0, 1.0 );\n float NoH = clamp( dot( N, H ), 0.0, 1.0 );\n float NoV = clamp( dot( N, V ), 0.0, 1.0 );\n float VoH = clamp( dot( V, H ), 0.0, 1.0 );\n float ambientFactor = lAmbientIntensity * ambIntensity;\n float diffuseFactor = lIntensity * NoL;\n float spec = lIntensity * NoL;\n float roughness = 1.0 - shin;\n float a = max( roughness * roughness, 5e-4 );\n float a2 = a * a;\n float denom = NoH * NoH * ( a2 - 1.0 ) + 1.0;\n float D = a2 / ( denom * denom );\n float k = a / 2.0;\n float G_V = ( NoV * ( 1.0 - k ) + k );\n float G_L = ( NoL * ( 1.0 - k ) + k );\n float G = 0.25 / ( G_V * G_L );\n vec3 F = reflectivity + (fresnel - fresnel*reflectivity) * exp2( (-5.55473 * VoH - 6.98316) * VoH );\n vec3 specularFactor = (D * G) * (F * spec);\n ambient += lColor * ambientFactor * attentuation * spot;\n diffuse += lColor * diffuseFactor * attentuation * spot;\n specular += lColor * specularFactor * attentuation * spot;\n}\n"},x3dom.shader.TBNCalculation=function(){return"mat3 cotangent_frame(vec3 N, vec3 p, vec2 uv)\n{\n // get edge vectors of the pixel triangle\n vec3 dp1 = dFdx( p );\n vec3 dp2 = dFdy( p );\n vec2 duv1 = dFdx( uv );\n vec2 duv2 = dFdy( uv );\n\n // solve the linear system\n vec3 dp2perp = cross( dp2, N );\n vec3 dp1perp = cross( N, dp1 );\n vec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n vec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\n // construct a scale-invariant frame\n float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) );\n return mat3( T * invmax, B * invmax, N );\n}\n\n","vec3 perturb_normal( vec3 N, vec3 V, vec2 texcoord, vec3 bias )\n{\n // assume N, the interpolated vertex normal and\n // V, the view vector (vertex to eye)\n vec3 map = texture2D(normalMap, texcoord ).xyz;\n map = 2.0 * map - 1.0;\n map = map * bias;\n mat3 TBN = cotangent_frame(N, -V, texcoord);\n return normalize(TBN * map);\n}\n\n","mat3 cotangent_frame(vec3 N, vec3 p, vec2 uv)\n{\n // get edge vectors of the pixel triangle\n vec3 dp1 = dFdx( p );\n vec3 dp2 = dFdy( p );\n vec2 duv1 = dFdx( uv );\n vec2 duv2 = dFdy( uv );\n\n // solve the linear system\n vec3 dp2perp = cross( dp2, N );\n vec3 dp1perp = cross( N, dp1 );\n vec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n vec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\n // construct a scale-invariant frame\n float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) );\n return mat3( T * invmax, B * invmax, N );\n}\n\nvec3 perturb_normal( vec3 N, vec3 V, vec2 texcoord, vec3 bias )\n{\n // assume N, the interpolated vertex normal and\n // V, the view vector (vertex to eye)\n vec3 map = texture2D(normalMap, texcoord ).xyz;\n map = 2.0 * map - 1.0;\n map = map * bias;\n mat3 TBN = cotangent_frame(N, -V, texcoord);\n return normalize(TBN * map);\n}\n\n"},x3dom.shader.toneMapping=function(){return"uniform float tonemappingOperator;\n","vec3 tonemapReinhard(vec3 color) { \n return color / (color + vec3(1.0));\n}\n\n","vec3 uncharted2Tonemap(vec3 color) { \n float A = 0.15;\n float B = 0.50;\n float C = 0.10;\n float D = 0.20;\n float E = 0.02;\n float F = 0.30;\n return ((color*(A*color+C*B)+D*E)/(color*(A*color+B)+D*F))-E/F;\n}\n\n","vec3 tonemapUncharted2(vec3 color) { \n float W = 11.2;\n float exposureBias = 2.0;\n vec3 curr = uncharted2Tonemap(exposureBias * color);\n vec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W));\n return curr * whiteScale;\n}\n\n","vec3 tonemapeFilmic(vec3 color) { \n const float a = 2.51;\n const float b = 0.03;\n const float c = 2.43;\n const float d = 0.59;\n const float e = 0.14;\n return clamp((color * (a * color + b)) / (color * (c * color + d ) + e), 0.0, 1.0);\n}\n\n","vec3 tonemap(vec3 color) { \n if(tonemappingOperator == 0.0) {\n return color;\n }\n if(tonemappingOperator == 1.0) {\n return tonemapReinhard(color);\n }\n if(tonemappingOperator == 2.0) {\n return tonemapUncharted2(color);\n }\n if(tonemappingOperator == 3.0) {\n return tonemapeFilmic(color);\n }\n}\n\n","uniform float tonemappingOperator;\nvec3 tonemapReinhard(vec3 color) { \n return color / (color + vec3(1.0));\n}\n\nvec3 uncharted2Tonemap(vec3 color) { \n float A = 0.15;\n float B = 0.50;\n float C = 0.10;\n float D = 0.20;\n float E = 0.02;\n float F = 0.30;\n return ((color*(A*color+C*B)+D*E)/(color*(A*color+B)+D*F))-E/F;\n}\n\nvec3 tonemapUncharted2(vec3 color) { \n float W = 11.2;\n float exposureBias = 2.0;\n vec3 curr = uncharted2Tonemap(exposureBias * color);\n vec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W));\n return curr * whiteScale;\n}\n\nvec3 tonemapeFilmic(vec3 color) { \n const float a = 2.51;\n const float b = 0.03;\n const float c = 2.43;\n const float d = 0.59;\n const float e = 0.14;\n return clamp((color * (a * color + b)) / (color * (c * color + d ) + e), 0.0, 1.0);\n}\n\nvec3 tonemap(vec3 color) { \n if(tonemappingOperator == 0.0) {\n return color;\n }\n if(tonemappingOperator == 1.0) {\n return tonemapReinhard(color);\n }\n if(tonemappingOperator == 2.0) {\n return tonemapUncharted2(color);\n }\n if(tonemappingOperator == 3.0) {\n return tonemapeFilmic(color);\n }\n}\n\n"},x3dom.shader.DynamicShader=function(e,t){this.program=e.createProgram();var i=this.generateVertexShader(e,t,x3dom.caps.WEBGL_VERSION),n=this.generateFragmentShader(e,t,x3dom.caps.WEBGL_VERSION);return e.attachShader(this.program,i),e.attachShader(this.program,n),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.DynamicShader.prototype.generateVertexShader=function(e,t,i){var n="";n+="uniform mat4 modelMatrix;\n",n+="uniform mat4 modelViewMatrix;\n",n+="uniform mat4 modelViewProjectionMatrix;\n",n+="uniform mat4 modelViewMatrix2;\n",n+="uniform mat4 modelViewProjectionMatrix2;\n",n+="uniform float isVR;\n",n+="attribute float eyeIdx;\n",n+="varying float vrOffset;\n",n+="varying float fragEyeIdx;\n",3==t.POSCOMPONENTS?n+="attribute vec3 position;\n":4==t.POSCOMPONENTS&&(n+="attribute vec4 position;\n"),t.POPGEOMETRY&&(n+="uniform float PG_precisionLevel;\n",n+="uniform float PG_powPrecision;\n",n+="uniform vec3 PG_maxBBSize;\n",n+="uniform vec3 PG_bbMin;\n",n+="uniform vec3 PG_bbMaxModF;\n",n+="uniform vec3 PG_bboxShiftVec;\n",n+="uniform float PG_numAnchorVertices;\n",n+="attribute float PG_vertexID;\n"),(t.LIGHTS||t.PBR_MATERIAL)&&(t.NORMALMAP&&"OBJECT"==t.NORMALSPACE||(n+="varying vec3 fragNormal;\n",n+="uniform mat4 normalMatrix;\n",n+="uniform mat4 normalMatrix2;\n",2==t.NORCOMPONENTS?4!=t.POSCOMPONENTS&&(n+="attribute vec2 normal;\n"):3==t.NORCOMPONENTS&&(n+="attribute vec3 normal;\n"))),t.VERTEXCOLOR&&(3==t.COLCOMPONENTS?(n+="attribute vec3 color;\n",n+="varying vec3 fragColor;\n"):4==t.COLCOMPONENTS&&(n+="attribute vec4 color;\n",n+="varying vec4 fragColor;\n")),t.TEXTURED&&(n+="varying vec2 fragTexcoord;\n",t.MULTITEXCOORD&&(n+="varying vec2 fragTexcoord2;\n"),t.SPHEREMAPPING||t.IS_PARTICLE||(n+="attribute vec2 texcoord;\n",t.MULTITEXCOORD&&(n+="attribute vec2 texcoord2;\n")),t.TEXTRAFO&&(n+="uniform mat4 texTrafoMatrix;\n"),t.NORMALMAP&&"TANGENT"==t.NORMALSPACE&&(t.TANGENTDATA||x3dom.caps.STD_DERIVATIVES||x3dom.debug.logWarning("Your System doesn't support the 'OES_STANDARD_DERIVATIVES' Extension. You must set tangents and binormals manually via the FloatVertexAttribute-Node to use normal maps"),n+="attribute vec3 tangent;\n",n+="attribute vec3 binormal;\n",n+="varying vec3 fragTangent;\n",n+="varying vec3 fragBinormal;\n"),t.DISPLACEMENTMAP&&(n+="uniform sampler2D displacementMap;\n",n+="uniform float displacementFactor;\n",n+="uniform float displacementWidth;\n",n+="uniform float displacementHeight;\n",n+="uniform float displacementAxis;\n"),t.DIFFPLACEMENTMAP&&(n+="uniform sampler2D diffuseDisplacementMap;\n",n+="uniform float displacementFactor;\n",n+="uniform float displacementWidth;\n",n+="uniform float displacementHeight;\n",n+="uniform float displacementAxis;\n")),(t.CUBEMAP||t.PBR_MATERIAL)&&(n+="varying vec3 fragViewDir;\n",n+="uniform mat4 viewMatrix;\n",n+="uniform mat4 viewMatrix2;\n"),t.VERTEXID&&(n+="attribute float id;\n",n+="varying float fragID;\n"),t.IS_PARTICLE&&(n+="attribute vec3 particleSize;\n"),t.POINTPROPERTIES&&(n+="uniform vec3 pointSizeAttenuation;\n",n+="uniform float pointSizeFactor;\n",n+="uniform float minPointSize;\n",n+="uniform float maxPointSize;\n"),(t.LIGHTS||t.FOG||t.CLIPPLANES||t.POINTPROPERTIES)&&(n+="uniform vec3 eyePosition;\n",n+="varying vec4 fragPosition;\n",n+="varying vec4 fragPositionWS;\n",t.FOG&&(n+="varying vec3 fragEyePosition;\n")),t.REQUIREBBOX&&(n+="uniform vec3 bgCenter;\n",n+="uniform vec3 bgSize;\n",n+="uniform float bgPrecisionMax;\n"),t.REQUIREBBOXNOR&&(n+="uniform float bgPrecisionNorMax;\n"),t.REQUIREBBOXCOL&&(n+="uniform float bgPrecisionColMax;\n"),t.REQUIREBBOXTEX&&(n+="uniform float bgPrecisionTexMax;\n"),n+="void main(void) {\n",n+="mat4 mat_mvp = modelViewProjectionMatrix;\n",n+="mat4 mat_mv = modelViewMatrix;\n",n+="fragEyeIdx = eyeIdx;\n",(t.CUBEMAP||t.PBR_MATERIAL)&&(n+="mat4 mat_v = viewMatrix;\n"),(t.LIGHTS||t.PBR_MATERIAL)&&(t.NORMALMAP&&"OBJECT"==t.NORMALSPACE||(n+="mat4 mat_n = normalMatrix;\n")),n+="if(eyeIdx == 1.0){\n",n+=" mat_mvp = modelViewProjectionMatrix2;\n",(t.CUBEMAP||t.PBR_MATERIAL)&&(n+=" mat_v = viewMatrix2;\n"),(t.LIGHTS||t.PBR_MATERIAL)&&(t.NORMALMAP&&"OBJECT"==t.NORMALSPACE||(n+="mat4 mat_n = normalMatrix2;\n")),n+="}\n",n+="vec3 vertPosition = position.xyz;\n",t.POPGEOMETRY?(n+="vec3 offsetVec = step(vertPosition / bgPrecisionMax, PG_bbMaxModF) * PG_bboxShiftVec;\n",n+="if ((PG_precisionLevel <= 2.0) || PG_vertexID >= PG_numAnchorVertices) {\n",n+=" vertPosition = floor(vertPosition / PG_powPrecision) * PG_powPrecision;\n",n+=" vertPosition /= (65536.0 - PG_powPrecision);\n",n+="}\n",n+="else {\n",n+=" vertPosition /= bgPrecisionMax;\n",n+="}\n",n+="vertPosition = (vertPosition + offsetVec + PG_bbMin) * PG_maxBBSize;\n"):t.REQUIREBBOX&&(n+="vertPosition = bgCenter + bgSize * vertPosition / bgPrecisionMax;\n"),t.LIGHTS&&(2==t.NORCOMPONENTS?(4==t.POSCOMPONENTS?(n+="vec3 vertNormal = vec3(position.w / 256.0); \n",n+="vertNormal.x = floor(vertNormal.x) / 255.0; \n",n+="vertNormal.y = fract(vertNormal.y) * 1.00392156862745; \n"):t.REQUIREBBOXNOR&&(n+="vec3 vertNormal = vec3(normal.xy, 0.0) / bgPrecisionNorMax;\n"),n+="vec2 thetaPhi = 3.14159265358979 * vec2(vertNormal.x, vertNormal.y*2.0-1.0); \n",n+="vec4 sinCosThetaPhi = sin( vec4(thetaPhi, thetaPhi + 1.5707963267949) ); \n",n+="vertNormal.x = sinCosThetaPhi.x * sinCosThetaPhi.w; \n",n+="vertNormal.y = sinCosThetaPhi.x * sinCosThetaPhi.y; \n",n+="vertNormal.z = sinCosThetaPhi.z; \n"):t.NORMALMAP&&"OBJECT"==t.NORMALSPACE||(n+="vec3 vertNormal = normal;\n",t.REQUIREBBOXNOR&&(n+="vertNormal = vertNormal / bgPrecisionNorMax;\n"),t.POPGEOMETRY&&(n+="vertNormal = 2.0*vertNormal - 1.0;\n"))),t.VERTEXCOLOR&&(n+="fragColor = color;\n",t.REQUIREBBOXCOL&&(n+="fragColor = fragColor / bgPrecisionColMax;\n")),t.TEXTURED&&!t.SPHEREMAPPING&&(t.IS_PARTICLE||t.POINTPROPERTIES?n+="vec2 vertTexCoord = vec2(0.0);\n":(n+="vec2 vertTexCoord = texcoord;\n",t.MULTITEXCOORD&&(n+="vec2 vertTexCoord2 = texcoord2;\n"),t.REQUIREBBOXTEX&&(n+="vertTexCoord = vertTexCoord / bgPrecisionTexMax;\n"))),t.LIGHTS&&(!t.DISPLACEMENTMAP&&!t.DIFFPLACEMENTMAP||t.NORMALMAP?t.NORMALMAP&&"OBJECT"==t.NORMALSPACE||(n+="fragNormal = (mat_n * vec4(vertNormal, 0.0)).xyz;\n"):(n+="float dx = 1.0 / displacementWidth;\n",n+="float dy = 1.0 / displacementHeight;\n",t.DISPLACEMENTMAP?(n+="float s1 = texture2D(displacementMap, vec2(vertTexCoord.x - dx, 1.0 - vertTexCoord.y)).r;\n",n+="float s2 = texture2D(displacementMap, vec2(vertTexCoord.x, 1.0 - vertTexCoord.y - dy)).r;\n",n+="float s3 = texture2D(displacementMap, vec2(vertTexCoord.x + dx, 1.0 - vertTexCoord.y)).r;\n",n+="float s4 = texture2D(displacementMap, vec2(vertTexCoord.x, 1.0 - vertTexCoord.y + dy)).r;\n"):t.DIFFPLACEMENTMAP&&(n+="float s1 = texture2D(diffuseDisplacementMap, vec2(vertTexCoord.x - dx, 1.0 - vertTexCoord.y)).a;\n",n+="float s2 = texture2D(diffuseDisplacementMap, vec2(vertTexCoord.x, 1.0 - vertTexCoord.y - dy)).a;\n",n+="float s3 = texture2D(diffuseDisplacementMap, vec2(vertTexCoord.x + dx, 1.0 - vertTexCoord.y)).a;\n",n+="float s4 = texture2D(diffuseDisplacementMap, vec2(vertTexCoord.x, 1.0 - vertTexCoord.y + dy)).a;\n"),n+="float coef = displacementFactor;\n",n+="vec3 calcNormal;\n",n+="if (displacementAxis == 0.0) {\n",n+="calcNormal = vec3((s1 - s3) * coef, -5.0, (s2 - s4) * coef);\n",n+="} else if(displacementAxis == 1.0) {\n",n+="calcNormal = vec3((s1 - s3) * coef, -5.0, (s2 - s4) * coef);\n",n+="} else {\n",n+="calcNormal = vec3((s1 - s3) * coef, -(s2 - s4) * coef, 5.0);\n",n+="}\n",n+="calcNormal = normalize(calcNormal);\n",n+="fragNormal = (mat_n * vec4(calcNormal, 0.0)).xyz;\n")),(t.CUBEMAP||t.PBR_MATERIAL)&&(n+="fragViewDir = (mat_v[3].xyz);\n"),t.TEXTURED&&(t.SPHEREMAPPING?(n+=" fragTexcoord = 0.5 + fragNormal.xy / 2.0;\n",t.TEXTRAFO&&(n+=" fragTexcoord = (texTrafoMatrix * vec4(fragTexcoord, 1.0, 1.0)).xy;\n")):t.TEXTRAFO?n+=" fragTexcoord = (texTrafoMatrix * vec4(vertTexCoord, 1.0, 1.0)).xy;\n":(n+=" fragTexcoord = vertTexCoord;\n",t.MULTITEXCOORD&&(n+=" fragTexcoord2 = vertTexCoord2;\n"),t.POPGEOMETRY&&!0===x3dom.debug.usePrecisionLevelAsTexCoord&&(n+="fragTexcoord = vec2(0.03125 + 0.9375 * (PG_precisionLevel / 16.0), 1.0);")),t.NORMALMAP&&"TANGENT"==t.NORMALSPACE&&t.TANGENTDATA&&(n+="fragTangent = (mat_n * vec4(tangent, 0.0)).xyz;\n",n+="fragBinormal = (mat_n * vec4(binormal, 0.0)).xyz;\n")),(t.LIGHTS||t.FOG||t.CLIPPLANES||t.POINTPROPERTIES)&&(n+="fragPosition = (mat_mv * vec4(vertPosition, 1.0));\n",n+="fragPositionWS = (modelMatrix * vec4(vertPosition, 1.0));\n",t.FOG&&(n+="fragEyePosition = eyePosition - fragPosition.xyz;\n")),t.DISPLACEMENTMAP?n+="vertPosition += normalize(vertNormal) * texture2D(displacementMap, vec2(fragTexcoord.x, 1.0-fragTexcoord.y)).r * displacementFactor;\n":t.DIFFPLACEMENTMAP&&(n+="vertPosition += normalize(vertNormal) * texture2D(diffuseDisplacementMap, vec2(fragTexcoord.x, 1.0-fragTexcoord.y)).a * displacementFactor;\n"),n+="gl_Position = mat_mvp * vec4(vertPosition, 1.0);\n",n+="if(isVR == 1.0){\n",n+=" vrOffset = eyeIdx * 0.5;\n",n+=" gl_Position.x *= 0.5;\n",n+=" gl_Position.x += vrOffset * gl_Position.w;\n",n+="}\n",t.IS_PARTICLE?(n+="float spriteDist = (gl_Position.w > 0.000001) ? gl_Position.w : 0.000001;\n",n+="float pointSize = floor(length(particleSize) * 256.0 / spriteDist + 0.5);\n",n+="gl_PointSize = clamp(pointSize, 2.0, 256.0);\n"):t.POINTPROPERTIES?(n+="float r = length( fragPosition.xyz );\n",n+="vec3 a = pointSizeAttenuation;\n",n+="float attFactor = ( a.x + a.y * r + a.z * r * r );\n",n+="float pointSize = pointSizeFactor * 1.0 / attFactor;\n",n+="gl_PointSize = clamp(pointSize, minPointSize, maxPointSize);\n"):n+="gl_PointSize = 2.0;\n",n+="}\n",2==i&&(n=x3dom.shader.convertVertexShader(n));var _=e.createShader(e.VERTEX_SHADER);return e.shaderSource(_,n),e.compileShader(_),e.getShaderParameter(_,e.COMPILE_STATUS)||(x3dom.debug.logInfo("VERTEX:\n"+n),x3dom.debug.logError("VertexShader "+e.getShaderInfoLog(_))),_},x3dom.shader.DynamicShader.prototype.generateFragmentShader=function(e,t,i){var n="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";if(n+=" precision highp float;\n",n+="#else\n",n+=" precision mediump float;\n",n+="#endif\n\n",t.PBR_MATERIAL&&x3dom.caps.TEXTURE_LOD&&(n+="#extension GL_EXT_shader_texture_lod : enable\n"),(t.PBR_MATERIAL||t.NORMALMAP)&&x3dom.caps.STD_DERIVATIVES&&(n+="#extension GL_OES_standard_derivatives:enable\n"),n+="//@insertFragColor\n",n+="uniform float isVR;\n",n+="varying float vrOffset;\n",n+="varying float fragEyeIdx;\n",n+="uniform float screenWidth;\n",n+="uniform vec3 cameraPosWS;\n",n+="uniform float alphaCutoff;\n",n+=x3dom.shader.material(),n+=x3dom.shader.toneMapping(),t.PBR_MATERIAL&&!x3dom.caps.TEXTURE_LOD&&1==x3dom.caps.WEBGL_VERSION&&(n+=x3dom.shader.calcMipLevel()),t.TWOSIDEDMAT&&(n+=x3dom.shader.twoSidedMaterial()),t.PBR_MATERIAL&&(t.ISROUGHNESSMETALLIC&&(n+="uniform float metallicFactor;\n"),n+="uniform sampler2D brdfMap;\n",n+="uniform samplerCube diffuseEnvironmentMap;\n",n+="uniform samplerCube specularEnvironmentMap;\n"),t.VERTEXCOLOR&&(3==t.COLCOMPONENTS?n+="varying vec3 fragColor; \n":4==t.COLCOMPONENTS&&(n+="varying vec4 fragColor; \n")),(t.CUBEMAP||t.CLIPPLANES||t.PBR_MATERIAL)&&(n+="uniform mat4 viewMatrixInverse;\n",n+="uniform mat4 viewMatrixInverse2;\n",n+="uniform mat4 modelViewMatrixInverse;\n",n+="uniform mat4 modelViewMatrixInverse2;\n"),t.VERTEXID&&(n+="varying float fragID;\n"),t.TEXTURED&&(n+="varying vec2 fragTexcoord;\n",t.MULTITEXCOORD&&(n+="varying vec2 fragTexcoord2;\n"),(t.TEXTURED||t.DIFFUSEMAP)&&(n+="uniform sampler2D diffuseMap;\n"),(t.CUBEMAP||t.PBR_MATERIAL)&&(n+="uniform samplerCube environmentMap;\n",n+="varying vec3 fragViewDir;\n",t.CSSHADER&&(n+="uniform float environmentFactor;\n")),t.EMISSIVEMAP&&(n+="uniform sampler2D emissiveMap;\n"),t.OCCLUSIONMAP&&(n+="uniform sampler2D occlusionMap;\n"),t.ROUGHNESSMETALLICMAP&&(n+="uniform sampler2D roughnessMetallicMap;\n"),t.SPECULARGLOSSINESSMAP&&(n+="uniform sampler2D specularGlossinessMap;\n"),t.OCCLUSIONROUGHNESSMETALLICMAP&&(n+="uniform sampler2D occlusionRoughnessMetallicMap;\n"),t.SPECMAP&&(n+="uniform sampler2D specularMap;\n"),t.SHINMAP&&(n+="uniform sampler2D shininessMap;\n"),t.DISPLACEMENTMAP&&(n+="uniform sampler2D displacementMap;\n",n+="uniform float displacementWidth;\n",n+="uniform float displacementHeight;\n"),t.DIFFPLACEMENTMAP&&(n+="uniform sampler2D diffuseDisplacementMap;\n",n+="uniform float displacementWidth;\n",n+="uniform float displacementHeight;\n"),t.NORMALMAP&&(n+="uniform sampler2D normalMap;\n",n+="uniform vec3 normalBias;\n","TANGENT"==t.NORMALSPACE?x3dom.caps.STD_DERIVATIVES||2==x3dom.caps.WEBGL_VERSION?n+=x3dom.shader.TBNCalculation():(n+="varying vec3 fragTangent;\n",n+="varying vec3 fragBinormal;\n"):"OBJECT"==t.NORMALSPACE&&(n+="uniform mat4 normalMatrix;\n",n+="uniform mat4 normalMatrix2;\n"))),t.FOG&&(n+=x3dom.shader.fog()),(t.LIGHTS||t.CLIPPLANES)&&(n+="varying vec4 fragPosition;\n",n+="varying vec4 fragPositionWS;\n",n+="uniform float isOrthoView;\n"),t.LIGHTS){t.NORMALMAP&&"OBJECT"==t.NORMALSPACE||(n+="varying vec3 fragNormal;\n");var _=t.LIGHTS;t.PHYSICALENVLIGHT&&_--,t.PBR_MATERIAL&&_?n+=x3dom.shader.lightPBR(t.LIGHTS):_&&(n+=x3dom.shader.light(t.LIGHTS))}if(t.CLIPPLANES&&(n+=x3dom.shader.clipPlanes(t.CLIPPLANES)),n+=x3dom.shader.gammaCorrectionDecl(t),n+="void main(void) {\n",(t.CUBEMAP||t.CLIPPLANES||t.PBR_MATERIAL)&&(n+="mat4 mat_mvi = modelViewMatrixInverse;\n",n+="mat4 mat_vi = viewMatrixInverse;\n"),"OBJECT"==t.NORMALSPACE&&(n+="mat4 mat_n = normalMatrix;\n"),n+="if(fragEyeIdx == 1.0){\n",(t.CUBEMAP||t.CLIPPLANES)&&(n+=" mat_mvi = modelViewMatrixInverse2;\n",n+=" mat_vi = viewMatrixInverse2;\n"),"OBJECT"==t.NORMALSPACE&&(n+=" mat_n = normalMatrix2;\n"),n+="}\n",n+="if ( isVR == 1.0) {\n",n+=" if ( ( step( 0.5, gl_FragCoord.x / screenWidth ) - 0.5 ) * vrOffset < 0.0 ) discard;\n",n+="}\n",t.CLIPPLANES&&(n+="vec3 cappingColor = calculateClipPlanes();\n"),n+="vec4 color;\n",n+="vec4 texColor;\n",n+="color.rgb = diffuseColor;\n",n+="color.a = 1.0 - transparency;\n",n+="vec3 _emissiveColor = emissiveColor;\n",n+="float _shininess = shininess;\n",n+="vec3 _specularColor = specularColor;\n",n+="float _ambientIntensity = ambientIntensity;\n",n+="float _transparency = transparency;\n",n+="float _occlusion = 1.0;\n","OPAQUE"==t.ALPHAMODE&&(n+="color.a = 1.0;\n"),t.PBR_MATERIAL&&t.ISROUGHNESSMETALLIC&&(n+="float _metallic = metallicFactor;\n"),t.SEPARATEBACKMAT&&(n+=" if(!gl_FrontFacing) {\n",n+=" color.rgb = backDiffuseColor;\n",n+=" color.a = 1.0 - backTransparency;\n",n+=" _transparency = 1.0 - backTransparency;\n",n+=" _shininess = backShininess;\n",n+=" _emissiveColor = backEmissiveColor;\n",n+=" _specularColor = backSpecularColor;\n",n+=" _ambientIntensity = backAmbientIntensity;\n",n+=" }\n"),t.VERTEXCOLOR&&(3!==t.COLCOMPONENTS&&"OPAQUE"!=t.ALPHAMODE||!t.PBR_MATERIAL?3!==t.COLCOMPONENTS||t.PBR_MATERIAL?4===t.COLCOMPONENTS&&t.PBR_MATERIAL?n+="color *= fragColor;\n":4!==t.COLCOMPONENTS||t.PBR_MATERIAL||(n+="color = fragColor;\n"):n+="color.rgb = fragColor.rgb;\n":n+="color.rgb *= fragColor.rgb;\n"),t.IS_PARTICLE||t.POINTPROPERTIES?(n+="vec2 texcoord = clamp(gl_PointCoord, 0.01, 0.99);\n",t.MULTITEXCOORD&&(n+="vec2 texcoord2 = texcoord;\n")):t.TEXTURED&&(n+="vec2 texcoord = fragTexcoord;\n",t.MULTITEXCOORD&&(n+="vec2 texcoord2 = fragTexcoord2;\n")),t.UNLIT)t.DIFFUSEMAP&&(t.DIFFUSEMAPCHANNEL?n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, vec2(texcoord2.x, 1.0 - texcoord2.y))")+";\n":n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, vec2(texcoord.x, 1.0 - texcoord.y))")+";\n","OPAQUE"==t.ALPHAMODE&&(n+="texColor.a = 1.0;\n"),n+="color *= texColor;\n");else if(t.LIGHTS){if(n+="vec3 ambient = vec3(0.0, 0.0, 0.0);\n",n+="vec3 diffuse = vec3(0.0, 0.0, 0.0);\n",n+="vec3 specular = vec3(0.0, 0.0, 0.0);\n",n+="vec3 eye;\n",n+="vec3 positionVS = fragPosition.rgb;\n",n+="if ( isOrthoView > 0.0 ) {\n",n+=" eye = vec3(0.0, 0.0, 1.0);\n",n+="} else {\n",n+=" eye = -fragPosition.xyz;\n",n+="}\n",t.NORMALMAP&&(n+="vec3 _normalBias = normalBias;\n"),t.NORMALMAP&&"OBJECT"==t.NORMALSPACE?n+="vec3 normal = vec3(0.0, 0.0, 0.0);\n":n+="vec3 normal = normalize(fragNormal);\n",t.SOLID&&!t.TWOSIDEDMAT||(n+="if (dot(normalize(fragNormal), eye) < 0.0) {\n",n+=" normal *= -1.0;\n",t.NORMALMAP&&(n+=" _normalBias = _normalBias * _normalBias;\n"),n+="}\n"),t.TEXTURED&&(t.NORMALMAP&&("TANGENT"==t.NORMALSPACE?(n+="vec3 n = normal;\n",t.TANGENTDATA||!x3dom.caps.STD_DERIVATIVES&&2!=x3dom.caps.WEBGL_VERSION?(n+="vec3 t = normalize( fragTangent );\n",n+="vec3 b = normalize( fragBinormal );\n",n+="mat3 tangentToWorld = mat3(t, b, n);\n",n+="normal = texture2D( normalMap, vec2(texcoord.x, 1.0-texcoord.y) ).rgb;\n",n+="normal = 2.0 * normal - 1.0;\n",n+="normal = normalize( normal * tangentToWorld );\n"):n+="normal = perturb_normal( n, fragPosition.xyz, vec2(texcoord.x, 1.0 - texcoord.y), _normalBias);\n"):"OBJECT"==t.NORMALSPACE&&(n+="normal = texture2D( normalMap, vec2(texcoord.x, 1.0-texcoord.y) ).rgb;\n",n+="normal = 2.0 * normal - 1.0;\n",n+="normal = (mat_n * vec4(normal, 0.0)).xyz;\n",n+="normal = normalize(normal);\n")),t.CUBEMAP?(n+="vec3 viewDir = normalize(fragViewDir);\n",n+="vec3 reflected = reflect(-eye, normal);\n",n+="reflected = (mat_mvi * vec4(reflected, 0.0)).xyz;\n",n+="texColor = "+x3dom.shader.decodeGamma(t,"textureCube(environmentMap, reflected)")+";\n"):t.DIFFPLACEMENTMAP?n+="texColor = texture2D(diffuseDisplacementMap, vec2(texcoord.x, 1.0-texcoord.y));\n":(t.DIFFUSEMAP||t.TEXT)&&(t.PIXELTEX?t.DIFFUSEMAPCHANNEL?n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, texcoord2)")+";\n":n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, texcoord)")+";\n":t.DIFFUSEMAPCHANNEL?n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, vec2(texcoord2.x, 1.0 - texcoord2.y))")+";\n":n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, vec2(texcoord.x, 1.0 - texcoord.y))")+";\n"),"OPAQUE"==t.ALPHAMODE&&(n+="texColor.a = 1.0;\n"),t.BLENDING&&(t.DIFFUSEMAP||t.TEXT||t.DIFFPLACEMENTMAP||t.CUBEMAP)?t.CUBEMAP&&t.CSSHADER?n+="color.rgb *= mix(vec3(1.0,1.0,1.0), texColor.rgb, environmentFactor);\n":n+="color *= texColor;\n":!t.BLENDING&&(t.DIFFUSEMAP||t.TEXT||t.DIFFPLACEMENTMAP||t.CUBEMAP)&&(n+="color = texColor;\n"),t.SHINMAP&&(n+="_shininess *= texture2D( shininessMap, vec2(texcoord.x, 1.0-texcoord.y) ).r;\n"),t.SPECMAP&&(n+="_specularColor = texture2D(specularMap, vec2(texcoord.x, 1.0-texcoord.y)).rgb;\n"),t.EMISSIVEMAP&&(t.EMISSIVEMAPCHANNEL?n+="_emissiveColor = _emissiveColor * texture2D(emissiveMap, vec2(texcoord2.x, 1.0-texcoord2.y)).rgb;\n":n+="_emissiveColor = _emissiveColor * texture2D(emissiveMap, vec2(texcoord.x, 1.0-texcoord.y)).rgb;\n"),t.ROUGHNESSMETALLICMAP&&(t.ROUGHNESSMETALLICMAPCHANNEL?n+="vec3 roughnessMetallic = texture2D(roughnessMetallicMap, vec2(texcoord2.x, 1.0-texcoord2.y)).rgb;\n":n+="vec3 roughnessMetallic = texture2D(roughnessMetallicMap, vec2(texcoord.x, 1.0-texcoord.y)).rgb;\n",n+="_shininess = 1.0 - (roughnessMetallic.g * (1.0 - _shininess));\n",n+="_metallic = roughnessMetallic.b * metallicFactor;\n"),t.SPECULARGLOSSINESSMAP&&(t.SPECULARGLOSSINESSMAPCHANNEL?n+="vec4 specularGlossiness = "+x3dom.shader.decodeGamma(t,"texture2D(specularGlossinessMap, vec2(texcoord2.x, 1.0 - texcoord2.y))")+";\n":n+="vec4 specularGlossiness = "+x3dom.shader.decodeGamma(t,"texture2D(specularGlossinessMap, vec2(texcoord.x, 1.0 - texcoord.y))")+";\n",n+="_shininess = specularGlossiness.a * _shininess;\n"),t.OCCLUSIONROUGHNESSMETALLICMAP&&(t.OCCLUSIONROUGHNESSMETALLICMAPCHANNEL?n+="vec3 occlusionRoughnessMetallic = texture2D(occlusionRoughnessMetallicMap, vec2(texcoord2.x, 1.0-texcoord2.y)).rgb;\n":n+="vec3 occlusionRoughnessMetallic = texture2D(occlusionRoughnessMetallicMap, vec2(texcoord.x, 1.0-texcoord.y)).rgb;\n",n+="_occlusion = occlusionRoughnessMetallic.r;\n",n+="_shininess = 1.0 - occlusionRoughnessMetallic.g;\n",n+="_metallic = occlusionRoughnessMetallic.b;\n"),t.OCCLUSIONMAP&&(t.OCCLUSIONMAPCHANNEL?n+="_occlusion = texture2D(occlusionMap, vec2(texcoord2.x, 1.0-texcoord2.y)).r;\n":n+="_occlusion = texture2D(occlusionMap, vec2(texcoord.x, 1.0-texcoord.y)).r;\n")),t.PBR_MATERIAL&&t.ISROUGHNESSMETALLIC?(n+="_specularColor = mix(vec3(0.04, 0.04, 0.04), color.rgb, _metallic);\n",n+="color.rgb *= (1.0 - _metallic);\n"):t.PBR_MATERIAL&&t.SPECULARGLOSSINESSMAP&&(n+="_specularColor = specularGlossiness.rgb * _specularColor;\n"),_){for(var r=0;r<_;r++){n+=" lighting(light"+r+"_Type, light"+r+"_Location, light"+r+"_Direction, "+("light"+r+"_Color")+", light"+r+"_Attenuation, light"+r+"_Radius, light"+r+"_Intensity, light"+r+"_AmbientIntensity, light"+r+"_BeamWidth, light"+r+"_CutOffAngle, positionVS, normal, eye, _shininess, _ambientIntensity, _specularColor, ambient, diffuse, specular);\n"}n+="ambient = max(ambient, 0.0);\n",n+="diffuse = max(diffuse, 0.0);\n",n+="specular = max(specular, 0.0);\n"}t.PBR_MATERIAL&&t.PHYSICALENVLIGHT&&(n+="float camDistance = length(cameraPosWS.xyz - fragPositionWS.xyz);\n",n+="vec3 N = (mat_vi * vec4(normal, 0.0)).rgb;\n",n+="vec3 V = normalize ( cameraPosWS.xyz - fragPositionWS.xyz );\n",n+="vec3 R = normalize( reflect ( -V, N ) );\n",n+="float roughness = 1.0 - _shininess;\n",n+="float NoV = clamp(dot( N, V ), 0.0, 1.0);\n",n+="float lod = roughness * 6.0;",n+="diffuse = textureCube( diffuseEnvironmentMap, N ).rgb;\n",x3dom.caps.TEXTURE_LOD||2==x3dom.caps.WEBGL_VERSION?n+="specular = textureCubeLodEXT( specularEnvironmentMap, R, lod ).rgb;\n":(n+="float level = calcMipLevel(dirToCubeUV(R));\n",n+="float bias = lod - level;\n",n+="specular = textureCube( specularEnvironmentMap, R, bias ).rgb;\n"),n+="vec3 brdf = texture2D( brdfMap, vec2( NoV, roughness ) ).rgb;\n",n+="_specularColor = ( _specularColor * brdf.x + brdf.y );\n"),n+="color.rgb = _emissiveColor + ((ambient + diffuse) * color.rgb + specular * _specularColor) * _occlusion;\n",(t.IS_PARTICLE||t.POINTPROPERTIES)&&(t.TEXTURED?n+="if (color.a < 0.01 ) discard;\n":(n+="float pAlpha = 1.0 - clamp(length((gl_PointCoord - 0.5) * 2.0), 0.0, 1.0);\n",n+="if ( pAlpha < 0.01 ) discard;\n"))}else!t.APPMAT||t.VERTEXCOLOR||t.TEXTURED||t.PBR_MATERIAL||(n+="color = vec4(0.0, 0.0, 0.0, 1.0 - _transparency);\n"),t.TEXTURED&&(t.DIFFUSEMAP||t.DIFFPLACEMENTMAP||t.TEXT)?(t.PIXELTEX?t.IS_PARTICLE||t.POINTPROPERTIES?n+="vec2 texCoord = clamp(gl_PointCoord, 0.01, 0.99);\n":n+="vec2 texCoord = fragTexcoord;\n":t.IS_PARTICLE||t.POINTPROPERTIES?(n+="vec2 texCoord = clamp(gl_PointCoord, 0.01, 0.99);\n",n+="texCoord.y = 1.0 - texCoord.y;\n"):n+="vec2 texCoord = vec2(fragTexcoord.x, 1.0-fragTexcoord.y);\n",n+="texColor = "+x3dom.shader.decodeGamma(t,"texture2D(diffuseMap, texCoord)")+";\n",n+="color.a = texColor.a;\n",t.BLENDING||t.IS_PARTICLE||t.POINTPROPERTIES?(n+="if (color.a < 0.01 ) discard;\n",n+="color.rgb += _emissiveColor.rgb;\n",n+="color.rgb *= texColor.rgb;\n"):n+="color = texColor;\n"):t.VERTEXCOLOR||t.PBR_MATERIAL||t.POINTLINE2D?(t.VERTEXCOLOR||t.PBR_MATERIAL||!t.POINTLINE2D||(n+="color.rgb = _emissiveColor;\n"),t.IS_PARTICLE?(n+="float pAlpha = 1.0 - clamp(length((gl_PointCoord - 0.5) * 2.0), 0.0, 1.0);\n",n+="color.rgb *= vec3(pAlpha);\n",n+="color.a = pAlpha;\n"):t.POINTPROPERTIES&&!t.TEXTURED&&(n+="float pAlpha = 1.0 - clamp(length((gl_PointCoord - 0.5) * 2.0), 0.0, 1.0);\n",n+="if ( pAlpha < 0.01 ) discard;\n")):n+="color.rgb += _emissiveColor;\n";t.CLIPPLANES&&(n+="if (cappingColor.r != -1.0) {\n",n+=" color.rgb = cappingColor;\n",n+="}\n"),t.TEXT?n+="if (color.a < (1.0 - _transparency) * 0.5) discard;\n":t.ALPHAMASK?(n+="if (color.a <= alphaCutoff) discard;\n",n+="color.a = 1.0;\n"):t.ALPHATHRESHOLD&&(n+="if (color.a <= alphaCutoff) discard;\n"),n+="if(tonemappingOperator == 1.0) {\n",n+=" color.rgb = tonemapReinhard(color.rgb);\n",n+=" }\n",n+=" if(tonemappingOperator == 2.0) {\n",n+=" color.rgb = tonemapUncharted2(color.rgb);\n",n+=" }\n",n+=" if(tonemappingOperator == 3.0) {\n",n+=" color.rgb = tonemapeFilmic(color.rgb);\n",n+=" }\n",n+="color = "+x3dom.shader.encodeGamma(t,"color")+";\n",t.FOG&&(n+="float f0 = calcFog(fragEyePosition);\n",n+="color.rgb = fogColor * (1.0-f0) + f0 * (color.rgb);\n"),n+="gl_FragColor = color;\n",n+="}\n",2==i&&(n=x3dom.shader.convertFragmentShader(n));var o=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(o,n),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)||(x3dom.debug.logInfo("FRAGMENT:\n"+n),x3dom.debug.logError("FragmentShader "+e.getShaderInfoLog(o))),o},x3dom.shader.DynamicShaderPicking=function(e,t,i){this.program=e.createProgram();var n=this.generateVertexShader(e,t,i),_=this.generateFragmentShader(e,t,i);return e.attachShader(this.program,n),e.attachShader(this.program,_),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.DynamicShaderPicking.prototype.generateVertexShader=function(e,t,i){var n="";n+="uniform mat4 modelMatrix;\n",n+="uniform mat4 modelViewProjectionMatrix;\n",n+="uniform mat4 modelMatrix2;\n",n+="uniform mat4 modelViewProjectionMatrix2;\n",n+="uniform float isVR;\n",n+="attribute float eyeIdx;\n",n+="varying float vrOffset;\n",n+="varying float fragEyeIdx;\n",n+="attribute vec3 position;\n",n+="uniform vec3 from;\n",n+="varying vec3 worldCoord;\n",1==i?(n+="attribute vec3 color;\n",n+="varying vec3 fragColor;\n"):2==i&&(n+="attribute vec2 texcoord;\n",n+="varying vec3 fragColor;\n"),t.REQUIREBBOX&&(n+="uniform vec3 bgCenter;\n",n+="uniform vec3 bgSize;\n",n+="uniform float bgPrecisionMax;\n"),t.REQUIREBBOXCOL&&(n+="uniform float bgPrecisionColMax;\n"),t.REQUIREBBOXTEX&&(n+="uniform float bgPrecisionTexMax;\n"),t.VERTEXID&&(n+="uniform float shadowIDs;\n",n+=3==i?"varying vec3 idCoord;\n":"varying vec2 idCoord;\n",n+="varying float fragID;\n",n+="attribute float id;\n"),t.POPGEOMETRY&&(n+="uniform float PG_precisionLevel;\n",n+="uniform float PG_powPrecision;\n",n+="uniform vec3 PG_maxBBSize;\n",n+="uniform vec3 PG_bbMin;\n",n+="uniform vec3 PG_bbMaxModF;\n",n+="uniform vec3 PG_bboxShiftVec;\n",n+="uniform float PG_numAnchorVertices;\n",n+="attribute float PG_vertexID;\n"),t.IS_PARTICLE&&(n+="attribute vec3 particleSize;\n"),t.POINTPROPERTIES&&(n+="uniform vec3 pointSizeAttenuation;\n",n+="uniform float pointSizeFactor;\n",n+="uniform float minPointSize;\n",n+="uniform float maxPointSize;\n"),(t.CLIPPLANES||t.POINTPROPERTIES)&&(n+="uniform mat4 modelViewMatrix;\n",n+="uniform mat4 modelViewMatrix2;\n",n+="uniform vec3 eyePosition;\n",n+="varying vec4 fragPosition;\n",n+="varying vec4 fragPositionWS;\n"),n+="void main(void) {\n",n+="fragEyeIdx = eyeIdx;\n",n+="vec3 pos = position;\n",t.VERTEXID&&(0==i?(n+="idCoord = vec2((id + shadowIDs) / 256.0);\n",n+="idCoord.x = floor(idCoord.x) / 255.0;\n",n+="idCoord.y = fract(idCoord.y) * 1.00392156862745;\n",n+="fragID = id;\n"):3==i?(n+="float ID = id + shadowIDs;\n",n+="float h = floor(ID / 256.0);\n",n+="idCoord.x = ID - (h * 256.0);\n",n+="idCoord.z = floor(h / 256.0);\n",n+="idCoord.y = h - (idCoord.z * 256.0);\n",n+="idCoord = idCoord.zyx / 255.0;\n",n+="fragID = id;\n"):4==i&&(n+="idCoord = vec2((id + shadowIDs) / 256.0);\n",n+="idCoord.x = floor(idCoord.x) / 255.0;\n",n+="idCoord.y = fract(idCoord.y) * 1.00392156862745;\n",n+="fragID = id;\n")),t.POPGEOMETRY?(n+="vec3 offsetVec = step(pos / bgPrecisionMax, PG_bbMaxModF) * PG_bboxShiftVec;\n",n+="if (PG_precisionLevel <= 2.0) {\n",n+="pos = floor(pos / PG_powPrecision) * PG_powPrecision;\n",n+="pos /= (65536.0 - PG_powPrecision);\n",n+="}\n",n+="else {\n",n+="pos /= bgPrecisionMax;\n",n+="}\n",n+="pos = (pos + offsetVec + PG_bbMin) * PG_maxBBSize;\n"):(t.REQUIREBBOX&&(n+="pos = bgCenter + bgSize * pos / bgPrecisionMax;\n"),1!=i||t.REQUIREBBOXCOL?1==i&&t.REQUIREBBOXCOL?n+="fragColor = color / bgPrecisionColMax;\n":2!=i||t.REQUIREBBOXTEX?2==i&&t.REQUIREBBOXTEX&&(n+="vec2 texCoord = texcoord / bgPrecisionTexMax;\n",n+="fragColor = vec3(abs(texCoord.x), abs(texCoord.y), 0.0);\n"):n+="fragColor = vec3(abs(texcoord.x), abs(texcoord.y), 0.0);\n":n+="fragColor = color;\n"),(t.CLIPPLANES||t.POINTPROPERTIES)&&(n+="if(eyeIdx == 1.0){\n",n+=" fragPosition = (modelViewMatrix2 * vec4(pos, 1.0));\n",n+="}else{\n",n+=" fragPosition = (modelViewMatrix * vec4(pos, 1.0));\n",n+="}\n"),t.IS_PARTICLE?(n+="float spriteDist = (gl_Position.w > 0.000001) ? gl_Position.w : 0.000001;\n",n+="float pointSize = floor(length(particleSize) * 256.0 / spriteDist + 0.5);\n",n+="gl_PointSize = clamp(pointSize, 2.0, 256.0);\n"):t.POINTPROPERTIES?(n+="float r = length( fragPosition.xyz );\n",n+="vec3 a = pointSizeAttenuation;\n",n+="float attFactor = ( a.x + a.y * r + a.z * r * r );\n",n+="float pointSize = pointSizeFactor * 1.0 / attFactor;\n",n+="gl_PointSize = clamp(pointSize, minPointSize, maxPointSize);\n"):n+="gl_PointSize = 2.0;\n",n+="worldCoord = (modelMatrix * vec4(pos, 1.0)).xyz - from;\n",n+="if(eyeIdx == 1.0){\n",n+=" gl_Position = modelViewProjectionMatrix2 * vec4(pos, 1.0);\n",n+="}else{\n",n+=" gl_Position = modelViewProjectionMatrix * vec4(pos, 1.0);\n",n+="}\n",n+="if(isVR == 1.0){\n",n+=" vrOffset = eyeIdx * 0.5;\n",n+=" gl_Position.x *= 0.5;\n",n+=" gl_Position.x += vrOffset * gl_Position.w;\n",n+="}\n",n+="}\n";var _=e.createShader(e.VERTEX_SHADER);return e.shaderSource(_,n),e.compileShader(_),e.getShaderParameter(_,e.COMPILE_STATUS)||(x3dom.debug.logInfo("VERTEX:\n"+n),x3dom.debug.logError("VertexShader "+e.getShaderInfoLog(_))),_},x3dom.shader.DynamicShaderPicking.prototype.generateFragmentShader=function(e,t,i){var n="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";n+=" precision highp float;\n",n+="#else\n",n+=" precision mediump float;\n",n+="#endif\n\n",n+="uniform float highBit;\n",n+="uniform float lowBit;\n",n+="uniform float sceneSize;\n",n+="varying vec3 worldCoord;\n",n+="uniform float isVR;\n",n+="varying float vrOffset;\n",n+="varying float fragEyeIdx;\n",n+="uniform float screenWidth;\n",1!=i&&2!=i||(n+="varying vec3 fragColor;\n"),t.VERTEXID&&(n+=3==i?"varying vec3 idCoord;\n":"varying vec2 idCoord;\n",n+="varying float fragID;\n"),t.CLIPPLANES&&(n+="uniform mat4 viewMatrixInverse;\n",n+="uniform mat4 viewMatrixInverse2;\n",n+="varying vec4 fragPosition;\n"),t.CLIPPLANES&&(n+=x3dom.shader.clipPlanes(t.CLIPPLANES)),n+="void main(void) {\n",n+="if ( isVR == 1.0) {\n",n+=" if ( ( step( 0.5, gl_FragCoord.x / screenWidth ) - 0.5 ) * vrOffset < 0.0 ) discard;\n",n+="}\n",t.CLIPPLANES&&(n+="calculateClipPlanes();\n"),n+=1==i||2==i?"vec4 color = vec4(fragColor, lowBit);\n":4==i?"vec4 color = vec4(highBit, lowBit, 0.0, 0.0);\n":"vec4 color = vec4(0.0, 0.0, highBit, lowBit);\n",t.VERTEXID&&(0==i||4==i?n+="color.ba = idCoord;\n":3==i&&(n+="color.gba = idCoord;\n")),1!=i&&2!=i&&(n+="float d = length(worldCoord) / sceneSize;\n"),0==i?(n+="vec2 comp = fract(d * vec2(256.0, 1.0));\n",n+="color.rg = comp - (comp.rr * vec2(0.0, 1.0/256.0));\n"):3==i&&(n+="color.r = d;\n"),!t.POINTPROPERTIES&&!t.IS_PARTICLE||t.TEXTURED||(n+="float pAlpha = 1.0 - clamp(length((gl_PointCoord - 0.5) * 2.0), 0.0, 1.0);\n",n+="if ( pAlpha < 0.01 ) discard;\n"),n+="gl_FragColor = color;\n",n+="}\n";var _=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(_,n),e.compileShader(_),e.getShaderParameter(_,e.COMPILE_STATUS)||(x3dom.debug.logInfo("FRAGMENT:\n"+n),x3dom.debug.logError("FragmentShader "+e.getShaderInfoLog(_))),_},x3dom.shader.DynamicShadowShader=function(e,t){this.program=e.createProgram();var i=this.generateVertexShader(e,t),n=this.generateFragmentShader(e,t);return e.attachShader(this.program,i),e.attachShader(this.program,n),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.DynamicShadowShader.prototype.generateVertexShader=function(e,t){var i="";i+="attribute vec3 position;\n",i+="uniform mat4 modelViewProjectionMatrix;\n",i+="varying vec4 projCoords;\n",t.VERTEXID&&(i+="varying float fragID;\n",i+="attribute float id;\n"),t.REQUIREBBOX&&(i+="uniform vec3 bgCenter;\n",i+="uniform vec3 bgSize;\n",i+="uniform float bgPrecisionMax;\n"),t.POPGEOMETRY&&(i+="uniform float PG_precisionLevel;\n",i+="uniform float PG_powPrecision;\n",i+="uniform vec3 PG_maxBBSize;\n",i+="uniform vec3 PG_bbMin;\n",i+="uniform vec3 PG_bbMaxModF;\n",i+="uniform vec3 PG_bboxShiftVec;\n",i+="uniform float PG_numAnchorVertices;\n",i+="attribute float PG_vertexID;\n"),t.CLIPPLANES&&(i+="uniform mat4 modelViewMatrix;\n",i+="varying vec4 fragPosition;\n"),i+="void main(void) {\n",i+=" vec3 pos = position;\n",t.POPGEOMETRY?(i+=" vec3 offsetVec = step(pos / bgPrecisionMax, PG_bbMaxModF) * PG_bboxShiftVec;\n",i+=" if (PG_precisionLevel <= 2.0) {\n",i+=" pos = floor(pos / PG_powPrecision) * PG_powPrecision;\n",i+=" pos /= (65536.0 - PG_powPrecision);\n",i+=" }\n",i+=" else {\n",i+=" pos /= bgPrecisionMax;\n",i+=" }\n",i+=" pos = (pos + offsetVec + PG_bbMin) * PG_maxBBSize;\n"):t.REQUIREBBOX&&(i+=" pos = bgCenter + bgSize * pos / bgPrecisionMax;\n"),t.VERTEXID&&(i+=" fragID = id;\n"),t.CLIPPLANES&&(i+=" fragPosition = (modelViewMatrix * vec4(pos, 1.0));\n"),i+=" projCoords = modelViewProjectionMatrix * vec4(pos, 1.0);\n",i+=" gl_Position = projCoords;\n",i+="}\n";var n=e.createShader(e.VERTEX_SHADER);return e.shaderSource(n,i),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)||x3dom.debug.logError("[ShadowShader] VertexShader "+e.getShaderInfoLog(n)),n},x3dom.shader.DynamicShadowShader.prototype.generateFragmentShader=function(e,t){var i="";i+="#ifdef GL_FRAGMENT_PRECISION_HIGH\n",i+=" precision highp float;\n",i+="#else\n",i+=" precision mediump float;\n",i+="#endif\n\n",i+="varying vec4 projCoords;\n",i+="uniform float offset;\n",i+="uniform bool cameraView;\n",t.VERTEXID&&(i+="varying float fragID;\n"),t.CLIPPLANES&&(i+="uniform mat4 viewMatrixInverse;\n",i+="varying vec4 fragPosition;\n",i+=x3dom.shader.clipPlanes(t.CLIPPLANES)),x3dom.caps.FP_TEXTURES||(i+=x3dom.shader.rgbaPacking()),i+="void main(void) {\n",t.CLIPPLANES&&(i+="calculateClipPlanes();\n"),i+=" vec3 proj = (projCoords.xyz / projCoords.w);\n",x3dom.caps.FP_TEXTURES?(i+=" if (!cameraView){\n",i+=" proj.z = (proj.z + 1.0)*0.5;\n",i+=" proj.y = proj.z * proj.z;\n",i+=" }\n",i+=" gl_FragColor = vec4(proj, 1.0);\n"):i+=" gl_FragColor = packDepth(proj.z);\n",i+="}\n";var n=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(n,i),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)||x3dom.debug.logError("[ShadowShader] FragmentShader "+e.getShaderInfoLog(n)),n},x3dom.shader.ComposedShader=function(e,t){this.program=e.createProgram();var i=this.generateVertexShader(e,t),n=this.generateFragmentShader(e,t);return e.attachShader(this.program,i),e.attachShader(this.program,n),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.ComposedShader.prototype.generateVertexShader=function(e,t){var i=t._cf.appearance.node._shader._vertex._vf.url[0];i=this.injectVRPartsVS(i);var n=e.createShader(e.VERTEX_SHADER);return e.shaderSource(n,i),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)||x3dom.debug.logError("[ComposedShader] VertexShader "+e.getShaderInfoLog(n)),n},x3dom.shader.ComposedShader.prototype.generateFragmentShader=function(e,t){var i=t._cf.appearance.node._shader._fragment._vf.url[0];i=this.injectVRPartsFS(i);var n=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(n,i),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)||x3dom.debug.logError("[ComposedShader] FragmentShader "+e.getShaderInfoLog(n)),n},x3dom.shader.ComposedShader.prototype.injectVRPartsVS=function(e){var t=this.extractShaderSections(e);return t.before+"attribute float eyeIdx;\nuniform float isVR;\nuniform mat4 modelViewProjectionMatrix2;\nuniform mat4 modelViewProjectionInverseMatrix;\nvarying float vrOffset;\nvarying float fragEyeIdx;\n"+t.mainStart+t.main+"fragEyeIdx = eyeIdx;\nif(isVR == 1.0)\n{\n vec4 webVRPos = modelViewProjectionInverseMatrix * gl_Position;\n webVRPos.xyz = webVRPos.xyz / webVRPos.w;\n if(fragEyeIdx == 1.0) {\n gl_Position = modelViewProjectionMatrix2 * webVRPos;\n } else {\n gl_Position = modelViewProjectionMatrix * webVRPos;\n }\n vrOffset = fragEyeIdx * 0.5;\n gl_Position.x *= 0.5;\n gl_Position.x += vrOffset * gl_Position.w;\n}"+t.mainEnd},x3dom.shader.ComposedShader.prototype.injectVRPartsFS=function(e){var t=this.extractShaderSections(e);return t.before+"uniform float isVR;\nuniform float screenWidth;\nvarying float vrOffset;\nvarying float fragEyeIdx;\n"+t.mainStart+"if ( isVR == 1.0) {\n if ( ( step( 0.5, gl_FragCoord.x / screenWidth ) - 0.5 ) * vrOffset < 0.0 ) discard;\n}\n"+t.main+t.mainEnd},x3dom.shader.ComposedShader.prototype.extractShaderSections=function(e){var t=/void\s*main\s*\(\s*(?:void)?\s*\)\s*{[\s\S]*}/.exec(e),i=t[0].indexOf("{")+t.index+1,n=t[0].lastIndexOf("}")+t.index;return{before:e.substring(0,t.index),mainStart:e.substring(t.index,i),main:e.substring(i,n),mainEnd:e.substring(n,e.length)}},x3dom.shader.NormalShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.NormalShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nattribute vec3 normal;\nuniform vec3 bgCenter;\nuniform vec3 bgSize;\nuniform float bgPrecisionMax;\nuniform float bgPrecisionNorMax;\nuniform mat4 normalMatrix;\nuniform mat4 modelViewProjectionMatrix;\nvarying vec3 fragNormal;\nvoid main(void) {\n vec3 pos = bgCenter + bgSize * position / bgPrecisionMax;\n fragNormal = (normalMatrix * vec4(normal / bgPrecisionNorMax, 0.0)).xyz;\n gl_Position = modelViewProjectionMatrix * vec4(pos, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[NormalShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.NormalShader.prototype.generateFragmentShader=function(e){var t=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(t,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\n precision mediump float;\n#endif\n\nvarying vec3 fragNormal;\nvoid main(void) {\n gl_FragColor = vec4(normalize(fragNormal) / 2.0 + 0.5, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[NormalShader] FragmentShader "+e.getShaderInfoLog(t)),t},x3dom.shader.FrontgroundTextureShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.FrontgroundTextureShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nvarying vec2 fragTexCoord;\n\nvoid main(void) {\n vec2 texCoord = (position.xy + 1.0) * 0.5;\n fragTexCoord = texCoord;\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[FrontgroundTextureShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.FrontgroundTextureShader.prototype.generateFragmentShader=function(e){var t=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(t,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\n precision mediump float;\n#endif\n\nuniform sampler2D tex;\nvarying vec2 fragTexCoord;\n\nvoid main(void) {\n vec4 col = texture2D(tex, fragTexCoord);\n gl_FragColor = vec4(col.rgb, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[FrontgroundTextureShader] FragmentShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundTextureShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.BackgroundTextureShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nvarying vec2 fragTexCoord;\nuniform vec2 scale;\nuniform vec2 translation;\nuniform float isVR;\nattribute float eyeIdx;\nvarying float vrOffset;\nvarying float fragEyeIdx;\n\nvoid main(void) {\n vec2 texCoord = (position.xy + 1.0) * 0.5;\n fragTexCoord = texCoord * scale + translation;\n fragEyeIdx = eyeIdx;\n gl_Position = vec4(position.xy, 0.0, 1.0);\n if(isVR == 1.0){\n vrOffset = eyeIdx * 0.5;\n gl_Position.x *= 0.5;\n gl_Position.x += vrOffset * gl_Position.w;\n }\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundTextureShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundTextureShader.prototype.generateFragmentShader=function(e){var t=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(t,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\n precision mediump float;\n#endif\n\nuniform float isVR;\nvarying float vrOffset;\nvarying float fragEyeIdx;\nuniform float screenWidth;\nuniform sampler2D tex;\nvarying vec2 fragTexCoord;\n\nvoid main(void) {\n if ( isVR == 1.0 ) {\n if ( ( step( 0.5, gl_FragCoord.x / screenWidth ) - 0.5 ) * vrOffset < 0.0 ) discard;\n }\n gl_FragColor = texture2D(tex, fragTexCoord);\n}"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundTextureShader] FragmentShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundSkyTextureShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.BackgroundSkyTextureShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nattribute vec2 texcoord;\nuniform mat4 modelViewProjectionMatrix;\nuniform mat4 modelViewProjectionMatrix2;\nvarying vec2 fragTexCoord;\nuniform float isVR;\nattribute float eyeIdx;\nvarying float vrOffset;\nvarying float fragEyeIdx;\n\nvoid main(void) {\n fragTexCoord = texcoord;\n fragEyeIdx = eyeIdx;\n if(eyeIdx == 1.0){\n gl_Position = modelViewProjectionMatrix2 * vec4(position, 1.0);\n } else {\n gl_Position = modelViewProjectionMatrix * vec4(position, 1.0);\n }\n if(isVR == 1.0){\n vrOffset = eyeIdx * 0.5;\n gl_Position.x *= 0.5;\n gl_Position.x += vrOffset * gl_Position.w;\n }\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundSkyTextureShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundSkyTextureShader.prototype.generateFragmentShader=function(e){var t=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(t,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\n precision mediump float;\n#endif\n\nuniform float isVR;\nvarying float vrOffset;\nvarying float fragEyeIdx;\nuniform float screenWidth;\nuniform sampler2D tex;\nvarying vec2 fragTexCoord;\n\nvoid main(void) {\n if ( isVR == 1.0 ) {\n if ( ( step( 0.5, gl_FragCoord.x / screenWidth ) - 0.5 ) * vrOffset < 0.0 ) discard;\n }\n gl_FragColor = texture2D(tex, fragTexCoord);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundSkyTextureShader] FragmentShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundCubeTextureShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.BackgroundCubeTextureShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nuniform mat4 modelViewProjectionMatrix;\nvarying vec3 fragNormal;\n\nvoid main(void) {\n fragNormal = normalize(position);\n gl_Position = modelViewProjectionMatrix * vec4(position, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundCubeTextureShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundCubeTextureShader.prototype.generateFragmentShader=function(e){var t=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(t,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\n precision mediump float;\n#endif\n\nuniform samplerCube tex;\nvarying vec3 fragNormal;\n\nfloat magn(float val) {\n return ((val >= 0.0) ? val : -1.0 * val);\n}\nvoid main(void) {\n gl_FragColor = textureCube(tex, fragNormal);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundCubeTextureShader] FragmentShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundCubeTextureDDSShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);if(e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),!e.getProgramParameter(this.program,e.LINK_STATUS))throw"Error linking shaders:"+e.getProgramInfoLog(this.program);return this.program},x3dom.shader.BackgroundCubeTextureDDSShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nuniform mat4 modelViewProjectionMatrix;\nuniform mat4 modelViewProjectionMatrix2;\nvarying vec3 fragNormal;\nuniform float isVR;\nattribute float eyeIdx;\nvarying float vrOffset;\nvarying float fragEyeIdx;\n\nvoid main(void) {\n fragEyeIdx = eyeIdx;\n fragNormal = normalize(position);\n if(eyeIdx == 1.0){\n gl_Position = modelViewProjectionMatrix2 * vec4(position, 1.0);\n } else {\n gl_Position = modelViewProjectionMatrix * vec4(position, 1.0);\n }\n if(isVR == 1.0){\n vrOffset = eyeIdx * 0.5;\n gl_Position.x *= 0.5;\n gl_Position.x += vrOffset * gl_Position.w;\n }\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundCubeTextureDDSShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BackgroundCubeTextureDDSShader.prototype.generateFragmentShader=function(e){var t="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";t+="precision highp float;\n",t+="#else\n",t+=" precision mediump float;\n",t+="#endif\n\n",t+=x3dom.shader.toneMapping();var i={GAMMACORRECTION:e.canvas.parent.doc._viewarea._scene.getEnvironment()._vf.gammaCorrectionDefault};t+=x3dom.shader.gammaCorrectionDecl(i),t+="uniform float isVR;\nvarying float vrOffset;\nvarying float fragEyeIdx;\nuniform float screenWidth;\nuniform samplerCube tex;\nvarying vec3 fragNormal;\n\nvoid main(void) {\n if ( isVR == 1.0 ) {\n if ( ( step( 0.5, gl_FragCoord.x / screenWidth ) - 0.5 ) * vrOffset < 0.0 ) discard;\n }\n vec4 color = textureCube(tex, fragNormal);\n if(tonemappingOperator == 1.0) {\n color.rgb = tonemapReinhard(color.rgb);\n }\n if(tonemappingOperator == 2.0) {\n color.rgb = tonemapUncharted2(color.rgb);\n }\n if(tonemappingOperator == 3.0) {\n color.rgb = tonemapeFilmic(color.rgb);\n }\n color = "+x3dom.shader.encodeGamma(i,"color")+";\n gl_FragColor = color;\n}\n";var n=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(n,t),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS)||x3dom.debug.logError("[BackgroundCubeTextureDDSShader] FragmentShader "+e.getShaderInfoLog(n)),n},x3dom.shader.ShadowRenderingShader=function(e,t){this.program=e.createProgram();var i=this.generateVertexShader(e),n=this.generateFragmentShader(e,t);return e.attachShader(this.program,i),e.attachShader(this.program,n),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.ShadowRenderingShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec2 position;\nvarying vec2 vPosition;\nvoid main(void) {\n vPosition = position;\n gl_Position = vec4(position, -1.0, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[ShadowRendering] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.ShadowRenderingShader.prototype.generateFragmentShader=function(e,t){var i="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";i+="precision highp float;\n",i+="#else\n",i+=" precision mediump float;\n",i+="#endif\n\n",i+="uniform mat4 inverseViewProj;\n",i+="uniform mat4 inverseProj;\n",i+="varying vec2 vPosition;\n",i+="uniform sampler2D sceneMap;\n";for(var n=0;n<5;n++)i+="uniform float cascade"+n+"_Depth;\n";for(var _=0;_<t.length;_++){i+="uniform float light"+_+"_On;\nuniform float light"+_+"_Type;\nuniform vec3 light"+_+"_Location;\nuniform vec3 light"+_+"_Direction;\nuniform vec3 light"+_+"_Attenuation;\nuniform float light"+_+"_Radius;\nuniform float light"+_+"_BeamWidth;\nuniform float light"+_+"_CutOffAngle;\nuniform float light"+_+"_ShadowIntensity;\nuniform float light"+_+"_ShadowOffset;\nuniform mat4 light"+_+"_ViewMatrix;\n";for(var r=0;r<6;r++)i+="uniform mat4 light"+_+"_"+r+"_Matrix;\n",i+="uniform sampler2D light"+_+"_"+r+"_ShadowMap;\n";for(r=0;r<5;r++)i+="uniform float light"+_+"_"+r+"_Split;\n"}x3dom.caps.FP_TEXTURES||(i+=x3dom.shader.rgbaPacking()),i+=x3dom.shader.shadowRendering(),i+=x3dom.shader.gammaCorrectionDecl({}),i+="void main(void) {\n float shadowValue = 1.0;\n vec2 texCoordsSceneMap = (vPosition + 1.0)*0.5;\n vec4 projCoords = texture2D(sceneMap, texCoordsSceneMap);\n if (projCoords != vec4(1.0,1.0,1.0,0.0)){\n",x3dom.caps.FP_TEXTURES||(i+=" projCoords.z = unpackDepth(projCoords);\n projCoords.w = 1.0;\n"),i+=" projCoords = projCoords / projCoords.w;\n projCoords.xy = vPosition;\n vec4 eyeCoords = inverseProj*projCoords;\n vec4 worldCoords = inverseViewProj*projCoords;\n float lightInfluence = 0.0;\n";for(_=0;_<t.length;_++)i+=" lightInfluence = getLightInfluence(light"+_+"_Type, light"+_+"_ShadowIntensity, light"+_+"_On, light"+_+"_Location, light"+_+"_Direction, light"+_+"_CutOffAngle, light"+_+"_BeamWidth, light"+_+"_Attenuation, light"+_+"_Radius, eyeCoords.xyz/eyeCoords.w);\n if (lightInfluence != 0.0){\n vec4 shadowMapValues;\n float viewSampleDepth;\n",x3dom.isa(t[_],x3dom.nodeTypes.PointLight)?i+=" getShadowValuesPointLight(shadowMapValues, viewSampleDepth, light"+_+"_Location, worldCoords, light"+_+"_ViewMatrix, light"+_+"_0_Matrix,light"+_+"_1_Matrix,light"+_+"_2_Matrix,light"+_+"_3_Matrix,light"+_+"_4_Matrix,light"+_+"_5_Matrix,light"+_+"_0_ShadowMap,light"+_+"_1_ShadowMap,light"+_+"_2_ShadowMap,light"+_+"_3_ShadowMap,light"+_+"_4_ShadowMap,light"+_+"_5_ShadowMap);\n":i+=" getShadowValuesCascaded(shadowMapValues, viewSampleDepth, worldCoords, -eyeCoords.z/eyeCoords.w,light"+_+"_0_Matrix,light"+_+"_1_Matrix,light"+_+"_2_Matrix,light"+_+"_3_Matrix,light"+_+"_4_Matrix,light"+_+"_5_Matrix,light"+_+"_0_ShadowMap,light"+_+"_1_ShadowMap,light"+_+"_2_ShadowMap,light"+_+"_3_ShadowMap,light"+_+"_4_ShadowMap,light"+_+"_5_ShadowMap, light"+_+"_0_Split, light"+_+"_1_Split, light"+_+"_2_Split, light"+_+"_3_Split, \nlight"+_+"_4_Split);\n",x3dom.caps.FP_TEXTURES?i+=" shadowValue *= clamp(VSM(shadowMapValues.zy, viewSampleDepth, light"+_+"_ShadowOffset), 1.0 - light"+_+"_ShadowIntensity*lightInfluence, 1.0);\n":i+=" shadowValue *= clamp(ESM(shadowMapValues.z, viewSampleDepth, light"+_+"_ShadowOffset), 1.0 - light"+_+"_ShadowIntensity*lightInfluence, 1.0);\n",i+=" }\n";i+="}\n gl_FragColor = "+x3dom.shader.encodeGamma({},"vec4(shadowValue, shadowValue, shadowValue, 1.0)")+";\n}\n";var o=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(o,i),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)||x3dom.debug.logError("[ShadowRendering] FragmentShader "+e.getShaderInfoLog(o)),o},x3dom.shader.TextureRefinementShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.TextureRefinementShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec2 position;\nvarying vec2 fragTexCoord;\n\nvoid main(void) {\n fragTexCoord = (position.xy + 1.0) / 2.0;\n gl_Position = vec4(position, -1.0, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[TextureRefinementShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.TextureRefinementShader.prototype.generateFragmentShader=function(e){var t=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(t,"#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n#else\n precision mediump float;\n#endif\n\nuniform sampler2D stamp;\nuniform sampler2D lastTex;\nuniform sampler2D curTex;\nuniform int mode;\nuniform vec2 repeat;\nvarying vec2 fragTexCoord;\n\nvoid init(void);\nvoid refine(void);\n\nvoid main(void) {\n if (mode == 0) { init(); }\n else { refine(); }\n}\n\nvoid init(void) {\n gl_FragColor = texture2D(curTex, fragTexCoord);\n}\n\nvoid refine(void) {\n vec3 red = texture2D(stamp, repeat * fragTexCoord).rgb;\n vec3 v1 = texture2D(lastTex, fragTexCoord).rgb;\n vec3 v2 = texture2D(curTex, fragTexCoord).rgb;\n if (red.r <= 0.5) {\n gl_FragColor = vec4(v1, 1.0);\n }\n else {\n gl_FragColor = vec4(v2, 1.0);\n }\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[TextureRefinementShader] FragmentShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BlurShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.BlurShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec2 position;\nvarying vec2 vPosition;\nvoid main(void) {\n vPosition = position;\n gl_Position = vec4(position, -1.0, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[BlurShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.BlurShader.prototype.generateFragmentShader=function(e){var t="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";t+="precision highp float;\n",t+="#else\n",t+=" precision mediump float;\n",t+="#endif\n\n",t+="varying vec2 vPosition;\nuniform sampler2D texture;\nuniform bool horizontal;\nuniform float pixelSizeHor;\nuniform float pixelSizeVert;\nuniform int filterSize;\n",x3dom.caps.FP_TEXTURES?t+="void main(void) {\n vec2 texCoords = (vPosition + 1.0)*0.5;\n vec2 offset;\n if (horizontal) offset = vec2(pixelSizeHor, 0.0);\n else offset = vec2(0.0, pixelSizeVert);\n vec4 color = texture2D(texture, texCoords);\n if (filterSize == 3){\n color = color * 0.3844;\n color += 0.3078*texture2D(texture, texCoords-offset);\n color += 0.3078*texture2D(texture, texCoords+offset);\n } else if (filterSize == 5){\n color = color * 0.2921;\n color += 0.2339*texture2D(texture, texCoords-offset);\n color += 0.2339*texture2D(texture, texCoords+offset);\n color += 0.1201*texture2D(texture, texCoords-2.0*offset);\n color += 0.1201*texture2D(texture, texCoords+2.0*offset);\n } else if (filterSize == 7){\n color = color * 0.2161;\n color += 0.1907*texture2D(texture, texCoords-offset);\n color += 0.1907*texture2D(texture, texCoords+offset);\n color += 0.1311*texture2D(texture, texCoords-2.0*offset);\n color += 0.1311*texture2D(texture, texCoords+2.0*offset);\n color += 0.0702*texture2D(texture, texCoords-3.0*offset);\n color += 0.0702*texture2D(texture, texCoords+3.0*offset);\n }\n gl_FragColor = color;\n}\n":t+=x3dom.shader.rgbaPacking()+"void main(void) {\n vec2 texCoords = (vPosition + 1.0)*0.5;\n vec2 offset;\n if (horizontal) offset = vec2(pixelSizeHor, 0.0);\n else offset = vec2(0.0, pixelSizeVert);\n float depth = unpackDepth(texture2D(texture, texCoords));\n if (filterSize == 3){\n depth = depth * 0.3844;\n depth += 0.3078*unpackDepth(texture2D(texture, texCoords-offset));\n depth += 0.3078*unpackDepth(texture2D(texture, texCoords+offset));\n } else if (filterSize == 5){\n depth = depth * 0.2921;\n depth += 0.2339*unpackDepth(texture2D(texture, texCoords-offset));\n depth += 0.2339*unpackDepth(texture2D(texture, texCoords+offset));\n depth += 0.1201*unpackDepth(texture2D(texture, texCoords-2.0*offset));\n depth += 0.1201*unpackDepth(texture2D(texture, texCoords+2.0*offset));\n } else if (filterSize == 7){\n depth = depth * 0.2161;\n depth += 0.1907*unpackDepth(texture2D(texture, texCoords-offset));\n depth += 0.1907*unpackDepth(texture2D(texture, texCoords+offset));\n depth += 0.1311*unpackDepth(texture2D(texture, texCoords-2.0*offset));\n depth += 0.1311*unpackDepth(texture2D(texture, texCoords+2.0*offset));\n depth += 0.0702*unpackDepth(texture2D(texture, texCoords-3.0*offset));\n depth += 0.0702*unpackDepth(texture2D(texture, texCoords+3.0*offset));\n }\n gl_FragColor = packDepth(depth);\n}\n";var i=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||x3dom.debug.logError("[BlurShader] FragmentShader "+e.getShaderInfoLog(i)),i},x3dom.shader.SSAOShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.SSAOShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nvarying vec2 depthTexCoord;\nvarying vec2 randomTexCoord;\nuniform vec2 randomTextureTilingFactor;\n\nvoid main(void) {\n vec2 texCoord = (position.xy + 1.0) * 0.5;\n depthTexCoord = texCoord;\n randomTexCoord = randomTextureTilingFactor*texCoord;\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[SSAOShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.SSAOShader.depthReconsructionFunctionCode=function(){var e="uniform float depthReconstructionConstantA;\nuniform float depthReconstructionConstantB;\n";return x3dom.caps.FP_TEXTURES||(e+=x3dom.shader.rgbaPacking()),e+="float getDepth(vec2 depthTexCoord) {\n vec4 col = texture2D(depthTexture, depthTexCoord);\n float d;\n",x3dom.caps.FP_TEXTURES?e+=" d = col.b;\n":e+=" d = unpackDepth(col);\n",e+=" return depthReconstructionConstantB/(depthReconstructionConstantA+d);\n",e+="}\n"},x3dom.shader.SSAOShader.prototype.generateFragmentShader=function(e){var t="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";t+="precision highp float;\n",t+="#else\n",t+=" precision mediump float;\n",t+="#endif\n\n",t+="uniform sampler2D depthTexture;\nuniform sampler2D randomTexture;\nuniform float nearPlane;\nuniform float farPlane;\nuniform float radius;\nuniform float depthBufferEpsilon;\nuniform vec3 samples[16];\nvarying vec2 depthTexCoord;\nvarying vec2 randomTexCoord;\n",t+=x3dom.shader.SSAOShader.depthReconsructionFunctionCode(),t+="void main(void) {\n float referenceDepth = getDepth(depthTexCoord);\n if(referenceDepth == 1.0)\n {\n gl_FragColor = vec4(1.0,1.0,1.0, 1.0);\n return;\n }\n int numOcclusions = 0;\n for(int i = 0; i<16; ++i){\n float scale = 1.0/referenceDepth;\n vec3 samplepos = reflect(samples[i],texture2D(randomTexture,randomTexCoord).xyz*2.0-vec3(1.0,1.0,1.0));\n float sampleDepth = getDepth(depthTexCoord+samplepos.xy*scale*radius);\n //if(abs(sampleDepth-referenceDepth)<=radius*(1.0/nearPlane))\n if( sampleDepth < referenceDepth-depthBufferEpsilon) {\n ++numOcclusions;\n }\n }\n float r = 1.0-float(numOcclusions)/16.0;\n r*=2.0;\n gl_FragColor = vec4(r,r,r, 1.0);\n}\n";var i=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||x3dom.debug.logError("[SSAOhader] FragmentShader "+e.getShaderInfoLog(i)),i},x3dom.shader.SSAOBlurShader=function(e){this.program=e.createProgram();var t=this.generateVertexShader(e),i=this.generateFragmentShader(e);return e.attachShader(this.program,t),e.attachShader(this.program,i),e.bindAttribLocation(this.program,0,"position"),e.linkProgram(this.program),this.program},x3dom.shader.SSAOBlurShader.prototype.generateVertexShader=function(e){var t=e.createShader(e.VERTEX_SHADER);return e.shaderSource(t,"attribute vec3 position;\nvarying vec2 fragTexCoord;\n\nvoid main(void) {\n vec2 texCoord = (position.xy + 1.0) * 0.5;\n fragTexCoord = texCoord;\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n"),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||x3dom.debug.logError("[SSAOShader] VertexShader "+e.getShaderInfoLog(t)),t},x3dom.shader.SSAOBlurShader.prototype.generateFragmentShader=function(e){var t="#ifdef GL_FRAGMENT_PRECISION_HIGH\n";t+="precision highp float;\n",t+="#else\n",t+=" precision mediump float;\n",t+="#endif\n\n",t+="uniform sampler2D SSAOTexture;\nuniform sampler2D depthTexture;\nuniform float nearPlane;\nuniform float farPlane;\nuniform float amount;\nuniform vec2 pixelSize;\nuniform float depthThreshold;\nvarying vec2 fragTexCoord;\n",t+=x3dom.shader.SSAOShader.depthReconsructionFunctionCode(),t+="void main(void) {\n float sum = 0.0;\n float numSamples = 0.0;\n float referenceDepth = getDepth(fragTexCoord);\n for(int i = -2; i<2;i++){\n for(int j = -2; j<2;j++){\n vec2 sampleTexCoord = fragTexCoord+vec2(pixelSize.x*float(i),pixelSize.y*float(j));\n if(abs(referenceDepth - getDepth(sampleTexCoord))<depthThreshold){\n sum+= texture2D(SSAOTexture,sampleTexCoord).r;\n numSamples++;\n }}}\n float intensity = mix(1.0,sum/numSamples,amount);\n gl_FragColor = vec4(intensity,intensity,intensity,1.0);\n}\n";var i=e.createShader(e.FRAGMENT_SHADER);return e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||x3dom.debug.logError("[SSAOhader] FragmentShader "+e.getShaderInfoLog(i)),i},x3dom.shader.FRAG_COLOR="x3dom_fragColor",x3dom.shader.convertVertexShader=function(e){return"#version 300 es\n"+(e=(e=(e=e.replace(/attribute/g,"in")).replace(/varying/g,"out")).replace(/texture2D/g,"texture"))},x3dom.shader.convertFragmentShader=function(e){return"#version 300 es\n"+(e=(e=(e=(e=(e=e.replace(/varying/g,"in")).replace(/textureCubeLodEXT/g,"textureLod")).replace(/texture2D|textureCube/g,"texture")).replace(/\/\/@insertFragColor/g,"out vec4 "+x3dom.shader.FRAG_COLOR+";\n")).replace(/gl_FragColor/g,x3dom.shader.FRAG_COLOR))},x3dom.registerNodeType("X3DNode","Core",defineClass(null,(function(e){this._xmlNode=null,this._runtime=e&&e.runtime?e.runtime:null,this._DEF=null,this._nameSpace=e&&e.nameSpace?e.nameSpace:null,this._vf={},this._vfFieldTypes={},this._cf={},this._cfFieldTypes={},this._fieldWatchers={},this._routes={},this._listeners={},this._parentNodes=[],this._childNodes=[],this.addField_SFNode("metadata",x3dom.nodeTypes.X3DMetadataObject)}),{type:function(){return this.constructor},typeName:function(){return this.constructor._typeName},addChild:function(e,t){if(e&&"isProtoInstance"in e){if(this.addChild(e.typeNode,t),e.helperNodes.length>0){var i=new x3dom.nodeTypes.Switch;i._nameSpace=this._nameSpace,e.helperNodes.forEach((function(e){i.addChild(e,"children")})),this.addChild2(i)}}else this.addChild2(e,t)},addChild2:function(e,t){if(e){var i=null;if(t)i=this._cf[t];else for(var n in this._cf)if(this._cf.hasOwnProperty(n)){var _=this._cf[n];if(x3dom.isa(e,_.type)){i=_;break}}if(i&&i.addLink(e))return e._parentNodes.push(this),this._childNodes.push(e),"isProtoInstance"in this||e.parentAdded(this),!0;if("isProtoInstance"in this)if("isProtoInstance"in e)this.nodes.concat(e.nodes);else{this.nodes.push(e),that=this,function e(t){Object.keys(t).forEach((function(i){t[i].node&&t[i].node._DEF&&(that.innerNameSpace.defMap[t[i].node._DEF]=t[i].node),t[i].node&&t[i].node._cf&&e(t[i].node._cf)}))}({child:{node:e}})}}return!1},removeChild:function(e,t,i){if(t=t||"any",e)for(var n in this._cf){if(this._cf.hasOwnProperty(n)&&("any"==t||n==t))if(this._cf[n].rmLink(e)||i){for(var _=e._parentNodes.length-1;_>=0;_--)e._parentNodes[_]===this&&(e._parentNodes.splice(_,1),e.parentRemoved(this));for(var r=this._childNodes.length-1;r>=0;r--)if(this._childNodes[r]===e)return e.onRemove(),this._childNodes.splice(r,1),!0}}return!1},onRemove:function(){},parentAdded:function(e){},parentRemoved:function(e){for(var t=0,i=this._childNodes.length;t<i;t++)this._childNodes[t]&&this._childNodes[t].parentRemoved(this)},getCurrentTransform:function(){return this._parentNodes.length>=1?this.transformMatrix(this._parentNodes[0].getCurrentTransform()):x3dom.fields.SFMatrix4f.identity()},transformMatrix:function(e){return e},getVolume:function(){return null},invalidateVolume:function(){},invalidateCache:function(){},volumeValid:function(){return!1},collectDrawableObjects:function(e,t,i,n,_,r){},highlight:function(e,t){this._vf.hasOwnProperty("diffuseColor")&&(e?(void 0===this._actDiffuseColor&&(this._actDiffuseColor=new x3dom.fields.SFColor,this._highlightOn=!1),this._highlightOn||(this._actDiffuseColor.setValues(this._vf.diffuseColor),this._highlightOn=!0),this._vf.diffuseColor.setValues(t)):void 0!==this._actDiffuseColor&&(this._vf.diffuseColor.setValues(this._actDiffuseColor),this._highlightOn=!1,delete this._actDiffuseColor));for(var i=0,n=this._childNodes.length;i<n;i++)this._childNodes[i]&&this._childNodes[i].highlight(e,t)},getRuntime:function(){return this._runtime},findX3DDoc:function(){return this._nameSpace?this._nameSpace.doc:null},doIntersect:function(e){for(var t=!1,i=0;i<this._childNodes.length;i++)this._childNodes[i]&&(t=this._childNodes[i].doIntersect(e)||t);return t},postMessage:function(e,t){this._vf[e]=t;var i=this._fieldWatchers[e],n=this;i&&i.forEach((function(e){e.call(n,t)}));var _={target:n._xmlNode,type:"outputchange",fieldName:e,value:t};this.callEvtHandler("onoutputchange",_)},updateField:function(e,t){var i=this._vf[e];if(void 0===i){for(var n in this._vf)if(n.toLowerCase()==e){e=n,i=this._vf[e];break}if(void 0===i&&0==e.indexOf("set_")){var _=e.substr("set_".length,e.length-1);void 0!==this._vf[_]&&(e=_,i=this._vf[e])}void 0===i&&(i=null,this._vf[e]=i)}if(null!==i){try{this._vf[e].setValueByStr(t)}catch(n){try{switch((typeof this._vf[e]).toString()){case"number":this._vf[e]="number"==typeof t?t:+t;break;case"boolean":this._vf[e]="boolean"==typeof t?t:"true"==t.toLowerCase();break;case"string":this._vf[e]=t}}catch(e){x3dom.debug.logError("updateField: setValueByStr() NYI for "+typeof i)}}this.fieldChanged(e)}},setupRoute:function(e,t,i){var n,_="set_",r="_changed";this._vf[e]||(0===e.indexOf(_)?(n=e.substr(_.length,e.length-1),void 0!==this._vf[n]&&(e=n)):e.indexOf(r)>0&&(n=e.substr(0,e.length-r.length),void 0!==this._vf[n]&&(e=n))),t._vf[i]||(0===i.indexOf(_)?(n=i.substr(_.length,i.length-1),void 0!==t._vf[n]&&(i=n)):i.indexOf(r)>0&&(n=i.substr(0,i.length-r.length),void 0!==t._vf[n]&&(i=n)));var o=this._DEF+"&"+e+"&"+t._DEF+"&"+i;this._routes[o]||(this._fieldWatchers[e]||(this._fieldWatchers[e]=[]),this._fieldWatchers[e].push((function(e){t.postMessage(i,e)})),t._fieldWatchers[i]||(t._fieldWatchers[i]=[]),t._fieldWatchers[i].push((function(e){t._vf[i]=e,t.fieldChanged(i)})),this._routes[o]={from:this._fieldWatchers[e].length-1,to:t._fieldWatchers[i].length-1})},removeRoute:function(e,t,i){var n,_="set_",r="_changed";this._vf[e]||(0===e.indexOf(_)?(n=e.substr(_.length,e.length-1),void 0!==this._vf[n]&&(e=n)):e.indexOf(r)>0&&(n=e.substr(0,e.length-r.length),void 0!==this._vf[n]&&(e=n))),t._vf[i]||(0===i.indexOf(_)?(n=i.substr(_.length,i.length-1),void 0!==t._vf[n]&&(i=n)):i.indexOf(r)>0&&(n=i.substr(0,i.length-r.length),void 0!==t._vf[n]&&(i=n)));var o=this._DEF+"&"+e+"&"+t._DEF+"&"+i;this._routes[o]&&(this._fieldWatchers[e].splice(this._routes[o].from,1),t._fieldWatchers[i].splice(this._routes[o].to,1),delete this._routes[o])},fieldChanged:function(e){},nodeChanged:function(){},callEvtHandler:function(e,t){var i=this._xmlNode;if(!this._xmlNode)return t.cancelBubble;if(!i.getAttribute(e)&&!i[e]&&!this._listeners[t.type])return t.cancelBubble;try{var n=i[e];if(t.target=i,"function"==typeof n)n.call(this._xmlNode,t);else if(i.hasAttribute(e)){var _=i.getAttribute(e);new Function("event",_).call(i,t)}var r=this._listeners[t.type];if(r)for(var o=0;o<r.length;o++)r[o].call(i,t)}catch(e){x3dom.debug.logException(e)}return t.cancelBubble},hasEventListener:function(e){return this._xmlNode&&(this._xmlNode["on"+e]||this._xmlNode.hasAttribute("on"+e)||this._listeners[e])},initSetter:function(e,t){if(e&&t){var i=t.toLowerCase();if(e.__defineSetter__&&e.__defineGetter__?(e.__defineSetter__(t,(function(i){e.setAttribute(t,i)})),e.__defineGetter__(t,(function(){return e.getAttribute(t)})),i!=t&&(e.__defineSetter__(i,(function(i){e.setAttribute(t,i)})),e.__defineGetter__(i,(function(){return e.getAttribute(t)})))):Object.defineProperty(e,t,{set:function(i){e.setAttribute(t,i)},get:function(){return e.getAttribute(t)},configurable:!0,enumerable:!0}),this._vf[t]&&!e.attributes[t]&&!e.attributes[t.toLowerCase()]){var n="";try{n=this._vf[t].toGL?this._vf[t].toGL().toString():this._vf[t].toString()}catch(e){n=this._vf[t].toString()}n||(n=""),e.setAttribute(t,n)}}},addField_SFInt32:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?parseInt(e.xmlNode.getAttribute(t),10):i,e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFInt32"},addField_SFFloat:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?+e.xmlNode.getAttribute(t):i,e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFFloat"},addField_SFDouble:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?+e.xmlNode.getAttribute(t):i,e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFDouble"},addField_SFTime:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?+e.xmlNode.getAttribute(t):i,e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFTime"},addField_SFBool:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?"true"===e.xmlNode.getAttribute(t).toLowerCase():i,e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFBool"},addField_SFString:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?e.xmlNode.getAttribute(t):i,e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFString"},addField_SFColor:function(e,t,i,n,_){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFColor.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFColor(i,n,_),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFColor"},addField_SFColorRGBA:function(e,t,i,n,_,r){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFColorRGBA.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFColorRGBA(i,n,_,r),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFColorRGBA"},addField_SFVec2f:function(e,t,i,n){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFVec2f.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFVec2f(i,n),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFVec2f"},addField_SFVec3f:function(e,t,i,n,_){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFVec3f.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFVec3f(i,n,_),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFVec3f"},addField_SFVec4f:function(e,t,i,n,_,r){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFVec4f.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFVec4f(i,n,_,r),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFVec4f"},addField_SFVec3d:function(e,t,i,n,_){this.addField_SFVec3f(e,t,i,n,_),this._vfFieldTypes[t]="SFVec3d"},addField_SFRotation:function(e,t,i,n,_,r){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.Quaternion.parseAxisAngle(e.xmlNode.getAttribute(t)):x3dom.fields.Quaternion.axisAngle(new x3dom.fields.SFVec3f(i,n,_),r),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFRotation"},addField_SFMatrix4f:function(e,t,i,n,_,r,o,s,a,p,l,d,c,b,u,m,h,f){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFMatrix4f.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFMatrix4f(i,n,_,r,o,s,a,p,l,d,c,b,u,m,h,f),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFMatrix4f"},addField_SFImage:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.SFImage.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.SFImage(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="SFImage"},addField_MFString:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFString.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFString(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFString"},addField_MFBoolean:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFBoolean.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFBoolean(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFBoolean"},addField_MFInt32:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFInt32.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFInt32(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFInt32"},addField_MFFloat:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFFloat.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFFloat(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFFloat"},addField_MFDouble:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFFloat.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFFloat(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFDouble"},addField_MFColor:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFColor.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFColor(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFColor"},addField_MFColorRGBA:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFColorRGBA.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFColorRGBA(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFColorRGBA"},addField_MFVec2f:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFVec2f.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFVec2f(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFVec2f"},addField_MFVec3f:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFVec3f.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFVec3f(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFVec3f"},addField_MFVec3d:function(e,t,i){this.addField_MFVec3f(e,t,i),this._vfFieldTypes[t]="MFVec3d"},addField_MFRotation:function(e,t,i){this._vf[t]=e&&e.xmlNode&&e.xmlNode.hasAttribute(t)?x3dom.fields.MFRotation.parse(e.xmlNode.getAttribute(t)):new x3dom.fields.MFRotation(i),e&&e.xmlNode&&this.initSetter(e.xmlNode,t),this._vfFieldTypes[t]="MFRotation"},addField_SFNode:function(e,t){this._cf[e]=new x3dom.fields.SFNode(t),this._cfFieldTypes[e]="SFNode"},addField_MFNode:function(e,t){this._cf[e]=new x3dom.fields.MFNode(t),this._cfFieldTypes[e]="MFNode"}})),x3dom.registerNodeType("X3DMetadataObject","Core",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DMetadataObject.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_SFString(e,"reference","")}))),x3dom.registerNodeType("MetadataBoolean","Core",defineClass(x3dom.nodeTypes.X3DMetadataObject,(function(e){x3dom.nodeTypes.MetadataBoolean.superClass.call(this,e),this.addField_MFBoolean(e,"value",[])}))),x3dom.registerNodeType("MetadataDouble","Core",defineClass(x3dom.nodeTypes.X3DMetadataObject,(function(e){x3dom.nodeTypes.MetadataDouble.superClass.call(this,e),this.addField_MFDouble(e,"value",[])}))),x3dom.registerNodeType("MetadataFloat","Core",defineClass(x3dom.nodeTypes.X3DMetadataObject,(function(e){x3dom.nodeTypes.MetadataFloat.superClass.call(this,e),this.addField_MFFloat(e,"value",[])}))),x3dom.registerNodeType("MetadataInteger","Core",defineClass(x3dom.nodeTypes.X3DMetadataObject,(function(e){x3dom.nodeTypes.MetadataInteger.superClass.call(this,e),this.addField_MFInt32(e,"value",[])}))),x3dom.registerNodeType("MetadataSet","Core",defineClass(x3dom.nodeTypes.X3DMetadataObject,(function(e){x3dom.nodeTypes.MetadataSet.superClass.call(this,e),this.addField_MFNode("value",x3dom.nodeTypes.X3DMetadataObject)}))),x3dom.registerNodeType("MetadataString","Core",defineClass(x3dom.nodeTypes.X3DMetadataObject,(function(e){x3dom.nodeTypes.MetadataString.superClass.call(this,e),this.addField_MFString(e,"value",[])}))),x3dom.registerNodeType("Field","Core",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.Field.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_SFString(e,"type",""),this.addField_SFString(e,"value","")}),{fieldChanged:function(e){var t=this;"value"===e&&this._parentNodes.forEach((function(e){e.fieldChanged(t._vf.name)}))}})),x3dom.registerNodeType("X3DChildNode","Core",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DChildNode.superClass.call(this,e)}))),x3dom.registerNodeType("X3DBindableNode","Core",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DBindableNode.superClass.call(this,e),this.addField_SFBool(e,"bind",!1),this.addField_SFString(e,"description",""),this.addField_SFBool(e,"isActive",!1),this._autoGen=!(!e||!e.autoGen),this._autoGen&&(this._vf.description="default"+this.constructor.superClass._typeName),this._stack=null,this._bindAnimation=!0}),{bind:function(e){this._stack?e?this._stack.push(this):this._stack.pop(this):x3dom.debug.logError("No BindStack in "+this.typeName()+"Bindable")},activate:function(e){this.postMessage("isActive",!0),x3dom.debug.logInfo("activate "+this.typeName()+"Bindable "+this._DEF+"/"+this._vf.description)},deactivate:function(e){this.postMessage("isActive",!1),x3dom.debug.logInfo("deactivate "+this.typeName()+"Bindable "+this._DEF+"/"+this._vf.description)},fieldChanged:function(e){e.indexOf("bind")>=0&&this.bind(this._vf.bind)},nodeChanged:function(){this._stack=this._nameSpace.doc._bindableBag.addBindable(this)}})),x3dom.registerNodeType("X3DInfoNode","Core",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DInfoNode.superClass.call(this,e)}))),x3dom.registerNodeType("WorldInfo","Core",defineClass(x3dom.nodeTypes.X3DInfoNode,(function(e){x3dom.nodeTypes.WorldInfo.superClass.call(this,e),this.addField_MFString(e,"info",[]),this.addField_SFString(e,"title",""),x3dom.debug.logInfo(this._vf.info),x3dom.debug.logInfo(this._vf.title)}))),x3dom.registerNodeType("X3DSensorNode","Core",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DSensorNode.superClass.call(this,e),this.addField_SFBool(e,"enabled",!0)}))),x3dom.registerNodeType("Param","Core",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.Param.superClass.call(this,e),x3dom.debug.logWarning('DEPRECATED: Param element needs to be child of X3D element [<a href="http://x3dom.org/docs/latest/configuration.html">DOCS</a>]')}))),x3dom.registerNodeType("X3DBoundedObject","Grouping",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DBoundedObject.superClass.call(this,e),this.addField_SFBool(e,"render",!0),this.addField_SFBool(e,"visible",!0),this.addField_SFVec3f(e,"bboxCenter",0,0,0),this.addField_SFVec3f(e,"bboxSize",-1,-1,-1),this._graph={boundedNode:this,localMatrix:x3dom.fields.SFMatrix4f.identity(),globalMatrix:null,volume:new x3dom.fields.BoxVolume,lastVolume:new x3dom.fields.BoxVolume,worldVolume:new x3dom.fields.BoxVolume,center:new x3dom.fields.SFVec3f(0,0,0),coverage:-1,needCulling:!0},this._render=!0}),{fieldChanged:function(e){this._vf.hasOwnProperty(e)&&this.invalidateVolume()},nodeChanged:function(){this.invalidateVolume()},parentAdded:function(e){this.invalidateVolume()},getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag())for(var t=0,i=this._childNodes.length;t<i;t++){var n=this._childNodes[t];if(n&&(!n.renderFlag||!0===n.renderFlag())){var _=n.getVolume();_&&_.isValid()&&e.extendBounds(_.min,_.max)}}if(!e.equals(this._graph.lastVolume)){this._graph.lastVolume=x3dom.fields.BoxVolume.copy(e);var r={target:this._xmlNode,type:"volumechanged",volume:x3dom.fields.BoxVolume.copy(e)};this.callEvtHandler("onvolumechanged",r)}return e},invalidateVolume:function(){var e=this._graph;e.volume.invalidate(),e.worldVolume.invalidate(),e.globalMatrix=null;for(var t=0,i=this._parentNodes.length;t<i;t++){var n=this._parentNodes[t];n&&n.invalidateVolume()}},invalidateCache:function(){var e=this._graph;e.worldVolume.invalidate(),e.globalMatrix=null},cacheInvalid:function(){return null==this._graph.globalMatrix||!this._graph.worldVolume.isValid()},volumeValid:function(){return this._graph.volume.isValid()},graphState:function(){return this._graph},forceUpdateCoverage:function(){return!1},renderFlag:function(){return this._render!==this._vf.render?(this._vf.visible=this._vf.render,this._render=this._vf.visible):this._render!==this._vf.visible&&(this._vf.render=this._vf.visible,this._render=this._vf.visible),this._render}})),x3dom.registerNodeType("X3DGroupingNode","Grouping",defineClass(x3dom.nodeTypes.X3DBoundedObject,(function(e){x3dom.nodeTypes.X3DGroupingNode.superClass.call(this,e),this.addField_MFNode("children",x3dom.nodeTypes.X3DChildNode)}),{collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<0)){var o,s;i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),s=this._graph.globalMatrix):s=this.transformMatrix(e);var a=this._childNodes.length;if(x3dom.nodeTypes.ClipPlane.count>0){for(var p=[],l=0;l<a;l++)(o=this._childNodes[l])&&x3dom.isa(o,x3dom.nodeTypes.ClipPlane)&&o._vf.on&&o._vf.enabled&&p.push({plane:o,trafo:s});r=p.concat(r)}for(var d=0;d<a;d++)(o=this._childNodes[d])&&o.collectDrawableObjects(s,t,i,n,_,r)}}})),x3dom.registerNodeType("Switch","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Switch.superClass.call(this,e),this.addField_SFInt32(e,"whichChoice",-1)}),{fieldChanged:function(e){"whichChoice"==e&&this.invalidateVolume()},getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag()&&this._vf.whichChoice>=0&&this._vf.whichChoice<this._childNodes.length){var t=this._childNodes[this._vf.whichChoice],i=t&&t.renderFlag&&!0===t.renderFlag()?t.getVolume():null;i&&i.isValid()&&e.extendBounds(i.min,i.max)}return e},collectDrawableObjects:function(e,t,i,n,_,r){var o,s;(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),this._vf.whichChoice<0||this._vf.whichChoice>=this._childNodes.length||(_=t.cull(e,this.graphState(),i,_))<0)||(i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),s=this._graph.globalMatrix):s=this.transformMatrix(e),(o=this._childNodes[this._vf.whichChoice])&&o.collectDrawableObjects(s,t,i,n,_,r))},doIntersect:function(e){if(this._vf.whichChoice<0||this._vf.whichChoice>=this._childNodes.length)return!1;var t=this._childNodes[this._vf.whichChoice];return!!t&&t.doIntersect(e)}})),x3dom.registerNodeType("X3DTransformNode","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.X3DTransformNode.superClass.call(this,e),e?e.doc._nodeBag.trans.push(this):x3dom.debug.logWarning("X3DTransformNode: No runtime context found!"),this._trafo=null,this._needCssStyleUpdates=!0}),{tick:function(e){var t=this._xmlNode;if(t&&(t.ontransform||t.hasAttribute("ontransform")||this._listeners.transform)){var i=this.getCurrentTransform(),n={target:t,type:"transform",worldX:i._03,worldY:i._13,worldZ:i._23,cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0}};this.callEvtHandler("ontransform",n)}if(this._needCssStyleUpdates&&t){var _=x3dom.getStyle(t,"-webkit-transform")||x3dom.getStyle(t,"-moz-transform")||x3dom.getStyle(t,"-ms-transform")||x3dom.getStyle(t,"transform");if(_&&"none"!=_)return this._trafo.setValueByStr(_),this.invalidateVolume(),!0;this._needCssStyleUpdates=!1}return!1},transformMatrix:function(e){return e.mult(this._trafo)},getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag()){this._graph.localMatrix=this._trafo;for(var t=0,i=this._childNodes.length;t<i;t++){var n=this._childNodes[t];if(n&&(!n.renderFlag||!0===n.renderFlag())){var _=n.getVolume();_&&_.isValid()&&e.extendBounds(_.min,_.max)}}e.isValid()&&e.transform(this._trafo)}return e},doIntersect:function(e){var t=!1,i=this._trafo.inverse(),n=new x3dom.fields.SFVec3f(e.pos.x,e.pos.y,e.pos.z),_=new x3dom.fields.SFVec3f(e.dir.x,e.dir.y,e.dir.z);e.pos=i.multMatrixPnt(e.pos),e.dir=i.multMatrixVec(e.dir),e.hitObject&&(e.dist*=e.dir.length());for(var r=0;r<this._childNodes.length;r++)this._childNodes[r]&&(t=this._childNodes[r].doIntersect(e)||t);return e.pos.setValues(n),e.dir.setValues(_),t&&(e.hitPoint=this._trafo.multMatrixPnt(e.hitPoint),e.dist*=e.dir.length()),t},parentRemoved:function(e){var t,i,n=this.findX3DDoc();if(n)for(t=0,i=n._nodeBag.trans.length;t<i;t++)n._nodeBag.trans[t]===this&&n._nodeBag.trans.splice(t,1);for(t=0,i=this._childNodes.length;t<i;t++)this._childNodes[t]&&this._childNodes[t].parentRemoved(this)}})),x3dom.registerNodeType("Transform","Grouping",defineClass(x3dom.nodeTypes.X3DTransformNode,(function(e){x3dom.nodeTypes.Transform.superClass.call(this,e),this.addField_SFVec3f(e,"center",0,0,0),this.addField_SFVec3f(e,"translation",0,0,0),this.addField_SFRotation(e,"rotation",0,0,1,0),this.addField_SFVec3f(e,"scale",1,1,1),this.addField_SFRotation(e,"scaleOrientation",0,0,1,0),this._trafo=x3dom.fields.SFMatrix4f.translation(this._vf.translation.add(this._vf.center)).mult(this._vf.rotation.toMatrix()).mult(this._vf.scaleOrientation.toMatrix()).mult(x3dom.fields.SFMatrix4f.scale(this._vf.scale)).mult(this._vf.scaleOrientation.toMatrix().inverse()).mult(x3dom.fields.SFMatrix4f.translation(this._vf.center.negate()))}),{fieldChanged:function(e){"center"==e||"translation"==e||"rotation"==e||"scale"==e||"scaleOrientation"==e?(this._trafo=x3dom.fields.SFMatrix4f.translation(this._vf.translation.add(this._vf.center)).mult(this._vf.rotation.toMatrix()).mult(this._vf.scaleOrientation.toMatrix()).mult(x3dom.fields.SFMatrix4f.scale(this._vf.scale)).mult(this._vf.scaleOrientation.toMatrix().inverse()).mult(x3dom.fields.SFMatrix4f.translation(this._vf.center.negate())),this.invalidateVolume()):"render"==e&&this.invalidateVolume()}})),x3dom.registerNodeType("MatrixTransform","Grouping",defineClass(x3dom.nodeTypes.X3DTransformNode,(function(e){x3dom.nodeTypes.MatrixTransform.superClass.call(this,e),this.addField_SFMatrix4f(e,"matrix",1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this._trafo=this._vf.matrix.transpose()}),{fieldChanged:function(e){"matrix"==e?(this._trafo=this._vf.matrix.transpose(),this.invalidateVolume()):"render"==e&&this.invalidateVolume()}})),x3dom.registerNodeType("Group","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Group.superClass.call(this,e)}))),x3dom.registerNodeType("Block","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Block.superClass.call(this,e),this.addField_MFString(e,"nameSpaceName",[])}))),x3dom.registerNodeType("StaticGroup","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.StaticGroup.superClass.call(this,e),x3dom.debug.logWarning("StaticGroup erroneously also bakes parent transforms, if happens use Group node!"),this.addField_SFBool(e,"debug",!1),this.addField_SFBool(e,"showDebugBoxVolumes",!1),this.addField_SFString(e,"bvhType","jsBIH"),this.addField_SFInt32(e,"maxObjectsPerNode",1),this.addField_SFInt32(e,"maxDepth",-1),this.addField_SFFloat(e,"minRelativeBBoxSize",.01),this.needBvhRebuild=!0,this.drawableCollection=null,this.bvh=null}),{getMaxDepth:function(){return-1==this._vf.maxDepth?"jsBIH"==this._vf.bvhType?50:4:this._vf.maxDepth},collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<0)){var o,s;if(i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),s=this._graph.globalMatrix):s=this.transformMatrix(e),this.needBvhRebuild){var a={viewArea:t.viewarea,sortTrans:t.sortTrans,viewMatrix:t.viewMatrix,projMatrix:t.projMatrix,sceneMatrix:t.sceneMatrix,frustumCulling:!1,smallFeatureThreshold:0,context:t.context};this.drawableCollection=new x3dom.DrawableCollection(a);var p,l=this._childNodes.length;for(p=0;p<l;p++)(o=this._childNodes[p])&&o.collectDrawableObjects(s,this.drawableCollection,i,n,_,r);this.drawableCollection.concat();var d=this._nameSpace.doc._scene,c=new x3dom.bvh.Settings(this._vf.debug,this._vf.showDebugBoxVolumes,this._vf.bvhType,this._vf.maxObjectsPerNode,this.getMaxDepth(),this._vf.minRelativeBBoxSize);for(this.bvh="jsBIH"==this._vf.bvhType?new x3dom.bvh.BIH(d,c):new x3dom.bvh.Culler(this.drawableCollection,d,c),(this._vf.debug||this._vf.showDebugBoxVolumes)&&(this.bvh=new x3dom.bvh.DebugDecorator(this.bvh,d,c)),l=this.drawableCollection.length,p=0;p<l;p++)this.bvh.addDrawable(this.drawableCollection.get(p));this.bvh.compile(),this._vf.debug&&this.bvh.showCompileStats(),this.needBvhRebuild=!1}x3dom.Utils.startMeasure("bvhTraverse"),this.bvh.collectDrawables(t);var b=x3dom.Utils.stopMeasure("bvhTraverse");this._nameSpace.doc.ctx.x3dElem.runtime.addMeasurement("BVH",b),this.bvh.showTraverseStats(this._nameSpace.doc.ctx.x3dElem.runtime)}}})),x3dom.registerNodeType("RemoteSelectionGroup","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.RemoteSelectionGroup.superClass.call(this,e),this.addField_MFString(e,"url",["ws://localhost:35668/cstreams/0"]),this.addField_MFString(e,"label",[]),this.addField_SFInt32(e,"maxRenderedIds",-1),this.addField_SFBool(e,"reconnect",!0),this.addField_SFFloat(e,"scaleRenderedIdsOnMove",1),this.addField_SFBool(e,"enableCulling",!0),this.addField_MFString(e,"invisibleNodes",[]),this._idList=[],this._websocket=null,this._nameObjMap={},this._createTime=[],this._visibleList=[],e?this.initializeSocket():x3dom.debug.logWarning("RemoteSelectionGroup: No runtime context found!")}),{initializeSocket:function(){var e=this;if("WebSocket"in window){var t="ws://localhost:35668/cstreams/0";this._vf.url.length&&this._vf.url[0].length&&(t=this._vf.url[0]),this._websocket=new WebSocket(t),this._websocket._lastMsg=null,this._websocket._lastData="",this._websocket.onopen=function(t){x3dom.debug.logInfo("WS Connected");var i=e._nameSpace.doc._viewarea.getViewMatrix();this._lastMsg=i.toGL().toString(),i=e._nameSpace.doc._viewarea.getProjectionMatrix(),this._lastMsg+=","+i.toGL().toString(),this.send(this._lastMsg),x3dom.debug.logInfo("WS Sent: "+this._lastMsg),this._lastMsg="",this._lastData=""},this._websocket.onclose=function(t){x3dom.debug.logInfo("WS Disconnected"),e._vf.reconnect&&window.setTimeout((function(){e.initializeSocket()}),2e3)},this._websocket.onmessage=function(t){if(e._vf.maxRenderedIds<0)e._idList=x3dom.fields.MFString.parse(t.data);else if(e._vf.maxRenderedIds>0){e._idList=[];for(var i=x3dom.fields.MFString.parse(t.data),n=Math.min(i.length,Math.abs(e._vf.maxRenderedIds)),_=0;_<n;++_)e._idList[_]=i[_]}0!=e._vf.maxRenderedIds&&this._lastData!=t.data&&(this._lastData=t.data,e._nameSpace.doc.needRender=!0,e.invalidateVolume())},this._websocket.onerror=function(e){x3dom.debug.logError(e.data)},this._websocket.updateCamera=function(){var t=e._nameSpace.doc._viewarea.getViewMatrix(),i=t.toGL().toString();i+=","+(t=e._nameSpace.doc._viewarea.getProjectionMatrix()).toGL().toString(),null!=this._lastMsg&&this._lastMsg!=i&&(this._lastMsg=i,this.send(i))}}else x3dom.debug.logError("Browser has no WebSocket support!")},nodeChanged:function(){var e=this._vf.label.length;this._nameObjMap={},this._createTime=new Array(e),this._visibleList=new Array(e);for(var t=0;t<e;++t){var i=this._childNodes[t];i&&x3dom.isa(i,x3dom.nodeTypes.X3DShapeNode)?(this._nameObjMap[this._vf.label[t]]={shape:i,pos:t},this._visibleList[t]=!0):(this._visibleList[t]=!1,x3dom.debug.logError("Invalid children: "+this._vf.label[t])),this._createTime[t]=0}this.invalidateVolume(),x3dom.debug.logInfo("RemoteSelectionGroup has "+e+" entries.")},fieldChanged:function(e){if("url"==e)this._websocket&&(this._websocket.close(),this._websocket=null),this.initializeSocket();else if("invisibleNodes"==e){for(var t=0,i=this._vf.label.length;t<i;++t){var n=this._childNodes[t];if(n&&x3dom.isa(n,x3dom.nodeTypes.X3DShapeNode)){this._visibleList[t]=!0;for(var _=0,r=this._vf.invisibleNodes.length;_<r;++_){var o=this._vf.invisibleNodes[_],s=o.lastIndexOf("*"),a=!1;if(s>0&&(o=o.substring(0,s),a=!0),!(o.length<=1)&&(a&&0==this._vf.label[t].indexOf(o)||this._vf.label[t]==o)){this._visibleList[t]=!1;break}}}else this._visibleList[t]=!1}this.invalidateVolume()}else"render"==e&&this.invalidateVolume()},getNumRenderedObjects:function(e,t){var i=e;if(this._vf.maxRenderedIds>0){var n=Math.max(this._vf.maxRenderedIds,16),_=1;t&&(_=Math.min(this._vf.scaleRenderedIdsOnMove,1)),n=Math.max(Math.round(_*n),0),i=Math.min(i,n)}return i},collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<=0)){var o,s,a=this._nameSpace.doc._viewarea.isMovingOrAnimating(),p=(new Date).getTime(),l=this._childNodes.length;if(this._vf.enableCulling){if(this._websocket&&this._websocket.updateCamera(),this._vf.label.length){for(s=this.getNumRenderedObjects(this._idList.length,a),o=0;o<s;o++){var d=this._nameObjMap[this._idList[o]];d&&d.shape?(d.shape.collectDrawableObjects(e,t,i,n,_,r),this._createTime[d.pos]=p):x3dom.debug.logError("Invalid label: "+this._idList[o])}for(o=0;o<this._childNodes.length;o++)this._childNodes[o]&&!a&&this._createTime[o]>0&&p-this._createTime[o]>1e4&&this._childNodes[o]._cleanupGLObjects&&(this._childNodes[o]._cleanupGLObjects(!0),this._createTime[o]=0)}}else{s=this.getNumRenderedObjects(l,a);var c=0;for(o=0;o<l;o++){var b=this._childNodes[o];if(b){var u=!0;this._visibleList[o]&&c<s&&b.collectDrawableObjects(e,t,i,n,_,r)&&(this._createTime[o]=p,c++,u=!1),u&&!a&&this._createTime[o]>0&&p-this._createTime[o]>1e4&&b._cleanupGLObjects&&(b._cleanupGLObjects(!0),this._createTime[o]=0)}}}}}})),x3dom.registerNodeType("Scene","Grouping",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Scene.superClass.call(this,e),this.addField_SFString(e,"pickMode","idBuf"),this.addField_SFBool(e,"doPickPass",!0),this.addField_SFString(e,"shadowObjectIdMapping",""),this._lastMin=new x3dom.fields.SFVec3f(0,0,0),this._lastMax=new x3dom.fields.SFVec3f(1,1,1),this._shadowIdMap=null,this.loadMapping()}),{fieldChanged:function(e){"shadowObjectIdMapping"==e&&this.loadMapping()},updateVolume:function(){var e=this.getVolume();e.isValid()&&(this._lastMin=x3dom.fields.SFVec3f.copy(e.min),this._lastMax=x3dom.fields.SFVec3f.copy(e.max))},loadMapping:function(){if(this._shadowIdMap=null,0!=this._vf.shadowObjectIdMapping.length){var e=this,t=new XMLHttpRequest;t.open("GET",this._nameSpace.getURL(this._vf.shadowObjectIdMapping),!0),x3dom.RequestManager.addRequest(t),t.onload=function(){e._shadowIdMap=JSON.parse(t.response),e._shadowIdMap&&e._shadowIdMap.mapping?x3dom.debug.assert(e._shadowIdMap.maxID<=e._shadowIdMap.mapping.length,"Too few ID map entries in "+e._vf.shadowObjectIdMapping+", length of mapping array is only "+e._shadowIdMap.mapping.length+" instead of "+e._shadowIdMap.ids.length+"!"):x3dom.debug.logWarning("Invalid ID map: "+e._vf.shadowObjectIdMapping)}}}})),x3dom.registerNodeType("X3DGeometryNode","Rendering",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DGeometryNode.superClass.call(this,e),this.addField_SFBool(e,"solid",!0),this.addField_SFBool(e,"ccw",!0),this.addField_SFBool(e,"useGeoCache",!!this._nameSpace&&"true"==this._nameSpace.doc.properties.getProperty("useGeoCache","true").toLowerCase()),this.addField_SFBool(e,"lit",!0),this._mesh=new x3dom.Mesh(this)}),{getVolume:function(){return this._mesh.getVolume()},invalidateVolume:function(){this._mesh.invalidate()},getCenter:function(){return this._mesh.getCenter()},getDiameter:function(){return this._mesh.getDiameter()},doIntersect:function(e){return this._mesh.doIntersect(e)},forceUpdateCoverage:function(){return!1},hasIndexOffset:function(){return!1},getColorTexture:function(){return null},getColorTextureURL:function(){return null},parentAdded:function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)&&(e._cleanupGLObjects&&e._cleanupGLObjects(!0),e.setAllDirty(),e.invalidateVolume())},needLighting:function(){var e=this._mesh._primType.indexOf("TRIANGLE")>=0;return this._vf.lit&&e}})),x3dom.registerNodeType("Mesh","Rendering",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.Mesh.superClass.call(this,e),this.addField_SFString(e,"primType","triangle"),this.addField_MFInt32(e,"index",[]),this.addField_MFNode("vertexAttributes",x3dom.nodeTypes.X3DVertexAttributeNode)}),{nodeChanged:function(){var e,t=(new Date).getTime(),i=this._cf.vertexAttributes.nodes.length;for(e=0;e<i;e++){var n=this._cf.vertexAttributes.nodes[e]._vf.name;switch(n.toLowerCase()){case"position":this._mesh._positions[0]=this._cf.vertexAttributes.nodes[e]._vf.value.toGL();break;case"normal":this._mesh._normals[0]=this._cf.vertexAttributes.nodes[e]._vf.value.toGL();break;case"texcoord":this._mesh._texCoords[0]=this._cf.vertexAttributes.nodes[e]._vf.value.toGL();break;case"color":this._mesh._colors[0]=this._cf.vertexAttributes.nodes[e]._vf.value.toGL();break;default:this._mesh._dynamicFields[n]={},this._mesh._dynamicFields[n].numComponents=this._cf.vertexAttributes.nodes[e]._vf.numComponents,this._mesh._dynamicFields[n].value=this._cf.vertexAttributes.nodes[e]._vf.value.toGL()}}this._mesh._indices[0]=this._vf.index.toGL(),this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3;var _=(new Date).getTime()-t;x3dom.debug.logWarning("Mesh load time: "+_+" ms")}})),x3dom.registerNodeType("PointSet","Rendering",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.PointSet.superClass.call(this,e),this.addField_SFNode("coord",x3dom.nodeTypes.X3DCoordinateNode),this.addField_SFNode("color",x3dom.nodeTypes.X3DColorNode),this.addField_SFNode("normal",x3dom.nodeTypes.Normal),this._mesh._primType="POINTS"}),{nodeChanged:function(){var e=(new Date).getTime(),t=this._cf.coord.node;x3dom.debug.assert(t,"PointSet without coord node!");var i=t.getPoints(),n=3,_=this._cf.color.node,r=new x3dom.fields.MFColor;_&&(r=_._vf.color,x3dom.debug.assert(i.length==r.length,"Size of color and coord array differs!"),x3dom.isa(_,x3dom.nodeTypes.ColorRGBA)&&(n=4));var o=this._cf.normal.node,s=new x3dom.fields.MFVec3f;o&&(s=o._vf.vector),this._mesh._numColComponents=n,this._mesh._lit=!1,this._mesh._indices[0]=[],this._mesh._positions[0]=i.toGL(),this._mesh._colors[0]=r.toGL(),this._mesh._normals[0]=s.toGL(),this._mesh._texCoords[0]=[],this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3;(new Date).getTime()},fieldChanged:function(e){var t=null;"coord"==e?(t=this._cf.coord.node.getPoints(),this._mesh._positions[0]=t.toGL(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))):"color"==e&&(t=this._cf.color.node._vf.color,this._mesh._colors[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.colors=!0})))},needLighting:function(){return this._vf.lit&&this._cf.normal.node}})),x3dom.registerNodeType("X3DComposedGeometryNode","Rendering",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.X3DComposedGeometryNode.superClass.call(this,e),this.addField_SFBool(e,"colorPerVertex",!0),this.addField_SFBool(e,"normalPerVertex",!0),this.addField_SFString(e,"normalUpdateMode","fast"),this.addField_MFNode("attrib",x3dom.nodeTypes.X3DVertexAttributeNode),this.addField_SFNode("coord",x3dom.nodeTypes.X3DCoordinateNode),this.addField_SFNode("normal",x3dom.nodeTypes.Normal),this.addField_SFNode("color",x3dom.nodeTypes.X3DColorNode),this.addField_SFNode("texCoord",x3dom.nodeTypes.X3DTextureCoordinateNode)}),{handleAttribs:function(){var e,t=this._cf.attrib.nodes.length;for(e=0;e<t;e++){var i=this._cf.attrib.nodes[e]._vf.name;switch(i.toLowerCase()){case"position":this._mesh._positions[0]=this._cf.attrib.nodes[e]._vf.value.toGL();break;case"normal":this._mesh._normals[0]=this._cf.attrib.nodes[e]._vf.value.toGL();break;case"texcoord":this._mesh._texCoords[0]=this._cf.attrib.nodes[e]._vf.value.toGL();break;case"color":this._mesh._colors[0]=this._cf.attrib.nodes[e]._vf.value.toGL();break;default:this._mesh._dynamicFields[i]={},this._mesh._dynamicFields[i].numComponents=this._cf.attrib.nodes[e]._vf.numComponents,this._mesh._dynamicFields[i].value=this._cf.attrib.nodes[e]._vf.value.toGL()}}}})),x3dom.registerNodeType("LineSet","Rendering",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.LineSet.superClass.call(this,e),this.addField_MFInt32(e,"vertexCount",[]),this.addField_MFNode("attrib",x3dom.nodeTypes.X3DVertexAttributeNode),this.addField_SFNode("coord",x3dom.nodeTypes.X3DCoordinateNode),this.addField_SFNode("color",x3dom.nodeTypes.X3DColorNode),this._mesh._primType="LINES",x3dom.Utils.needLineWidth=!0}),{nodeChanged:function(){var e=this._cf.coord.node;x3dom.debug.assert(e);var t=e.getPoints();this._mesh._positions[0]=t.toGL();var i=this._cf.color.node;if(i){var n=i._vf.color;this._mesh._colors[0]=n.toGL(),this._mesh._numColComponents=3,x3dom.isa(i,x3dom.nodeTypes.ColorRGBA)&&(this._mesh._numColComponents=4)}var _=0;this._mesh._indices[0]=[];for(var r=0,o=this._vf.vertexCount.length;r<o;r++){var s=this._vf.vertexCount[r];if(s<2){x3dom.debug.logError("LineSet.vertexCount must not be smaller than 2!");break}for(var a=s-2;a>=0;a--)this._mesh._indices[0].push(_++,_),0==a&&_++}},fieldChanged:function(e){if("coord"==e){var t=this._cf.coord.node.getPoints();this._mesh._positions[0]=t.toGL(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}else if("color"==e){var i=this._cf.color.node._vf.color;this._mesh._colors[0]=i.toGL(),this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}}})),x3dom.registerNodeType("IndexedLineSet","Rendering",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.IndexedLineSet.superClass.call(this,e),this.addField_SFBool(e,"colorPerVertex",!0),this.addField_MFNode("attrib",x3dom.nodeTypes.X3DVertexAttributeNode),this.addField_SFNode("coord",x3dom.nodeTypes.X3DCoordinateNode),this.addField_SFNode("color",x3dom.nodeTypes.X3DColorNode),this.addField_MFInt32(e,"coordIndex",[]),this.addField_MFInt32(e,"colorIndex",[]),this._mesh._primType="LINES",x3dom.Utils.needLineWidth=!0}),{_buildGeometry:function(){var e=(new Date).getTime(),t=this._vf.coordIndex;-1!=t.slice(-1)[0]&&t.push(-1);var i=t.filter((function(e){return-1==e})).length,n=this._vf.colorPerVertex,_=this._vf.colorIndex;if(0==_.length&&!n)for(;_.length<i;)_.push(_.length);var r,o,s=!1,a=!1;n&&_.length>=t.length&&(a=!0),!n&&_.length>=i&&(a=!0);var p=this._cf.coord.node;x3dom.debug.assert(p),r=p.getPoints();var l,d,c,b,u,m,h,f,g=3,C=this._cf.color.node;if(C&&(s=!0,o=C._vf.color,x3dom.isa(C,x3dom.nodeTypes.ColorRGBA)&&(g=4)),this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._colors[0]=[],s&&a||r.length>x3dom.Utils.maxIndexableCoords){for(d=0,c=0,b=0,l=0;l<t.length;++l)if(!(t[l]>r.length-1))if(-1!==t[l])switch(a&&x3dom.debug.assert(-1!=_[l]),d){case 0:u=+t[l],h=a&&n?+_[l]:a&&!n?+_[b]:u,d=1;break;case 1:y(this._mesh),d=2;break;case 2:u=m,h=f,y(this._mesh)}else d=0,b+=n?0:1;r.length>x3dom.Utils.maxIndexableCoords&&this._mesh.splitMesh(2)}else{var S=t.length;for(d=0,l=0;l<S;++l)if(-1!=t[l])switch(d){case 0:u=+t[l],d=1;break;case 1:m=+t[l],d=2,this._mesh._indices[0].push(u,m);break;case 2:u=m,m=+t[l],this._mesh._indices[0].push(u,m)}else d=0;this._mesh._positions[0]=r.toGL(),s&&(this._mesh._colors[0]=o.toGL(),this._mesh._numColComponents=g)}for(this.invalidateVolume(),this._mesh._numCoords=0,l=0;l<this._mesh._indices.length;l++)this._mesh._numCoords+=this._mesh._positions[l].length/3;(new Date).getTime();function y(e){m=+t[l],f=a&&n?+_[l]:a&&!n?+_[b]:m,e._indices[0].push(c++,c++),e._positions[0].push(r[u].x),e._positions[0].push(r[u].y),e._positions[0].push(r[u].z),e._positions[0].push(r[m].x),e._positions[0].push(r[m].y),e._positions[0].push(r[m].z),s&&(n||(h=f),e._colors[0].push(o[h].r),e._colors[0].push(o[h].g),e._colors[0].push(o[h].b),e._colors[0].push(o[f].r),e._colors[0].push(o[f].g),e._colors[0].push(o[f].b)),b+=n?1:0}},nodeChanged:function(){this._buildGeometry()},fieldChanged:function(e){"coord"==e?(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))):"color"==e?(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.colors=!0}))):"coordIndex"==e?(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.indexes=!0,e.invalidateVolume()}))):"colorIndex"==e&&(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.colors=!0,e.invalidateVolume()})))}})),x3dom.registerNodeType("IndexedTriangleSet","Rendering",defineClass(x3dom.nodeTypes.X3DComposedGeometryNode,(function(e){x3dom.nodeTypes.IndexedTriangleSet.superClass.call(this,e),this.addField_MFInt32(e,"index",[])}),{nodeChanged:function(){var e=(new Date).getTime();this.handleAttribs();var t,i,n,_,r=this._vf.colorPerVertex,o=this._vf.normalPerVertex,s=this._vf.ccw,a=this._vf.index,p=!1,l=!1,d=!1,c=this._cf.coord.node;x3dom.debug.assert(c),t=c._vf.point;var b=this._cf.normal.node;b?(p=!0,i=b._vf.vector):p=!1;var u="",m=2,h=this._cf.texCoord.node;x3dom.isa(h,x3dom.nodeTypes.MultiTextureCoordinate)&&h._cf.texCoord.nodes.length&&(h=h._cf.texCoord.nodes[0]),h?h._vf.point?(l=!0,n=h._vf.point,x3dom.isa(h,x3dom.nodeTypes.TextureCoordinate3D)&&(m=3)):h._vf.mode&&(u=h._vf.mode):l=!1;var f,g,C,S,y,v,x,M,T,D,P,w,A,F,R,I,B,V=3,E=this._cf.color.node;for(E?(d=!0,_=E._vf.color,x3dom.isa(E,x3dom.nodeTypes.ColorRGBA)&&(V=4)):d=!1,this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];t.length%3>0;)t.push(t.length-1);if(y=t.length,!o||!r||y>x3dom.Utils.maxIndexableCoords){for(g=0,C=0,S=0,this._mesh._multiIndIndices=[],this._mesh._posSize=t.length,f=0;f<a.length;++f)switch(f>0&&f%3==0&&(g=0,S++),g){case 0:v=+a[f],o?T=v:o||(T=S),w=v,r?R=v:r||(R=S),g=1;break;case 1:x=+a[f],o?D=x:o||(D=S),A=x,r?I=x:r||(I=S),g=2;break;case 2:M=+a[f],o?P=M:o||(P=S),F=M,r?B=M:r||(B=S),g=3,this._mesh._indices[0].push(C++,C++,C++),this._mesh._positions[0].push(t[v].x),this._mesh._positions[0].push(t[v].y),this._mesh._positions[0].push(t[v].z),this._mesh._positions[0].push(t[x].x),this._mesh._positions[0].push(t[x].y),this._mesh._positions[0].push(t[x].z),this._mesh._positions[0].push(t[M].x),this._mesh._positions[0].push(t[M].y),this._mesh._positions[0].push(t[M].z),p?(this._mesh._normals[0].push(i[T].x),this._mesh._normals[0].push(i[T].y),this._mesh._normals[0].push(i[T].z),this._mesh._normals[0].push(i[D].x),this._mesh._normals[0].push(i[D].y),this._mesh._normals[0].push(i[D].z),this._mesh._normals[0].push(i[P].x),this._mesh._normals[0].push(i[P].y),this._mesh._normals[0].push(i[P].z)):this._mesh._multiIndIndices.push(v,x,M),d&&(this._mesh._colors[0].push(_[R].r),this._mesh._colors[0].push(_[R].g),this._mesh._colors[0].push(_[R].b),4===V&&this._mesh._colors[0].push(_[R].a),this._mesh._colors[0].push(_[I].r),this._mesh._colors[0].push(_[I].g),this._mesh._colors[0].push(_[I].b),4===V&&this._mesh._colors[0].push(_[I].a),this._mesh._colors[0].push(_[B].r),this._mesh._colors[0].push(_[B].g),this._mesh._colors[0].push(_[B].b),4===V&&this._mesh._colors[0].push(_[B].a)),l&&(this._mesh._texCoords[0].push(n[w].x),this._mesh._texCoords[0].push(n[w].y),3===m&&this._mesh._texCoords[0].push(n[w].z),this._mesh._texCoords[0].push(n[A].x),this._mesh._texCoords[0].push(n[A].y),3===m&&this._mesh._texCoords[0].push(n[A].z),this._mesh._texCoords[0].push(n[F].x),this._mesh._texCoords[0].push(n[F].y),3===m&&this._mesh._texCoords[0].push(n[F].z))}p||this._mesh.calcNormals(o?Math.PI:0),l||this._mesh.calcTexCoords(u),this._mesh.splitMesh()}else{for(S=0,f=0;f<a.length;f++)f>0&&f%3==0&&S++,this._mesh._indices[0].push(a[f]),!o&&p&&(this._mesh._normals[0].push(i[S].x),this._mesh._normals[0].push(i[S].y),this._mesh._normals[0].push(i[S].z)),!r&&d&&(this._mesh._colors[0].push(_[S].r),this._mesh._colors[0].push(_[S].g),this._mesh._colors[0].push(_[S].b),4===V&&this._mesh._colors[0].push(_[S].a));this._mesh._positions[0]=t.toGL(),p?this._mesh._normals[0]=i.toGL():this._mesh.calcNormals(o?Math.PI:0,s),l?(this._mesh._texCoords[0]=n.toGL(),this._mesh._numTexComponents=m):this._mesh.calcTexCoords(u),d&&r&&(this._mesh._colors[0]=_.toGL(),this._mesh._numColComponents=V)}for(this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0,f=0;f<this._mesh._indices.length;f++)this._mesh._numFaces+=this._mesh._indices[f].length/3,this._mesh._numCoords+=this._mesh._positions[f].length/3;(new Date).getTime()},fieldChanged:function(e){var t=this._cf.coord.node._vf.point;if(t.length>x3dom.Utils.maxIndexableCoords)x3dom.debug.logWarning("IndexedTriangleSet: fieldChanged with too many coordinates not yet implemented!");else if("coord"==e)this._mesh._positions[0]=t.toGL(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}));else if("color"==e){if(t=this._cf.color.node._vf.color,this._vf.colorPerVertex)this._mesh._colors[0]=t.toGL();else if(!this._vf.colorPerVertex){var i=0,n=3;x3dom.isa(this._cf.color.node,x3dom.nodeTypes.ColorRGBA)&&(n=4),this._mesh._colors[0]=[];for(var _=this._vf.index,r=0;r<_.length;++r)r>0&&r%3==0&&i++,this._mesh._colors[0].push(t[i].r),this._mesh._colors[0].push(t[i].g),this._mesh._colors[0].push(t[i].b),4===n&&this._mesh._colors[0].push(t[i].a)}this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}else if("normal"==e){if(t=this._cf.normal.node._vf.vector,this._vf.normalPerVertex)this._mesh._normals[0]=t.toGL();else if(!this._vf.normalPerVertex){_=this._vf.index;this._mesh._normals[0]=[];for(i=0,r=0;r<_.length;++r)r>0&&r%3==0&&i++,this._mesh._normals[0].push(t[i].x),this._mesh._normals[0].push(t[i].y),this._mesh._normals[0].push(t[i].z)}this._parentNodes.forEach((function(e){e._dirty.normals=!0}))}else if("texCoord"==e){var o=this._cf.texCoord.node;x3dom.isa(o,x3dom.nodeTypes.MultiTextureCoordinate)&&o._cf.texCoord.nodes.length&&(o=o._cf.texCoord.nodes[0]),t=o._vf.point,this._mesh._texCoords[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.texcoords=!0}))}}})),x3dom.registerNodeType("IndexedTriangleStripSet","Rendering",defineClass(x3dom.nodeTypes.X3DComposedGeometryNode,(function(e){x3dom.nodeTypes.IndexedTriangleStripSet.superClass.call(this,e),this.addField_MFInt32(e,"index",[]),this._hasIndexOffset=!1,this._indexOffset=null}),{hasIndexOffset:function(){return this._hasIndexOffset},nodeChanged:function(){this.handleAttribs();var e,t,i,n,_=!1,r=!1,o=!1,s=this._vf.colorPerVertex,a=this._vf.normalPerVertex,p=this._vf.index;p.length&&-1!=p[p.length-1]&&p.push(-1);var l=this._cf.coord.node;x3dom.debug.assert(l),e=l._vf.point;var d=this._cf.normal.node;d?(_=!0,t=d._vf.vector):_=!1;var c="",b=2,u=this._cf.texCoord.node;x3dom.isa(u,x3dom.nodeTypes.MultiTextureCoordinate)&&u._cf.texCoord.nodes.length&&(u=u._cf.texCoord.nodes[0]),u?u._vf.point?(r=!0,i=u._vf.point,x3dom.isa(u,x3dom.nodeTypes.TextureCoordinate3D)&&(b=3)):u._vf.mode&&(c=u._vf.mode):r=!1,this._mesh._numTexComponents=b;var m=3,h=this._cf.color.node;h?(o=!0,n=h._vf.color,x3dom.isa(h,x3dom.nodeTypes.ColorRGBA)&&(m=4)):o=!1,this._mesh._numColComponents=m,this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[],this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0;var f=0,g=0;if(_&&e.length<=x3dom.Utils.maxIndexableCoords){this._hasIndexOffset=!0,this._indexOffset=[],this._mesh._primType="TRIANGLESTRIP";var C=[0];for(V=0;V<p.length;V++)-1==p[V]?(f++,C.push(this._mesh._indices[0].length)):(this._mesh._indices[0].push(+p[V]),a||(this._mesh._normals[0].push(t[f].x),this._mesh._normals[0].push(t[f].y),this._mesh._normals[0].push(t[f].z)),s||(this._mesh._colors[0].push(n[f].r),this._mesh._colors[0].push(n[f].g),this._mesh._colors[0].push(n[f].b),4===m&&this._mesh._colors[0].push(n[f].a)));for(this._mesh._positions[0]=e.toGL(),a&&(this._mesh._normals[0]=t.toGL()),r?(this._mesh._texCoords[0]=i.toGL(),this._mesh._numTexComponents=b):x3dom.debug.logWarning("IndexedTriangleStripSet: no texCoords given and won't calculate!"),o&&(s&&(this._mesh._colors[0]=n.toGL()),this._mesh._numColComponents=m),V=1;V<C.length;V++){var S=C[V]-C[V-1];this._indexOffset.push({count:S,offset:2*C[V-1]}),this._mesh._numFaces+=S-2}this._mesh._numCoords=this._mesh._positions[0].length/3}else{var y,v,x,M,T,D,P,w,A,F,R,I;this._hasIndexOffset=!1;for(var B=!1,V=1;V<p.length-2;++V)-1!=p[V+1]?(B?(y=p[V],v=p[V-1],x=p[V+1]):(y=p[V-1],v=p[V],x=p[V+1]),B=!B,a?(M=y,T=v,D=x):M=T=D=f,P=y,w=v,A=x,s?(F=y,R=v,I=x):F=R=I=f,this._mesh._indices[0].push(g++,g++,g++),this._mesh._positions[0].push(e[y].x),this._mesh._positions[0].push(e[y].y),this._mesh._positions[0].push(e[y].z),this._mesh._positions[0].push(e[v].x),this._mesh._positions[0].push(e[v].y),this._mesh._positions[0].push(e[v].z),this._mesh._positions[0].push(e[x].x),this._mesh._positions[0].push(e[x].y),this._mesh._positions[0].push(e[x].z),_&&(this._mesh._normals[0].push(t[M].x),this._mesh._normals[0].push(t[M].y),this._mesh._normals[0].push(t[M].z),this._mesh._normals[0].push(t[T].x),this._mesh._normals[0].push(t[T].y),this._mesh._normals[0].push(t[T].z),this._mesh._normals[0].push(t[D].x),this._mesh._normals[0].push(t[D].y),this._mesh._normals[0].push(t[D].z)),o&&(this._mesh._colors[0].push(n[F].r),this._mesh._colors[0].push(n[F].g),this._mesh._colors[0].push(n[F].b),4===m&&this._mesh._colors[0].push(n[F].a),this._mesh._colors[0].push(n[R].r),this._mesh._colors[0].push(n[R].g),this._mesh._colors[0].push(n[R].b),4===m&&this._mesh._colors[0].push(n[R].a),this._mesh._colors[0].push(n[I].r),this._mesh._colors[0].push(n[I].g),this._mesh._colors[0].push(n[I].b),4===m&&this._mesh._colors[0].push(n[I].a)),r&&(this._mesh._texCoords[0].push(i[P].x),this._mesh._texCoords[0].push(i[P].y),3===b&&this._mesh._texCoords[0].push(i[P].z),this._mesh._texCoords[0].push(i[w].x),this._mesh._texCoords[0].push(i[w].y),3===b&&this._mesh._texCoords[0].push(i[w].z),this._mesh._texCoords[0].push(i[A].x),this._mesh._texCoords[0].push(i[A].y),3===b&&this._mesh._texCoords[0].push(i[A].z))):(V+=2,f++);for(_||this._mesh.calcNormals(Math.PI),r||this._mesh.calcTexCoords(c),this._mesh.splitMesh(),this.invalidateVolume(),V=0;V<this._mesh._indices.length;V++)this._mesh._numFaces+=this._mesh._indices[V].length/3,this._mesh._numCoords+=this._mesh._positions[V].length/3}},fieldChanged:function(e){if("coord"==e||"normal"==e||"texCoord"==e||"color"==e){var t=this._cf.coord.node._vf.point;if(null===this._cf.normal.node||t.length>x3dom.Utils.maxIndexableCoords){if("coord"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[];var i,n,_,r,o=!1,s=!1,a=!1,p=this._vf.colorPerVertex,l=this._vf.normalPerVertex,d=this._vf.index,c=this._cf.coord.node;x3dom.debug.assert(c),i=c._vf.point;var b=this._cf.normal.node;b?(o=!0,n=b._vf.vector):o=!1;var u="",m=2,h=this._cf.texCoord.node;x3dom.isa(h,x3dom.nodeTypes.MultiTextureCoordinate)&&h._cf.texCoord.nodes.length&&(h=h._cf.texCoord.nodes[0]),h?h._vf.point?(s=!0,_=h._vf.point,x3dom.isa(h,x3dom.nodeTypes.TextureCoordinate3D)&&(m=3)):h._vf.mode&&(u=h._vf.mode):s=!1,this._mesh._numTexComponents=m;var f=3,g=this._cf.color.node;g?(a=!0,r=g._vf.color,x3dom.isa(g,x3dom.nodeTypes.ColorRGBA)&&(f=4)):a=!1,this._mesh._numColComponents=f,this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];var C,S,y,v,x,M,T,D,P,w=0,A=0,F=!1;if(o||s||a){for(var R=1;R<d.length-2;++R)-1!=d[R+1]?(F?(C=d[R],S=d[R-1],y=d[R+1]):(C=d[R-1],S=d[R],y=d[R+1]),F=!F,l?(E=C,v=S,x=y):E=v=x=w,k=C,M=S,T=y,p?(B=C,D=S,P=y):B=D=P=w,this._mesh._indices[0].push(A++,A++,A++),this._mesh._positions[0].push(i[C].x),this._mesh._positions[0].push(i[C].y),this._mesh._positions[0].push(i[C].z),this._mesh._positions[0].push(i[S].x),this._mesh._positions[0].push(i[S].y),this._mesh._positions[0].push(i[S].z),this._mesh._positions[0].push(i[y].x),this._mesh._positions[0].push(i[y].y),this._mesh._positions[0].push(i[y].z),o&&(this._mesh._normals[0].push(n[E].x),this._mesh._normals[0].push(n[E].y),this._mesh._normals[0].push(n[E].z),this._mesh._normals[0].push(n[v].x),this._mesh._normals[0].push(n[v].y),this._mesh._normals[0].push(n[v].z),this._mesh._normals[0].push(n[x].x),this._mesh._normals[0].push(n[x].y),this._mesh._normals[0].push(n[x].z)),a&&(this._mesh._colors[0].push(r[B].r),this._mesh._colors[0].push(r[B].g),this._mesh._colors[0].push(r[B].b),4===f&&this._mesh._colors[0].push(r[B].a),this._mesh._colors[0].push(r[D].r),this._mesh._colors[0].push(r[D].g),this._mesh._colors[0].push(r[D].b),4===f&&this._mesh._colors[0].push(r[D].a),this._mesh._colors[0].push(r[P].r),this._mesh._colors[0].push(r[P].g),this._mesh._colors[0].push(r[P].b),4===f&&this._mesh._colors[0].push(r[P].a)),s&&(this._mesh._texCoords[0].push(_[k].x),this._mesh._texCoords[0].push(_[k].y),3===m&&this._mesh._texCoords[0].push(_[k].z),this._mesh._texCoords[0].push(_[M].x),this._mesh._texCoords[0].push(_[M].y),3===m&&this._mesh._texCoords[0].push(_[M].z),this._mesh._texCoords[0].push(_[T].x),this._mesh._texCoords[0].push(_[T].y),3===m&&this._mesh._texCoords[0].push(_[T].z))):(R+=2,w++);o||this._mesh.calcNormals(Math.PI),s||this._mesh.calcTexCoords(u),this._mesh.splitMesh()}else{for(F=!1,R=1;R<d.length;++R)-1!=d[R+1]?(F?(this._mesh._indices[0].push(d[R]),this._mesh._indices[0].push(d[R-1]),this._mesh._indices[0].push(d[R+1])):(this._mesh._indices[0].push(d[R-1]),this._mesh._indices[0].push(d[R]),this._mesh._indices[0].push(d[R+1])),F=!F):R+=2;this._mesh._positions[0]=i.toGL(),this._mesh.calcNormals(Math.PI),this._mesh.calcTexCoords(u)}for(this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0,R=0;R<this._mesh._indices.length;R++)this._mesh._numFaces+=this._mesh._indices[R].length/3,this._mesh._numCoords+=this._mesh._positions[R].length/3;this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()}))}else if("color"==e){var I=this._cf.color.node._vf.color,B=(w=0,D=P=0);f=3;x3dom.isa(this._cf.color.node,x3dom.nodeTypes.ColorRGBA)&&(f=4),this._mesh._colors[0]=[];d=this._vf.index,F=!1;for(R=1;R<d.length-2;++R)-1!=d[R+1]?(this._vf.colorPerVertex?(F?(B=d[R],D=d[R-1],P=d[R+1]):(B=d[R-1],D=d[R],P=d[R+1]),F=!F):this._vf.colorPerVertex||(B=D=P=w),this._mesh._colors[0].push(I[B].r),this._mesh._colors[0].push(I[B].g),this._mesh._colors[0].push(I[B].b),4===f&&this._mesh._colors[0].push(I[B].a),this._mesh._colors[0].push(I[D].r),this._mesh._colors[0].push(I[D].g),this._mesh._colors[0].push(I[D].b),4===f&&this._mesh._colors[0].push(I[D].a),this._mesh._colors[0].push(I[P].r),this._mesh._colors[0].push(I[P].g),this._mesh._colors[0].push(I[P].b),4===f&&this._mesh._colors[0].push(I[P].a)):(R+=2,w++);this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}else if("normal"==e){var V=this._cf.normal.node._vf.vector,E=(w=0,v=x=0);this._mesh._normals[0]=[];d=this._vf.index,F=!1;for(R=1;R<d.length-2;++R)-1!=d[R+1]?(this._vf.normalPerVertex?(F?(E=d[R],v=d[R-1],x=d[R+1]):(E=d[R-1],v=d[R],x=d[R+1]),F=!F):this._vf.normalPerVertex||(E=v=x=w),this._mesh._normals[0].push(V[E].x),this._mesh._normals[0].push(V[E].y),this._mesh._normals[0].push(V[E].z),this._mesh._normals[0].push(V[v].x),this._mesh._normals[0].push(V[v].y),this._mesh._normals[0].push(V[v].z),this._mesh._normals[0].push(V[x].x),this._mesh._normals[0].push(V[x].y),this._mesh._normals[0].push(V[x].z)):(R+=2,w++);this._parentNodes.forEach((function(e){e._dirty.normals=!0}))}else if("texCoord"==e){h=this._cf.texCoord.node;x3dom.isa(h,x3dom.nodeTypes.MultiTextureCoordinate)&&h._cf.texCoord.nodes.length&&(h=h._cf.texCoord.nodes[0]);var N=h._vf.point,k=M=T=0;m=2;x3dom.isa(h,x3dom.nodeTypes.TextureCoordinate3D)&&(m=3),this._mesh._texCoords[0]=[];d=this._vf.index,F=!1;for(R=1;R<d.length-2;++R)-1!=d[R+1]?(F?(k=d[R],M=d[R-1],T=d[R+1]):(k=d[R-1],M=d[R],T=d[R+1]),F=!F,this._mesh._texCoords[0].push(N[k].x),this._mesh._texCoords[0].push(N[k].y),3===m&&this._mesh._texCoords[0].push(N[k].z),this._mesh._texCoords[0].push(N[M].x),this._mesh._texCoords[0].push(N[M].y),3===m&&this._mesh._texCoords[0].push(N[M].z),this._mesh._texCoords[0].push(N[T].x),this._mesh._texCoords[0].push(N[T].y),3===m&&this._mesh._texCoords[0].push(N[T].z)):R+=2;this._parentNodes.forEach((function(e){e._dirty.texcoords=!0}))}}else if("coord"==e)this._mesh._positions[0]=t.toGL(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}));else if("color"==e){if(t=this._cf.color.node._vf.color,this._vf.colorPerVertex)this._mesh._colors[0]=t.toGL();else if(!this._vf.colorPerVertex){w=0,f=3;x3dom.isa(this._cf.color.node,x3dom.nodeTypes.ColorRGBA)&&(f=4),this._mesh._colors[0]=[];d=this._vf.index;for(R=0;R<d.length;++R)-1!=d[R]?(this._mesh._colors[0].push(t[w].r),this._mesh._colors[0].push(t[w].g),this._mesh._colors[0].push(t[w].b),4===f&&this._mesh._colors[0].push(t[w].a)):w++}this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}else if("normal"==e){if(t=this._cf.normal.node._vf.vector,this._vf.normalPerVertex)this._mesh._normals[0]=t.toGL();else if(!this._vf.normalPerVertex){d=this._vf.index;this._mesh._normals[0]=[];w=0;for(R=0;R<d.length;++R)-1!=d[R]?(this._mesh._normals[0].push(t[w].x),this._mesh._normals[0].push(t[w].y),this._mesh._normals[0].push(t[w].z)):w++}this._parentNodes.forEach((function(e){e._dirty.normals=!0}))}else if("texCoord"==e){h=this._cf.texCoord.node;x3dom.isa(h,x3dom.nodeTypes.MultiTextureCoordinate)&&h._cf.texCoord.nodes.length&&(h=h._cf.texCoord.nodes[0]),t=h._vf.point,this._mesh._texCoords[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.texcoords=!0}))}}else x3dom.debug.logWarning("IndexedTriangleStripSet: fieldChanged for "+e+" not yet implemented!")}})),x3dom.registerNodeType("TriangleSet","Rendering",defineClass(x3dom.nodeTypes.X3DComposedGeometryNode,(function(e){x3dom.nodeTypes.TriangleSet.superClass.call(this,e)}),{_buildGeometry:function(){var e,t,i,n,_=this._vf.colorPerVertex,r=this._vf.normalPerVertex,o=this._vf.ccw,s=!1,a=!1,p=!1,l=this._cf.coord.node;if(x3dom.debug.assert(l),!l||l._vf.point.length<3)this._vf.visible=!1;else{e=l._vf.point;var d=this._cf.normal.node;d?(s=!0,t=d._vf.vector):s=!1;var c="",b=2,u=this._cf.texCoord.node;x3dom.isa(u,x3dom.nodeTypes.MultiTextureCoordinate)&&u._cf.texCoord.nodes.length&&(u=u._cf.texCoord.nodes[0]),u?u._vf.point?(a=!0,i=u._vf.point,x3dom.isa(u,x3dom.nodeTypes.TextureCoordinate3D)&&(b=3)):u._vf.mode&&(c=u._vf.mode):a=!1;var m=3,h=this._cf.color.node;for(h?(p=!0,n=h._vf.color,x3dom.isa(h,x3dom.nodeTypes.ColorRGBA)&&(m=4)):p=!1;e.length%3>0;)e.pop();this._mesh._indices[0]=new Array(e.length),this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];var f,g=e.length/3,C=0;for(f=0;f<g;f++)this._mesh._indices[0][C]=C++,this._mesh._indices[0][C]=C++,this._mesh._indices[0][C]=C++,!r&&s&&(this._mesh._normals[0].push(t[f].x),this._mesh._normals[0].push(t[f].y),this._mesh._normals[0].push(t[f].z)),!_&&p&&(this._mesh._colors[0].push(n[f].r),this._mesh._colors[0].push(n[f].g),this._mesh._colors[0].push(n[f].b),4===m&&this._mesh._colors[0].push(n[f].a));this._mesh._positions[0]=e.toGL(),s?this._mesh._normals[0]=t.toGL():this._mesh.calcNormals(r?Math.PI:0,o),a?(this._mesh._texCoords[0]=i.toGL(),this._mesh._numTexComponents=b):this._mesh.calcTexCoords(c),p&&_&&(this._mesh._colors[0]=n.toGL(),this._mesh._numColComponents=m),this._mesh._numFaces=g,this._mesh._numCoords=e.length,this.invalidateVolume()}},nodeChanged:function(){this._buildGeometry()},fieldChanged:function(e){"coord"==e?(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))):"color"==e?(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.colors=!0}))):"normal"==e?(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.normals=!0}))):"texCoord"==e&&(this._buildGeometry(),this._parentNodes.forEach((function(e){e._dirty.texcoords=!0})))}})),x3dom.registerNodeType("X3DGeometricPropertyNode","Rendering",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DGeometricPropertyNode.superClass.call(this,e)}))),x3dom.registerNodeType("X3DCoordinateNode","Rendering",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.X3DCoordinateNode.superClass.call(this,e)}),{fieldChanged:function(e){"coord"!==e&&"point"!==e||this._parentNodes.forEach((function(e){e.fieldChanged("coord")}))},parentAdded:function(e){e._mesh&&e._cf.coord&&e._cf.coord.node!==this&&e.fieldChanged("coord")}})),x3dom.registerNodeType("Coordinate","Rendering",defineClass(x3dom.nodeTypes.X3DCoordinateNode,(function(e){x3dom.nodeTypes.Coordinate.superClass.call(this,e),this.addField_MFVec3f(e,"point",[])}),{getPoints:function(){return this._vf.point}})),x3dom.registerNodeType("CoordinateDouble","Nurbs",defineClass(x3dom.nodeTypes.X3DCoordinateNode,(function(e){x3dom.nodeTypes.CoordinateDouble.superClass.call(this,e),this.addField_MFVec3d(e,"point",[])}),{getPoints:function(){return this._vf.point}})),x3dom.registerNodeType("Normal","Rendering",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.Normal.superClass.call(this,e),this.addField_MFVec3f(e,"vector",[])}),{fieldChanged:function(e){"normal"!==e&&"vector"!==e||this._parentNodes.forEach((function(e){e.fieldChanged("normal")}))},parentAdded:function(e){e._mesh&&e._cf.normal.node!==this&&e.fieldChanged("normal")}})),x3dom.registerNodeType("X3DColorNode","Rendering",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.X3DColorNode.superClass.call(this,e)}),{fieldChanged:function(e){"color"===e&&this._parentNodes.forEach((function(e){e.fieldChanged("color")}))},parentAdded:function(e){e._mesh&&e._cf.color.node!==this&&e.fieldChanged("color")}})),x3dom.registerNodeType("Color","Rendering",defineClass(x3dom.nodeTypes.X3DColorNode,(function(e){x3dom.nodeTypes.Color.superClass.call(this,e),this.addField_MFColor(e,"color",[])}))),x3dom.registerNodeType("ColorRGBA","Rendering",defineClass(x3dom.nodeTypes.X3DColorNode,(function(e){x3dom.nodeTypes.ColorRGBA.superClass.call(this,e),this.addField_MFColorRGBA(e,"color",[])}))),x3dom.registerNodeType("ParticleSet","Rendering",defineClass(x3dom.nodeTypes.PointSet,(function(e){x3dom.nodeTypes.ParticleSet.superClass.call(this,e),this.addField_SFString(e,"mode","ViewDirQuads"),this.addField_SFString(e,"drawOrder","Any"),this.addField_SFNode("normal",x3dom.nodeTypes.Normal),this.addField_MFVec3f(e,"size",[]),this.addField_MFInt32(e,"index",[]),this.addField_MFFloat(e,"textureZ",[]),this._mesh._primType="POINTS"}),{drawOrder:function(){return this._vf.drawOrder.toLowerCase()},nodeChanged:function(){var e=this._cf.coord.node;x3dom.debug.assert(e,"ParticleSet without coord node!");var t=e.getPoints(),i=3,n=this._cf.color.node,_=new x3dom.fields.MFColor;n&&(_=n._vf.color,x3dom.debug.assert(t.length==_.length,"Size of color and coord array differs!"),x3dom.isa(n,x3dom.nodeTypes.ColorRGBA)&&(i=4));var r=this._cf.normal.node,o=new x3dom.fields.MFVec3f;r&&(o=r._vf.vector);var s=[];if("any"!=this.drawOrder()&&0==(s=this._vf.index.toGL()).length){var a,p=t.length;for(s=new Array(p),a=0;a<p;a++)s[a]=a}this._mesh._numColComponents=i,this._mesh._lit=!1,this._mesh._indices[0]=s,this._mesh._positions[0]=t.toGL(),this._mesh._colors[0]=_.toGL(),this._mesh._normals[0]=o.toGL(),this._mesh._texCoords[0]=[],this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){var t=null;if("index"==e)this._mesh._indices[0]=this._vf.index.toGL(),this._parentNodes.forEach((function(e){e._dirty.indexes=!0}));else if("size"==e)this._parentNodes.forEach((function(e){e._dirty.specialAttribs=!0}));else if("coord"==e){t=this._cf.coord.node.getPoints(),this._mesh._positions[0]=t.toGL();var i=[];if("any"!=this.drawOrder()&&0==(i=this._vf.index.toGL()).length){var n,_=t.length;for(i=new Array(_),n=0;n<_;n++)i[n]=n}this._mesh._indices[0]=i,this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e._dirty.indexes=!0,e.invalidateVolume()}))}else"color"==e&&(t=this._cf.color.node._vf.color,this._mesh._colors[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.colors=!0})))}})),x3dom.registerNodeType("ClipPlane","Rendering",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.ClipPlane.superClass.call(this,e),this.addField_SFBool(e,"enabled",!0),this.addField_SFVec4f(e,"plane",0,1,0,0),this.addField_SFFloat(e,"cappingStrength",0),this.addField_SFColor(e,"cappingColor",1,1,1),this.addField_SFBool(e,"on",!0)}),{fieldChanged:function(e){},nodeChanged:function(){x3dom.nodeTypes.ClipPlane.count++},onRemove:function(){x3dom.nodeTypes.ClipPlane.count--},parentAdded:function(e){},parentRemoved:function(e){}})),x3dom.nodeTypes.ClipPlane.count=0,x3dom.registerNodeType("X3DAppearanceNode","Shape",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DAppearanceNode.superClass.call(this,e)}))),x3dom.registerNodeType("Appearance","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceNode,(function(e){x3dom.nodeTypes.Appearance.superClass.call(this,e),this.addField_SFNode("material",x3dom.nodeTypes.X3DMaterialNode),this.addField_SFNode("texture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("textureTransform",x3dom.nodeTypes.X3DTextureTransformNode),this.addField_SFNode("lineProperties",x3dom.nodeTypes.LineProperties),this.addField_SFNode("pointProperties",x3dom.nodeTypes.PointProperties),this.addField_SFNode("colorMaskMode",x3dom.nodeTypes.ColorMaskMode),this.addField_SFNode("blendMode",x3dom.nodeTypes.BlendMode),this.addField_SFNode("depthMode",x3dom.nodeTypes.DepthMode),this.addField_MFNode("shaders",x3dom.nodeTypes.X3DShaderNode),this.addField_SFString(e,"sortType","auto"),this.addField_SFInt32(e,"sortKey",0),this.addField_SFFloat(e,"alphaClipThreshold",.1),this._shader=null,this._origSortType=this._vf.sortType}),{fieldChanged:function(e){"alphaClipThreshold"==e&&this._parentNodes.forEach((function(e){e.setAppDirty()}))},nodeChanged:function(){this._cf.material.node,this._cf.shaders.nodes.length?this._shader=this._cf.shaders.nodes[0]:this._shader&&(this._shader=null),this._parentNodes.forEach((function(e){e.setAppDirty()})),this.checkSortType()},checkSortType:function(){if("auto"==this._vf.sortType)if(this._cf.material.node&&(this._cf.material.node._vf.transparency>0||this._cf.material.node._vf.backTransparency&&this._cf.material.node._vf.backTransparency>0))this._vf.sortType="transparent";else if(this._cf.texture.node&&this._cf.texture.node._vf.url.length)4==this._cf.texture.node._vf.origChannelCount||2==this._cf.texture.node._vf.origChannelCount?this._vf.sortType="transparent":this._vf.sortType="opaque";else if(x3dom.isa(this._cf.material.node,x3dom.nodeTypes.PhysicalMaterial)){var e=this._cf.material.node;"OPAQUE"==e._vf.alphaMode?this._vf.sortType="opaque":"BLEND"!=e._vf.alphaMode&&"MASK"!=e._vf.alphaMode||(this._vf.sortType="transparent");var t=e._cf.baseColorTexture.node;"opaque"==this._vf.sortType&&t&&t._vf.url.length&&t._vf.url[0].toLowerCase().indexOf(".png")>=0&&(this._vf.sortType="transparent")}else this._vf.sortType="opaque"},texTransformMatrix:function(){return null===this._cf.textureTransform.node?x3dom.fields.SFMatrix4f.identity():this._cf.textureTransform.node.texTransformMatrix()},parentAdded:function(e){this!=x3dom.nodeTypes.Appearance._defaultNode&&e.setAppDirty()}})),x3dom.nodeTypes.Appearance.defaultNode=function(){return x3dom.nodeTypes.Appearance._defaultNode||(x3dom.nodeTypes.Appearance._defaultNode=new x3dom.nodeTypes.Appearance,x3dom.nodeTypes.Appearance._defaultNode.nodeChanged()),x3dom.nodeTypes.Appearance._defaultNode},x3dom.registerNodeType("X3DAppearanceChildNode","Shape",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DAppearanceChildNode.superClass.call(this,e)}))),x3dom.registerNodeType("BlendMode","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.BlendMode.superClass.call(this,e),this.addField_SFString(e,"srcFactor","src_alpha"),this.addField_SFString(e,"destFactor","one_minus_src_alpha"),this.addField_SFColor(e,"color",1,1,1),this.addField_SFFloat(e,"colorTransparency",0),this.addField_SFString(e,"alphaFunc","none"),this.addField_SFFloat(e,"alphaFuncValue",0),this.addField_SFString(e,"equation","none")}))),x3dom.registerNodeType("DepthMode","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.DepthMode.superClass.call(this,e),this.addField_SFBool(e,"enableDepthTest",!0),this.addField_SFString(e,"depthFunc","none"),this.addField_SFBool(e,"readOnly",!1),this.addField_SFFloat(e,"zNearRange",-1),this.addField_SFFloat(e,"zFarRange",-1)}))),x3dom.registerNodeType("ColorMaskMode","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.ColorMaskMode.superClass.call(this,e),this.addField_SFBool(e,"maskR",!0),this.addField_SFBool(e,"maskG",!0),this.addField_SFBool(e,"maskB",!0),this.addField_SFBool(e,"maskA",!0)}))),x3dom.registerNodeType("LineProperties","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.LineProperties.superClass.call(this,e),this.addField_SFBool(e,"applied",!0),this.addField_SFInt32(e,"linetype",1),this.addField_SFFloat(e,"linewidthScaleFactor",0)}))),x3dom.registerNodeType("PointProperties","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.PointProperties.superClass.call(this,e),this.addField_SFFloat(e,"pointSizeScaleFactor",1),this.addField_SFFloat(e,"pointSizeMinValue",1),this.addField_SFFloat(e,"pointSizeMaxValue",1),this.addField_SFVec3f(e,"attenuation",1,0,0)}),{nodeChanged:function(){this._vf.pointSizeMinValue>this._vf.pointSizeMaxValue&&(x3dom.debug.logWarning("pointSizeMinValue is larger than pointSizeMaxValue, will set to MaxValue"),this._vf.pointSizeMinValue=this._vf.pointSizeMaxValue)},fieldChanged:function(e){this._nodeChanged()}})),x3dom.registerNodeType("X3DMaterialNode","Shape",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.X3DMaterialNode.superClass.call(this,e)}),{_fieldChanged:function(e,t){t.indexOf(e)>-1&&this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)&&(e._dirty.material=!0)})),x3dom.isa(e,x3dom.nodeTypes.X3DAppearanceNode)&&e.checkSortType()}))}})),x3dom.registerNodeType("Material","Shape",defineClass(x3dom.nodeTypes.X3DMaterialNode,(function(e){x3dom.nodeTypes.Material.superClass.call(this,e),this.addField_SFFloat(e,"ambientIntensity",.2),this.addField_SFColor(e,"diffuseColor",.8,.8,.8),this.addField_SFColor(e,"emissiveColor",0,0,0),this.addField_SFFloat(e,"shininess",.2),this.addField_SFColor(e,"specularColor",0,0,0),this.addField_SFFloat(e,"transparency",0)}),{fieldChanged:function(e){this._fieldChanged(e,["ambientIntensity","diffuseColor","emissiveColor","shininess","specularColor","transparency"])}})),x3dom.nodeTypes.Material.defaultNode=function(){return x3dom.nodeTypes.Material._defaultNode||(x3dom.nodeTypes.Material._defaultNode=new x3dom.nodeTypes.Material,x3dom.nodeTypes.Material._defaultNode.nodeChanged()),x3dom.nodeTypes.Material._defaultNode},x3dom.registerNodeType("TwoSidedMaterial","Shape",defineClass(x3dom.nodeTypes.Material,(function(e){x3dom.nodeTypes.TwoSidedMaterial.superClass.call(this,e),this.addField_SFFloat(e,"backAmbientIntensity",.2),this.addField_SFColor(e,"backDiffuseColor",.8,.8,.8),this.addField_SFColor(e,"backEmissiveColor",0,0,0),this.addField_SFFloat(e,"backShininess",.2),this.addField_SFColor(e,"backSpecularColor",0,0,0),this.addField_SFFloat(e,"backTransparency",0),this.addField_SFBool(e,"separateBackColor",!1)}),{fieldChanged:function(e){this._fieldChanged(e,["ambientIntensity","diffuseColor","emissiveColor","shininess","specularColor","transparency","backAmbientIntensity","backDiffuseColor","backEmissiveColor","backShininess","backSpecularColor","backTransparency","separateBackColor"])}})),x3dom.registerNodeType("PhysicalMaterial","Shape",defineClass(x3dom.nodeTypes.X3DMaterialNode,(function(e){x3dom.nodeTypes.X3DMaterialNode.superClass.call(this,e),this.addField_SFString(e,"model","roughnessMetallic"),this.addField_SFColorRGBA(e,"baseColorFactor",1,1,1,1),this.addField_SFFloat(e,"metallicFactor",0),this.addField_SFFloat(e,"roughnessFactor",.2),this.addField_SFColorRGBA(e,"diffuseFactor",1,1,1,1),this.addField_SFColor(e,"specularFactor",1,1,1),this.addField_SFFloat(e,"glossinessFactor",1),this.addField_SFColor(e,"emissiveFactor",0,0,0),this.addField_SFString(e,"normalSpace","TANGENT"),this.addField_SFString(e,"alphaMode","OPAQUE"),this.addField_SFFloat(e,"alphaCutoff",.5),this.addField_SFVec3f(e,"normalBias",-1,-1,1),this.addField_SFFloat(e,"normalScale",1),this.addField_SFBool(e,"unlit",!1),this.addField_SFNode("baseColorTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("emissiveTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("roughnessMetallicTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("specularGlossinessTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("occlusionRoughnessMetallicTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("normalTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("occlusionTexture",x3dom.nodeTypes.X3DTextureNode)}),{fieldChanged:function(e){this._fieldChanged(e,["baseColorFactor","metallicFactor","roughnessFactor","emissiveFactor"]),"alphaMode"==e&&this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)&&(e._dirty.shader=!0)})),x3dom.isa(e,x3dom.nodeTypes.X3DAppearanceNode)&&e.checkSortType()}))},hasTextures:function(){return this._cf.baseColorTexture.node||this._cf.normalTexture.node||this._cf.occlusionTexture.node||this._cf.emissiveTexture.node||this._cf.roughnessMetallicTexture.node},getTextures:function(){var e=[];return this._cf.baseColorTexture.node&&(this._cf.baseColorTexture.node._type="diffuseMap",e.push(this._cf.baseColorTexture.node)),this._cf.normalTexture.node&&(this._cf.normalTexture.node._type="normalMap",e.push(this._cf.normalTexture.node)),this._cf.occlusionTexture.node&&(this._cf.occlusionTexture.node._type="occlusionMap",e.push(this._cf.occlusionTexture.node)),this._cf.emissiveTexture.node&&(this._cf.emissiveTexture.node._type="emissiveMap",e.push(this._cf.emissiveTexture.node)),this._cf.roughnessMetallicTexture.node&&(this._cf.roughnessMetallicTexture.node._type="roughnessMetallicMap",e.push(this._cf.roughnessMetallicTexture.node)),this._cf.specularGlossinessTexture.node&&(this._cf.specularGlossinessTexture.node._type="specularGlossinessMap",e.push(this._cf.specularGlossinessTexture.node)),this._cf.occlusionRoughnessMetallicTexture.node&&(this._cf.occlusionRoughnessMetallicTexture.node._type="occlusionRoughnessMetallicMap",e.push(this._cf.occlusionRoughnessMetallicTexture.node)),e}})),x3dom.registerNodeType("X3DShapeNode","Shape",defineClass(x3dom.nodeTypes.X3DBoundedObject,(function(e){x3dom.nodeTypes.X3DShapeNode.superClass.call(this,e),this.addField_SFBool(e,"isPickable",!0),this.addField_SFInt32(e,"idOffset",0),this.addField_SFNode("appearance",x3dom.nodeTypes.X3DAppearanceNode),this.addField_SFNode("geometry",x3dom.nodeTypes.X3DGeometryNode),this._objectID=0,this._shaderProperties=null,this._clipPlanes=[],this._cleanupGLObjects=null,this._dirty={positions:!0,normals:!0,texcoords:!0,colors:!0,tangents:!0,binormals:!0,specialAttribs:!0,indexes:!0,texture:!0,material:!0,text:!0,shader:!0,ids:!0},this._indexOffset=0,this._coordStrideOffset=[0,0],this._normalStrideOffset=[0,0],this._texCoordStrideOffset=[0,0],this._texCoord2StrideOffset=[0,0],this._colorStrideOffset=[0,0],this._idStrideOffset=[0,0],this._tangentStrideOffset=[0,0],this._binormalStrideOffset=[0,0],this._tessellationProperties=[]}),{collectDrawableObjects:function(e,t,i,n,_,r){var o=this.graphState();return i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!(!this._cf.geometry.node||t.cull(e,o,i,_)<=0)&&(i&&!this._graph.globalMatrix&&(this._graph.globalMatrix=e),this._clipPlanes.length!=r.length&&(this._dirty.shader=!0),this._clipPlanes=r,t.addShape(this,e,o),!0)},getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag()){var t=this._cf.geometry.node,i=t?t.getVolume():null;i&&i.isValid()&&e.extendBounds(i.min,i.max)}return e},getCenter:function(){var e=this._cf.geometry.node;return e?e.getCenter():new x3dom.fields.SFVec3f(0,0,0)},getDiameter:function(){var e=this._cf.geometry.node;return e?e.getDiameter():0},doIntersect:function(e){return this._cf.geometry.node.doIntersect(e)},forceUpdateCoverage:function(){var e=this._cf.geometry.node;return!!e&&e.forceUpdateCoverage()},tessellationProperties:function(){var e=this._cf.geometry.node;return e&&e._indexOffset?e._indexOffset:this._tessellationProperties},isLit:function(){return this._cf.geometry.node._vf.lit},isSolid:function(){var e=this._cf.appearance.node&&this._cf.appearance.node._cf.material.node&&x3dom.isa(this._cf.appearance.node._cf.material.node,x3dom.nodeTypes.TwoSidedMaterial);return this._cf.geometry.node._vf.solid&&!e},isCCW:function(){return this._cf.geometry.node._vf.ccw},parentRemoved:function(e){for(var t=0,i=this._childNodes.length;t<i;t++){var n=this._childNodes[t];n&&n.parentRemoved(this)}e&&e.invalidateVolume(),this._parentNodes.length>0&&this.invalidateVolume(),this._cleanupGLObjects&&this._cleanupGLObjects()},unsetDirty:function(){this._dirty.positions=!1,this._dirty.normals=!1,this._dirty.texcoords=!1,this._dirty.colors=!1,this._dirty.tangents=!1,this._dirty.binormals=!1,this._dirty.specialAttribs=!1,this._dirty.indexes=!1,this._dirty.texture=!1,this._dirty.material=!1,this._dirty.text=!1,this._dirty.shader=!1},unsetGeoDirty:function(){this._dirty.positions=!1,this._dirty.normals=!1,this._dirty.texcoords=!1,this._dirty.colors=!1,this._dirty.tangents=!1,this._dirty.binormals=!1,this._dirty.specialAttribs=!1,this._dirty.indexes=!1},setAllDirty:function(){this._dirty.positions=!0,this._dirty.normals=!0,this._dirty.texcoords=!0,this._dirty.colors=!0,this._dirty.tangents=!0,this._dirty.binormals=!0,this._dirty.specialAttribs=!0,this._dirty.indexes=!0,this._dirty.texture=!0,this._dirty.material=!0,this._dirty.text=!0,this._dirty.shader=!0,this.invalidateVolume()},setAppDirty:function(){this._dirty.texture=!0,this._dirty.material=!0,this._dirty.shader=!0},setGeoDirty:function(){this._dirty.positions=!0,this._dirty.normals=!0,this._dirty.texcoords=!0,this._dirty.colors=!0,this._dirty.tangents=!0,this._dirty.binormals=!0,this._dirty.specialAttribs=!0,this._dirty.indexes=!0,this.invalidateVolume()},getShaderProperties:function(e){return(null==this._shaderProperties||1==this._dirty.shader||x3dom.Utils.checkDirtyEnvironment(e,this._shaderProperties)||x3dom.Utils.checkDirtyPhysicalEnvironmentLight(e,this._shaderProperties)||void 0!==this._webgl&&this._webgl.dirtyLighting!=x3dom.Utils.checkDirtyLighting(e))&&(this._shaderProperties=x3dom.Utils.generateProperties(e,this),this._dirty.shader=!1,void 0!==this._webgl&&(this._webgl.dirtyLighting=x3dom.Utils.checkDirtyLighting(e))),this._shaderProperties},getTextures:function(){var e=[],t=this._cf.appearance.node;if(t){var i=t._cf.texture.node;i&&(x3dom.isa(i,x3dom.nodeTypes.MultiTexture)?e=e.concat(i.getTextures()):e.push(i));var n=t._cf.shaders.nodes[0];n&&x3dom.isa(n,x3dom.nodeTypes.CommonSurfaceShader)&&(e=e.concat(n.getTextures()));var _=t._cf.material.node;_&&x3dom.isa(_,x3dom.nodeTypes.PhysicalMaterial)&&(e=e.concat(_.getTextures()))}var r=this._cf.geometry.node;return r&&x3dom.isa(r,x3dom.nodeTypes.Text)&&(e=e.concat(r)),e}})),x3dom.registerNodeType("Shape","Shape",defineClass(x3dom.nodeTypes.X3DShapeNode,(function(e){x3dom.nodeTypes.Shape.superClass.call(this,e)}),{nodeChanged:function(){this._cf.appearance.node,this._cf.geometry.node?this._objectID||(this._objectID=++x3dom.nodeTypes.Shape.objectID,x3dom.nodeTypes.Shape.idMap.nodeID[this._objectID]=this):this._DEF&&x3dom.debug.logError("No geometry given in Shape/"+this._DEF),this.setAllDirty()}})),x3dom.nodeTypes.Shape.shaderPartID=0,x3dom.nodeTypes.Shape.objectID=0,x3dom.nodeTypes.Shape.idMap={nodeID:{},remove:function(e){for(var t in this.nodeID)if(this.nodeID.hasOwnProperty(t)){var i=this.nodeID[t];i._objectID&&e._objectID&&i._objectID===e._objectID&&(delete this.nodeID[t],x3dom.debug.logInfo("Unreg "+i._objectID))}}},x3dom.registerNodeType("X3DLightNode","Lighting",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DLightNode.superClass.call(this,e),e?e.doc._nodeBag.lights.push(this):x3dom.debug.logWarning("X3DLightNode: No runtime context found!"),this._lightID=0,this._dirty=!0,this.addField_SFFloat(e,"ambientIntensity",0),this.addField_SFColor(e,"color",1,1,1),this.addField_SFFloat(e,"intensity",1),this.addField_SFBool(e,"global",!1),this.addField_SFBool(e,"on",!0),this.addField_SFFloat(e,"shadowIntensity",0),this.addField_SFInt32(e,"shadowMapSize",1024),this.addField_SFInt32(e,"shadowFilterSize",0),this.addField_SFFloat(e,"shadowOffset",0),this.addField_SFFloat(e,"zNear",-1),this.addField_SFFloat(e,"zFar",-1)}),{getViewMatrix:function(e){return x3dom.fields.SFMatrix4f.identity},nodeChanged:function(){this._lightID||(this._lightID=++x3dom.nodeTypes.X3DLightNode.lightID)},fieldChanged:function(e){this._vf.hasOwnProperty(e)&&(this._dirty=!0,this.postMessage(e+"_changed",this._vf[e]))},parentRemoved:function(e){if(1===this._parentNodes.length&&this._parentNodes[0]==e){var t=this.findX3DDoc();if(t)for(var i=0,n=t._nodeBag.lights.length;i<n;i++)t._nodeBag.lights[i]===this&&t._nodeBag.lights.splice(i,1)}},onRemove:function(){}})),x3dom.nodeTypes.X3DLightNode.lightID=0,x3dom.registerNodeType("DirectionalLight","Lighting",defineClass(x3dom.nodeTypes.X3DLightNode,(function(e){x3dom.nodeTypes.DirectionalLight.superClass.call(this,e),this.addField_SFVec3f(e,"direction",0,0,-1),this.addField_SFInt32(e,"shadowCascades",1),this.addField_SFFloat(e,"shadowSplitFactor",1),this.addField_SFFloat(e,"shadowSplitOffset",.1)}),{getViewMatrix:function(e){var t=this.getCurrentTransform().multMatrixVec(this._vf.direction).normalize();return x3dom.fields.Quaternion.rotateFromTo(new x3dom.fields.SFVec3f(0,0,-1),t).toMatrix().transpose().mult(x3dom.fields.SFMatrix4f.translation(e.negate()))}})),x3dom.registerNodeType("PointLight","Lighting",defineClass(x3dom.nodeTypes.X3DLightNode,(function(e){x3dom.nodeTypes.PointLight.superClass.call(this,e),this.addField_SFVec3f(e,"attenuation",1,0,0),this.addField_SFVec3f(e,"location",0,0,0),this.addField_SFFloat(e,"radius",100),this._vf.global=!0}),{getViewMatrix:function(e){var t=this.getCurrentTransform().multMatrixPnt(this._vf.location);return x3dom.fields.Quaternion.rotateFromTo(new x3dom.fields.SFVec3f(0,0,-1),e).toMatrix().transpose().mult(x3dom.fields.SFMatrix4f.translation(t.negate()))}})),x3dom.registerNodeType("SpotLight","Lighting",defineClass(x3dom.nodeTypes.X3DLightNode,(function(e){x3dom.nodeTypes.SpotLight.superClass.call(this,e),this.addField_SFVec3f(e,"direction",0,0,-1),this.addField_SFVec3f(e,"attenuation",1,0,0),this.addField_SFVec3f(e,"location",0,0,0),this.addField_SFFloat(e,"radius",100),this.addField_SFFloat(e,"beamWidth",3*Math.PI/16),this.addField_SFFloat(e,"cutOffAngle",Math.PI/2),this.addField_SFInt32(e,"shadowCascades",1),this.addField_SFFloat(e,"shadowSplitFactor",1),this.addField_SFFloat(e,"shadowSplitOffset",.1),this._vf.global=!0}),{getViewMatrix:function(e){var t=this.getCurrentTransform().multMatrixPnt(this._vf.location),i=this.getCurrentTransform().multMatrixVec(this._vf.direction).normalize();return x3dom.fields.Quaternion.rotateFromTo(new x3dom.fields.SFVec3f(0,0,-1),i).toMatrix().transpose().mult(x3dom.fields.SFMatrix4f.translation(t.negate()))}})),x3dom.registerNodeType("PhysicalEnvironmentLight","Lighting",defineClass(x3dom.nodeTypes.X3DLightNode,(function(e){x3dom.nodeTypes.PhysicalEnvironmentLight.superClass.call(this,e),this.addField_SFVec3f(e,"direction",0,0,-1),this.addField_SFString(e,"diffuse","https://x3dom.org/download/assets/pbr/papermillDiffuse.dds"),this.addField_SFString(e,"specular","https://x3dom.org/download/assets/pbr/papermillSpecular.dds"),this.addField_SFInt32(e,"shadowCascades",1),this.addField_SFFloat(e,"shadowSplitFactor",1),this.addField_SFFloat(e,"shadowSplitOffset",.1)}),{fieldChanged:function(e){},getViewMatrix:function(e){var t=this.getCurrentTransform().multMatrixVec(this._vf.direction).normalize();return x3dom.fields.Quaternion.rotateFromTo(new x3dom.fields.SFVec3f(0,0,-1),t).toMatrix().transpose().mult(x3dom.fields.SFMatrix4f.translation(e.negate()))}})),x3dom.registerNodeType("X3DFollowerNode","Followers",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DFollowerNode.superClass.call(this,e),e?e.doc._nodeBag.followers.push(this):x3dom.debug.logWarning("X3DFollowerNode: No runtime context found!"),this.addField_SFBool(e,"isActive",!1),this._eps=x3dom.fields.Eps}),{parentRemoved:function(e){if(0===this._parentNodes.length){var t=this.findX3DDoc();if(t)for(var i=0,n=t._nodeBag.followers.length;i<n;i++)t._nodeBag.followers[i]===this&&t._nodeBag.followers.splice(i,1)}},tick:function(e){return!1},stepResponse:function(e){return e<=0?0:e>=this._vf.duration?1:this.stepResponseCore(e/this._vf.duration)},stepResponseCore:function(e){return.5-.5*Math.cos(e*Math.PI)}})),x3dom.registerNodeType("X3DChaserNode","Followers",defineClass(x3dom.nodeTypes.X3DFollowerNode,(function(e){x3dom.nodeTypes.X3DChaserNode.superClass.call(this,e),this.addField_SFTime(e,"duration",1),this._initDone=!1,this._stepTime=0,this._currTime=0,this._bufferEndTime=0,this._numSupports=60}))),x3dom.registerNodeType("X3DDamperNode","Followers",defineClass(x3dom.nodeTypes.X3DFollowerNode,(function(e){x3dom.nodeTypes.X3DDamperNode.superClass.call(this,e),this.addField_SFTime(e,"tau",.3),this.addField_SFFloat(e,"tolerance",-1),this.addField_SFInt32(e,"order",3),this._eps=this._vf.tolerance<0?this._eps:this._vf.tolerance,this._lastTick=0}))),x3dom.registerNodeType("ColorChaser","Followers",defineClass(x3dom.nodeTypes.X3DChaserNode,(function(e){x3dom.nodeTypes.ColorChaser.superClass.call(this,e),this.addField_SFColor(e,"initialDestination",.8,.8,.8),this.addField_SFColor(e,"initialValue",.8,.8,.8),this.addField_SFColor(e,"value",0,0,0),this.addField_SFColor(e,"destination",0,0,0),this._buffer=new x3dom.fields.MFColor,this._previousValue=new x3dom.fields.SFColor(0,0,0),this._value=new x3dom.fields.SFColor(0,0,0),this.initialize()}),{fieldChanged:function(e){if(e.indexOf("destination")>=0)this.initialize(),this.updateBuffer(this._currTime),this._vf.isActive||this.postMessage("isActive",!0);else if(e.indexOf("value")>=0){this.initialize(),this._previousValue.setValues(this._vf.value);for(var t=1;t<this._buffer.length;t++)this._buffer[t].setValues(this._vf.value);this.postMessage("value",this._vf.value),this._vf.isActive||this.postMessage("isActive",!0)}},initialize:function(){if(!this._initDone){this._initDone=!0,this._vf.destination=this._vf.initialDestination,this._buffer.length=this._numSupports,this._buffer[0]=this._vf.initialDestination;for(var e=1;e<this._buffer.length;e++)this._buffer[e]=this._vf.initialValue;this._previousValue=this._vf.initialValue,this._stepTime=this._vf.duration/this._numSupports;var t=!this._buffer[0].equals(this._buffer[1],this._eps);this._vf.isActive!==t&&this.postMessage("isActive",t)}},tick:function(e){if(this.initialize(),this._currTime=e,!this._bufferEndTime)return this._bufferEndTime=e,this._value=this._vf.initialValue,this.postMessage("value",this._value),!0;var t=this.updateBuffer(e),i=this._previousValue,n=this._buffer[this._buffer.length-1].subtract(this._previousValue),_=n.multiply(this.stepResponse((this._buffer.length-1+t)*this._stepTime));i=i.add(_);for(var r=this._buffer.length-2;r>=0;r--)_=(n=this._buffer[r].subtract(this._buffer[r+1])).multiply(this.stepResponse((r+t)*this._stepTime)),i=i.add(_);return i.equals(this._value,this._eps)?this.postMessage("isActive",!1):(this._value.setValues(i),this.postMessage("value",this._value)),this._vf.isActive},updateBuffer:function(e){var t,i,n,_=(e-this._bufferEndTime)/this._stepTime;if(_>=1){if(_-=i=Math.floor(_),i<this._buffer.length){for(this._previousValue=this._buffer[this._buffer.length-i],t=this._buffer.length-1;t>=i;t--)this._buffer[t]=this._buffer[t-i];for(t=0;t<i;t++)n=t/i,this._buffer[t]=this._buffer[i].multiply(n).add(this._vf.destination.multiply(1-n))}else for(this._previousValue=i==this._buffer.length?this._buffer[0]:this._vf.destination,t=0;t<this._buffer.length;t++)this._buffer[t]=this._vf.destination;this._bufferEndTime+=i*this._stepTime}return _}})),x3dom.registerNodeType("ColorDamper","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.ColorDamper.superClass.call(this,e),this.addField_SFColor(e,"initialDestination",.8,.8,.8),this.addField_SFColor(e,"initialValue",.8,.8,.8),this.addField_SFColor(e,"value",0,0,0),this.addField_SFColor(e,"destination",0,0,0),this._value0=new x3dom.fields.SFColor(0,0,0),this._value1=new x3dom.fields.SFColor(0,0,0),this._value2=new x3dom.fields.SFColor(0,0,0),this._value3=new x3dom.fields.SFColor(0,0,0),this._value4=new x3dom.fields.SFColor(0,0,0),this._value5=new x3dom.fields.SFColor(0,0,0),this.initialize()}),{fieldChanged:function(e){"tolerance"===e?this._eps=this._vf.tolerance<0?.001:this._vf.tolerance:e.indexOf("destination")>=0?this._value0.equals(this._vf.destination,this._eps)||(this._value0=this._vf.destination,this._vf.isActive||this.postMessage("isActive",!0)):e.indexOf("value")>=0&&(this._value1.setValues(this._vf.value),this._value2.setValues(this._vf.value),this._value3.setValues(this._vf.value),this._value4.setValues(this._vf.value),this._value5.setValues(this._vf.value),this._lastTick=0,this.postMessage("value",this._value5),this._vf.isActive||(this._lastTick=0,this.postMessage("isActive",!0)))},initialize:function(){this._value0.setValues(this._vf.initialDestination),this._value1.setValues(this._vf.initialValue),this._value2.setValues(this._vf.initialValue),this._value3.setValues(this._vf.initialValue),this._value4.setValues(this._vf.initialValue),this._value5.setValues(this._vf.initialValue),this._lastTick=0;var e=!this._value0.equals(this._value1,this._eps);this._vf.isActive!==e&&this.postMessage("isActive",e)},distance:function(e,t){var i=e.subtract(t);return Math.sqrt(i.r*i.r+i.g*i.g+i.b*i.b)},tick:function(e){if(!this._lastTick)return this._lastTick=e,!1;var t=e-this._lastTick,i=Math.exp(-t/this._vf.tau);this._value1=this._vf.order>0&&this._vf.tau?this._value0.add(this._value1.subtract(this._value0).multiply(i)):new x3dom.fields.SFColor(this._value0.r,this._value0.g,this._value0.b),this._value2=this._vf.order>1&&this._vf.tau?this._value1.add(this._value2.subtract(this._value1).multiply(i)):new x3dom.fields.SFColor(this._value1.r,this._value1.g,this._value1.b),this._value3=this._vf.order>2&&this._vf.tau?this._value2.add(this._value3.subtract(this._value2).multiply(i)):new x3dom.fields.SFColor(this._value2.r,this._value2.g,this._value2.b),this._value4=this._vf.order>3&&this._vf.tau?this._value3.add(this._value4.subtract(this._value3).multiply(i)):new x3dom.fields.SFColor(this._value3.r,this._value3.g,this._value3.b),this._value5=this._vf.order>4&&this._vf.tau?this._value4.add(this._value5.subtract(this._value4).multiply(i)):new x3dom.fields.SFColor(this._value4.r,this._value4.g,this._value4.b);var n=this.distance(this._value1,this._value0);if(this._vf.order>1){var _=this.distance(this._value2,this._value1);_>n&&(n=_)}if(this._vf.order>2){var r=this.distance(this._value3,this._value2);r>n&&(n=r)}if(this._vf.order>3){var o=this.distance(this._value4,this._value3);o>n&&(n=o)}if(this._vf.order>4){var s=this.distance(this._value5,this._value4);s>n&&(n=s)}return n<=this._eps?(this._value1.setValues(this._value0),this._value2.setValues(this._value0),this._value3.setValues(this._value0),this._value4.setValues(this._value0),this._value5.setValues(this._value0),this.postMessage("value",this._value0),this.postMessage("isActive",!1),this._lastTick=0,!1):(this.postMessage("value",this._value5),this._lastTick=e,!0)}})),x3dom.registerNodeType("OrientationChaser","Followers",defineClass(x3dom.nodeTypes.X3DChaserNode,(function(e){x3dom.nodeTypes.OrientationChaser.superClass.call(this,e),this.addField_SFRotation(e,"initialDestination",0,1,0,0),this.addField_SFRotation(e,"initialValue",0,1,0,0),this.addField_SFRotation(e,"value",0,1,0,0),this.addField_SFRotation(e,"destination",0,1,0,0),this._numSupports=30,this._buffer=new x3dom.fields.MFRotation,this._previousValue=new x3dom.fields.Quaternion(0,1,0,0),this._value=new x3dom.fields.Quaternion(0,1,0,0),this.initialize()}),{fieldChanged:function(e){if(e.indexOf("destination")>=0)this.initialize(),this.updateBuffer(this._currTime),this._vf.isActive||this.postMessage("isActive",!0);else if(e.indexOf("value")>=0){this.initialize(),this._previousValue.setValues(this._vf.value);for(var t=1;t<this._buffer.length;t++)this._buffer[t].setValues(this._vf.value);this.postMessage("value",this._vf.value),this._vf.isActive||this.postMessage("isActive",!0)}},initialize:function(){if(!this._initDone){this._initDone=!0,this._vf.destination=x3dom.fields.Quaternion.copy(this._vf.initialDestination),this._buffer.length=this._numSupports,this._buffer[0]=x3dom.fields.Quaternion.copy(this._vf.initialDestination);for(var e=1;e<this._buffer.length;e++)this._buffer[e]=x3dom.fields.Quaternion.copy(this._vf.initialValue);this._previousValue=x3dom.fields.Quaternion.copy(this._vf.initialValue),this._stepTime=this._vf.duration/this._numSupports;var t=!this._buffer[0].equals(this._buffer[1],this._eps);this._vf.isActive!==t&&this.postMessage("isActive",t)}},tick:function(e){if(this.initialize(),this._currTime=e,!this._bufferEndTime)return this._bufferEndTime=e,this._value=x3dom.fields.Quaternion.copy(this._vf.initialValue),this.postMessage("value",this._value),!0;var t=this.updateBuffer(e),i=x3dom.fields.Quaternion.copy(this._previousValue),n=this._previousValue.inverse().multiply(this._buffer[this._buffer.length-1]);i=i.slerp(i.multiply(n),this.stepResponse((this._buffer.length-1+t)*this._stepTime));for(var _=this._buffer.length-2;_>=0;_--)n=this._buffer[_+1].inverse().multiply(this._buffer[_]),i=i.slerp(i.multiply(n),this.stepResponse((_+t)*this._stepTime));return i.equals(this._value,this._eps)?this.postMessage("isActive",!1):(i=i.normalize(i),this._value.setValues(i),this.postMessage("value",this._value)),this._vf.isActive},updateBuffer:function(e){var t,i,n,_=(e-this._bufferEndTime)/this._stepTime;if(_>=1){if(_-=i=Math.floor(_),i<this._buffer.length){for(this._previousValue=x3dom.fields.Quaternion.copy(this._buffer[this._buffer.length-i]),t=this._buffer.length-1;t>=i;t--)this._buffer[t]=x3dom.fields.Quaternion.copy(this._buffer[t-i]);for(t=0;t<i;t++)n=t/i,this._buffer[t]=this._vf.destination.slerp(this._buffer[i],n)}else for(this._previousValue=x3dom.fields.Quaternion.copy(i==this._buffer.length?this._buffer[0]:this._vf.destination),t=0;t<this._buffer.length;t++)this._buffer[t]=x3dom.fields.Quaternion.copy(this._vf.destination);this._bufferEndTime+=i*this._stepTime}return _}})),x3dom.registerNodeType("OrientationDamper","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.OrientationDamper.superClass.call(this,e),this.addField_SFRotation(e,"initialDestination",0,1,0,0),this.addField_SFRotation(e,"initialValue",0,1,0,0),this.addField_SFRotation(e,"value",0,1,0,0),this.addField_SFRotation(e,"destination",0,1,0,0),this._value0=new x3dom.fields.Quaternion(0,1,0,0),this._value1=new x3dom.fields.Quaternion(0,1,0,0),this._value2=new x3dom.fields.Quaternion(0,1,0,0),this._value3=new x3dom.fields.Quaternion(0,1,0,0),this._value4=new x3dom.fields.Quaternion(0,1,0,0),this._value5=new x3dom.fields.Quaternion(0,1,0,0),this.initialize()}),{fieldChanged:function(e){"tolerance"===e?this._eps=this._vf.tolerance<0?.001:this._vf.tolerance:e.indexOf("destination")>=0?this._value0.equals(this._vf.destination,this._eps)||(this._value0=this._vf.destination,this._vf.isActive||this.postMessage("isActive",!0)):e.indexOf("value")>=0&&(this._value1.setValues(this._vf.value),this._value2.setValues(this._vf.value),this._value3.setValues(this._vf.value),this._value4.setValues(this._vf.value),this._value5.setValues(this._vf.value),this._lastTick=0,this.postMessage("value",this._value5),this._vf.isActive||(this._lastTick=0,this.postMessage("isActive",!0)))},initialize:function(){this._value0.setValues(this._vf.initialDestination),this._value1.setValues(this._vf.initialValue),this._value2.setValues(this._vf.initialValue),this._value3.setValues(this._vf.initialValue),this._value4.setValues(this._vf.initialValue),this._value5.setValues(this._vf.initialValue),this._lastTick=0;var e=!this._value0.equals(this._value1,this._eps);this._vf.isActive!==e&&this.postMessage("isActive",e)},tick:function(e){if(!this._lastTick)return this._lastTick=e,!1;var t=e-this._lastTick,i=Math.exp(-t/this._vf.tau);this._value1=this._vf.order>0&&this._vf.tau?this._value0.slerp(this._value1,i):new x3dom.fields.Quaternion(this._value0.x,this._value0.y,this._value0.z,this._value0.w),this._value2=this._vf.order>1&&this._vf.tau?this._value1.slerp(this._value2,i):new x3dom.fields.Quaternion(this._value1.x,this._value1.y,this._value1.z,this._value1.w),this._value3=this._vf.order>2&&this._vf.tau?this._value2.slerp(this._value3,i):new x3dom.fields.Quaternion(this._value2.x,this._value2.y,this._value2.z,this._value2.w),this._value4=this._vf.order>3&&this._vf.tau?this._value3.slerp(this._value4,i):new x3dom.fields.Quaternion(this._value3.x,this._value3.y,this._value3.z,this._value3.w),this._value5=this._vf.order>4&&this._vf.tau?this._value4.slerp(this._value5,i):new x3dom.fields.Quaternion(this._value4.x,this._value4.y,this._value4.z,this._value4.w);var n=Math.abs(this._value1.inverse().multiply(this._value0).angle());if(this._vf.order>1){var _=Math.abs(this._value2.inverse().multiply(this._value1).angle());_>n&&(n=_)}if(this._vf.order>2){var r=Math.abs(this._value3.inverse().multiply(this._value2).angle());r>n&&(n=r)}if(this._vf.order>3){var o=Math.abs(this._value4.inverse().multiply(this._value3).angle());o>n&&(n=o)}if(this._vf.order>4){var s=Math.abs(this._value5.inverse().multiply(this._value4).angle());s>n&&(n=s)}return n<=this._eps?(this._value1.setValues(this._value0),this._value2.setValues(this._value0),this._value3.setValues(this._value0),this._value4.setValues(this._value0),this._value5.setValues(this._value0),this.postMessage("value",this._value0),this.postMessage("isActive",!1),this._lastTick=0,!1):(this.postMessage("value",this._value5),this._lastTick=e,!0)}})),x3dom.registerNodeType("PositionChaser","Followers",defineClass(x3dom.nodeTypes.X3DChaserNode,(function(e){x3dom.nodeTypes.PositionChaser.superClass.call(this,e),this.addField_SFVec3f(e,"initialDestination",0,0,0),this.addField_SFVec3f(e,"initialValue",0,0,0),this.addField_SFVec3f(e,"value",0,0,0),this.addField_SFVec3f(e,"destination",0,0,0),this._buffer=new x3dom.fields.MFVec3f,this._previousValue=new x3dom.fields.SFVec3f(0,0,0),this._value=new x3dom.fields.SFVec3f(0,0,0),this.initialize()}),{fieldChanged:function(e){if(e.indexOf("destination")>=0)this.initialize(),this.updateBuffer(this._currTime),this._vf.isActive||this.postMessage("isActive",!0);else if(e.indexOf("value")>=0){this.initialize(),this._previousValue.setValues(this._vf.value);for(var t=1;t<this._buffer.length;t++)this._buffer[t].setValues(this._vf.value);this.postMessage("value",this._vf.value),this._vf.isActive||this.postMessage("isActive",!0)}},initialize:function(){if(!this._initDone){this._initDone=!0,this._vf.destination=x3dom.fields.SFVec3f.copy(this._vf.initialDestination),this._buffer.length=this._numSupports,this._buffer[0]=x3dom.fields.SFVec3f.copy(this._vf.initialDestination);for(var e=1;e<this._buffer.length;e++)this._buffer[e]=x3dom.fields.SFVec3f.copy(this._vf.initialValue);this._previousValue=x3dom.fields.SFVec3f.copy(this._vf.initialValue),this._stepTime=this._vf.duration/this._numSupports;var t=!this._buffer[0].equals(this._buffer[1],this._eps);this._vf.isActive!==t&&this.postMessage("isActive",t)}},tick:function(e){if(this.initialize(),this._currTime=e,!this._bufferEndTime)return this._bufferEndTime=e,this._value=x3dom.fields.SFVec3f.copy(this._vf.initialValue),this.postMessage("value",this._value),!0;var t=this.updateBuffer(e),i=x3dom.fields.SFVec3f.copy(this._previousValue),n=this._buffer[this._buffer.length-1].subtract(this._previousValue),_=n.multiply(this.stepResponse((this._buffer.length-1+t)*this._stepTime));i=i.add(_);for(var r=this._buffer.length-2;r>=0;r--)_=(n=this._buffer[r].subtract(this._buffer[r+1])).multiply(this.stepResponse((r+t)*this._stepTime)),i=i.add(_);return i.equals(this._value,this._eps)?this.postMessage("isActive",!1):(this._value.setValues(i),this.postMessage("value",this._value)),this._vf.isActive},updateBuffer:function(e){var t,i,n,_=(e-this._bufferEndTime)/this._stepTime;if(_>=1){if(_-=i=Math.floor(_),i<this._buffer.length){for(this._previousValue=x3dom.fields.SFVec3f.copy(this._buffer[this._buffer.length-i]),t=this._buffer.length-1;t>=i;t--)this._buffer[t]=x3dom.fields.SFVec3f.copy(this._buffer[t-i]);for(t=0;t<i;t++)n=t/i,this._buffer[t]=this._buffer[i].multiply(n).add(this._vf.destination.multiply(1-n))}else for(this._previousValue=x3dom.fields.SFVec3f.copy(i==this._buffer.length?this._buffer[0]:this._vf.destination),t=0;t<this._buffer.length;t++)this._buffer[t]=x3dom.fields.SFVec3f.copy(this._vf.destination);this._bufferEndTime+=i*this._stepTime}return _}})),x3dom.registerNodeType("PositionChaser2D","Followers",defineClass(x3dom.nodeTypes.X3DChaserNode,(function(e){x3dom.nodeTypes.PositionChaser2D.superClass.call(this,e),this.addField_SFVec2f(e,"initialDestination",0,0),this.addField_SFVec2f(e,"initialValue",0,0),this.addField_SFVec2f(e,"value",0,0),this.addField_SFVec2f(e,"destination",0,0),this._buffer=new x3dom.fields.MFVec2f,this._previousValue=new x3dom.fields.SFVec2f(0,0),this._value=new x3dom.fields.SFVec2f(0,0),this.initialize()}),{fieldChanged:function(e){if(e.indexOf("destination")>=0)this.initialize(),this.updateBuffer(this._currTime),this._vf.isActive||this.postMessage("isActive",!0);else if(e.indexOf("value")>=0){this.initialize(),this._previousValue.setValues(this._vf.value);for(var t=1;t<this._buffer.length;t++)this._buffer[t].setValues(this._vf.value);this.postMessage("value",this._vf.value),this._vf.isActive||this.postMessage("isActive",!0)}},initialize:function(){if(!this._initDone){this._initDone=!0,this._vf.destination=x3dom.fields.SFVec2f.copy(this._vf.initialDestination),this._buffer.length=this._numSupports,this._buffer[0]=x3dom.fields.SFVec2f.copy(this._vf.initialDestination);for(var e=1;e<this._buffer.length;e++)this._buffer[e]=x3dom.fields.SFVec2f.copy(this._vf.initialValue);this._previousValue=x3dom.fields.SFVec2f.copy(this._vf.initialValue),this._stepTime=this._vf.duration/this._numSupports;var t=!this._buffer[0].equals(this._buffer[1],this._eps);this._vf.isActive!==t&&this.postMessage("isActive",t)}},tick:function(e){if(this.initialize(),this._currTime=e,!this._bufferEndTime)return this._bufferEndTime=e,this._value=x3dom.fields.SFVec2f.copy(this._vf.initialValue),this.postMessage("value",this._value),!0;var t=this.updateBuffer(e),i=x3dom.fields.SFVec2f.copy(this._previousValue),n=this._buffer[this._buffer.length-1].subtract(this._previousValue),_=n.multiply(this.stepResponse((this._buffer.length-1+t)*this._stepTime));i=i.add(_);for(var r=this._buffer.length-2;r>=0;r--)_=(n=this._buffer[r].subtract(this._buffer[r+1])).multiply(this.stepResponse((r+t)*this._stepTime)),i=i.add(_);return i.equals(this._value,this._eps)?this.postMessage("isActive",!1):(this._value.setValues(i),this.postMessage("value",this._value)),this._vf.isActive},updateBuffer:function(e){var t,i,n,_=(e-this._bufferEndTime)/this._stepTime;if(_>=1){if(_-=i=Math.floor(_),i<this._buffer.length){for(this._previousValue=x3dom.fields.SFVec2f.copy(this._buffer[this._buffer.length-i]),t=this._buffer.length-1;t>=i;t--)this._buffer[t]=x3dom.fields.SFVec2f.copy(this._buffer[t-i]);for(t=0;t<i;t++)n=t/i,this._buffer[t]=this._buffer[i].multiply(n).add(this._vf.destination.multiply(1-n))}else for(this._previousValue=x3dom.fields.SFVec2f.copy(i==this._buffer.length?this._buffer[0]:this._vf.destination),t=0;t<this._buffer.length;t++)this._buffer[t]=x3dom.fields.SFVec2f.copy(this._vf.destination);this._bufferEndTime+=i*this._stepTime}return _}})),x3dom.registerNodeType("PositionDamper","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.PositionDamper.superClass.call(this,e),this.addField_SFVec3f(e,"initialDestination",0,0,0),this.addField_SFVec3f(e,"initialValue",0,0,0),this.addField_SFVec3f(e,"value",0,0,0),this.addField_SFVec3f(e,"destination",0,0,0),this._value0=new x3dom.fields.SFVec3f(0,0,0),this._value1=new x3dom.fields.SFVec3f(0,0,0),this._value2=new x3dom.fields.SFVec3f(0,0,0),this._value3=new x3dom.fields.SFVec3f(0,0,0),this._value4=new x3dom.fields.SFVec3f(0,0,0),this._value5=new x3dom.fields.SFVec3f(0,0,0),this.initialize()}),{fieldChanged:function(e){"tolerance"===e?this._eps=this._vf.tolerance<0?.001:this._vf.tolerance:e.indexOf("destination")>=0?this._value0.equals(this._vf.destination,this._eps)||(this._value0=this._vf.destination,this._vf.isActive||this.postMessage("isActive",!0)):e.indexOf("value")>=0&&(this._value1.setValues(this._vf.value),this._value2.setValues(this._vf.value),this._value3.setValues(this._vf.value),this._value4.setValues(this._vf.value),this._value5.setValues(this._vf.value),this._lastTick=0,this.postMessage("value",this._value5),this._vf.isActive||(this._lastTick=0,this.postMessage("isActive",!0)))},initialize:function(){this._value0.setValues(this._vf.initialDestination),this._value1.setValues(this._vf.initialValue),this._value2.setValues(this._vf.initialValue),this._value3.setValues(this._vf.initialValue),this._value4.setValues(this._vf.initialValue),this._value5.setValues(this._vf.initialValue),this._lastTick=0;var e=!this._value0.equals(this._value1,this._eps);this._vf.isActive!==e&&this.postMessage("isActive",e)},tick:function(e){if(!this._lastTick)return this._lastTick=e,!1;var t=e-this._lastTick,i=Math.exp(-t/this._vf.tau);this._value1=this._vf.order>0&&this._vf.tau?this._value0.add(this._value1.subtract(this._value0).multiply(i)):new x3dom.fields.SFVec3f(this._value0.x,this._value0.y,this._value0.z),this._value2=this._vf.order>1&&this._vf.tau?this._value1.add(this._value2.subtract(this._value1).multiply(i)):new x3dom.fields.SFVec3f(this._value1.x,this._value1.y,this._value1.z),this._value3=this._vf.order>2&&this._vf.tau?this._value2.add(this._value3.subtract(this._value2).multiply(i)):new x3dom.fields.SFVec3f(this._value2.x,this._value2.y,this._value2.z),this._value4=this._vf.order>3&&this._vf.tau?this._value3.add(this._value4.subtract(this._value3).multiply(i)):new x3dom.fields.SFVec3f(this._value3.x,this._value3.y,this._value3.z),this._value5=this._vf.order>4&&this._vf.tau?this._value4.add(this._value5.subtract(this._value4).multiply(i)):new x3dom.fields.SFVec3f(this._value4.x,this._value4.y,this._value4.z);var n=this._value1.subtract(this._value0).length();if(this._vf.order>1){var _=this._value2.subtract(this._value1).length();_>n&&(n=_)}if(this._vf.order>2){var r=this._value3.subtract(this._value2).length();r>n&&(n=r)}if(this._vf.order>3){var o=this._value4.subtract(this._value3).length();o>n&&(n=o)}if(this._vf.order>4){var s=this._value5.subtract(this._value4).length();s>n&&(n=s)}return n<=this._eps?(this._value1.setValues(this._value0),this._value2.setValues(this._value0),this._value3.setValues(this._value0),this._value4.setValues(this._value0),this._value5.setValues(this._value0),this.postMessage("value",this._value0),this.postMessage("isActive",!1),this._lastTick=0,!1):(this.postMessage("value",this._value5),this._lastTick=e,!0)}})),x3dom.registerNodeType("PositionDamper2D","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.PositionDamper2D.superClass.call(this,e),this.addField_SFVec2f(e,"initialDestination",0,0),this.addField_SFVec2f(e,"initialValue",0,0),this.addField_SFVec2f(e,"value",0,0),this.addField_SFVec2f(e,"destination",0,0),this._value0=new x3dom.fields.SFVec2f(0,0),this._value1=new x3dom.fields.SFVec2f(0,0),this._value2=new x3dom.fields.SFVec2f(0,0),this._value3=new x3dom.fields.SFVec2f(0,0),this._value4=new x3dom.fields.SFVec2f(0,0),this._value5=new x3dom.fields.SFVec2f(0,0),this.initialize()}),{fieldChanged:function(e){"tolerance"===e?this._eps=this._vf.tolerance<0?.001:this._vf.tolerance:e.indexOf("destination")>=0?this._value0.equals(this._vf.destination,this._eps)||(this._value0=this._vf.destination,this._vf.isActive||this.postMessage("isActive",!0)):e.indexOf("value")>=0&&(this._value1.setValues(this._vf.value),this._value2.setValues(this._vf.value),this._value3.setValues(this._vf.value),this._value4.setValues(this._vf.value),this._value5.setValues(this._vf.value),this._lastTick=0,this.postMessage("value",this._value5),this._vf.isActive||(this._lastTick=0,this.postMessage("isActive",!0)))},initialize:function(){this._value0.setValues(this._vf.initialDestination),this._value1.setValues(this._vf.initialValue),this._value2.setValues(this._vf.initialValue),this._value3.setValues(this._vf.initialValue),this._value4.setValues(this._vf.initialValue),this._value5.setValues(this._vf.initialValue),this._lastTick=0;var e=!this._value0.equals(this._value1,this._eps);this._vf.isActive!==e&&this.postMessage("isActive",e)},tick:function(e){if(!this._lastTick)return this._lastTick=e,!1;var t=e-this._lastTick,i=Math.exp(-t/this._vf.tau);this._value1=this._vf.order>0&&this._vf.tau?this._value0.add(this._value1.subtract(this._value0).multiply(i)):new x3dom.fields.SFVec2f(this._value0.x,this._value0.y,this._value0.z),this._value2=this._vf.order>1&&this._vf.tau?this._value1.add(this._value2.subtract(this._value1).multiply(i)):new x3dom.fields.SFVec2f(this._value1.x,this._value1.y,this._value1.z),this._value3=this._vf.order>2&&this._vf.tau?this._value2.add(this._value3.subtract(this._value2).multiply(i)):new x3dom.fields.SFVec2f(this._value2.x,this._value2.y,this._value2.z),this._value4=this._vf.order>3&&this._vf.tau?this._value3.add(this._value4.subtract(this._value3).multiply(i)):new x3dom.fields.SFVec2f(this._value3.x,this._value3.y,this._value3.z),this._value5=this._vf.order>4&&this._vf.tau?this._value4.add(this._value5.subtract(this._value4).multiply(i)):new x3dom.fields.SFVec2f(this._value4.x,this._value4.y,this._value4.z);var n=this._value1.subtract(this._value0).length();if(this._vf.order>1){var _=this._value2.subtract(this._value1).length();_>n&&(n=_)}if(this._vf.order>2){var r=this._value3.subtract(this._value2).length();r>n&&(n=r)}if(this._vf.order>3){var o=this._value4.subtract(this._value3).length();o>n&&(n=o)}if(this._vf.order>4){var s=this._value5.subtract(this._value4).length();s>n&&(n=s)}return n<=this._eps?(this._value1.setValues(this._value0),this._value2.setValues(this._value0),this._value3.setValues(this._value0),this._value4.setValues(this._value0),this._value5.setValues(this._value0),this.postMessage("value",this._value0),this.postMessage("isActive",!1),this._lastTick=0,!1):(this.postMessage("value",this._value5),this._lastTick=e,!0)}})),x3dom.registerNodeType("ScalarChaser","Followers",defineClass(x3dom.nodeTypes.X3DChaserNode,(function(e){x3dom.nodeTypes.ScalarChaser.superClass.call(this,e),this.addField_SFFloat(e,"initialDestination",0),this.addField_SFFloat(e,"initialValue",0),this.addField_SFFloat(e,"value",0),this.addField_SFFloat(e,"destination",0),this._buffer=[],this._previousValue=0,this._value=0,this.initialize()}),{fieldChanged:function(e){if(e.indexOf("destination")>=0)this.initialize(),this.updateBuffer(this._currTime),this._vf.isActive||this.postMessage("isActive",!0);else if(e.indexOf("value")>=0){this.initialize(),this._previousValue=this._vf.value;for(var t=1;t<this._buffer.length;t++)this._buffer[t]=this._vf.value;this.postMessage("value",this._vf.value),this._vf.isActive||this.postMessage("isActive",!0)}},initialize:function(){if(!this._initDone){this._initDone=!0,this._vf.destination=this._vf.initialDestination,this._buffer.length=this._numSupports,this._buffer[0]=this._vf.initialDestination;for(var e=1;e<this._buffer.length;e++)this._buffer[e]=this._vf.initialValue;this._previousValue=this._vf.initialValue,this._stepTime=this._vf.duration/this._numSupports;var t=Math.abs(this._buffer[0]-this._buffer[1])>this._eps;this._vf.isActive!==t&&this.postMessage("isActive",t)}},tick:function(e){if(this.initialize(),this._currTime=e,!this._bufferEndTime)return this._bufferEndTime=e,this._value=this._vf.initialValue,this.postMessage("value",this._value),!0;var t=this.updateBuffer(e),i=this._previousValue,n=this._buffer[this._buffer.length-1]-this._previousValue,_=n*this.stepResponse((this._buffer.length-1+t)*this._stepTime);i+=_;for(var r=this._buffer.length-2;r>=0;r--)i+=_=(n=this._buffer[r]-this._buffer[r+1])*this.stepResponse((r+t)*this._stepTime);return Math.abs(i-this._value)>this._eps?(this._value=i,this.postMessage("value",this._value)):this.postMessage("isActive",!1),this._vf.isActive},updateBuffer:function(e){var t,i,n,_=(e-this._bufferEndTime)/this._stepTime;if(_>=1){if(_-=i=Math.floor(_),i<this._buffer.length){for(this._previousValue=this._buffer[this._buffer.length-i],t=this._buffer.length-1;t>=i;t--)this._buffer[t]=this._buffer[t-i];for(t=0;t<i;t++)n=t/i,this._buffer[t]=this._buffer[i]*n+this._vf.destination*(1-n)}else for(this._previousValue=i==this._buffer.length?this._buffer[0]:this._vf.destination,t=0;t<this._buffer.length;t++)this._buffer[t]=this._vf.destination;this._bufferEndTime+=i*this._stepTime}return _}})),x3dom.registerNodeType("ScalarDamper","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.ScalarDamper.superClass.call(this,e),this.addField_SFFloat(e,"initialDestination",0),this.addField_SFFloat(e,"initialValue",0),this.addField_SFFloat(e,"value",0),this.addField_SFFloat(e,"destination",0),this._value0=0,this._value1=0,this._value2=0,this._value3=0,this._value4=0,this._value5=0,this.initialize()}),{fieldChanged:function(e){"tolerance"===e?this._eps=this._vf.tolerance<0?.001:this._vf.tolerance:e.indexOf("destination")>=0?Math.abs(this._value0-this._vf.destination)>this._eps&&(this._value0=this._vf.destination,this._vf.isActive||this.postMessage("isActive",!0)):e.indexOf("value")>=0&&(this._value1=this._vf.value,this._value2=this._vf.value,this._value3=this._vf.value,this._value4=this._vf.value,this._value5=this._vf.value,this._lastTick=0,this.postMessage("value",this._value5),this._vf.isActive||(this._lastTick=0,this.postMessage("isActive",!0)))},initialize:function(){this._value0=this._vf.initialDestination,this._value1=this._vf.initialValue,this._value2=this._vf.initialValue,this._value3=this._vf.initialValue,this._value4=this._vf.initialValue,this._value5=this._vf.initialValue,this._lastTick=0;var e=Math.abs(this._value0-this._value1)>this._eps;this._vf.isActive!==e&&this.postMessage("isActive",e)},tick:function(e){if(!this._lastTick)return this._lastTick=e,!1;var t=e-this._lastTick,i=Math.exp(-t/this._vf.tau);this._value1=this._vf.order>0&&this._vf.tau?this._value0+i*(this._value1-this._value0):this._value0,this._value2=this._vf.order>1&&this._vf.tau?this._value1+i*(this._value2-this._value1):this._value1,this._value3=this._vf.order>2&&this._vf.tau?this._value2+i*(this._value3-this._value2):this._value2,this._value4=this._vf.order>3&&this._vf.tau?this._value3+i*(this._value4-this._value3):this._value3,this._value5=this._vf.order>4&&this._vf.tau?this._value4+i*(this._value5-this._value4):this._value4;var n=Math.abs(this._value1-this._value0);if(this._vf.order>1){var _=Math.abs(this._value2-this._value1);_>n&&(n=_)}if(this._vf.order>2){var r=Math.abs(this._value3-this._value2);r>n&&(n=r)}if(this._vf.order>3){var o=Math.abs(this._value4-this._value3);o>n&&(n=o)}if(this._vf.order>4){var s=Math.abs(this._value5-this._value4);s>n&&(n=s)}return n<=this._eps?(this._value1=this._value0,this._value2=this._value0,this._value3=this._value0,this._value4=this._value0,this._value5=this._value0,this.postMessage("value",this._value0),this.postMessage("isActive",!1),this._lastTick=0,!1):(this.postMessage("value",this._value5),this._lastTick=e,!0)}})),x3dom.registerNodeType("CoordinateDamper","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.CoordinateDamper.superClass.call(this,e),this.addField_MFVec3f(e,"initialDestination",[]),this.addField_MFVec3f(e,"initialValue",[]),this.addField_MFVec3f(e,"value",[]),this.addField_MFVec3f(e,"destination",[]),x3dom.debug.logWarning("CoordinateDamper NYI")}))),x3dom.registerNodeType("TexCoordDamper2D","Followers",defineClass(x3dom.nodeTypes.X3DDamperNode,(function(e){x3dom.nodeTypes.TexCoordDamper2D.superClass.call(this,e),this.addField_MFVec2f(e,"initialDestination",[]),this.addField_MFVec2f(e,"initialValue",[]),this.addField_MFVec2f(e,"value",[]),this.addField_MFVec2f(e,"destination",[]),x3dom.debug.logWarning("TexCoordDamper2D NYI")}))),x3dom.registerNodeType("X3DInterpolatorNode","Interpolation",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DInterpolatorNode.superClass.call(this,e),this.addField_MFFloat(e,"key",[]),this.addField_SFFloat(e,"set_fraction",0),this.addField_SFString(e,"buffer",""),this.addField_SFString(e,"interpolation","LINEAR"),this.addField_SFFloat(e,"duration",1),this.addField_MFNode("views",x3dom.nodeTypes.BufferView),this.addField_MFNode("accessors",x3dom.nodeTypes.BufferAccessor),this._lastValue=void 0,this.normalizeFromType={5120:function(e){return Math.max(e/127,-1)},5121:function(e){return e/255},5122:function(e){return Math.max(e/32767,-1)},5123:function(e){return e/65535},5125:function(e){return e/4294967295},5126:function(e){return e}}}),{nodeChanged:function(){this._vf.buffer&&x3dom.BinaryContainerLoader.setupBufferInterpolator(this)},linearInterp:function(e,t){var i=this._vf.key,n=this._vf.keyValue;if(0!=i.length){if(e<=i[0])return t(n[0],n[0],0);if(e>=i[i.length-1])return t(n[i.length-1],n[i.length-1],1);for(var _=0,r=i.length-1;_<r;++_)if(i[_]<e&&e<=i[_+1])return t(n[_],n[_+1],(e-i[_])/(i[_+1]-i[_]));return n[0]}},cubicSplineInterp:function(e,t){if(0!=this._vf.key.length){var i,n,_,r,o,s,a;if(e<=this._vf.key[0])return this._vf.keyValue[1];if(e>=this._vf.key[this._vf.key.length-1])return this._vf.keyValue[this._vf.keyValue.length-2];for(i=0,_=this._vf.key.length-1;i<_;++i)if(this._vf.key[i]<e&&e<=this._vf.key[i+1])return n=3*i,r=this._vf.key[i+1]-this._vf.key[i],s=(e-this._vf.key[i])/r,a=r*this._vf.duration,o=this.cubicSplineBasis(s,a),t(this._vf.keyValue[n+2],this._vf.keyValue[n+1],this._vf.keyValue[n+3],this._vf.keyValue[n+4],o.h00,o.h10,o.h01,o.h11);return this._vf.keyValue[0]}},cubicSplineBasis:function(e,t){var i=e*e,n=i*e,_=-2*n+3*i,r=n-i;return{h00:1-_,h10:t*(r-i+e),h01:_,h11:t*r}},keyValueFromArray:function(e){return e}})),x3dom.XHRCache={},x3dom.registerNodeType("OrientationInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.OrientationInterpolator.superClass.call(this,e),this.addField_MFRotation(e,"keyValue",[])}),{fieldChanged:function(e){var t;"set_fraction"===e&&(null!=(t="CUBICSPLINE"===this._vf.interpolation?this.cubicSplineInterp(this._vf.set_fraction,(function(e,t,i,n,_,r,o,s){function a(a){return _*t[a]+r*e[a]+o*n[a]+s*i[a]}var p=new x3dom.fields.Quaternion(0,0,0,0);p.x=a("x"),p.y=a("y"),p.z=a("z"),p.w=a("w");var l=Math.sqrt(1/p.dot(p));return p.x*=l,p.y*=l,p.z*=l,p.w*=l,p})):this.linearInterp(this._vf.set_fraction,(function(e,t,i){return e.slerp(t,i)})))&&t!=this._lastValue&&(this._lastValue=t,this.postMessage("value_changed",t)))},keyValueFromAccessor:function(e,t){var i=new x3dom.fields.MFRotation,n=this.normalizeFromType[t];return e.forEach((function(t,_){_%4==3&&i.push(new x3dom.fields.Quaternion(n(e[_-3]),n(e[_-2]),n(e[_-1]),n(t)))})),i}})),x3dom.registerNodeType("PositionInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.PositionInterpolator.superClass.call(this,e),this.addField_MFVec3f(e,"keyValue",[])}),{fieldChanged:function(e){var t;"set_fraction"===e&&(null!=(t="CUBICSPLINE"===this._vf.interpolation?this.cubicSplineInterp(this._vf.set_fraction,(function(e,t,i,n,_,r,o,s){function a(a){return _*t[a]+r*e[a]+o*n[a]+s*i[a]}var p=new x3dom.fields.SFVec3f;return p.x=a("x"),p.y=a("y"),p.z=a("z"),p})):this.linearInterp(this._vf.set_fraction,(function(e,t,i){var n=e.multiply(1-i);return n.x+=i*t.x,n.y+=i*t.y,n.z+=i*t.z,n})))&&t!=this._lastValue&&(this._lastValue=t,this.postMessage("value_changed",t)))},keyValueFromAccessor:function(e){var t=new x3dom.fields.MFVec3f;return e.forEach((function(i,n){n%3==2&&t.push(new x3dom.fields.SFVec3f(e[n-2],e[n-1],i))})),t}})),x3dom.registerNodeType("PositionInterpolator2D","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.PositionInterpolator2D.superClass.call(this,e),this.addField_MFVec2f(e,"keyValue",[])}),{fieldChanged:function(e){if("set_fraction"===e){var t=this.linearInterp(this._vf.set_fraction,(function(e,t,i){return e.multiply(1-i).add(t.multiply(i))}));this.postMessage("value_changed",t)}}})),x3dom.registerNodeType("NormalInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){if(x3dom.nodeTypes.NormalInterpolator.superClass.call(this,e),this.addField_MFVec3f(e,"keyValue",[]),e&&e.xmlNode.hasAttribute("keyValue")){this._vf.keyValue=[];for(var t=x3dom.fields.MFVec3f.parse(e.xmlNode.getAttribute("keyValue")),i=this._vf.key.length>0?this._vf.key.length:1,n=t.length/i,_=0;_<i;_++){for(var r=new x3dom.fields.MFVec3f,o=0;o<n;o++)r.push(t[_*n+o]);this._vf.keyValue.push(r)}}}),{fieldChanged:function(e){if("set_fraction"===e){var t=this.linearInterp(this._vf.set_fraction,(function(e,t,i){for(var n=new x3dom.fields.MFVec3f,_=0;_<e.length;_++)n.push(e[_].multiply(1-i).add(t[_].multiply(i)).normalize());return n}));null!=t&&t!=this._lastValue&&(this._lastValue=t,this.postMessage("value_changed",t))}},keyValueFromAccessor:function(e){var t=new x3dom.fields.MFVec3f;e.forEach((function(i,n){n%3==2&&t.push(new x3dom.fields.SFVec3f(e[n-2],e[n-1],i))}));for(var i=this._vf.key.length>0?this._vf.key.length:1,n=t.length/i,_=[],r=0;r<i;r++){for(var o=new x3dom.fields.MFVec3f,s=0;s<n;s++)o.push(t[r*n+s]);_.push(o)}return _}})),x3dom.registerNodeType("ColorInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.ColorInterpolator.superClass.call(this,e),this.addField_MFColor(e,"keyValue",[]),this.addField_SFBool(e,"RGB",!1),this._lastValue=new x3dom.fields.SFColor(-1,-1,-1),this.fieldChanged("keyValue")}),{fieldChanged:function(e){var t,i;"set_fraction"===e&&(this._vf.RGB?t=this.linearInterp(this._vf.set_fraction,(function(e,t,n){return i=e.multiply(1-n).add(t.multiply(n))})):(this._vf.keyValue=this._keyValueHSV,t=this.linearInterp(this._vf.set_fraction,(function(e,t,n){var _=e.copy(),r=t.copy();return r.r=r.r>_.r?r.r:r.r+360,r.r-_.r<180||(_.r=_.r+360),(i=_.multiply(1-n).add(r.multiply(n))).setHSV(i.r%360,i.g,i.b)})),this._vf.keyValue=this._keyValue),null==t||t.equals(this._lastValue,x3dom.fields.Eps)||(this._lastValue=t,this.postMessage("value_changed",t)));"keyValue"===e&&(this._keyValueHSV=this._vf.keyValue.map((function(e){var t=e.getHSV();return new x3dom.fields.SFColor(t[0],t[1],t[2])})),this._keyValue=this._vf.keyValue.copy())},keyValueFromAccessor:function(e){var t=new x3dom.fields.MFColor;return e.forEach((function(i,n){n%3==2&&t.push(new x3dom.fields.SFColor(e[n-2],e[n-1],i))})),this._vf.keyValue=t,this.fieldChanged("keyValue"),t}})),x3dom.registerNodeType("ScalarInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.ScalarInterpolator.superClass.call(this,e),this.addField_MFFloat(e,"keyValue",[])}),{fieldChanged:function(e){if("set_fraction"===e){var t;if("CUBICSPLINE"===this._vf.interpolation){t=this.cubicSplineInterp(this._vf.set_fraction,(function(e,t,i,n,_,r,o,s){return _*t+r*e+o*n+s*i}))}else t=this.linearInterp(this._vf.set_fraction,(function(e,t,i){return(1-i)*e+i*t}));null!=t&&t!=this._lastValue&&(this._lastValue=t,this.postMessage("value_changed",t))}},keyValueFromAccessor:function(e,t){var i=this.normalizeFromType[t];return e.map((function(e){return i(e)}))}})),x3dom.registerNodeType("CoordinateInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){if(x3dom.nodeTypes.CoordinateInterpolator.superClass.call(this,e),this.addField_MFVec3f(e,"keyValue",[]),e&&e.xmlNode.hasAttribute("keyValue")){this._vf.keyValue=[];for(var t=x3dom.fields.MFVec3f.parse(e.xmlNode.getAttribute("keyValue")),i=this._vf.key.length>0?this._vf.key.length:1,n=t.length/i,_=0;_<i;_++){for(var r=new x3dom.fields.MFVec3f,o=0;o<n;o++)r.push(t[_*n+o]);this._vf.keyValue.push(r)}}}),{fieldChanged:function(e){if("set_fraction"===e){var t=this.linearInterp(this._vf.set_fraction,(function(e,t,i){for(var n=new x3dom.fields.MFVec3f,_=0;_<e.length;_++)n.push(e[_].multiply(1-i).add(t[_].multiply(i)));return n}));null!=t&&t!=this._lastValue&&(this._lastValue=t,this.postMessage("value_changed",t))}},keyValueFromAccessor:function(e){var t=new x3dom.fields.MFVec3f;e.forEach((function(i,n){n%3==2&&t.push(new x3dom.fields.SFVec3f(e[n-2],e[n-1],i))}));for(var i=this._vf.key.length>0?this._vf.key.length:1,n=t.length/i,_=[],r=0;r<i;r++){for(var o=new x3dom.fields.MFVec3f,s=0;s<n;s++)o.push(t[r*n+s]);_.push(o)}return _}})),x3dom.registerNodeType("SplinePositionInterpolator","Interpolation",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.SplinePositionInterpolator.superClass.call(this,e),this.addField_MFVec3f(e,"keyValue",[]),this.addField_MFVec3f(e,"keyVelocity",[]),this.addField_SFBool(e,"closed",!1),this.addField_SFBool(e,"normalizeVelocity",!1),this.dtot=0,this.T0=[],this.T1=[],this.checkSanity=function(){this._vf.key.length==this._vf.keyValue.length&&(this._vf.key.length==this._vf.keyVelocity.length||2==this._vf.keyVelocity.length&&this._vf.key.length>=2||0==this._vf.keyVelocity.length)||x3dom.debug.logWarning("SplinePositionInterpolator Node: 'key' , 'keyValue' and/or 'keyVelocity' fields have inappropriate sizes")},this.calcDtot=function(){this.dtot=0;for(var e=0;e<this._vf.key.length-1;e++)this.dtot+=Math.abs(this._vf.key[e]-this._vf.key[e+1])},this.calcAdjustedKeyVelocity=function(){var e,t,i,n,_=this._vf.key.length;if(this._vf.keyVelocity.length==_)for(e=0;e<_;e++)t=this._vf.keyVelocity[e],this._vf.normalizeVelocity&&(t=t.multiply(this.dtot/t.length())),i=0==e||e==_-1?1:2*(this._vf.key[e]-this._vf.key[e-1])/(this._vf.key[e+1]-this._vf.key[e-1]),n=0==e||e==_-1?1:2*(this._vf.key[e+1]-this._vf.key[e])/(this._vf.key[e+1]-this._vf.key[e-1]),this.T0[e]=t.multiply(i),this.T1[e]=t.multiply(n);else if(2==this._vf.keyVelocity.length&&_>2)for(e=0;e<_;e++)t=0==e?this._vf.keyVelocity[0]:e==_-1?this._vf.keyVelocity[1]:this._vf.keyValue[e+1].subtract(this._vf.keyValue[e-1]).multiply(.5),this._vf.normalizeVelocity&&(t=t.multiply(this.dtot/t.length())),i=0==e||e==_-1?1:2*(this._vf.key[e]-this._vf.key[e-1])/(this._vf.key[e+1]-this._vf.key[e-1]),n=0==e||e==_-1?1:2*(this._vf.key[e+1]-this._vf.key[e])/(this._vf.key[e+1]-this._vf.key[e-1]),this.T0[e]=t.multiply(i),this.T1[e]=t.multiply(n);else{var r=this._vf.closed&&this._vf.keyValue[0].equals(this._vf.keyValue[_-1],1e-5);for(e=0;e<_;e++)0!=e&&e!=_-1||r?(0!=e&&e!=_-1||!r?(t=this._vf.keyValue[e+1].subtract(this._vf.keyValue[e-1]).multiply(.5),i=2*(this._vf.key[e]-this._vf.key[e-1])/(this._vf.key[e+1]-this._vf.key[e-1]),n=2*(this._vf.key[e+1]-this._vf.key[e])/(this._vf.key[e+1]-this._vf.key[e-1])):(t=this._vf.keyValue[1].subtract(this._vf.keyValue[_-2]).multiply(.5),0==e?(i=2*(this._vf.key[0]-this._vf.key[_-2])/(this._vf.key[1]-this._vf.key[_-2]),n=2*(this._vf.key[1]-this._vf.key[0])/(this._vf.key[1]-this._vf.key[_-2])):(i=2*(this._vf.key[_-1]-this._vf.key[_-2])/(this._vf.key[1]-this._vf.key[_-2]),n=2*(this._vf.key[1]-this._vf.key[_-1])/(this._vf.key[1]-this._vf.key[_-2])),i=2*(this._vf.key[_-1]-this._vf.key[_-2])/(this._vf.key[_-2]-this._vf.key[1]),n=2*(this._vf.key[1]-this._vf.key[0])/(this._vf.key[_-2]-this._vf.key[1])),this.T0[e]=t.multiply(i),this.T1[e]=t.multiply(n)):(this.T0[e]=new x3dom.fields.SFVec3f(0,0,0),this.T1[e]=new x3dom.fields.SFVec3f(0,0,0))}},this.checkSanity(),this.calcDtot(),this.calcAdjustedKeyVelocity()}),{fieldChanged:function(e){switch(e){case"key":case"keyValue":case"keyVelocity":this.checkSanity(),this.calcDtot(),this.calcAdjustedKeyVelocity();break;case"closed":case"normalizeVelocity":this.calcAdjustedKeyVelocity();break;case"set_fraction":var t;this._vf.key.length>0&&(this._vf.set_fraction<=this._vf.key[0]?t=x3dom.fields.SFVec3f.copy(this._vf.keyValue[0]):this._vf.set_fraction>=this._vf.key[this._vf.key.length-1]&&(t=x3dom.fields.SFVec3f.copy(this._vf.keyValue[this._vf.key.length-1])));for(var i=0;i<this._vf.key.length-1;i++)if(this._vf.key[i]<this._vf.set_fraction&&this._vf.set_fraction<=this._vf.key[i+1]){var n=(this._vf.set_fraction-this._vf.key[i])/(this._vf.key[i+1]-this._vf.key[i]),_=new x3dom.fields.SFVec4f(2*n*n*n-3*n*n+1,-2*n*n*n+3*n*n,n*n*n-2*n*n+n,n*n*n-n*n);t=new x3dom.fields.SFVec3f(_.x*this._vf.keyValue[i].x+_.y*this._vf.keyValue[i+1].x+_.z*this.T0[i].x+_.w*this.T1[i+1].x,_.x*this._vf.keyValue[i].y+_.y*this._vf.keyValue[i+1].y+_.z*this.T0[i].y+_.w*this.T1[i+1].y,_.x*this._vf.keyValue[i].z+_.y*this._vf.keyValue[i+1].z+_.z*this.T0[i].z+_.w*this.T1[i+1].z);break}null!=t&&t!=this._lastValue&&(this._lastValue=t,this.postMessage("value_changed",t))}}})),x3dom.registerNodeType("TimeSensor","Time",defineClass(x3dom.nodeTypes.X3DSensorNode,(function(e){x3dom.nodeTypes.TimeSensor.superClass.call(this,e),e?e.doc._nodeBag.timer.push(this):x3dom.debug.logWarning("TimeSensor: No runtime context found!"),this.addField_SFTime(e,"cycleInterval",1),this.addField_SFBool(e,"loop",!1),this.addField_SFTime(e,"startTime",0),this.addField_SFTime(e,"stopTime",0),this.addField_SFTime(e,"pauseTime",0),this.addField_SFTime(e,"resumeTime",0),this.addField_SFTime(e,"cycleTime",0),this.addField_SFTime(e,"elapsedTime",0),this.addField_SFFloat(e,"fraction_changed",0),this.addField_SFBool(e,"isActive",!1),this.addField_SFBool(e,"isPaused",!1),this.addField_SFTime(e,"time",0),this.addField_SFBool(e,"first",!0),this.addField_SFFloat(e,"firstCycle",0),this._prevCycle=-1,this._lastTime=0,this._cycleStopTime=0,this._activatedTime=0,this._vf.startTime>0&&this._updateCycleStopTime(),this._backupStartTime=this._vf.startTime,this._backupStopTime=this._vf.stopTime,this._backupCycleInterval=this._vf.cycleInterval}),{tick:function(e){if(!this._vf.enabled)return this._lastTime=e,!1;var t=this._vf.cycleInterval>0&&e>=this._vf.startTime&&(e<this._vf.stopTime||this._vf.stopTime<=this._vf.startTime)&&(1==this._vf.loop||0==this._vf.loop&&e<this._cycleStopTime);if(t&&!this._vf.isActive&&(this.postMessage("isActive",!0),this._activatedTime=e),t||this._vf.isActive){this.postMessage("elapsedTime",e-this._activatedTime);var i=e>=this._vf.pauseTime&&this._vf.pauseTime>this._vf.resumeTime;if(i&&!this._vf.isPaused?(this.postMessage("isPaused",!0),this.postMessage("pauseTime",e)):!i&&this._vf.isPaused&&(this.postMessage("isPaused",!1),this.postMessage("resumeTime",e)),!i){var n=this._getCycleAt(e),_=Math.floor(n),r=this._vf.startTime+_*this._vf.cycleInterval,o=0;this._vf.stopTime>this._vf.startTime&&this._lastTime<this._vf.stopTime&&e>=this._vf.stopTime?o=this._vf.stopTime:this._lastTime<r&&e>=r&&(o=r),o>0&&(e=o,n=this._getCycleAt(e),_=Math.floor(n));var s=n-_;s<x3dom.fields.Eps&&(s=this._lastTime<this._vf.startTime?0:1,this.postMessage("cycleTime",e)),this._fraction=s,this.postMessage("fraction_changed",s),this.postMessage("time",e)}}return!t&&this._vf.isActive&&this.postMessage("isActive",!1),this._lastTime=e,!0},fieldChanged:function(e){if("enabled"==e)!this._vf.enabled&&this._vf.isActive&&this.postMessage("isActive",!1);else if("startTime"==e){if(this._vf.isActive)return void(this._vf.startTime=this._backupStartTime);this._backupStartTime=this._vf.startTime,this._updateCycleStopTime()}else if("stopTime"==e){if(this._vf.isActive&&this._vf.stopTime<=this._vf.startTime)return void(this._vf.stopTime=this._backupStopTime);this._backupStopTime=this._vf.stopTime}else if("cycleInterval"==e){if(this._vf.isActive)return void(this._vf.cycleInterval=this._backupCycleInterval);this._backupCycleInterval=this._vf.cycleInterval}else if("loop"==e)this._updateCycleStopTime();else if("resumeTime"==e){if(this._vf.resumeTime<this._vf.pauseTime||this._vf.resumeTime<this._vf.startTime||!this._vf.enabled)return;this._vf.startTime=this._vf.resumeTime-this._fraction*this._vf.cycleInterval,this._backupStartTime=this._vf.startTime,this._updateCycleStopTime()}},parentRemoved:function(e){if(0===this._parentNodes.length){var t=this.findX3DDoc();if(t)for(var i=0,n=t._nodeBag.timer.length;i<n;i++)t._nodeBag.timer[i]===this&&t._nodeBag.timer.splice(i,1)}},_getCycleAt:function(e){return Math.max(0,e-this._vf.startTime)/this._vf.cycleInterval},_updateCycleStopTime:function(){if(0==this._vf.loop){var e=(new Date).getTime()/1e3,t=Math.floor(this._getCycleAt(e))+1;this._cycleStopTime=this._vf.startTime+t*this._vf.cycleInterval}else this._cycleStopTime=0}})),x3dom.registerNodeType("X3DTimeDependentNode","Time",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DTimeDependentNode.superClass.call(this,e),this.addField_SFBool(e,"loop",!1),this.addField_SFString(e,"description","")}))),x3dom.registerNodeType("Anchor","Networking",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Anchor.superClass.call(this,e),this.addField_MFString(e,"url",[]),this.addField_MFString(e,"parameter",[]),this.addField_SFString(e,"description",""),this.urlIndex=0}),{nodeChanged:function(){this.updateUrlIndex()},fieldChanged:function(e){"url"==e&&this.updateUrlIndex()},updateUrlIndex:function(){this.urlIndex=0,that=this,function e(){var t=that._nameSpace.doc,i=that._vf.url[that.urlIndex]||"",n=i.lastIndexOf("."),_=i.substr(n).toLowerCase();if(i.startsWith("javascript")||!(_.includes("x3d")||_.includes("json")||_.includes("html")))return i;t.incrementDownloads(),fetch(that._nameSpace.getURL(i)).then((function(e){if(!e.ok)throw new Error("Network response was not OK: "+e.status);return e.text()})).then((function(e){return t.decrementDownloads(),e})).catch((function(n){if(x3dom.debug.logWarning(i+": Anchor fetch failed: "+n),t.decrementDownloads(),that.urlIndex++,!(that.urlIndex<that._vf.url.length))return x3dom.debug.logError("Anchor fetch failed for all x3d urls."),null;e()}))}()},doIntersect:function(e){for(var t=!1,i=0;i<this._childNodes.length;i++)this._childNodes[i]&&(t=this._childNodes[i].doIntersect(e)||t);return t},handleTouch:function(){var e=this._vf.url.length?this._vf.url[this.urlIndex]:"",t=e.search("#"),i="";t>=0&&(i=e.slice(t+1));var n=this._vf.parameter.length>this.urlIndex?this._vf.parameter[this.urlIndex]:"",_=n.search("target="),r="";(_>=0&&(r=n.slice(_+7)),x3dom.debug.logInfo("Anchor "+this._vf.description+" url="+e+", target="+r+", #viewpoint="+i),0!=this._vf.url.length)&&(i.length>0&&e=="#"+i?i in this._nameSpace.defMap?this._nameSpace.defMap[i]._xmlNode.setAttribute("bind","true"):x3dom.debug.logWarning("Anchor #viewpoint="+i+" not in DEF list."):e.includes(".x3d")||e.includes(".json")?this.getRuntime().loadURL(this._nameSpace.getURL(e)):0!=r.length||"_self"!=r?window.open(this._nameSpace.getURL(e),r):window.location=this._nameSpace.getURL(e))}})),x3dom.registerNodeType("Inline","Networking",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Inline.superClass.call(this,e),this.addField_MFString(e,"url",[]),this.addField_SFBool(e,"load",!0),this.addField_SFString(e,"description",""),this.addField_MFString(e,"nameSpaceName",[]),this.addField_SFString(e,"contentType",""),this.addField_SFBool(e,"mapDEFToID",!1),this.initDone=!1,this.urlIndex=0,this.count=0,this.numRetries=x3dom.nodeTypes.Inline.MaximumRetries,this.ContentType={X3D:"model/x3d+xml",GLTF:"model/gltf+json",GLB:"model/gltf-binary",X3DJ:"model/x3d+json"}}),{fieldChanged:function(e){if("url"==e||"load"==e){for(var t=0;t<this._childNodes.length;t++)this.removeChild(this._childNodes[t]);if(0!=this._vf.nameSpaceName.length){var i=this._xmlNode;if(i&&i.hasChildNodes())for(;i.childNodes.length>=1;)i.removeChild(i.firstChild)}this.urlIndex=0,this.loadInline()}else"render"==e&&this.invalidateVolume()},nodeChanged:function(){this.initDone||(this.initDone=!0,this.urlIndex=0,this.loadInline())},parentRemoved:function(){var e=x3dom.getGlobal();this._childNodes.length>0&&this._childNodes[0]&&this._childNodes[0]._nameSpace&&this._nameSpace.removeSpace(this._childNodes[0]._nameSpace);for(var t=0,i=this._childNodes.length;t<i;t++)this._childNodes[t]&&(this._childNodes[t].parentRemoved(this),e._remover=this.removeChild(this._childNodes[t]));delete e._remover},fireEvents:function(e){if(this._xmlNode&&(this._xmlNode["on"+e]||this._xmlNode.hasAttribute("on"+e)||this._listeners[e])){var t=this._xmlNode,i={target:t,type:e,error:"error"==e?"XMLHttpRequest Error":"",cancelBubble:!1,stopPropagation:function(){this.cancelBubble=!0}};try{var n=t["on"+e];if("function"==typeof n)n.call(t,i);else if(t.hasAttribute("on"+e)){var _=t.getAttribute("on"+e);new Function("event",_).call(t,i)}var r=this._listeners[e];if(r)for(var o=0;o<r.length;o++)r[o].call(t,i)}catch(e){x3dom.debug.logException(e)}}},isValidContentType:function(e){for(var t in this.ContentType)if(e===this.ContentType[t])return!0;return!1},getContentType:function(){if(""!=this._vf.contentType&&this.isValidContentType(this._vf.contentType))return this._vf.contentType;if(this._vf.url.length&&this._vf.url[this.urlIndex].length){var e=this._vf.url[this.urlIndex],t=e.lastIndexOf(".");if(-1!=t)switch(e.substr(t).toLowerCase()){case".x3d":return this.ContentType.X3D;case".gltf":return this.ContentType.GLTF;case".glb":return this.ContentType.GLB;case".json":return this.ContentType.X3DJ}}},loadX3D:function(e,t){if(this._vf.load){var i=this,n=null;if(e){if((n=t.setupTree(e))._nameSpace.superInlineNode=i,0!=i._vf.nameSpaceName.length)for(;e.children.length;){var _=e.children[0];setNamespace(i._vf.nameSpaceName,_,i._vf.mapDEFToID),i._xmlNode.appendChild(_)}}else x3dom.debug.logError("No Scene in resource");var r=x3dom.getGlobal();for(i._childNodes.length>0&&i._childNodes[0]&&i._childNodes[0]._nameSpace&&i._nameSpace.removeSpace(i._childNodes[0]._nameSpace);0!==i._childNodes.length;)r._remover=i.removeChild(i._childNodes[0]);if(delete r._remover,n){i.addChild(n),i.invalidateVolume();var o=i._nameSpace.doc._scene;o&&(o.invalidateVolume(),window.setTimeout((function(){i.invalidateVolume(),o.updateVolume(),i._nameSpace.doc.needRender=!0,i._nameSpace.doc.decrementDownloads(),i._nameSpace.doc.needRender=!0,x3dom.debug.logInfo("Inline: added "+i._vf.url[i.urlIndex]+" to scene.")}),1e3)),i._nameSpace.importNodes(n._nameSpace),i.fireEvents("load")}n=null,t=null,e=null}else x3dom.debug.logInfo("Inline: load field prevented loading of "+this._vf.url[this.urlIndex])},loadInline:function(){var e=this,t=this.getContentType(),i=!1,n=new window.XMLHttpRequest;if(n.onreadystatechange=function(){if(4==n.readyState)if(n.status===x3dom.nodeTypes.Inline.AwaitTranscoding)if(e.count<e.numRetries){e.count++;var _=+n.getResponseHeader("Refresh")||5;x3dom.debug.logInfo("XHR status: "+n.status+" - Await Transcoding ("+e.count+"/"+e.numRetries+"): Next request in "+_+" seconds"),window.setTimeout((function(){e._nameSpace.doc.decrementDownloads(),e.loadInline()}),1e3*_)}else x3dom.debug.logError("XHR status: "+n.status+" - Await Transcoding ("+e.count+"/"+e.numRetries+"): No Retries left"),e._nameSpace.doc.decrementDownloads(),e.count=0;else if(200==n.status||0==n.status){var r;x3dom.debug.logInfo("Inline: downloading "+e._vf.url[e.urlIndex]+" done."),null==t&&(t=n.getResponseHeader("Content-Type")),e.count=0;var o=e.addNameSpace();if(t==e.ContentType.GLTF||t==e.ContentType.GLB)if(n.response)r=new x3dom.glTF2Loader(o).load(n.response,i),e.loadX3D(r,o);else e.nextUrlOrError("Invalid XHR response for glTF");else if(t==e.ContentType.X3DJ)if(n.response){var s=x3dom.protoExpander.prototypeExpander(n.responseURL,n.response);null!=(a=(new x3dom.JSONParser).parseJavaScript(s))?(r=a.getElementsByTagName("Scene")[0]||a.getElementsByTagName("scene")[0],e.loadX3D(r,o)):e.nextUrlOrError("Invalid XML parsing of JSON")}else e.nextUrlOrError("Invalid XHR response for JSON");else if(t==e.ContentType.X3D){var a;null!=(a="Microsoft Internet Explorer"==navigator.appName?(new DOMParser).parseFromString(n.responseText,"text/xml"):n.responseXML)?(r=a.getElementsByTagName("Scene")[0]||a.getElementsByTagName("scene")[0],e.loadX3D(r,o)):e.nextUrlOrError("Invalid xml parsing for X3D")}}else e.nextUrlOrError(e._vf.url[e.urlIndex]+" status: "+n.status+" - XMLHttpRequest requires web server running!")},this._vf.url.length&&this._vf.url[this.urlIndex].length){var _=this._nameSpace.getURL(this._vf.url[this.urlIndex]);n.open("GET",_,!0),n.setRequestHeader("Accept","model/x3d+xml; q=1.0, model/gltf+json; q=0.5, model/gltf-binary; q=0.5"),n.overrideMimeType&&(t==this.ContentType.X3D&&n.overrideMimeType("text/xml"),t==this.ContentType.X3DJ?(n.overrideMimeType("application/json"),n.responseType="json"):t==this.ContentType.GLTF?(i=!1,n.responseType="json"):t==this.ContentType.GLB&&(i=!0,n.responseType="arraybuffer"));try{this._nameSpace.doc.incrementDownloads(),x3dom.RequestManager.addRequest(n)}catch(t){e.nextUrlOrError(this._vf.url[this.urlIndex]+": "+t)}}},nextUrlOrError:function(e){x3dom.debug.logWarning(e),this._nameSpace.doc.decrementDownloads(),this.urlIndex++,this.urlIndex<this._vf.url.length?this.loadInline():(this.fireEvents("error"),this.count=0)},addNameSpace:function(){var e=0!=this._vf.nameSpaceName.length?this._vf.nameSpaceName.toString().replace(" ",""):"",t=new x3dom.NodeNameSpace(e,this._nameSpace.doc),i=this._vf.url.length?this._vf.url[0]:"";return"/"===i[0]||i.indexOf(":")>=0?t.setBaseURL(i):t.setBaseURL(this._nameSpace.baseURL+i),this._nameSpace.addSpace(t),t}})),x3dom.nodeTypes.Inline.AwaitTranscoding=202,x3dom.nodeTypes.Inline.MaximumRetries=15,x3dom.registerNodeType("X3DBackgroundNode","EnvironmentalEffects",defineClass(x3dom.nodeTypes.X3DBindableNode,(function(e){x3dom.nodeTypes.X3DBackgroundNode.superClass.call(this,e);var t=e&&e.autoGen?1:0;this.addField_SFString(e,"crossOrigin",""),this.addField_MFColor(e,"groundColor",[]),this.addField_MFFloat(e,"groundAngle",[]),this.addField_MFColor(e,"skyColor",[new x3dom.fields.SFColor(0,0,0)]),this.addField_MFFloat(e,"skyAngle",[]),this.addField_SFFloat(e,"transparency",t),this._dirty=!0}),{getSkyColor:function(){return new x3dom.fields.SFColor(0,0,0)},getTransparency:function(){return 0},getTexUrl:function(){return[]}})),x3dom.registerNodeType("X3DFogNode","EnvironmentalEffects",defineClass(x3dom.nodeTypes.X3DBindableNode,(function(e){x3dom.nodeTypes.X3DFogNode.superClass.call(this,e),this.addField_SFColor(e,"color",1,1,1),this.addField_SFString(e,"fogType","LINEAR"),this.addField_SFFloat(e,"visibilityRange",0)}),{})),x3dom.registerNodeType("Fog","EnvironmentalEffects",defineClass(x3dom.nodeTypes.X3DFogNode,(function(e){x3dom.nodeTypes.Fog.superClass.call(this,e)}),{})),x3dom.registerNodeType("Background","EnvironmentalEffects",defineClass(x3dom.nodeTypes.X3DBackgroundNode,(function(e){x3dom.nodeTypes.Background.superClass.call(this,e),this.addField_MFString(e,"backUrl",[]),this.addField_MFString(e,"bottomUrl",[]),this.addField_MFString(e,"frontUrl",[]),this.addField_MFString(e,"leftUrl",[]),this.addField_MFString(e,"rightUrl",[]),this.addField_MFString(e,"topUrl",[]),this.addField_SFBool(e,"scaling",!1)}),{fieldChanged:function(e){e.indexOf("Url")>0||"transparency"==e||e.search("sky")>=0||e.search("ground")>=0?this._dirty=!0:e.indexOf("bind")>=0&&this.bind(this._vf.bind)},getSkyColor:function(){return this._vf.skyColor},getGroundColor:function(){return this._vf.groundColor},getTransparency:function(){return this._vf.transparency},getTexUrl:function(){return[this._nameSpace.getURL(this._vf.backUrl[0]),this._nameSpace.getURL(this._vf.frontUrl[0]),this._nameSpace.getURL(this._vf.bottomUrl[0]),this._nameSpace.getURL(this._vf.topUrl[0]),this._nameSpace.getURL(this._vf.leftUrl[0]),this._nameSpace.getURL(this._vf.rightUrl[0])]}})),x3dom.registerNodeType("X3DEnvironmentNode","EnvironmentalEffects",defineClass(x3dom.nodeTypes.X3DBindableNode,(function(e){x3dom.nodeTypes.X3DEnvironmentNode.superClass.call(this,e)}))),x3dom.registerNodeType("Environment","EnvironmentalEffects",defineClass(x3dom.nodeTypes.X3DEnvironmentNode,(function(e){x3dom.nodeTypes.Environment.superClass.call(this,e),this.addField_SFBool(e,"sortTrans",!0),this.addField_SFBool(e,"shadowExcludeTransparentObjects",!1),this.addField_SFString(e,"gammaCorrectionDefault","linear"),this.addField_SFString(e,"tonemapping","none"),this.addField_SFBool(e,"frustumCulling",!0),this.addField_SFBool(e,"smallFeatureCulling",!1),this.addField_SFFloat(e,"smallFeatureThreshold",1),this.addField_SFBool(e,"occlusionCulling",!1),this.addField_SFFloat(e,"occlusionVisibilityThreshold",0),this.addField_SFBool(e,"lowPriorityCulling",!1),this.addField_SFFloat(e,"lowPriorityThreshold",1),this.addField_SFBool(e,"tessellationDetailCulling",!1),this.addField_SFFloat(e,"tessellationErrorThreshold",0),this.addField_SFBool(e,"enableARC",!1),this.addField_SFFloat(e,"minFrameRate",1),this.addField_SFFloat(e,"maxFrameRate",62.5),this.addField_SFFloat(e,"userDataFactor",-1),this.addField_SFFloat(e,"smallFeatureFactor",-1),this.addField_SFFloat(e,"occlusionVisibilityFactor",-1),this.addField_SFFloat(e,"lowPriorityFactor",-1),this.addField_SFFloat(e,"tessellationErrorFactor",-1),this.addField_SFBool(e,"SSAO",!1),this.addField_SFFloat(e,"SSAOradius",.7),this.addField_SFFloat(e,"SSAOamount",.3),this.addField_SFInt32(e,"SSAOrandomTextureSize",4),this.addField_SFInt32(e,"SSAOblurDepthTreshold",1),this._validGammaCorrectionTypes=["none","fastlinear","linear"],this.checkSanity()}),{checkSanity:function(){var e=function(e,t,i,n){return e&&t==n?i:e||t==n?t:n};this._smallFeatureThreshold=e(this._vf.smallFeatureCulling,this._vf.smallFeatureThreshold,10,0),this._lowPriorityThreshold=e(this._vf.lowPriorityCulling,this._vf.lowPriorityThreshold,.5,1),this._occlusionVisibilityThreshold=e(this._vf.occlusionCulling,this._vf.occlusionVisibilityThreshold,1,0),this._tessellationErrorThreshold=e(this._vf.tessellationDetailCulling,this._vf.tessellationErrorThreshold,1,0);this._vf.gammaCorrectionDefault=function(e,t){return e=e.toLowerCase(),t._validGammaCorrectionTypes.indexOf(e)>-1?e:(x3dom.debug.logWarning(e+" gammaCorrectionDefault may only be linear (default), fastLinear, or none"),t._validGammaCorrectionTypes[0])}(this._vf.gammaCorrectionDefault,this)}})),x3dom.registerNodeType("X3DViewpointNode","Navigation",defineClass(x3dom.nodeTypes.X3DBindableNode,(function(e){if(x3dom.nodeTypes.X3DViewpointNode.superClass.call(this,e),this.addField_SFFloat(e,"nearClippingPlane",-1),this.addField_SFFloat(e,"farClippingPlane",-1),this.addField_SFBool(e,"viewAll",!1),this.addField_SFNode("navigationInfo",x3dom.nodeTypes.NavigationInfo),e&&e.xmlNode){var t=e.xmlNode;t.resetView||t.getFieldOfView||t.getNear||t.getFar||(t.resetView=function(){var e=this._x3domNode;e.resetView(),e._nameSpace.doc.needRender=!0},t.getFieldOfView=function(){return this._x3domNode.getFieldOfView()},t.getNear=function(){return this._x3domNode.getNear()},t.getFar=function(){return this._x3domNode.getFar()})}}),{activate:function(e){var t=this._nameSpace.doc._viewarea;e=e||this;var i=this;if(this._bindAnimation){if(this._vf.viewAll){var n=this._runtime.getSceneBBox();i=t.getFitViewMatrix(n.min,n.max,e,!0)}t.animateTo(i,e._autoGen?null:e)}t._needNavigationMatrixUpdate=!0,this._cf.navigationInfo.node&&this._cf.navigationInfo.node.bind(!0),x3dom.nodeTypes.X3DBindableNode.prototype.activate.call(this,e)},deactivate:function(e){x3dom.nodeTypes.X3DBindableNode.prototype.deactivate.call(this,e)},getTransformation:function(){return this.getCurrentTransform()},getCenterOfRotation:function(){return new x3dom.fields.SFVec3f(0,0,0)},setCenterOfRotation:function(e){this._vf.centerOfRotation.setValues(e)},getFieldOfView:function(){return Math.PI/2},setView:function(e){var t=this.getCurrentTransform();this._viewMatrix=e.mult(t)},setViewAbsolute:function(e){this._viewMatrix=e},setProjectionMatrix:function(e){},resetView:function(){},getNear:function(){return.1},getFar:function(){return 1e4},getImgPlaneHeightAtDistOne:function(){return 2},getViewMatrix:function(){return null},getProjectionMatrix:function(e){return null},setZoom:function(e){}})),x3dom.registerNodeType("Viewpoint","Navigation",defineClass(x3dom.nodeTypes.X3DViewpointNode,(function(e){x3dom.nodeTypes.Viewpoint.superClass.call(this,e),this.addField_SFFloat(e,"fieldOfView",.785398),this.addField_SFVec3f(e,"position",0,0,10),this.addField_SFRotation(e,"orientation",0,0,1,0),this.addField_SFVec3f(e,"centerOfRotation",0,0,0),this.addField_SFFloat(e,"zNear",-1),this.addField_SFFloat(e,"zFar",-1),this._viewMatrix=x3dom.fields.SFMatrix4f.translation(this._vf.position).mult(this._vf.orientation.toMatrix()).inverse(),this._projMatrix=null,this._lastAspect=1,this._vf.nearClippingPlane>-1&&(this._vf.zNear=this._vf.nearClippingPlane),this._vf.farClippingPlane>-1&&(this._vf.zFar=this._vf.farClippingPlane),this._zRatio=1e4,this._zNear=this._vf.zNear,this._zFar=this._vf.zFar,this._imgPlaneHeightAtDistOne=2*Math.tan(this._vf.fieldOfView/2)}),{fieldChanged:function(e){"nearClippingPlane"==e?(this._vf.zNear=this._vf.nearClippingPlane,e="zNear"):"farClippingPlane"==e&&(this._vf.zFar=this._vf.farClippingPlane,e="zFar"),"position"==e||"orientation"==e?this.resetView():"fieldOfView"==e||"zNear"==e||"zFar"==e?(this._projMatrix=null,this._zNear=this._vf.zNear,this._zFar=this._vf.zFar,this._imgPlaneHeightAtDistOne=2*Math.tan(this._vf.fieldOfView/2)):e.indexOf("bind")>=0?(this.bind(this._vf.bind),this._cf.navigationInfo.node&&this._cf.navigationInfo.node.bind(this._vf.bind)):"viewAll"==e&&this._vf.viewAll&&this._nameSpace.doc._x3dElem.runtime.fitAll()},setProjectionMatrix:function(e){this._projMatrix=e},getCenterOfRotation:function(){return this._vf.centerOfRotation},getViewMatrix:function(){return this._viewMatrix},getFieldOfView:function(){return this._vf.fieldOfView},resetView:function(){this._viewMatrix=x3dom.fields.SFMatrix4f.translation(this._vf.position).mult(this._vf.orientation.toMatrix()).inverse(),this._vf.isActive&&this._nameSpace&&this._nameSpace.doc._viewarea&&this._nameSpace.doc._viewarea.resetNavHelpers()},getNear:function(){return this._zNear},getFar:function(){return this._zFar},getImgPlaneHeightAtDistOne:function(){return this._imgPlaneHeightAtDistOne},getProjectionMatrix:function(e){var t=this._vf.fieldOfView,i=this._vf.zFar,n=this._vf.zNear;if(n<=0||i<=0){var _=.8,r=1.2,o=this._nameSpace.doc._viewarea,s=o._scene,a=x3dom.fields.SFVec3f.copy(s._lastMin),p=x3dom.fields.SFVec3f.copy(s._lastMax).subtract(a),l=p.length()/2,d=o.getViewMatrix().inverse(),c=d.e3(),b=new x3dom.fields.SFVec3f(0,0,0),u=new x3dom.fields.SFVec3f(1,1,1),m=new x3dom.fields.Quaternion(0,0,1,0),h=new x3dom.fields.Quaternion(0,0,1,0);d.getTransform(b,m,u,h);var f=u.x,g=u.x;g<u.y&&(g=u.y),f>u.y&&(f=u.y),g<u.z&&(g=u.z),f>u.z&&(f=u.z),g>1?_/=g:f>x3dom.fields.Eps&&f<1&&(r/=f);var C=a.add(p.multiply(.5)),S=c.subtract(C).length();l?(n=S>l?(S-l)*_:0,i=(S+l)*r):(n=.1,i=1e5);var y=i/this._zRatio;n=Math.max(n,Math.max(x3dom.fields.Eps,y)),i>this._vf.zNear&&this._vf.zNear>0&&(n=this._vf.zNear),this._vf.zFar>n&&(i=this._vf.zFar),i<=n&&(i=n+1)}if(null==this._projMatrix)this._projMatrix=x3dom.fields.SFMatrix4f.perspective(t,e,n,i);else if(this._zNear!=n||this._zFar!=i){var v=n-i;this._projMatrix._22=(n+i)/v,this._projMatrix._23=2*n*i/v}else this._lastAspect!=e&&(this._projMatrix._00=1/Math.tan(t/2)/e,this._lastAspect=e);return this._zNear=n,this._zFar=i,this._projMatrix}})),x3dom.registerNodeType("OrthoViewpoint","Navigation",defineClass(x3dom.nodeTypes.X3DViewpointNode,(function(e){x3dom.nodeTypes.OrthoViewpoint.superClass.call(this,e),this.addField_MFFloat(e,"fieldOfView",[-1,-1,1,1]),this.addField_SFVec3f(e,"position",0,0,10),this.addField_SFRotation(e,"orientation",0,0,0,1),this.addField_SFVec3f(e,"centerOfRotation",0,0,0),this.addField_SFFloat(e,"zNear",-1),this.addField_SFFloat(e,"zFar",-1),this._viewMatrix=null,this._projMatrix=null,this._lastAspect=1,this._vf.nearClippingPlane>-1&&(this._vf.zNear=this._vf.nearClippingPlane),this._vf.farClippingPlane>-1&&(this._vf.zFar=this._vf.farClippingPlane),this._zRatio=1e4,this._zNear=this._vf.zNear,this._zFar=this._vf.zFar,this._fieldOfView=this._vf.fieldOfView.slice(0),this.resetView()}),{fieldChanged:function(e){"nearClippingPlane"==e?(this._vf.zNear=this._vf.nearClippingPlane,e="zNear"):"farClippingPlane"==e&&(this._vf.zFar=this._vf.farClippingPlane,e="zFar"),"position"==e||"orientation"==e?this.resetView():"fieldOfView"==e?(this._fieldOfView=this._vf.fieldOfView,this._projMatrix=null):"zNear"==e||"zFar"==e?(this._projMatrix=null,this.resetView()):e.indexOf("bind")>=0?(this.bind(this._vf.bind),this._cf.navigationInfo.node&&this._cf.navigationInfo.node.bind(this._vf.bind)):"viewAll"==e&&this._vf.viewAll&&this._nameSpace.doc._x3dElem.runtime.fitAll()},getCenterOfRotation:function(){return this.getCurrentTransform().multMatrixPnt(this._vf.centerOfRotation)},getViewMatrix:function(){return this._viewMatrix},resetView:function(){x3dom.fields.SFMatrix4f.translation(new x3dom.fields.SFVec3f((this._vf.fieldOfView[0]+this._vf.fieldOfView[2])/2,(this._vf.fieldOfView[1]+this._vf.fieldOfView[3])/2,0));this._viewMatrix=x3dom.fields.SFMatrix4f.translation(this._vf.position).mult(this._vf.orientation.toMatrix()),this._viewMatrix=this._viewMatrix.inverse(),this._projMatrix=null,this._vf.isActive&&this._nameSpace&&this._nameSpace.doc._viewarea&&this._nameSpace.doc._viewarea.resetNavHelpers()},getNear:function(){return this._vf.zNear},getFar:function(){return this._vf.zFar},getFieldOfView:function(){return.785},setZoom:function(e){this._fieldOfView[0]=-e,this._fieldOfView[1]=-e,this._fieldOfView[2]=e,this._fieldOfView[3]=e,this._projMatrix=null},getZoom:function(e){return this._fieldOfView},getProjectionMatrix:function(e){var t=this.getFieldOfView(),i=this._vf.zFar,n=this._vf.zNear;if(n<=0||i<=0){var _=this._nameSpace.doc._viewarea._scene,r=x3dom.fields.SFVec3f.copy(_._lastMin),o=x3dom.fields.SFVec3f.copy(_._lastMax).subtract(r),s=Math.tan(t/2),a=o.y/2/s+o.z+this._fieldOfView[2],p=o.x/2/s+o.z+this._fieldOfView[2],l=a>p?a:p;i=4*l,n=1e-4,this._viewMatrix._23=-2*l}if(null==this._projMatrix||this._lastAspect!=e||this._zNear!=n||this._zFar!=i){var d=this._zNear=n,c=this._zFar=i,b=this._fieldOfView[0],u=this._fieldOfView[1],m=this._fieldOfView[2],h=this._fieldOfView[3];this._projMatrix=x3dom.fields.SFMatrix4f.ortho(b,m,u,h,d,c,e)}return this._lastAspect=e,this._projMatrix}})),x3dom.registerNodeType("Viewfrustum","Navigation",defineClass(x3dom.nodeTypes.X3DViewpointNode,(function(e){x3dom.nodeTypes.Viewfrustum.superClass.call(this,e),this.addField_SFMatrix4f(e,"modelview",1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this.addField_SFMatrix4f(e,"projection",1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this._viewMatrix=this._vf.modelview.transpose().inverse(),this._projMatrix=this._vf.projection.transpose(),this._centerOfRotation=new x3dom.fields.SFVec3f(0,0,0)}),{fieldChanged:function(e){"modelview"==e?this.resetView():"projection"==e?this._projMatrix=this._vf.projection.transpose():e.indexOf("bind")>=0&&this.bind(this._vf.bind)},getCenterOfRotation:function(){return this.getCurrentTransform().multMatrixPnt(this._centerOfRotation)},setCenterOfRotation:function(e){this._centerOfRotation.setValues(e)},getViewMatrix:function(){return this._viewMatrix},getFieldOfView:function(){return 2*Math.atan(1/this._projMatrix._11)},getImgPlaneHeightAtDistOne:function(){return 2/this._projMatrix._11},resetView:function(){this._viewMatrix=this._vf.modelview.transpose().inverse(),this._centerOfRotation=new x3dom.fields.SFVec3f(0,0,0)},getProjectionMatrix:function(e){return this._projMatrix}})),x3dom.registerNodeType("X3DNavigationInfoNode","Navigation",defineClass(x3dom.nodeTypes.X3DBindableNode,(function(e){x3dom.nodeTypes.X3DNavigationInfoNode.superClass.call(this,e)}))),x3dom.registerNodeType("NavigationInfo","Navigation",defineClass(x3dom.nodeTypes.X3DNavigationInfoNode,(function(e){x3dom.nodeTypes.NavigationInfo.superClass.call(this,e),this.addField_SFBool(e,"headlight",!0),this.addField_SFBool(e,"reverseScroll",!1),this.addField_MFString(e,"type",["EXAMINE","ANY"]),this.addField_MFFloat(e,"typeParams",[-.4,60,.05,2.8]),this.addField_SFString(e,"explorationMode","all"),this.addField_MFFloat(e,"avatarSize",[.25,1.6,.75]),this.addField_SFFloat(e,"walkDamping",2),this.addField_SFFloat(e,"visibilityLimit",0),this.addField_SFFloat(e,"speed",1),this.addField_SFTime(e,"transitionTime",1),this.addField_MFString(e,"transitionType",["LINEAR"]),this._validTypes=["none","examine","turntable","fly","freefly","lookat","lookaround","walk","game","helicopter","any"],this._typeMapping={default:x3dom.DefaultNavigation,turntable:x3dom.TurntableNavigation,walk:x3dom.WalkNavigation},this._heliUpdated=!1;var t=this.setType(this.getType());x3dom.debug.logInfo("NavType: "+t)}),{fieldChanged:function(e){"typeParams"==e?this._heliUpdated=!1:"type"==e?this.setType(this.getType()):e.indexOf("bind")>=0&&this.bind(this._vf.bind)},setType:function(e,t){var i=this.checkType(e.toLowerCase());if(this.checkType(this.getType())!==i||null==this._impl){switch(null==this._typeMapping[i]?this._impl=new this._typeMapping.default(this):this._impl=new this._typeMapping[i](this),i){case"game":t?t.initMouseState():this._nameSpace.doc._viewarea&&this._nameSpace.doc._viewarea.initMouseState();break;case"helicopter":this._heliUpdated=!1;break;case"turntable":t?t.initMouseState():this._nameSpace.doc._viewarea&&this._nameSpace.doc._viewarea.initMouseState()}this._nameSpace.doc._viewarea&&this._impl.init(this._nameSpace.doc._viewarea,!1)}this._vf.type[0]=i,x3dom.debug.logInfo("Switch to "+i+" mode.")},getType:function(){var e=this._vf.type[0].toLowerCase();return e.length<=1?e="none":"any"==e&&(e="examine"),e},getTypeParams:function(){var e=this._vf.typeParams.length,t=[e>=1?this._vf.typeParams[0]:-.4,e>=2?this._vf.typeParams[1]:60,e>=3?this._vf.typeParams[2]:x3dom.fields.Eps,e>=4?this._vf.typeParams[3]:Math.PI-x3dom.fields.Eps];return e>=5&&(t=t.concat(this._vf.typeParams.slice(4))),t},setTypeParams:function(e){for(var t=0;t<e.length;t++)this._vf.typeParams[t]=e[t]},checkType:function(e){return this._validTypes.indexOf(e)>-1?e:(x3dom.debug.logWarning(e+" is no valid navigation type, use one of "+this._validTypes.toString()),"examine")},getExplorationMode:function(){switch(this._vf.explorationMode.toLowerCase()){case"all":return 7;case"rotate":return 1;case"zoom":return 2;case"pan":return 4;case"-rotate":return 6;case"-zoom":return 5;case"-pan":return 3;case"none":return 0;default:return 7}}})),x3dom.registerNodeType("Billboard","Navigation",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Billboard.superClass.call(this,e),this.addField_SFVec3f(e,"axisOfRotation",0,1,0),this._eye=new x3dom.fields.SFVec3f(0,0,0),this._eyeViewUp=new x3dom.fields.SFVec3f(0,0,0),this._eyeLook=new x3dom.fields.SFVec3f(0,0,0)}),{collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<0)){i=!1;var o=this.getVolume(),s=x3dom.fields.SFVec3f.MAX(),a=x3dom.fields.SFVec3f.MIN();o.getBounds(s,a);var p=t.viewMatrix,l=new x3dom.fields.SFVec3f(0,0,0);l=p.inverse().multMatrixPnt(l);var d=p.mult(e);this._eye=e.inverse().multMatrixPnt(l),this._eyeViewUp=new x3dom.fields.SFVec3f(d._10,d._11,d._12),this._eyeLook=new x3dom.fields.SFVec3f(d._20,d._21,d._22);var c=x3dom.fields.SFMatrix4f.identity(),b=a.add(s).multiply(.5),u=this._eye.subtract(b);if(this._vf.axisOfRotation.equals(new x3dom.fields.SFVec3f(0,0,0),x3dom.fields.Eps)){var m=(c=x3dom.fields.Quaternion.rotateFromTo(u,new x3dom.fields.SFVec3f(0,0,1)).toMatrix().transpose()).multMatrixPnt(new x3dom.fields.SFVec3f(0,1,0)).normalize(),h=c.multMatrixPnt(new x3dom.fields.SFVec3f(0,0,1)).normalize();if(!this._eyeViewUp.equals(new x3dom.fields.SFVec3f(0,0,0),x3dom.fields.Eps)){var f=x3dom.fields.Quaternion.rotateFromTo(this._eyeLook,h),g=f.toMatrix().transpose().multMatrixVec(m),C=x3dom.fields.Quaternion.rotateFromTo(this._eyeViewUp,g);c=f.toMatrix().transpose().mult(c),c=C.toMatrix().transpose().mult(c)}}else{var S=this._vf.axisOfRotation.cross(u).normalize();this._eye.z<0&&(S=S.multiply(-1));var y=Math.asin(S.dot(new x3dom.fields.SFVec3f(0,0,1)));this._eye.z<0&&(y+=Math.PI),c=x3dom.fields.SFMatrix4f.parseRotation(this._vf.axisOfRotation.x+", "+this._vf.axisOfRotation.y+", "+this._vf.axisOfRotation.z+", "+-1*y)}for(var v=this.transformMatrix(e.mult(c)),x=0,M=this._childNodes.length;x<M;x++){var T=this._childNodes[x];T&&T.collectDrawableObjects(v,t,i,n,_,r)}}}})),x3dom.registerNodeType("Collision","Navigation",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Collision.superClass.call(this,e),this.addField_SFBool(e,"enabled",!0),this.addField_SFNode("proxy",x3dom.nodeTypes.X3DGroupingNode),this.addField_SFTime(e,"collideTime",0),this.addField_SFBool(e,"isActive",!0)}),{collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<0)){var o,s;i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),s=this._graph.globalMatrix):s=this.transformMatrix(e);for(var a=0,p=this._childNodes.length;a<p;a++)(o=this._childNodes[a])&&o!==this._cf.proxy.node&&o.collectDrawableObjects(s,t,i,n,_,r)}}})),x3dom.registerNodeType("X3DLODNode","Navigation",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.X3DLODNode.superClass.call(this,e),this.addField_SFBool(e,"forceTransitions",!1),this.addField_SFVec3f(e,"center",0,0,0),this._eye=new x3dom.fields.SFVec3f(0,0,0)}),{collectDrawableObjects:function(e,t,i,n,_,r){i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),(_=t.cull(e,this.graphState(),i,_))<0||(i=!1,this.visitChildren(e,t,i,n,_,r))},visitChildren:function(e,t,i,n,_,r){}})),x3dom.registerNodeType("LOD","Navigation",defineClass(x3dom.nodeTypes.X3DLODNode,(function(e){x3dom.nodeTypes.LOD.superClass.call(this,e),this.addField_MFFloat(e,"range",[]),this.addField_SFInt32(e,"level_changed",0),this._lastRangePos=-1}),{visitChildren:function(e,t,i,n,_,r){var o=0,s=this._childNodes.length,a=t.viewMatrix,p=new x3dom.fields.SFVec3f(0,0,0);p=a.inverse().multMatrixPnt(p),this._eye=e.inverse().multMatrixPnt(p);for(var l=this._vf.center.subtract(this._eye).length();o<this._vf.range.length&&l>this._vf.range[o];)o++;o&&o>=s&&(o=s-1),o!==this._lastRangePos&&this.postMessage("level_changed",o),this._lastRangePos=o;var d=this._childNodes[o];if(s&&d){var c=this.transformMatrix(e);d.collectDrawableObjects(c,t,i,n,_,r)}},getVolume:function(){var e,t,i=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag())if(this._lastRangePos>=0)(t=(e=this._childNodes[this._lastRangePos])&&e.renderFlag&&!0===e.renderFlag()?e.getVolume():null)&&t.isValid()&&i.extendBounds(t.min,t.max);else for(var n=0,_=this._childNodes.length;n<_;n++)!(e=this._childNodes[n])||e.renderFlag&&!0!==e.renderFlag()||(t=e.getVolume())&&t.isValid()&&i.extendBounds(t.min,t.max);return i},nodeChanged:function(){this.invalidateVolume()},fieldChanged:function(e){"render"!=e&&"center"!=e&&"range"!=e||this.invalidateVolume()}})),x3dom.registerNodeType("DynamicLOD","Navigation",defineClass(x3dom.nodeTypes.X3DLODNode,(function(e){x3dom.nodeTypes.DynamicLOD.superClass.call(this,e),this.addField_SFFloat(e,"subScale",.5),this.addField_SFVec2f(e,"size",2,2),this.addField_SFVec2f(e,"subdivision",1,1),this.addField_SFNode("root",x3dom.nodeTypes.X3DShapeNode),this.addField_SFString(e,"urlHead","http://r"),this.addField_SFString(e,"urlCenter",".ortho.tiles.virtualearth.net/tiles/h"),this.addField_SFString(e,"urlTail",".png?g=-1"),this.rootGeometry=new x3dom.nodeTypes.Plane(e),this.level=0,this.quadrant=4,this.cell=""}),{nodeChanged:function(){var e=this._cf.root.node;null!=e&&null==e._cf.geometry.node&&(this.rootGeometry._vf.size.setValues(this._vf.size),this.rootGeometry._vf.subdivision.setValues(this._vf.subdivision),this.rootGeometry._vf.center.setValues(this._vf.center),this.rootGeometry.fieldChanged("subdivision"),this._cf.root.node.addChild(this.rootGeometry),this.rootGeometry.nodeChanged(),this._cf.root.node.nodeChanged(),this._nameSpace.doc.needRender=!0)},visitChildren:function(e,t,i,n,_,r){var o=this._cf.root.node;if(null!=o){var s=t.viewMatrix,a=new x3dom.fields.SFVec3f(0,0,0);a=s.inverse().multMatrixPnt(a),this._eye=e.inverse().multMatrixPnt(a);var p,l=this._vf.center.subtract(this._eye).length();if(l>x3dom.fields.Eps&&l*this._vf.subScale<=this._vf.size.length())if(this._childNodes.length<=1){var d=new Array(new x3dom.fields.SFVec3f(-.25*this._vf.size.x,.25*this._vf.size.y,0),new x3dom.fields.SFVec3f(.25*this._vf.size.x,.25*this._vf.size.y,0),new x3dom.fields.SFVec3f(-.25*this._vf.size.x,-.25*this._vf.size.y,0),new x3dom.fields.SFVec3f(.25*this._vf.size.x,-.25*this._vf.size.y,0));for(p=0;p<4;p++){var c=new x3dom.nodeTypes.DynamicLOD;c._nameSpace=this._nameSpace,c._eye.setValues(this._eye),c.level=this.level+1,c.quadrant=p,c.cell=this.cell+p,c._vf.urlHead=this._vf.urlHead,c._vf.urlCenter=this._vf.urlCenter,c._vf.urlTail=this._vf.urlTail,c._vf.center=this._vf.center.add(d[p]),c._vf.size=this._vf.size.multiply(.5),c._vf.subdivision.setValues(this._vf.subdivision);var b=new x3dom.nodeTypes.Appearance,u=new x3dom.nodeTypes.ImageTexture;u._nameSpace=this._nameSpace,u._vf.url[0]=this._vf.urlHead+c.quadrant+this._vf.urlCenter+c.cell+this._vf.urlTail,b.addChild(u),u.nodeChanged();var m=new x3dom.nodeTypes.Shape;m._nameSpace=this._nameSpace,m.addChild(b),b.nodeChanged(),c.addChild(m,"root"),m.nodeChanged(),this.addChild(c),c.nodeChanged()}}else for(p=1;p<this._childNodes.length;p++)this._childNodes[p].collectDrawableObjects(e,t,i,n,_,r);else o.collectDrawableObjects(e,t,i,n,_,r)}},getVolume:function(){var e=this._graph.volume;return e.isValid()||(e.min.setValues(this._vf.center),e.min.x-=.5*this._vf.size.x,e.min.y-=.5*this._vf.size.y,e.min.z-=x3dom.fields.Eps,e.max.setValues(this._vf.center),e.max.x+=.5*this._vf.size.x,e.max.y+=.5*this._vf.size.y,e.max.z+=x3dom.fields.Eps),e}})),x3dom.DefaultNavigation=function(e){this.navi=e},x3dom.DefaultNavigation.prototype.onMousePress=function(e,t,i,n){},x3dom.DefaultNavigation.prototype.onMouseReleased=function(e,t,i,n,_){},x3dom.DefaultNavigation.prototype.init=function(e,t){},x3dom.DefaultNavigation.prototype.zoom=function(e,t){var i=this.navi,n=e._scene.getViewpoint(),_=e._scene._lastMax.subtract(e._scene._lastMin).length();_=((_=Math.min(_,n.getFar()))<x3dom.fields.Eps?1:_)*i._vf.speed;var r=new x3dom.fields.SFVec3f(0,0,_*t/e._height);if(x3dom.isa(n,x3dom.nodeTypes.OrthoViewpoint)&&n.setZoom(Math.abs(n._fieldOfView[0])-r.z),i._vf.typeParams.length>=6){var o=-i._vf.typeParams[5],s=i._vf.typeParams[4];e._movement.z=Math.min(Math.max(e._movement.z,o),s)}e._movement=e._movement.add(r);var a=e.getViewpointMatrix().mult(e._transMat);e._transMat=a.inverse().mult(x3dom.fields.SFMatrix4f.translation(e._movement)).mult(a)},x3dom.DefaultNavigation.prototype.moveForward=function(e){var t=this.navi;if("game"===t.getType()){var i=.25;t._vf.avatarSize.length>2&&(i=t._vf.avatarSize[0]);var n=5*e._deltaT*t._vf.speed,_=e._yaw/180*Math.PI,r=e._pitch/180*Math.PI,o=e._flyMat.inverse();e._scene._nameSpace.doc.ctx.pickValue(e,e._width/2,e._height/2,e._lastButton),e._pickingInfo.pickObj&&(e._pickingInfo.pickPos.subtract(o.e3()).length()<=2*i||(e._eyePos.x-=Math.sin(_)*n,e._eyePos.z+=Math.cos(_)*n,e._eyePos.y+=Math.sin(r)*n))}},x3dom.DefaultNavigation.prototype.moveBackwards=function(e){var t=this.navi;if("game"===t.getType()){var i=5*e._deltaT*t._vf.speed,n=e._yaw/180*Math.PI,_=e._pitch/180*Math.PI;e._eyePos.x+=Math.sin(n)*i,e._eyePos.z-=Math.cos(n)*i,e._eyePos.y-=Math.sin(_)*i}},x3dom.DefaultNavigation.prototype.strafeLeft=function(e){var t=this.navi;if("game"===t.getType()){var i=5*e._deltaT*t._vf.speed,n=e._yaw/180*Math.PI;e._eyePos.x+=Math.cos(n)*i,e._eyePos.z+=Math.sin(n)*i}},x3dom.DefaultNavigation.prototype.strafeRight=function(e){var t=this.navi;if("game"===t.getType()){var i=5*e._deltaT*t._vf.speed,n=e._yaw/180*Math.PI;e._eyePos.x-=Math.cos(n)*i,e._eyePos.z-=Math.sin(n)*i}},x3dom.DefaultNavigation.prototype.navigateTo=function(e,t){var i=this.navi,n=i.getType(),_=null,r=e._currentInputType==x3dom.InputTypes.NAVIGATION&&("game"===n||e._lastButton>0&&(n.indexOf("fly")>=0||"walk"===n||"helicopter"===n||"looka"===n.substr(0,5)));e._deltaT=t-e._lastTS;var o=function(e,t){return e>0?e<=t?0:e-t:e<=0?e>=-t?0:e+t:void 0},s=function(e,t){return(t<0?-1:1)*Math.pow(e*Math.abs(t),1.65)};if(r){null!==e._pickingInfo.pickObj&&(_={pickPos:e._pickingInfo.pickPos,pickNorm:e._pickingInfo.pickNorm,pickObj:e._pickingInfo.pickObj,firstObj:e._pickingInfo.firstObj,lastObj:e._pickingInfo.lastObj,lastClickObj:e._pickingInfo.lastClickObj,shadowObjectId:e._pickingInfo.shadowObjectId});var a=.25,p=1.6;i._vf.avatarSize.length>2&&(a=i._vf.avatarSize[0],p=i._vf.avatarSize[1],i._vf.avatarSize[2]);var l=e.getViewMatrix(),d=0,c=Math.min(e._width,e._height),b=o((e._pressX-e._lastX)/c,.01),u=o((e._pressY-e._lastY)/c,.01),m=s(1,b),h=s(1,u),f=2&e._lastButton?-1:1;f*=e._deltaT*i._vf.speed;e._deltaT,i._vf.speed;var g=e._deltaT*i._vf.speed*h,C=Math.PI*e._deltaT*m,S=Math.PI*e._deltaT*h;if(!0===e._needNavigationMatrixUpdate){e._needNavigationMatrixUpdate=!1,e._rotMat=x3dom.fields.SFMatrix4f.identity(),e._transMat=x3dom.fields.SFMatrix4f.identity(),e._movement=new x3dom.fields.SFVec3f(0,0,0);var y=0,v=Math.asin(l._02),x=Math.cos(v);Math.abs(x)>1e-4&&(y=Math.atan2(-l._12/x,l._22/x)),e._flyMat=l.inverse(),e._from=e._flyMat.e3(),e._at=e._from.subtract(e._flyMat.e2()),"helicopter"===n&&(e._at.y=e._from.y),e._up=e._flyMat.e1(),e._pitch=180*y/Math.PI,e._yaw=180*v/Math.PI,e._eyePos=e._from.negate()}var M,T,D,P,w,A=null,F=null,R=null;if("game"===n){e._pitch+=e._dy,e._yaw+=e._dx,e._pitch>=89&&(e._pitch=89),e._pitch<=-89&&(e._pitch=-89),e._yaw>=360&&(e._yaw-=360),e._yaw<0&&(e._yaw=360+e._yaw),e._dx=0,e._dy=0;var I=x3dom.fields.SFMatrix4f.rotationX(e._pitch/180*Math.PI),B=x3dom.fields.SFMatrix4f.rotationY(e._yaw/180*Math.PI),V=x3dom.fields.SFMatrix4f.translation(e._eyePos);e._flyMat=I.mult(B).mult(V);var E=e._flyMat.inverse(),N=E.e3();return F=new x3dom.fields.SFVec3f(0,-1,0),A=N.add(F),F=E.e0().cross(F).normalize(),R=(R=x3dom.fields.SFMatrix4f.lookAt(N,A,F)).inverse(),e._scene._nameSpace.doc.ctx.pickValue(e,e._width/2,e._height/2,e._lastButton,R,e.getProjectionMatrix().mult(R)),e._pickingInfo.pickObj&&(d=e._pickingInfo.pickPos.subtract(N).length(),N.y+=p-d,E.setTranslate(N),e._eyePos=E.e3().negate(),e._flyMat=E.inverse(),e._pickingInfo.pickObj=null),e._scene.getViewpoint().setView(e._flyMat),r}if("helicopter"===n){var k=i.getTypeParams();if(2&e._lastButton){var O=200*g;k[1]+=O,i.setTypeParams(k)}f=1&e._lastButton?300*g:0,S=k[0],e._from.y=k[1],e._at.y=e._from.y,M=x3dom.fields.Quaternion.axisAngle(e._up,C).toMatrix(),T=(T=x3dom.fields.SFMatrix4f.translation(e._from)).mult(M),M=x3dom.fields.SFMatrix4f.translation(e._from.negate()),T=T.mult(M),e._at=T.multMatrixPnt(e._at),w=(P=(D=e._at.subtract(e._from).normalize()).cross(e._up).normalize()).cross(D).normalize(),D=D.multiply(f),e._from=e._from.add(D),e._at=e._at.add(D),M=x3dom.fields.Quaternion.axisAngle(P,S).toMatrix(),T=(T=x3dom.fields.SFMatrix4f.translation(e._from)).mult(M),M=x3dom.fields.SFMatrix4f.translation(e._from.negate());var L=(T=T.mult(M)).multMatrixPnt(e._at);return e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,L,w),e._scene.getViewpoint().setView(e._flyMat.inverse()),r}if(M=x3dom.fields.Quaternion.axisAngle(e._up,C).toMatrix(),T=(T=x3dom.fields.SFMatrix4f.translation(e._from)).mult(M),M=x3dom.fields.SFMatrix4f.translation(e._from.negate()),T=T.mult(M),e._at=T.multMatrixPnt(e._at),w=(P=(D=e._at.subtract(e._from).normalize()).cross(e._up).normalize()).cross(D).normalize(),M=x3dom.fields.Quaternion.axisAngle(P,S).toMatrix(),T=(T=x3dom.fields.SFMatrix4f.translation(e._from)).mult(M),M=x3dom.fields.SFMatrix4f.translation(e._from.negate()),T=T.mult(M),e._at=T.multMatrixPnt(e._at),"looka"!==n.substr(0,5)){var U=e.getProjectionMatrix();"freefly"!==n&&(f<0?((R=new x3dom.fields.SFMatrix4f).setValue(e._last_mat_view.e0(),e._last_mat_view.e1(),e._last_mat_view.e2().negate(),e._last_mat_view.e3()),e._scene._nameSpace.doc.ctx.pickValue(e,e._width/2,e._height/2,e._lastButton,R,U.mult(R))):e._scene._nameSpace.doc.ctx.pickValue(e,e._width/2,e._height/2,e._lastButton),e._pickingInfo.pickObj&&(d=e._pickingInfo.pickPos.subtract(e._from).length())<=a+f&&(f=0)),D=e._at.subtract(e._from).normalize().multiply(f),e._at=e._at.add(D),e._from=e._from.add(D),"walk"===n&&(w.x=0,w.y=1,w.z=0,A=e._from.addScaled(w,-1),F=P.cross(w.negate()).normalize(),R=(R=x3dom.fields.SFMatrix4f.lookAt(e._from,A,F)).inverse(),e._scene._nameSpace.doc.ctx.pickValue(e,e._width/2,e._height/2,e._lastButton,R,U.mult(R)),e._pickingInfo.pickObj&&(d=(p-(d=e._pickingInfo.pickPos.subtract(e._from).length()))/i._vf.walkDamping,e._at=e._at.add(w.multiply(d)),e._from=e._from.add(w.multiply(d)))),e._pickingInfo.pickObj=null}e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,e._at,w),e._scene.getViewpoint().setView(e._flyMat.inverse()),null!==_&&(e._pickingInfo=_)}return r},x3dom.DefaultNavigation.prototype.animateTo=function(e,t,i,n){var _,r=this.navi;e._mixer._isVPtarget=x3dom.isa(t,x3dom.nodeTypes.X3DViewpointNode),e._mixer._isVPtarget&&(t=t.getViewMatrix().mult(t.getCurrentTransform().inverse())),"teleport"!==r._vf.transitionType[0].toLowerCase()&&0!=n&&"game"!==r.getType()&&i&&x3dom.isa(i,x3dom.nodeTypes.X3DViewpointNode)?(_=i.getViewMatrix().mult(i.getCurrentTransform().inverse()).mult(e._transMat).mult(e._rotMat),e._mixer.isActive()&&(i.setView(e._mixer.getEndMatrix()),e._mixer.reset()),e._mixer.beginTime=e._lastTS,e._mixer.endTime=arguments.length>=4&&null!=arguments[3]?e._lastTS+n:e._lastTS+r._vf.transitionTime,e._mixer.setBeginMatrix(_),e._mixer.setEndMatrix(t),e._scene.getViewpoint().setView(_)):e._scene.getViewpoint().setView(t),e._rotMat=x3dom.fields.SFMatrix4f.identity(),e._transMat=x3dom.fields.SFMatrix4f.identity(),e._movement=new x3dom.fields.SFVec3f(0,0,0),e._needNavigationMatrixUpdate=!0},x3dom.DefaultNavigation.prototype.orthoAnimateTo=function(e,t,i,n){var _=this.navi;n=n||_._vf.transitionTime,e._interpolator.beginValue=i,e._interpolator.endValue=t,e._interpolator.beginTime=e._lastTS,e._interpolator.endTime=e._lastTS+n},x3dom.DefaultNavigation.prototype.resetView=function(e){var t=this.navi;if("teleport"!==t._vf.transitionType[0].toLowerCase()&&"game"!==t.getType()){var i=e._scene.getViewpoint();e._mixer.beginTime=e._lastTS,e._mixer.endTime=e._lastTS+t._vf.transitionTime,e._mixer.setBeginMatrix(e.getViewMatrix()),x3dom.isa(i,x3dom.nodeTypes.OrthoViewpoint)&&this.orthoAnimateTo(e,Math.abs(i._vf.fieldOfView[0]),Math.abs(i._fieldOfView[0]));var n=e._scene.getViewpoint();n.resetView(),n=n.getViewMatrix().mult(n.getCurrentTransform().inverse()),e._mixer.setEndMatrix(n)}else e._scene.getViewpoint().resetView();e.resetNavHelpers(),t._heliUpdated=!1},x3dom.DefaultNavigation.prototype.onDrag=function(e,t,i,n){var _=this.navi,r=_.getType(),o=_.getExplorationMode();if("none"!==r&&0!=o){var s=e._scene.getViewpoint(),a=t-e._lastX,p=i-e._lastY;if(e._dx=a,e._dy=p,e._lastX=t,e._lastY=i,"examine"===r){var l,d,c,b,u=null;if(1&(n&=o)){c=2*p*Math.PI/e._width,b=2*a*Math.PI/e._height,u=e.getViewMatrix();var m=x3dom.fields.SFMatrix4f.rotationX(c),h=x3dom.fields.SFMatrix4f.rotationY(b),f=s.getCenterOfRotation();u.setTranslate(new x3dom.fields.SFVec3f(0,0,0)),e._rotMat=e._rotMat.mult(x3dom.fields.SFMatrix4f.translation(f)).mult(u.inverse()).mult(m).mult(h).mult(u).mult(x3dom.fields.SFMatrix4f.translation(f.negate()))}if(4&n&&(l=e._scene._lastMax.subtract(e._scene._lastMin).length(),l=((l=Math.min(l,s.getFar()))<x3dom.fields.Eps?1:l)*_._vf.speed,d=new x3dom.fields.SFVec3f(l*a/e._width,l*-p/e._height,0),e._movement=e._movement.add(d),u=e.getViewpointMatrix().mult(e._transMat),e._transMat=u.inverse().mult(x3dom.fields.SFMatrix4f.translation(e._movement)).mult(u)),2&n){if(l=e._scene._lastMax.subtract(e._scene._lastMin).length(),l=((l=Math.min(l,s.getFar()))<x3dom.fields.Eps?1:l)*_._vf.speed,d=new x3dom.fields.SFVec3f(0,0,l*(a+p)/e._height),x3dom.isa(s,x3dom.nodeTypes.OrthoViewpoint)&&s.setZoom(Math.abs(s._fieldOfView[0])-d.z),_._vf.typeParams.length>=6){var g=-_._vf.typeParams[5],C=_._vf.typeParams[4];e._movement.z=Math.min(Math.max(e._movement.z,g),C)}e._movement=e._movement.add(d),u=e.getViewpointMatrix().mult(e._transMat),e._transMat=u.inverse().mult(x3dom.fields.SFMatrix4f.translation(e._movement)).mult(u)}e._isMoving=!0}}},x3dom.DefaultNavigation.prototype.onTouchStart=function(e,t,i){},x3dom.DefaultNavigation.prototype.onTouchDrag=function(e,t,i,n,_){if(e._currentInputType==x3dom.InputTypes.NAVIGATION){var r=this.navi,o=e._scene.getViewpoint(),s=r.getExplorationMode();if("examine"===r.getType()&&0!==s){if(n&&4&s){var a=e._scene._lastMax.subtract(e._scene._lastMin).length();a=((a=Math.min(a,o.getFar()))<x3dom.fields.Eps?1:a)*r._vf.speed,n=n.multiply(a),x3dom.isa(o,x3dom.nodeTypes.OrthoViewpoint)&&(o.setZoom(Math.abs(o._fieldOfView[0])-n.z),n.z=0),e._movement=e._movement.add(n),e._transMat=o.getViewMatrix().inverse().mult(x3dom.fields.SFMatrix4f.translation(e._movement)).mult(o.getViewMatrix())}if(_&&1&s){var p=o.getCenterOfRotation(),l=e.getViewMatrix();l.setTranslate(new x3dom.fields.SFVec3f(0,0,0)),e._rotMat=e._rotMat.mult(x3dom.fields.SFMatrix4f.translation(p)).mult(l.inverse()).mult(_).mult(l).mult(x3dom.fields.SFMatrix4f.translation(p.negate()))}e._isMoving=!0}}},x3dom.DefaultNavigation.prototype.onTouchEnd=function(e,t){},x3dom.DefaultNavigation.prototype.onDoubleClick=function(e,t,i){if((!e._doc._x3dElem.hasAttribute("disableDoubleClick")||"true"!==e._doc._x3dElem.getAttribute("disableDoubleClick"))&&"none"!=e._scene.getNavigationInfo().getType()){var n=e._scene._vf.pickMode.toLowerCase();if("color"!=n&&"texcoord"!=n){var _=e._scene.getViewpoint();_.setCenterOfRotation(e._pick),x3dom.debug.logInfo("New center of Rotation: "+e._pick);var r=e.getViewMatrix().inverse(),o=r.e3(),s=e._pick,a=r.e1(),p=r.e0().cross(a).normalize(),l=p.dot(e._pick.subtract(o));o=s.addScaled(p,-l),r=x3dom.fields.SFMatrix4f.lookAt(o,s,a),x3dom.debug.logInfo("New camera position: "+o),e.animateTo(r.inverse(),_)}}},x3dom.TurntableNavigation=function(e){x3dom.DefaultNavigation.call(this,e),this.panAxisX=null,this.panAxisY=null,this.panEnabled=!0},x3dom.TurntableNavigation.prototype=Object.create(x3dom.DefaultNavigation.prototype),x3dom.TurntableNavigation.prototype.constructor=x3dom.TurntableNavigation,x3dom.TurntableNavigation.prototype.onDrag=function(e,t,i,n){var _=this.navi;e._flyMat||this.initTurnTable(e,!1);var r=_.getType(),o=_.getExplorationMode();if("none"!==r&&0!=o){var s,a,p=t-e._lastX,l=i-e._lastY,d=null;if(1&(n&=o))s=2*l*Math.PI/e._height,a=2*p*Math.PI/e._width,this.rotate(e,s,a);else if(2&n){var c=(d=((d=e._scene._lastMax.subtract(e._scene._lastMin).length())<x3dom.fields.Eps?1:d)*_._vf.speed)*(p+l)/e._height;this.zoom(e,c)}else if(4&n&&1==this.panEnabled){var b=-(d=((d=e._scene._lastMax.subtract(e._scene._lastMin).length())<x3dom.fields.Eps?1:d)*_._vf.speed*.75)*p/e._width,u=d*l/e._height;this.pan(e,b,u)}e._isMoving=!0,e._dx=p,e._dy=l,e._lastX=t,e._lastY=i}},x3dom.TurntableNavigation.prototype.pan=function(e,t,i){var n=e._scene.getViewpoint();if(null!=this.target){var _=this.target._x3domNode.getVolume();e._up=e._flyMat.e1(),e._from=e._flyMat.e3();var r=o=(o=e._at).addScaled(this.panAxisY,i);o.y>_.max.y||o.y<_.min.y?r=e._at:e._from=e._from.addScaled(this.panAxisY,i),(o=r.addScaled(this.panAxisX,t)).x>_.max.x||o.x<_.min.x?o=r:e._from=e._from.addScaled(this.panAxisX,t),e._at=o,e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,o,e._up),n.setViewAbsolute(e._flyMat.inverse())}else if(null!=this.panAxisX&&null!=this.panAxisY){e._up=e._flyMat.e1(),e._from=e._flyMat.e3();r=o=(o=e._at).addScaled(this.panAxisY,i);e._from=e._from.addScaled(this.panAxisY,i),o=r.addScaled(this.panAxisX,t),e._from=e._from.addScaled(this.panAxisX,t),e._at=o,e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,o,e._up),n.setViewAbsolute(e._flyMat.inverse())}else{e._up=e._flyMat.e1(),e._from=e._flyMat.e3();var o,s=e._up.cross(e._from).normalize(),a=e._from.cross(s).normalize();r=o=(o=e._at).addScaled(a,i);e._from=e._from.addScaled(a,i),o=r.addScaled(s,t),e._from=e._from.addScaled(s,t),e._at=o,e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,o,e._up),n.setViewAbsolute(e._flyMat.inverse())}},x3dom.TurntableNavigation.prototype.rotate=function(e,t,i){var n=e._scene.getViewpoint();e._flyMat=this.calcOrbit(e,t,i),n.setView(e._flyMat.inverse())},x3dom.TurntableNavigation.prototype.zoom=function(e,t){var i=this.navi,n=e._scene.getViewpoint();e._up=e._flyMat.e1(),e._from=e._flyMat.e3();var _=e._at,r=_.subtract(e._from),o=r.length();r=r.normalize();var s=t;i._vf.typeParams[6]&&(s=Math.min(t,o-i._vf.typeParams[6])),i._vf.typeParams[7]&&(s=Math.max(s,o-i._vf.typeParams[7])),e._from=e._from.addScaled(r,s),e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,_,e._up),n.setViewAbsolute(e._flyMat.inverse())},x3dom.TurntableNavigation.prototype.calcOrbit=function(e,t,i,n){var _=this.navi;e._up=e._flyMat.e1(),e._from=e._flyMat.e3();var r,o,s=e._from.subtract(e._at);1==n?(r=i,o=t):(r=Math.atan2(s.x,s.z),o=Math.atan2(Math.sqrt(s.x*s.x+s.z*s.z),s.y),r-=i,o-=t),o=Math.max(_._vf.typeParams[2],Math.min(_._vf.typeParams[3],o)),_._vf.typeParams[4]<=_._vf.typeParams[5]?r=Math.max(_._vf.typeParams[4],Math.min(_._vf.typeParams[5],r)):i>0&&r<_._vf.typeParams[4]&&r>_._vf.typeParams[5]?r=_._vf.typeParams[4]:i<0&&r>_._vf.typeParams[5]&&r<_._vf.typeParams[4]&&(r=_._vf.typeParams[5]);var a=s.length(),p=a*Math.sin(o);s.x=p*Math.sin(r),s.y=a*Math.cos(o),s.z=p*Math.cos(r),s=e._at.add(s),o-=Math.PI/2;var l=Math.sin(o),d=Math.cos(o),c=new x3dom.fields.SFVec3f(l*Math.sin(r),d,l*Math.cos(r));return c.y<0&&(c=c.negate()),x3dom.fields.SFMatrix4f.lookAt(s,e._at,c)},x3dom.TurntableNavigation.prototype.initTurnTable=function(e,t){var i=this.navi;t=null==t||t;var n=e.getViewMatrix();e._rotMat=x3dom.fields.SFMatrix4f.identity(),e._transMat=x3dom.fields.SFMatrix4f.identity();var _=e._scene.getViewpoint(),r=x3dom.fields.SFVec3f.copy(_.getCenterOfRotation());e._flyMat=n.inverse(),e._from=_._vf.position,e._at=r,e._up=new x3dom.fields.SFVec3f(0,1,0),e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,e._at,e._up);var o=n.inverse().e3().subtract(e._at),s=Math.atan2(o.x,o.z),a=Math.atan2(Math.sqrt(o.x*o.x+o.z*o.z),o.y);e._flyMat=this.calcOrbit(e,a,s,!0);var p=0;t&&(p=.2/i._vf.speed,this.animateTo(e,e._flyMat.inverse(),n,p)),e.resetNavHelpers()},x3dom.TurntableNavigation.prototype.onMousePress=function(e,t,i,n){e._flyMat||this.initTurnTable(e,!1)},x3dom.TurntableNavigation.prototype.init=function(e,t){this.initTurnTable(e,!0)},x3dom.TurntableNavigation.prototype.resetView=function(e){e._mixer.beginTime=e._lastTS,e._mixer.endTime=e._lastTS+this.navi._vf.transitionTime,e._mixer.setBeginMatrix(e.getViewMatrix());var t=e._scene.getViewpoint();t.resetView(),t=x3dom.fields.SFMatrix4f.lookAt(t._vf.position,t.getCenterOfRotation(),new x3dom.fields.SFVec3f(0,1,0)),e._mixer.setEndMatrix(t.inverse()),this.updateFlyMat(e)},x3dom.TurntableNavigation.prototype.updateFlyMat=function(e,t,i){e._flyMat||this.initTurnTable(e,!1);var n=e.getViewMatrix(),_=t;null!=_&&x3dom.isa(_,x3dom.nodeTypes.X3DViewpointNode)||(_=e._scene.getViewpoint());var r=x3dom.fields.SFVec3f.copy(_.getCenterOfRotation());e._flyMat=n.inverse(),e._from=i?i.inverse().e3():_._vf.position,e._at=r,e._up=new x3dom.fields.SFVec3f(0,1,0),e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,e._at,e._up);var o=n.inverse().e3().subtract(e._at),s=Math.atan2(o.x,o.z),a=Math.atan2(Math.sqrt(o.x*o.x+o.z*o.z),o.y);e._flyMat=this.calcOrbit(e,a,s,!0)},x3dom.TurntableNavigation.prototype.animateTo=function(e,t,i,n){var _,r=this.navi;_=x3dom.isa(t,x3dom.nodeTypes.X3DViewpointNode)?x3dom.fields.SFMatrix4f.lookAt(t._vf.position,t.getCenterOfRotation(),new x3dom.fields.SFVec3f(0,1,0)):t,"teleport"!==r._vf.transitionType[0].toLowerCase()&&0!=n&&"game"!==r.getType()?i&&x3dom.isa(i,x3dom.nodeTypes.X3DViewpointNode)?(i=i.getViewMatrix().mult(i.getCurrentTransform().inverse()).mult(e._transMat).mult(e._rotMat),e._mixer.beginTime=e._lastTS,e._mixer.endTime=arguments.length>=4&&null!=arguments[3]?e._lastTS+n:e._lastTS+r._vf.transitionTime,e._mixer.setBeginMatrix(i),e._mixer.setEndMatrix(_),e._scene.getViewpoint().setViewAbsolute(i)):i?(e._mixer.beginTime=e._lastTS,e._mixer.endTime=arguments.length>=4&&null!=arguments[3]?e._lastTS+n:e._lastTS+r._vf.transitionTime,e._mixer.setBeginMatrix(i),e._mixer.setEndMatrix(_),e._scene.getViewpoint().setViewAbsolute(i)):e._scene.getViewpoint().setViewAbsolute(_):e._scene.getViewpoint().setViewAbsolute(t),e._rotMat=x3dom.fields.SFMatrix4f.identity(),e._transMat=x3dom.fields.SFMatrix4f.identity(),e._movement=new x3dom.fields.SFVec3f(0,0,0),e._needNavigationMatrixUpdate=!0,this.updateFlyMat(e,t,_)},x3dom.TurntableNavigation.prototype.onTouchStart=function(e,t,i){e._numTouches=t.touches.length,e._lastX=t.touches[0].screenX,e._lastY=t.touches[0].screenY},x3dom.TurntableNavigation.prototype.onTouchDrag=function(e,t,i,n,_){if(e._currentInputType==x3dom.InputTypes.NAVIGATION)if(1==t.touches.length){var r=t.touches[0].screenX-e._lastX,o=2*(t.touches[0].screenY-e._lastY)*Math.PI/e._height,s=2*r*Math.PI/e._width;this.rotate(e,o,s),e._lastX=t.touches[0].screenX,e._lastY=t.touches[0].screenY}else t.touches.length>=2&&(1==this.panEnabled&&this.pan(e,4*-n.x,4*-n.y),this.zoom(e,4*n.z))},x3dom.TurntableNavigation.prototype.onTouchEnd=function(e,t,i){2==e._numTouches&&1==t.touches.length&&(e._lastX=t.touches[0].screenX,e._lastY=t.touches[0].screenY),e._numTouches=t.touches.length},x3dom.TurntableNavigation.prototype.setPanTarget=function(e){this.target=e},x3dom.TurntableNavigation.prototype.setPanAxis=function(e,t){this.panAxisX=e,this.panAxisY=t},x3dom.TurntableNavigation.prototype.setPanEnabled=function(e){this.panEnabled=e},x3dom.TurntableNavigation.prototype.onDoubleClick=function(e,t,i){if((!e._doc._x3dElem.hasAttribute("disableDoubleClick")||"true"!==e._doc._x3dElem.getAttribute("disableDoubleClick"))&&"none"!=e._scene.getNavigationInfo().getType()){var n=e._scene._vf.pickMode.toLowerCase();if("color"!=n&&"texcoord"!=n){e._scene.getViewpoint().setCenterOfRotation(e._pick),x3dom.debug.logInfo("New center of Rotation: "+e._pick);var _=e.getViewMatrix().inverse();e._from=_.e3(),e._up=_.e1(),e._at=e._pick,e._flyMat=x3dom.fields.SFMatrix4f.lookAt(e._from,e._at,e._up);var r=e._from.subtract(e._at),o=Math.atan2(r.x,r.z),s=Math.atan2(Math.sqrt(r.x*r.x+r.z*r.z),r.y);e._flyMat=this.calcOrbit(e,s,o,!0),x3dom.debug.logInfo("New camera position: "+e._from),this.animateTo(e,e._flyMat.inverse(),e.getViewMatrix())}}},x3dom.WalkNavigation=function(e){x3dom.DefaultNavigation.call(this,e)},x3dom.WalkNavigation.prototype=Object.create(x3dom.DefaultNavigation.prototype),x3dom.WalkNavigation.prototype.constructor=x3dom.WalkNavigation,x3dom.WalkNavigation.prototype.onDrag=function(e,t,i,n){var _=this.navi,r=_.getType();if(0!==_.getExplorationMode()){e._scene.getViewpoint();var o=t-e._lastX,s=i-e._lastY;e._dx=o,e._dy=s,e._lastX=t,e._lastY=i,"walk"!==r&&console.log("#### CHECK: in WalkNavigation but nav. type is not walk !")}},x3dom.registerNodeType("X3DFontStyleNode","Text",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DFontStyleNode.superClass.call(this,e)}))),x3dom.registerNodeType("FontStyle","Text",defineClass(x3dom.nodeTypes.X3DFontStyleNode,(function(e){x3dom.nodeTypes.FontStyle.superClass.call(this,e),this.addField_MFString(e,"family",["SERIF"]),this.addField_SFBool(e,"horizontal",!0),this.addField_MFString(e,"justify",["BEGIN","FIRST"]),this.addField_SFString(e,"language",""),this.addField_SFBool(e,"leftToRight",!0),this.addField_SFFloat(e,"size",1),this.addField_SFFloat(e,"spacing",1),this.addField_SFString(e,"style","PLAIN"),this.addField_SFBool(e,"topToBottom",!0),this.addField_SFFloat(e,"quality",2)}),{fieldChanged:function(e){"family"!=e&&"horizontal"!=e&&"justify"!=e&&"language"!=e&&"leftToRight"!=e&&"size"!=e&&"spacing"!=e&&"style"!=e&&"topToBottom"!=e||this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){e.setAllDirty()}))}))}})),x3dom.nodeTypes.FontStyle.defaultNode=function(){return x3dom.nodeTypes.FontStyle._defaultNode||(x3dom.nodeTypes.FontStyle._defaultNode=new x3dom.nodeTypes.FontStyle,x3dom.nodeTypes.FontStyle._defaultNode.nodeChanged()),x3dom.nodeTypes.FontStyle._defaultNode},x3dom.registerNodeType("Text","Text",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.Text.superClass.call(this,e),this.addField_MFString(e,"string",[]),this.addField_MFFloat(e,"length",[]),this.addField_SFFloat(e,"maxExtent",0),this.addField_SFNode("fontStyle",x3dom.nodeTypes.X3DFontStyleNode),this._mesh._positions[0]=[0,0,0,1,0,0,1,1,0,0,1,0],this._mesh._normals[0]=[0,0,1,0,0,1,0,0,1,0,0,1],this._mesh._texCoords[0]=[0,0,1,0,1,1,0,1],this._mesh._colors[0]=[],this._mesh._indices[0]=[0,1,2,2,3,0],this._mesh._invalidate=!0,this._mesh._numFaces=2,this._mesh._numCoords=4}),{nodeChanged:function(){this._cf.fontStyle.node||this.addChild(x3dom.nodeTypes.FontStyle.defaultNode()),this.invalidateVolume()},fieldChanged:function(e){"string"!=e&&"length"!=e&&"maxExtent"!=e||(this.invalidateVolume(),this._parentNodes.forEach((function(e){e.setAllDirty()})))},validateGLObject:function(){this._parentNodes.forEach((function(e){e._dirty.texture=!1})),this._nameSpace.doc.needRender=!0}})),x3dom.registerNodeType("X3DSoundNode","Sound",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DSoundNode.superClass.call(this,e)}))),x3dom.registerNodeType("Sound","Sound",defineClass(x3dom.nodeTypes.X3DSoundNode,(function(e){x3dom.nodeTypes.Sound.superClass.call(this,e),this.addField_SFNode("source",x3dom.nodeTypes.X3DSoundSourceNode)}),{nodeChanged:function(){if(!this._cf.source.node&&this._xmlNode){x3dom.debug.logInfo("No AudioClip child node given, searching for <audio> elements...");try{this._xmlNode.childNodes.forEach((function(e){if(1===e.nodeType&&(x3dom.debug.logInfo("### Found <"+e.nodeName+"> tag."),"audio"===e.localName.toLowerCase())){var t=e.getAttribute("loop");t=!!t&&"loop"===t.toLowerCase();var i=e.cloneNode(!1);e.parentNode.removeChild(e),e=null,"Microsoft Internet Explorer"!=navigator.appName&&document.body.appendChild(i);i.addEventListener("canplaythrough",(function(){i.play()}),!0),i.addEventListener("ended",(function(){t&&i.play()}),!0)}}))}catch(e){x3dom.debug.logException(e)}}}})),x3dom.registerNodeType("X3DSoundSourceNode","Sound",defineClass(x3dom.nodeTypes.X3DTimeDependentNode,(function(e){x3dom.nodeTypes.X3DSoundSourceNode.superClass.call(this,e)}))),x3dom.registerNodeType("AudioClip","Sound",defineClass(x3dom.nodeTypes.X3DSoundSourceNode,(function(e){x3dom.nodeTypes.AudioClip.superClass.call(this,e),this.addField_MFString(e,"url",[]),this.addField_SFBool(e,"enabled",!1),this.addField_SFBool(e,"loop",!1),this._audio=document.createElement("audio"),"Microsoft Internet Explorer"!=navigator.appName&&document.body.appendChild(this._audio),this._sources=[]}),{nodeChanged:function(){this._createSources=function(){this._sources=[];for(var e=0;e<this._vf.url.length;e++){var t=this._nameSpace.getURL(this._vf.url[e]);x3dom.debug.logInfo("Adding sound file: "+t);var i=document.createElement("source");i.setAttribute("src",t),this._sources.push(i),this._audio.appendChild(i)}};var e=this,t=0;this._startAudio=function(){!0===e._vf.enabled&&e._audio.play().then((function(e){clearTimeout(t)})).catch((function(i){x3dom.debug.logError(i),t=setTimeout(e._startAudio,100)}))},this._stopAudio=function(){e._audio.pause()},this._audioEnded=function(){!0===e._vf.enabled&&!0===e._vf.loop&&e._startAudio()};this._audio.addEventListener("canplaythrough",this._startAudio,!0),this._audio.addEventListener("ended",this._audioEnded,!0),this._audio.addEventListener("error",(function(e){x3dom.debug.logWarning("MediaEvent error:"+e)}),!0),this._audio.addEventListener("pause",this._audioEnded,!0),this._createSources()},fieldChanged:function(e){if("enabled"===e)!0===this._vf.enabled?this._startAudio():this._stopAudio();else if("loop"===e);else if("url"===e){for(this._stopAudio();this._audio.hasChildNodes();)this._audio.removeChild(this._audio.firstChild);for(var t=0;t<this._vf.url.length;t++){var i=this._nameSpace.getURL(this._vf.url[t]);x3dom.debug.logInfo("Adding sound file: "+i);var n=document.createElement("source");n.setAttribute("src",i),this._audio.appendChild(n)}this._audio.load()}},shutdown:function(){if(this._audio){for(this._audio.pause();this._audio.hasChildNodes();)this._audio.removeChild(this._audio.firstChild);document.body.removeChild(this._audio),this._audio=null}}})),x3dom.registerNodeType("X3DTextureTransformNode","Texturing",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.X3DTextureTransformNode.superClass.call(this,e)}),{texTransformMatrix:function(){return this._trafo}})),x3dom.registerNodeType("TextureTransform","Texturing",defineClass(x3dom.nodeTypes.X3DTextureTransformNode,(function(e){x3dom.nodeTypes.TextureTransform.superClass.call(this,e),this.addField_SFVec2f(e,"center",0,0),this.addField_SFFloat(e,"rotation",0),this.addField_SFVec2f(e,"scale",1,1),this.addField_SFVec2f(e,"translation",0,0),this._calcTrafo()}),{fieldChanged:function(e){"center"!=e&&"rotation"!=e&&"scale"!=e&&"translation"!=e||this._calcTrafo()},_calcTrafo:function(){var e=new x3dom.fields.SFVec3f(-this._vf.center.x,-this._vf.center.y,0),t=new x3dom.fields.SFVec3f(this._vf.center.x,this._vf.center.y,0),i=new x3dom.fields.SFVec3f(this._vf.translation.x,this._vf.translation.y,0),n=new x3dom.fields.SFVec3f(this._vf.scale.x,this._vf.scale.y,0);this._trafo=x3dom.fields.SFMatrix4f.translation(e).mult(x3dom.fields.SFMatrix4f.scale(n)).mult(x3dom.fields.SFMatrix4f.rotationZ(this._vf.rotation)).mult(x3dom.fields.SFMatrix4f.translation(t.add(i)))}})),x3dom.registerNodeType("MatrixTextureTransform","Texturing",defineClass(x3dom.nodeTypes.X3DTextureTransformNode,(function(e){x3dom.nodeTypes.MatrixTextureTransform.superClass.call(this,e),this.addField_SFMatrix4f(e,"matrix",1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this._trafo=this._vf.matrix.transpose()}),{fieldChanged:function(e){"matrix"==e&&(this._trafo=this._vf.matrix.transpose())}})),x3dom.registerNodeType("TextureProperties","Texturing",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.TextureProperties.superClass.call(this,e),this.addField_SFFloat(e,"anisotropicDegree",1),this.addField_SFColorRGBA(e,"borderColor",0,0,0,0),this.addField_SFInt32(e,"borderWidth",0),this.addField_SFString(e,"boundaryModeS","REPEAT"),this.addField_SFString(e,"boundaryModeT","REPEAT"),this.addField_SFString(e,"boundaryModeR","REPEAT"),this.addField_SFString(e,"magnificationFilter","FASTEST"),this.addField_SFString(e,"minificationFilter","FASTEST"),this.addField_SFString(e,"textureCompression","FASTEST"),this.addField_SFFloat(e,"texturePriority",0),this.addField_SFBool(e,"generateMipMaps",!1)}),{fieldChanged:function(e){this._vf.hasOwnProperty(e)&&(this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){e._dirty.texture=!0}))}))})),this._nameSpace.doc.needRender=!0)}})),x3dom.registerNodeType("X3DTextureNode","Texturing",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.X3DTextureNode.superClass.call(this,e),this.addField_SFInt32(e,"origChannelCount",0),this.addField_MFString(e,"url",[]),this.addField_SFBool(e,"repeatS",!0),this.addField_SFBool(e,"repeatT",!0),this.addField_SFBool(e,"scale",!0),this.addField_SFString(e,"crossOrigin",""),this.addField_SFNode("textureProperties",x3dom.nodeTypes.TextureProperties),this.addField_SFBool(e,"flipY",!1),this.addField_SFInt32(e,"channel",0),this._needPerFrameUpdate=!1,this._isCanvas=!1,this._type="diffuseMap",this._blending=1==this._vf.origChannelCount||2==this._vf.origChannelCount}),{invalidateGLObject:function(){this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)?e._dirty.texture=!0:e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)?e._dirty.texture=!0:e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)&&(e._dirty.texture=!0)}))}))}))})),this._nameSpace.doc.needRender=!0},validateGLObject:function(){this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)?e._dirty.texture=!1:e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)?e._dirty.texture=!1:e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)&&(e._dirty.texture=!1)}))}))}))})),this._nameSpace.doc.needRender=!0},parentAdded:function(e){e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.Shape)?e._dirty.texture=!0:e._parentNodes.forEach((function(e){e._dirty.texture=!0}))}))},parentRemoved:function(e){e._parentNodes.forEach((function(e){x3dom.isa(e,x3dom.nodeTypes.X3DShapeNode)?e._dirty.texture=!0:e._parentNodes.forEach((function(e){e._dirty.texture=!0}))}))},fieldChanged:function(e){if("url"==e||"origChannelCount"==e||"repeatS"==e||"repeatT"==e||"scale"==e||"crossOrigin"==e||"image"==e){var t=this;t._blending=1==t._vf.origChannelCount||2==t._vf.origChannelCount,this._parentNodes.forEach((function(e){if(x3dom.isa(e,x3dom.nodeTypes.X3DAppearanceNode))e.nodeChanged();else if(x3dom.isa(e,x3dom.nodeTypes.MultiTexture))e._parentNodes.forEach((function(e){e.nodeChanged()}));else if(x3dom.isa(e,x3dom.nodeTypes.ComposedCubeMapTexture))e._parentNodes.forEach((function(e){e.nodeChanged()}));else if(x3dom.isa(e,x3dom.nodeTypes.PhysicalMaterial))e._parentNodes.forEach((function(e){e.nodeChanged()}));else if(void 0!==x3dom.nodeTypes.X3DVolumeDataNode)if(x3dom.isa(e,x3dom.nodeTypes.X3DVolumeRenderStyleNode)){if(t._xmlNode&&t._xmlNode.hasAttribute("containerField"))if(e._volumeDataParent)e._volumeDataParent._dirty.texture=!0;else{for(var i=e._parentNodes[0];!x3dom.isa(i,x3dom.nodeTypes.X3DVolumeDataNode)&&x3dom.isa(i,x3dom.nodeTypes.X3DNode);)i=i._parentNodes[0];x3dom.isa(i,x3dom.nodeTypes.X3DNode)&&(i._dirty.texture=!0)}}else x3dom.isa(e,x3dom.nodeTypes.X3DVolumeDataNode)&&t._xmlNode&&t._xmlNode.hasAttribute("containerField")&&(e._dirty.texture=!0)}))}},getTexture:function(e){return 0===e?this:null},size:function(){return 1},setOrigChannelCount:function(e){this._parentNodes.forEach(function(t){"auto"==t._origSortType&&0==this._vf.origChannelCount&&(2!=e&&4!=e||(t._vf.sortType="transparent"))}.bind(this)),this._vf.origChannelCount=e,this.fieldChanged("origChannelCount")},getOrigChannelCount:function(){return this._vf.origChannelCount}})),x3dom.registerNodeType("MultiTexture","Texturing",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.MultiTexture.superClass.call(this,e),this.addField_MFNode("texture",x3dom.nodeTypes.X3DTextureNode)}),{getTexture:function(e){return e>=0&&e<this._cf.texture.nodes.length?this._cf.texture.nodes[e]:null},getTextures:function(){return this._cf.texture.nodes},size:function(){return this._cf.texture.nodes.length}})),x3dom.registerNodeType("Texture","Texturing",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.Texture.superClass.call(this,e),this.addField_SFBool(e,"hideChildren",!0),this._video=null,this._intervalID=null,this._canvas=null}),{nodeChanged:function(){if(!(this._vf.url.length&&this._vf.url[0].length||!this._xmlNode)){x3dom.debug.logInfo("No Texture URL given, searching for <img> elements...");var e=this;try{this._xmlNode.childNodes.forEach((function(t){if(1===t.nodeType){var i=t.getAttribute("src");if(i){if(e._vf.url.push(i),x3dom.debug.logInfo(e._vf.url[e._vf.url.length-1]),"video"===t.localName.toLowerCase())e._needPerFrameUpdate=!0,e._video=document.createElement("video"),e._video.setAttribute("preload","auto"),e._video.setAttribute("muted","muted"),document.getElementsByTagName("body")[0].appendChild(e._video),e._video.style.display="none",e._video.style.visibility="hidden"}else"canvas"===t.localName.toLowerCase()&&(e._needPerFrameUpdate=!0,e._isCanvas=!0,e._canvas=t);t.style&&e._vf.hideChildren&&(t.style.display="none",t.style.visibility="hidden"),x3dom.debug.logInfo("### Found <"+t.nodeName+"> tag.")}}))}catch(e){x3dom.debug.logException(e)}}},shutdown:function(){if(this._video){for(this._video.pauseVideo();this._video.hasChildNodes();)this._video.removeChild(this._video.firstChild);this._video.startVideo&&(this._video.startVideo=null),this._video.pauseVideo&&(this._video.pauseVideo=null),this._video=null}}})),x3dom.registerNodeType("RenderedTexture","Texturing",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.RenderedTexture.superClass.call(this,e),e?e.doc._nodeBag.renderTextures.push(this):x3dom.debug.logWarning("RenderedTexture: No runtime context found!"),this.addField_SFNode("viewpoint",x3dom.nodeTypes.X3DViewpointNode),this.addField_SFNode("background",x3dom.nodeTypes.X3DBackgroundNode),this.addField_SFNode("fog",x3dom.nodeTypes.X3DFogNode),this.addField_SFNode("scene",x3dom.nodeTypes.X3DNode),this.addField_MFNode("excludeNodes",x3dom.nodeTypes.X3DNode),this.addField_MFInt32(e,"dimensions",[128,128,4]),this.addField_SFString(e,"update","NONE"),this.addField_SFBool(e,"showNormals",!1),this.addField_SFString(e,"stereoMode","NONE"),this.addField_SFFloat(e,"interpupillaryDistance",.064),this.addField_SFFloat(e,"eyeToScreenDistance",.041),this.addField_SFFloat(e,"vScreenSize",.07074),this.addField_SFVec3f(e,"lensCenter",.15197,0,0),this.addField_SFBool(e,"depthMap",!1),this.addField_SFBool(e,"oculusRiftVersion",1),x3dom.debug.assert(this._vf.dimensions.length>=3,"RenderedTexture.dimensions requires at least 3 entries."),this._clearParents=!0,this._needRenderUpdate=!0,this.checkDepthTextureSupport=function(){this._vf.depthMap&&null===x3dom.caps.DEPTH_TEXTURE&&x3dom.debug.logWarning("RenderedTexture Node: depth texture extension not supported")},this.checkDepthTextureSupport()}),{nodeChanged:function(){this._clearParents=!0,this._needRenderUpdate=!0},fieldChanged:function(e){switch(e){case"excludeNodes":this._clearParents=!0;break;case"update":"NEXT_FRAME_ONLY"!=this._vf.update.toUpperCase()&&"ALWAYS"!=this._vf.update.toUpperCase()||(this._needRenderUpdate=!0);break;case"depthMap":this.checkDepthTextureSupport(),this._x3domTexture.updateTexture(),this._needRenderUpdate=!0}},getViewMatrix:function(){if(this._clearParents&&this._cf.excludeNodes.nodes.length){var e=this;this._cf.excludeNodes.nodes.forEach((function(t){for(var i=0,n=t._parentNodes.length;i<n;i++)t._parentNodes[i]===e&&(t._parentNodes.splice(i,1),t.parentRemoved(e))})),this._clearParents=!1}var t=this._cf.scene.node,i=this._nameSpace.doc._scene,n=i.getViewpoint(),_=this._cf.viewpoint.node,r=null;if(null===_||_===n)r=this._nameSpace.doc._viewarea.getViewMatrix();else if(t&&t!==i)r=_.getViewMatrix();else{var o=_.getCurrentTransform();r=_.getViewMatrix().mult(o.inverse())}var s=this._vf.stereoMode.toUpperCase();if("NONE"!=s){var a=this._vf.interpupillaryDistance/2;"RIGHT_EYE"==s&&(a=-a),r=new x3dom.fields.SFMatrix4f(1,0,0,a,0,1,0,0,0,0,1,0,0,0,0,1).mult(r)}return r},getProjectionMatrix:function(){var e,t=this._nameSpace.doc,i=t._scene.getViewpoint(),n=this._cf.viewpoint.node,_=null,r=this._vf.dimensions[0],o=this._vf.dimensions[1],s=this._vf.stereoMode.toUpperCase(),a="NONE"!=s;if(null===n||n===i?(_=x3dom.fields.SFMatrix4f.copy(t._viewarea.getProjectionMatrix()),a?(e=2*Math.atan(this._vf.vScreenSize/(2*this._vf.eyeToScreenDistance)),e=1/Math.tan(e/2)):e=1/Math.tan(i._vf.fieldOfView/2),_._00=e/(r/o),_._11=e):_=n.getProjectionMatrix(r/o),a){var p=this._vf.lensCenter.copy();"RIGHT_EYE"==s&&(p.x=-p.x),_=new x3dom.fields.SFMatrix4f(1,0,0,p.x,0,1,0,p.y,0,0,1,p.z,0,0,0,1).mult(_)}return _},getWCtoCCMatrix:function(){var e=this.getViewMatrix();return this.getProjectionMatrix().mult(e)},parentRemoved:function(e){if(0===this._parentNodes.length){var t=this.findX3DDoc();if(t)for(var i=0,n=t._nodeBag.renderTextures.length;i<n;i++)t._nodeBag.renderTextures[i]===this&&t._nodeBag.renderTextures.splice(i,1)}this._cf.scene.node&&this._cf.scene.node.parentRemoved(this)},requirePingPong:function(){return!1}})),x3dom.registerNodeType("RefinementTexture","Texturing",defineClass(x3dom.nodeTypes.RenderedTexture,(function(e){if(x3dom.nodeTypes.RefinementTexture.superClass.call(this,e),this.addField_SFString(e,"stamp0","gpuii/stamps/0.gif"),this.addField_SFString(e,"stamp1","gpuii/stamps/1.gif"),this.addField_SFBool(e,"autoRefinement",!0),this.addField_SFString(e,"format","jpg"),this.addField_SFInt32(e,"iterations",7),this.addField_SFInt32(e,"maxLevel",this._vf.iterations),this._vf.iterations%2==0){var t=this._vf.stamp0;this._vf.stamp0=this._vf.stamp1,this._vf.stamp1=t}this._vf.iterations=this._vf.iterations>11?11:this._vf.iterations,this._vf.iterations=this._vf.iterations<3?3:this._vf.iterations,this._vf.maxLevel=this._vf.maxLevel>11?11:this._vf.maxLevel,this._vf.maxLevel=this._vf.maxLevel<3?3:this._vf.maxLevel,this._vf.maxLevel=this._vf.maxLevel>this._vf.iterations?this._vf.iterations:this._vf.maxLevel;var i=[{x:4,y:8},{x:8,y:8},{x:8,y:16},{x:16,y:16},{x:16,y:32},{x:32,y:32},{x:32,y:64},{x:64,y:64},{x:64,y:128}];this._repeat=new x3dom.fields.SFVec2f(this._vf.dimensions[0]/i[this._vf.iterations-3].x,this._vf.dimensions[1]/i[this._vf.iterations-3].y),this._renderedImage=0,this._currLoadLevel=0,this._loadLevel=1}),{nextLevel:function(){this._loadLevel<this._vf.maxLevel&&(this._loadLevel++,this._nameSpace.doc.needRender=!0)},requirePingPong:function(){return this._currLoadLevel<=this._vf.maxLevel&&this._renderedImage<this._loadLevel}})),x3dom.registerNodeType("PixelTexture","Texturing",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.PixelTexture.superClass.call(this,e),this.addField_SFImage(e,"image",0,0,0)}),{getWidth:function(){return this._vf.image.width},getHeight:function(){return this._vf.image.height},getComponents:function(){return this._vf.image.comp},setPixel:function(e,t,i,n){n=null==n||n,this._x3domTexture?(this._x3domTexture.setPixel(e,t,[255*i.r,255*i.g,255*i.b,255*i.a],n),this._vf.image.setPixel(e,t,i)):(this._vf.image.setPixel(e,t,i),n&&this.invalidateGLObject())},getPixel:function(e,t){return this._vf.image.getPixel(e,t)},setPixels:function(e,t){t=null==t||t,this._vf.image.setPixels(e),t&&this.invalidateGLObject()},getPixels:function(){return this._vf.image.getPixels()}})),x3dom.registerNodeType("ImageTexture","Texturing",defineClass(x3dom.nodeTypes.Texture,(function(e){x3dom.nodeTypes.ImageTexture.superClass.call(this,e)}))),x3dom.registerNodeType("MovieTexture","Texturing",defineClass(x3dom.nodeTypes.Texture,(function(e){x3dom.nodeTypes.MovieTexture.superClass.call(this,e),this.addField_SFBool(e,"loop",!1),this.addField_SFFloat(e,"speed",1),this.addField_SFTime(e,"pauseTime",0),this.addField_SFFloat(e,"pitch",1),this.addField_SFTime(e,"resumeTime",0),this.addField_SFTime(e,"startTime",0),this.addField_SFTime(e,"stopTime",0)}))),x3dom.registerNodeType("X3DTextureCoordinateNode","Texturing",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.X3DTextureCoordinateNode.superClass.call(this,e)}),{fieldChanged:function(e){"texCoord"!==e&&"point"!==e&&"parameter"!==e&&"mode"!==e||this._parentNodes.forEach((function(e){e.fieldChanged("texCoord")}))},parentAdded:function(e){e._mesh&&e._cf.texCoord.node!==this&&e.fieldChanged("texCoord")}})),x3dom.registerNodeType("TextureCoordinate","Texturing",defineClass(x3dom.nodeTypes.X3DTextureCoordinateNode,(function(e){x3dom.nodeTypes.TextureCoordinate.superClass.call(this,e),this.addField_MFVec2f(e,"point",[])}))),x3dom.registerNodeType("TextureCoordinateGenerator","Texturing",defineClass(x3dom.nodeTypes.X3DTextureCoordinateNode,(function(e){x3dom.nodeTypes.TextureCoordinateGenerator.superClass.call(this,e),this.addField_SFString(e,"mode","SPHERE"),this.addField_MFFloat(e,"parameter",[])}))),x3dom.registerNodeType("MultiTextureCoordinate","Texturing",defineClass(x3dom.nodeTypes.X3DTextureCoordinateNode,(function(e){x3dom.nodeTypes.MultiTextureCoordinate.superClass.call(this,e),this.addField_MFNode("texCoord",x3dom.nodeTypes.X3DTextureCoordinateNode)}))),x3dom.registerNodeType("ImageTextureAtlas","Texturing",defineClass(x3dom.nodeTypes.Texture,(function(e){x3dom.nodeTypes.ImageTextureAtlas.superClass.call(this,e),this.addField_SFInt32(e,"numberOfSlices",0),this.addField_SFInt32(e,"slicesOverX",0),this.addField_SFInt32(e,"slicesOverY",0)}))),x3dom.registerNodeType("X3DEnvironmentTextureNode","CubeMapTexturing",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.X3DEnvironmentTextureNode.superClass.call(this,e)}),{getTexUrl:function(){return[]},getTexSize:function(){return-1}})),x3dom.registerNodeType("ComposedCubeMapTexture","CubeMapTexturing",defineClass(x3dom.nodeTypes.X3DEnvironmentTextureNode,(function(e){x3dom.nodeTypes.ComposedCubeMapTexture.superClass.call(this,e),this.addField_SFNode("back",x3dom.nodeTypes.Texture),this.addField_SFNode("front",x3dom.nodeTypes.Texture),this.addField_SFNode("bottom",x3dom.nodeTypes.Texture),this.addField_SFNode("top",x3dom.nodeTypes.Texture),this.addField_SFNode("left",x3dom.nodeTypes.Texture),this.addField_SFNode("right",x3dom.nodeTypes.Texture),this._type="environmentMap"}),{getTexUrl:function(){return[this._nameSpace.getURL(this._cf.back.node._vf.url[0]),this._nameSpace.getURL(this._cf.front.node._vf.url[0]),this._nameSpace.getURL(this._cf.bottom.node._vf.url[0]),this._nameSpace.getURL(this._cf.top.node._vf.url[0]),this._nameSpace.getURL(this._cf.left.node._vf.url[0]),this._nameSpace.getURL(this._cf.right.node._vf.url[0])]}})),x3dom.registerNodeType("GeneratedCubeMapTexture","CubeMapTexturing",defineClass(x3dom.nodeTypes.X3DEnvironmentTextureNode,(function(e){x3dom.nodeTypes.GeneratedCubeMapTexture.superClass.call(this,e),this.addField_SFInt32(e,"size",128),this.addField_SFString(e,"update","NONE"),this._type="cubeMap",x3dom.debug.logWarning("GeneratedCubeMapTexture NYI")}),{getTexSize:function(){return this._vf.size}})),x3dom.registerNodeType("Uniform","Shaders",defineClass(x3dom.nodeTypes.Field,(function(e){x3dom.nodeTypes.Uniform.superClass.call(this,e)}))),x3dom.registerNodeType("SurfaceShaderTexture","Shaders",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.SurfaceShaderTexture.superClass.call(this,e),this.addField_SFInt32(e,"textureCoordinatesId",0),this.addField_SFString(e,"channelMask","DEFAULT"),this.addField_SFBool(e,"isSRGB",!1),this.addField_SFNode("texture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("textureTransform",x3dom.nodeTypes.X3DTextureTransformNode)}))),x3dom.registerNodeType("X3DShaderNode","Shaders",defineClass(x3dom.nodeTypes.X3DAppearanceChildNode,(function(e){x3dom.nodeTypes.X3DShaderNode.superClass.call(this,e),this.addField_SFString(e,"language","")}))),x3dom.registerNodeType("CommonSurfaceShader","Shaders",defineClass(x3dom.nodeTypes.X3DShaderNode,(function(e){x3dom.nodeTypes.CommonSurfaceShader.superClass.call(this,e),this.addField_SFInt32(e,"tangentTextureCoordinatesId",-1),this.addField_SFInt32(e,"binormalTextureCoordinatesId",-1),this.addField_SFVec3f(e,"emissiveFactor",0,0,0),this.addField_SFInt32(e,"emissiveTextureId",-1),this.addField_SFInt32(e,"emissiveTextureCoordinatesId",0),this.addField_SFString(e,"emissiveTextureChannelMask","rgb"),this.addField_SFVec3f(e,"ambientFactor",.2,.2,.2),this.addField_SFInt32(e,"ambientTextureId",-1),this.addField_SFInt32(e,"ambientTextureCoordinatesId",0),this.addField_SFString(e,"ambientTextureChannelMask","rgb"),this.addField_SFVec3f(e,"diffuseFactor",.8,.8,.8),this.addField_SFInt32(e,"diffuseTextureId",-1),this.addField_SFInt32(e,"diffuseTextureCoordinatesId",0),this.addField_SFString(e,"diffuseTextureChannelMask","rgb"),this.addField_SFVec3f(e,"specularFactor",0,0,0),this.addField_SFInt32(e,"specularTextureId",-1),this.addField_SFInt32(e,"specularTextureCoordinatesId",0),this.addField_SFString(e,"specularTextureChannelMask","rgb"),this.addField_SFFloat(e,"shininessFactor",.2),this.addField_SFInt32(e,"shininessTextureId",-1),this.addField_SFInt32(e,"shininessTextureCoordinatesId",0),this.addField_SFString(e,"shininessTextureChannelMask","a"),this.addField_SFString(e,"normalFormat","UNORM"),this.addField_SFString(e,"normalSpace","TANGENT"),this.addField_SFInt32(e,"normalTextureId",-1),this.addField_SFInt32(e,"normalTextureCoordinatesId",0),this.addField_SFString(e,"normalTextureChannelMask","rgb"),this.addField_SFVec3f(e,"reflectionFactor",0,0,0),this.addField_SFInt32(e,"reflectionTextureId",-1),this.addField_SFInt32(e,"reflectionTextureCoordinatesId",0),this.addField_SFString(e,"reflectionTextureChannelMask","rgb"),this.addField_SFVec3f(e,"transmissionFactor",0,0,0),this.addField_SFInt32(e,"transmissionTextureId",-1),this.addField_SFInt32(e,"transmissionTextureCoordinatesId",0),this.addField_SFString(e,"transmissionTextureChannelMask","rgb"),this.addField_SFVec3f(e,"environmentFactor",1,1,1),this.addField_SFInt32(e,"environmentTextureId",-1),this.addField_SFInt32(e,"environmentTextureCoordinatesId",0),this.addField_SFString(e,"environmentTextureChannelMask","rgb"),this.addField_SFFloat(e,"relativeIndexOfRefraction",1),this.addField_SFFloat(e,"fresnelBlend",0),this.addField_SFString(e,"displacementAxis","y"),this.addField_SFFloat(e,"displacementFactor",255),this.addField_SFInt32(e,"displacementTextureId",-1),this.addField_SFInt32(e,"displacementTextureCoordinatesId",0),this.addField_SFNode("emissiveTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("ambientTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("diffuseTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("specularTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("shininessTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("normalTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("reflectionTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("transmissionTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("environmentTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("displacementTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFNode("diffuseDisplacementTexture",x3dom.nodeTypes.X3DTextureNode),this.addField_SFVec3f(e,"normalScale",2,2,2),this.addField_SFVec3f(e,"normalBias",-1,-1,1),this.addField_SFFloat(e,"alphaFactor",1),this.addField_SFBool(e,"invertAlphaTexture",!1),this.addField_SFInt32(e,"alphaTextureId",-1),this.addField_SFInt32(e,"alphaTextureCoordinatesId",0),this.addField_SFString(e,"alphaTextureChannelMask","a"),this.addField_SFNode("alphaTexture",x3dom.nodeTypes.X3DTextureNode),this._dirty={}}),{getDiffuseMap:function(){return this._cf.diffuseTexture.node?x3dom.isa(this._cf.diffuseTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.diffuseTexture.node._cf.texture.node._type="diffuseMap",this._cf.diffuseTexture.node._cf.texture.node):(this._cf.diffuseTexture.node._type="diffuseMap",this._cf.diffuseTexture.node):null},getEnvironmentMap:function(){return this._cf.environmentTexture.node?x3dom.isa(this._cf.environmentTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.environmentTexture.node._cf.texture.node._type="environmentMap",this._cf.environmentTexture.node._cf.texture.node):(this._cf.environmentTexture.node._type="environmentMap",this._cf.environmentTexture.node):null},getNormalMap:function(){return this._cf.normalTexture.node?x3dom.isa(this._cf.normalTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.normalTexture.node._cf.texture.node._type="normalMap",this._cf.normalTexture.node._cf.texture.node):(this._cf.normalTexture.node._type="normalMap",this._cf.normalTexture.node):null},getAmbientMap:function(){return this._cf.ambientTexture.node?x3dom.isa(this._cf.ambientTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.ambientTexture.node._cf.texture.node._type="ambientMap",this._cf.ambientTexture.node._cf.texture.node):(this._cf.ambientTexture.node._type="ambientMap",this._cf.ambientTexture.node):null},getSpecularMap:function(){return this._cf.specularTexture.node?x3dom.isa(this._cf.specularTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.specularTexture.node._cf.texture.node._type="specularMap",this._cf.specularTexture.node._cf.texture.node):(this._cf.specularTexture.node._type="specularMap",this._cf.specularTexture.node):null},getShininessMap:function(){return this._cf.shininessTexture.node?x3dom.isa(this._cf.shininessTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.shininessTexture.node._cf.texture.node._type="shininessMap",this._cf.shininessTexture.node._cf.texture.node):(this._cf.shininessTexture.node._type="shininessMap",this._cf.shininessTexture.node):null},getAlphaMap:function(){return this._cf.alphaTexture.node?x3dom.isa(this._cf.alphaTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.alphaTexture.node._cf.texture.node._type="alphaMap",this._cf.alphaTexture.node._cf.texture.node):(this._cf.alphaTexture.node._type="alphaMap",this._cf.alphaTexture.node):null},getDisplacementMap:function(){return this._cf.displacementTexture.node?x3dom.isa(this._cf.displacementTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.displacementTexture.node._cf.texture.node._type="displacementMap",this._cf.displacementTexture.node._cf.texture.node):(this._cf.displacementTexture.node._type="displacementMap",this._cf.displacementTexture.node):null},getDiffuseDisplacementMap:function(){return this._cf.diffuseDisplacementTexture.node?x3dom.isa(this._cf.diffuseDisplacementTexture.node,x3dom.nodeTypes.SurfaceShaderTexture)?(this._cf.diffuseDisplacementTexture.node._cf.texture.node._type="diffuseDisplacementMap",this._cf.diffuseDisplacementTexture.node._cf.texture.node):(this._cf.diffuseDisplacementTexture.node._type="diffuseDisplacementMap",this._cf.diffuseDisplacementTexture.node):null},getTextures:function(){var e=[],t=this.getDiffuseMap();t&&e.push(t);var i=this.getNormalMap();i&&e.push(i);var n=this.getSpecularMap();n&&e.push(n);var _=this.getShininessMap();_&&e.push(_);var r=this.getEnvironmentMap();r&&e.push(r);var o=this.getDisplacementMap();o&&e.push(o);var s=this.getDiffuseDisplacementMap();return s&&e.push(s),e},needTexcoords:function(){return!!(this.getDiffuseMap()||this.getNormalMap()||this.getSpecularMap()||this.getShininessMap()||this.getDisplacementMap()||this.getDiffuseDisplacementMap()||this.getEnvironmentMap())}})),x3dom.registerNodeType("ComposedShader","Shaders",defineClass(x3dom.nodeTypes.X3DShaderNode,(function(e){x3dom.nodeTypes.ComposedShader.superClass.call(this,e),this.addField_MFNode("fields",x3dom.nodeTypes.Field),this.addField_MFNode("parts",x3dom.nodeTypes.ShaderPart),this._vertex=null,this._fragment=null,this._id=null,x3dom.nodeTypes.ComposedShader.ShaderInfoMsgShown||(x3dom.debug.logInfo("Current ComposedShader node implementation limitations:\nVertex attributes (if given in the standard X3D fields 'coord', 'color', 'normal', 'texCoord'), matrices and texture are provided as follows...\n(see also <a href='http://x3dom.org/x3dom/doc/help/composedShader.html'>http://x3dom.org/x3dom/doc/help/composedShader.html</a>)\n attribute vec3 position;\n attribute vec3 normal;\n attribute vec2 texcoord;\n attribute vec3 color;\n uniform mat4 modelViewProjectionMatrix;\n uniform mat4 modelViewMatrix;\n uniform mat4 normalMatrix;\n uniform mat4 viewMatrix;\n uniform sampler2D tex;\n"),x3dom.nodeTypes.ComposedShader.ShaderInfoMsgShown=!0)}),{nodeChanged:function(){var e,t=this._cf.parts.nodes.length;for(e=0;e<t;e++)"vertex"==this._cf.parts.nodes[e]._vf.type.toLowerCase()?(this._vertex=this._cf.parts.nodes[e],this._id=this._cf.parts.nodes[e]._id):"fragment"==this._cf.parts.nodes[e]._vf.type.toLowerCase()&&(this._fragment=this._cf.parts.nodes[e],this._id+=" - "+this._cf.parts.nodes[e]._id);var i={};for(t=this._cf.fields.nodes.length,e=0;e<t;e++){var n=this._cf.fields.nodes[e]._vf.name;i.xmlNode=this._cf.fields.nodes[e]._xmlNode;var _=!1;void 0!==i.xmlNode&&null!==i.xmlNode||(i.xmlNode=document.createElement("field"),_=!0),i.xmlNode.setAttribute(n,this._cf.fields.nodes[e]._vf.value),this["addField_"+this._cf.fields.nodes[e]._vf.type](i,n),_&&(i.xmlNode=null)}this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){e._cleanupGLObjects&&e._cleanupGLObjects(),e.setAllDirty()}))}))},fieldChanged:function(e){var t,i=this._cf.fields.nodes.length;for(t=0;t<i;t++){var n=this._cf.fields.nodes[t]._vf.name;if(n===e){var _=this._cf.fields.nodes[t]._vf.value;try{this._vf[n].setValueByStr(_)}catch(e){try{switch((typeof this._vf[n]).toString()){case"number":this._vf[n]=+_;break;case"boolean":this._vf[n]="true"===_.toLowerCase();break;case"string":this._vf[n]=_}}catch(e){x3dom.debug.logError("setValueByStr() NYI for "+typeof this._vf[n])}}break}}if("url"===e){for(t=0;t<i;t++)"vertex"==this._cf.parts.nodes[t]._vf.type.toLowerCase()?(this._vertex=this._cf.parts.nodes[t],this._id=this._cf.parts.nodes[t]._id):"fragment"==this._cf.parts.nodes[t]._vf.type.toLowerCase()&&(this._fragment=this._cf.parts.nodes[t],this._id+=" - "+this._cf.parts.nodes[t]._id);this._parentNodes.forEach((function(e){e._parentNodes.forEach((function(e){e._cleanupGLObjects&&e._cleanupGLObjects(),e.setAllDirty()}))}))}},parentAdded:function(e){e.nodeChanged()}})),x3dom.nodeTypes.ComposedShader.ShaderInfoMsgShown=!1,x3dom.registerNodeType("ShaderPart","Shaders",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.ShaderPart.superClass.call(this,e),this.addField_MFString(e,"url",[]),this.addField_SFString(e,"type","VERTEX"),this._id=e&&e.xmlNode&&""!=e.xmlNode.id?e.xmlNode.id:++x3dom.nodeTypes.Shape.shaderPartID,x3dom.debug.assert("vertex"==this._vf.type.toLowerCase()||"fragment"==this._vf.type.toLowerCase(),"Unknown shader part type!")}),{nodeChanged:function(){var e={};if(e.xmlNode=this._xmlNode,void 0!==e.xmlNode&&null!==e.xmlNode){var t=this;if(t._vf.url.length&&-1==t._vf.url[0].indexOf("\n")){var i=new XMLHttpRequest,n=t._nameSpace.getURL(t._vf.url[0]),_=t._id;t._id="default",t._vf.url=new x3dom.fields.MFString([this._getDefaultShader()]),i.open("GET",n,!1),i.onload=function(){t._vf.url=new x3dom.fields.MFString([]),t._vf.url.push(i.response),t._id=_,t.fieldChanged("url")},i.onerror=function(){x3dom.debug.logError("Could not load file '"+t._vf.url[0]+"'.")},x3dom.RequestManager.addRequest(i)}else{t._vf.url.length&&(t._vf.url=new x3dom.fields.MFString([]));try{t._vf.url.push(e.xmlNode.childNodes[1].nodeValue),e.xmlNode.removeChild(e.xmlNode.childNodes[1])}catch(i){e.xmlNode.childNodes.forEach((function(e){3===e.nodeType?t._vf.url.push(e.nodeValue):4===e.nodeType&&t._vf.url.push(e.data),e.parentNode.removeChild(e)}))}}}this._parentNodes.forEach((function(e){e.nodeChanged()}))},fieldChanged:function(e){"url"===e&&this._parentNodes.forEach((function(e){e.fieldChanged("url")}))},parentAdded:function(e){e.nodeChanged()},_getDefaultShader:function(){return"vertex"==this._vf.type.toLowerCase()?"attribute vec3 position;\nuniform mat4 modelViewProjectionMatrix;\nvoid main(void) {\n gl_Position = modelViewProjectionMatrix * vec4(position, 1.0);\n}\n":"fragment"==this._vf.type.toLowerCase()?"precision highp float;\nvoid main(void) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}\n":void 0}})),x3dom.registerNodeType("X3DVertexAttributeNode","Shaders",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.X3DVertexAttributeNode.superClass.call(this,e),this.addField_SFString(e,"name","")}))),x3dom.registerNodeType("FloatVertexAttribute","Shaders",defineClass(x3dom.nodeTypes.X3DVertexAttributeNode,(function(e){x3dom.nodeTypes.FloatVertexAttribute.superClass.call(this,e),this.addField_SFInt32(e,"numComponents",4),this.addField_MFFloat(e,"value",[])}))),x3dom.registerNodeType("X3DSpatialGeometryNode","Geometry3D",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.X3DSpatialGeometryNode.superClass.call(this,e)}))),x3dom.registerNodeType("Plane","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Plane.superClass.call(this,e),this.addField_SFVec2f(e,"size",2,2),this.addField_SFVec2f(e,"subdivision",1,1),this.addField_SFVec3f(e,"center",0,0,0),this.addField_MFString(e,"primType",["TRIANGLES"]),this._vf.primType.length&&(this._mesh._primType=this._vf.primType[0]);var t=this._vf.size.x,i=this._vf.size.y,n=this._vf.subdivision.x,_=this._vf.subdivision.y,r=this._vf.ccw,o=["Plane",t,i,n,_,this._vf.center.x,this._vf.center.y,this._vf.center.z,r].join("-");if(e&&this._vf.useGeoCache&&void 0!==x3dom.geoCache[o])this._mesh=x3dom.geoCache[o];else{var s=0,a=0,p=t/n,l=i/_,d=r?1:-1;for(t/=2,i/=2,a=0;a<=_;a++)for(s=0;s<=n;s++)this._mesh._positions[0].push(this._vf.center.x+s*p-t),this._mesh._positions[0].push(this._vf.center.y+a*l-i),this._mesh._positions[0].push(this._vf.center.z),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*d),this._mesh._texCoords[0].push(s/n),this._mesh._texCoords[0].push(a/_);for(a=1;a<=_;a++)for(s=0;s<n;s++)this._mesh._indices[0].push((a-1)*(n+1)+s),this._mesh._indices[0].push((a-1)*(n+1)+s+1),this._mesh._indices[0].push(a*(n+1)+s),this._mesh._indices[0].push(a*(n+1)+s),this._mesh._indices[0].push((a-1)*(n+1)+s+1),this._mesh._indices[0].push(a*(n+1)+s+1);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[o]=this._mesh}}),{fieldChanged:function(e){if("size"==e||"center"==e){this._mesh._positions[0]=[];var t=this._vf.size.x,i=this._vf.size.y,n=0,_=0,r=t/(s=this._vf.subdivision.x),o=i/(a=this._vf.subdivision.y);for(t/=2,i/=2,_=0;_<=a;_++)for(n=0;n<=s;n++)this._mesh._positions[0].push(this._vf.center.x+n*r-t),this._mesh._positions[0].push(this._vf.center.y+_*o-i),this._mesh._positions[0].push(this._vf.center.z);this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}else if("subdivision"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[];t=this._vf.size.x,i=this._vf.size.y;var s=this._vf.subdivision.x,a=this._vf.subdivision.y,p=this._vf.ccw?1:-1;n=0,_=0,r=t/s,o=i/a;for(t/=2,i/=2,_=0;_<=a;_++)for(n=0;n<=s;n++)this._mesh._positions[0].push(this._vf.center.x+n*r-t),this._mesh._positions[0].push(this._vf.center.y+_*o-i),this._mesh._positions[0].push(this._vf.center.z),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*p),this._mesh._texCoords[0].push(n/s),this._mesh._texCoords[0].push(_/a);for(_=1;_<=a;_++)for(n=0;n<s;n++)this._mesh._indices[0].push((_-1)*(s+1)+n),this._mesh._indices[0].push((_-1)*(s+1)+n+1),this._mesh._indices[0].push(_*(s+1)+n),this._mesh._indices[0].push(_*(s+1)+n),this._mesh._indices[0].push((_-1)*(s+1)+n+1),this._mesh._indices[0].push(_*(s+1)+n+1);this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()}))}}})),x3dom.registerNodeType("Box","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Box.superClass.call(this,e),this.addField_SFVec3f(e,"size",2,2,2),this.addField_SFBool(e,"hasHelperColors",!1);var t=this._vf.size.x,i=this._vf.size.y,n=this._vf.size.z,_=this._vf.ccw,r=["Box",t,i,n,_].join("-");this._vf.useGeoCache&&void 0!==x3dom.geoCache[r]?this._mesh=x3dom.geoCache[r]:(t/=2,i/=2,n/=2,this._mesh._positions[0]=[-t,-i,-n,-t,i,-n,t,i,-n,t,-i,-n,-t,-i,n,-t,i,n,t,i,n,t,-i,n,-t,-i,-n,-t,-i,n,-t,i,n,-t,i,-n,t,-i,-n,t,-i,n,t,i,n,t,i,-n,-t,i,-n,-t,i,n,t,i,n,t,i,-n,-t,-i,-n,-t,-i,n,t,-i,n,t,-i,-n],this._mesh._normals[0]=_?[0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0]:[0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0],this._mesh._texCoords[0]=[1,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,0,0,0,0,1,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,0],this._vf.hasHelperColors&&(this._mesh._colors[0]=[0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,0,1,0,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0]),this._mesh._indices[0]=[0,1,2,2,3,0,4,7,5,5,7,6,8,9,10,10,11,8,12,14,13,14,12,15,16,17,18,18,19,16,20,22,21,22,20,23],this._mesh._invalidate=!0,this._mesh._numFaces=12,this._mesh._numCoords=24,x3dom.geoCache[r]=this._mesh)}),{fieldChanged:function(e){if("size"===e){var t=this._vf.size.x/2,i=this._vf.size.y/2,n=this._vf.size.z/2;this._mesh._positions[0]=[-t,-i,-n,-t,i,-n,t,i,-n,t,-i,-n,-t,-i,n,-t,i,n,t,i,n,t,-i,n,-t,-i,-n,-t,-i,n,-t,i,n,-t,i,-n,t,-i,-n,t,-i,n,t,i,n,t,i,-n,-t,i,-n,-t,i,n,t,i,n,t,i,-n,-t,-i,-n,-t,-i,n,t,-i,n,t,-i,-n],this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}else"hasHelperColors"===e&&(this._vf.hasHelperColors?this._mesh._colors[0]=[0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,0,1,0,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0]:this._mesh._colors[0]=[],this._parentNodes.forEach((function(e){e._dirty.colors=!0})))}})),x3dom.registerNodeType("Sphere","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Sphere.superClass.call(this,e),this.addField_SFFloat(e,"radius",e?1:1e3),this.addField_SFVec2f(e,"subdivision",24,24),this._qfactors={low:.3,medium:.5,high:1},void 0===e&&this.nodeChanged()}),{nodeChanged:function(){var e=1;this._nameSpace&&(e=this._nameSpace.doc.properties.getProperty("PrimitiveQuality","Medium")),e=x3dom.Utils.isNumber(e)?parseFloat(e):this._qfactors[e.toLowerCase()]||.5,this._quality=e;var t=["Sphere",this._vf.radius,this._vf.subdivision.x,this._vf.subdivision.y,e,this._vf.ccw].join("-");this._vf.useGeoCache&&void 0!==x3dom.geoCache[t]?this._mesh=x3dom.geoCache[t]:(this._regenerateMesh(),this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[t]=this._mesh)},_regenerateMesh:function(){this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[];var e,t,i,n,_,r,o,s,a,p,l=this._vf.radius,d=this._vf.ccw?1:-1,c=this._vf.subdivision.x,b=this._vf.subdivision.y,u=Math.floor(c*this._quality),m=Math.floor(b*this._quality);for(e=0;e<=u;e++)for(i=e*Math.PI/u,n=Math.sin(i),_=Math.cos(i),t=0;t<=m;t++)r=this._calcXYZ(t,m,n,_),o=this._uFromlong(t,m),s=e/u,this._mesh._positions[0].push(l*r.x,l*r.y,l*r.z),this._mesh._normals[0].push(d*r.x,d*r.y,d*r.z),this._mesh._texCoords[0].push(o,s);for(e=0;e<u;e++)for(t=0;t<m;t++)p=(a=e*(m+1)+t)+m+1,this._mesh._indices[0].push(a,p,a+1),this._mesh._indices[0].push(p,p+1,a+1)},_calcXYZ:function(e,t,i,n){var _=.5*Math.PI+2*e*Math.PI/t;return{x:-Math.cos(_)*i,y:-n,z:-Math.sin(_)*i}},_uFromlong:function(e,t){return 1-e/t},fieldChanged:function(e){if("radius"===e){this._mesh._positions[0]=[];var t,i,n,_,r,o,s=this._vf.radius,a=this._vf.subdivision.x,p=this._vf.subdivision.y,l=this._quality,d=Math.floor(a*l),c=Math.floor(p*l);for(t=0;t<=d;t++)for(n=t*Math.PI/d,_=Math.sin(n),r=Math.cos(n),i=0;i<=c;i++)o=this._calcXYZ(i,c,_,r),this._mesh._positions[0].push(s*o.x,s*o.y,s*o.z);this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}else if("subdivision"===e){this._regenerateMesh(),this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3;var b="Sphere_"+(s=this._vf.radius)+"-"+(a=this._vf.subdivision.x)+"-"+(p=this._vf.subdivision.y);x3dom.geoCache[b]=this._mesh,this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()}))}}})),x3dom.registerNodeType("Torus","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Torus.superClass.call(this,e);var t=2*Math.PI;this.addField_SFFloat(e,"innerRadius",.5),this.addField_SFFloat(e,"outerRadius",1),this.addField_SFFloat(e,"angle",t),this.addField_SFBool(e,"caps",!0),this.addField_SFVec2f(e,"subdivision",24,24),this.addField_SFBool(e,"insideOutsideRadius",!1),this._vf.angle<0?this._vf.angle=0:this._vf.angle>t&&(this._vf.angle=t),this._origCCW=this._vf.ccw;var i=this._vf.innerRadius,n=this._vf.outerRadius;if(1==this._vf.insideOutsideRadius){if(i>n){var _=i;i=n,n=_}var r=(n-i)/2;n=i+r,i=r,this._vf.ccw=!this._origCCW}var o=this._vf.subdivision.x,s=this._vf.subdivision.y,a=this._vf.ccw?1:-1;o=Math.max(3,Math.round(this._vf.angle/t*o));var p=["Torus_",i,n,this._vf.angle,this._vf.subdivision,this._vf.caps,a].join("_");if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[p])this._mesh=x3dom.geoCache[p];else{var l,d,c,b,u,m,h,f,g,C=this._vf.angle/o,S=t/s;for(l=0,c=0;l<=o;l++,c+=C)for(u=Math.cos(c),m=Math.sin(c),d=0,b=0;d<=s;d++,b+=S)h=Math.cos(b),f=Math.sin(b),g=n+i*h,this._vf.insideOutsideRadius?(this._mesh._positions[0].push(u*g,i*f,-m*g),this._mesh._normals[0].push(a*u*h,a*f,a*-m*h)):(this._mesh._positions[0].push(u*g,-m*g,i*f),this._mesh._normals[0].push(a*u*h,a*-m*h,a*f)),this._mesh._texCoords[0].push(-l/o,d/s);for(l=0;l<s;l++)for(d=0;d<o;d++)this._mesh._indices[0].push(d*(s+1)+l),this._mesh._indices[0].push(d*(s+1)+l+1),this._mesh._indices[0].push((d+1)*(s+1)+l),this._mesh._indices[0].push(d*(s+1)+l+1),this._mesh._indices[0].push((d+1)*(s+1)+l+1),this._mesh._indices[0].push((d+1)*(s+1)+l);if(this._vf.angle<t&&1==this._vf.caps){var y=this._mesh._positions[0].length/3;for(this._vf.insideOutsideRadius?(this._mesh._positions[0].push(n,0,0),this._mesh._normals[0].push(0,0,1*a)):(this._mesh._positions[0].push(n,0,0),this._mesh._normals[0].push(0,1*a,0)),this._mesh._texCoords[0].push(.5,.5),d=0,b=0;d<=s;d++,b+=S)h=Math.cos(b),f=Math.sin(b),g=n+i*h,this._vf.insideOutsideRadius?(this._mesh._positions[0].push(g,f*i,0),this._mesh._normals[0].push(0,0,1*a)):(this._mesh._positions[0].push(g,0,f*i),this._mesh._normals[0].push(0,1*a,0)),this._mesh._texCoords[0].push(.5*(1+h),.5*(1-f)),d>0&&(this._mesh._indices[0].push(y),this._mesh._indices[0].push(y+d),this._mesh._indices[0].push(y+d-1)),d==s&&(this._mesh._indices[0].push(y),this._mesh._indices[0].push(y+1),this._mesh._indices[0].push(y+d));u=Math.cos(this._vf.angle),m=Math.sin(this._vf.angle),y=this._mesh._positions[0].length/3;var v=-m,x=-u;for(this._vf.insideOutsideRadius?(this._mesh._positions[0].push(u*n,0,-m*n),this._mesh._normals[0].push(a*v,0,a*x)):(this._mesh._positions[0].push(u*n,-m*n,0),this._mesh._normals[0].push(a*v,a*x,0)),this._mesh._texCoords[0].push(.5,.5),d=0,b=0;d<=s;d++,b+=S)h=Math.cos(b),f=Math.sin(b),g=n+i*h,this._vf.insideOutsideRadius?(this._mesh._positions[0].push(u*g,f*i,-m*g),this._mesh._normals[0].push(a*v,0,a*x)):(this._mesh._positions[0].push(u*g,-m*g,f*i),this._mesh._normals[0].push(a*v,a*x,0)),this._mesh._texCoords[0].push(1-.5*(1+h),.5*(1-f)),d>0&&(this._mesh._indices[0].push(y),this._mesh._indices[0].push(y+d-1),this._mesh._indices[0].push(y+d)),d==s&&(this._mesh._indices[0].push(y),this._mesh._indices[0].push(y+d),this._mesh._indices[0].push(y+1))}this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[p]=this._mesh}}),{fieldChanged:function(e){if("innerRadius"==e||"outerRadius"==e||"subdivision"==e||"angle"==e||"insideOutsideRadius"==e||"caps"==e){var t=2*Math.PI;this._vf.angle<0?this._vf.angle=0:this._vf.angle>t&&(this._vf.angle=t);var i=this._vf.innerRadius,n=this._vf.outerRadius;if(1==this._vf.insideOutsideRadius){if(i>n){var _=i;i=n,n=_}var r=(n-i)/2;n=i+r,i=r,this._vf.ccw=!this._origCCW}else this._vf.ccw=this._origCCW;var o=this._vf.subdivision.x,s=this._vf.subdivision.y,a=this._vf.ccw?1:-1;o=Math.max(3,Math.round(this._vf.angle/t*o));var p,l,d,c,b,u,m,h,f,g=this._vf.angle/o,C=t/s;for(this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[],p=0,d=0;p<=o;p++,d+=g)for(b=Math.cos(d),u=Math.sin(d),l=0,c=0;l<=s;l++,c+=C)m=Math.cos(c),h=Math.sin(c),f=n+i*m,this._vf.insideOutsideRadius?(this._mesh._positions[0].push(b*f,i*h,-u*f),this._mesh._normals[0].push(a*b*m,a*h,a*-u*m)):(this._mesh._positions[0].push(b*f,-u*f,i*h),this._mesh._normals[0].push(a*b*m,a*-u*m,a*h)),this._mesh._texCoords[0].push(-p/o,l/s);for(p=0;p<s;p++)for(l=0;l<o;l++)this._mesh._indices[0].push(l*(s+1)+p),this._mesh._indices[0].push(l*(s+1)+p+1),this._mesh._indices[0].push((l+1)*(s+1)+p),this._mesh._indices[0].push(l*(s+1)+p+1),this._mesh._indices[0].push((l+1)*(s+1)+p+1),this._mesh._indices[0].push((l+1)*(s+1)+p);if(this._vf.angle<t&&1==this._vf.caps){var S=this._mesh._positions[0].length/3;for(this._vf.insideOutsideRadius?(this._mesh._positions[0].push(n,0,0),this._mesh._normals[0].push(0,0,1*a)):(this._mesh._positions[0].push(n,0,0),this._mesh._normals[0].push(0,1*a,0)),this._mesh._texCoords[0].push(.5,.5),l=0,c=0;l<=s;l++,c+=C)m=Math.cos(c),h=Math.sin(c),f=n+i*m,this._vf.insideOutsideRadius?(this._mesh._positions[0].push(f,h*i,0),this._mesh._normals[0].push(0,0,1*a)):(this._mesh._positions[0].push(f,0,h*i),this._mesh._normals[0].push(0,1*a,0)),this._mesh._texCoords[0].push(.5*(1+m),.5*(1-h)),l>0&&(this._mesh._indices[0].push(S),this._mesh._indices[0].push(S+l),this._mesh._indices[0].push(S+l-1)),l==s&&(this._mesh._indices[0].push(S),this._mesh._indices[0].push(S+1),this._mesh._indices[0].push(S+l));b=Math.cos(this._vf.angle),u=Math.sin(this._vf.angle),S=this._mesh._positions[0].length/3;var y=-u,v=-b;for(this._vf.insideOutsideRadius?(this._mesh._positions[0].push(b*n,0,-u*n),this._mesh._normals[0].push(a*y,0,a*v)):(this._mesh._positions[0].push(b*n,-u*n,0),this._mesh._normals[0].push(a*y,a*v,0)),this._mesh._texCoords[0].push(.5,.5),l=0,c=0;l<=s;l++,c+=C)m=Math.cos(c),h=Math.sin(c),f=n+i*m,this._vf.insideOutsideRadius?(this._mesh._positions[0].push(b*f,h*i,-u*f),this._mesh._normals[0].push(a*y,0,a*v)):(this._mesh._positions[0].push(b*f,-u*f,h*i),this._mesh._normals[0].push(a*y,a*v,0)),this._mesh._texCoords[0].push(1-.5*(1+m),.5*(1-h)),l>0&&(this._mesh._indices[0].push(S),this._mesh._indices[0].push(S+l-1),this._mesh._indices[0].push(S+l)),l==s&&(this._mesh._indices[0].push(S),this._mesh._indices[0].push(S+l),this._mesh._indices[0].push(S+1))}this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()}))}}})),x3dom.registerNodeType("Cone","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Cone.superClass.call(this,e),this.addField_SFFloat(e,"bottomRadius",1),this.addField_SFFloat(e,"topRadius",0),this.addField_SFFloat(e,"height",2),this.addField_SFBool(e,"bottom",!0),this.addField_SFBool(e,"side",!0),this.addField_SFBool(e,"top",!0),this.addField_SFFloat(e,"subdivision",32);var t=["Cone",this._vf.bottomRadius,this._vf.height,this._vf.top,this._vf.bottom,this._vf.side,this._vf.topRadius,this._vf.subdivision,this._vf.ccw].join("_");this._vf.useGeoCache&&void 0!==x3dom.geoCache[t]?this._mesh=x3dom.geoCache[t]:(this._calcMesh(),this._mesh._invalidate=!0,x3dom.geoCache[t]=this._mesh)}),{_calcMesh:function(){var e,t,i,n,_,r=this._vf.bottomRadius,o=this._vf.height,s=this._vf.topRadius,a=this._vf.subdivision,p=this._vf.ccw?1:-1,l=2*Math.PI/a,d=(r-s)/o,c=1/Math.sqrt(1+d*d),b=0,u=0;if(this._vf.side&&o>0){var m=0,h=0;for(b=0,u=0;b<=a;b++)e=b*l,t=Math.sin(e),i=-Math.cos(e),s>x3dom.fields.Eps&&(m=t*s,h=i*s),this._mesh._positions[0].push(m,o/2,h),this._mesh._normals[0].push(p*t/c,p*d/c,p*i/c),this._mesh._texCoords[0].push(1-b/a,1),this._mesh._positions[0].push(t*r,-o/2,i*r),this._mesh._normals[0].push(p*t/c,p*d/c,p*i/c),this._mesh._texCoords[0].push(1-b/a,0),b>0&&(this._mesh._indices[0].push(u),this._mesh._indices[0].push(u+2),this._mesh._indices[0].push(u+1),this._mesh._indices[0].push(u+1),this._mesh._indices[0].push(u+2),this._mesh._indices[0].push(u+3),u+=2)}if(this._vf.bottom&&r>0){for(_=this._mesh._positions[0].length/3,b=a-1;b>=0;b--)e=b*l,t=r*Math.sin(e),i=-r*Math.cos(e),this._mesh._positions[0].push(t,-o/2,i),this._mesh._normals[0].push(0,-1*p,0),this._mesh._texCoords[0].push(t/r/2+.5,i/r/2+.5);for(n=_+1,b=2;b<a;b++)this._mesh._indices[0].push(n),this._mesh._indices[0].push(_),n=_+b,this._mesh._indices[0].push(n)}if(this._vf.top&&s>x3dom.fields.Eps){for(_=this._mesh._positions[0].length/3,b=a-1;b>=0;b--)e=b*l,t=s*Math.sin(e),i=-s*Math.cos(e),this._mesh._positions[0].push(t,o/2,i),this._mesh._normals[0].push(0,1*p,0),this._mesh._texCoords[0].push(t/s/2+.5,1-i/s/2+.5);for(n=_+1,b=2;b<a;b++)this._mesh._indices[0].push(_),this._mesh._indices[0].push(n),n=_+b,this._mesh._indices[0].push(n)}this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"bottomRadius"!=e&&"topRadius"!=e&&"height"!=e&&"subdivision"!=e&&"bottom"!=e&&"top"!=e&&"side"!=e||(this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._calcMesh(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("Cylinder","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Cylinder.superClass.call(this,e),this.addField_SFFloat(e,"radius",1),this.addField_SFFloat(e,"height",2),this.addField_SFBool(e,"bottom",!0),this.addField_SFBool(e,"top",!0),this.addField_SFFloat(e,"subdivision",32),this.addField_SFBool(e,"side",!0);var t=this._vf.subdivision,i=this._vf.ccw,n=["Cylinder",this._vf.radius,this._vf.height,this._vf.bottom,this._vf.top,this._vf.side,t,i].join("_");this._vf.useGeoCache&&void 0!==x3dom.geoCache[n]?this._mesh=x3dom.geoCache[n]:(this._calcMesh(),this._mesh._invalidate=!0,x3dom.geoCache[n]=this._mesh)}),{_calcMesh:function(){var e,t,i,n,_=this._vf.radius,r=this._vf.height/2,o=this._vf.subdivision,s=this._vf.ccw?1:-1,a=2*Math.PI/o,p=0;if(this._vf.side)for(n=0,p=0;n<=o;n++)e=n*a,t=Math.sin(e),i=-Math.cos(e),this._mesh._positions[0].push(t*_,-r,i*_),this._mesh._normals[0].push(s*t,0,s*i),this._mesh._texCoords[0].push(1-n/o,0),this._mesh._positions[0].push(t*_,r,i*_),this._mesh._normals[0].push(s*t,0,s*i),this._mesh._texCoords[0].push(1-n/o,1),n>0&&(this._mesh._indices[0].push(p+0,p+1,p+2),this._mesh._indices[0].push(p+2,p+1,p+3),p+=2);if(_>0){var l,d=this._mesh._positions[0].length/3;if(this._vf.top){for(n=o-1;n>=0;n--)e=n*a,t=_*Math.sin(e),i=-_*Math.cos(e),this._mesh._positions[0].push(t,r,i),this._mesh._normals[0].push(0,1*s,0),this._mesh._texCoords[0].push(t/_/2+.5,-i/_/2+.5);for(l=d+1,n=2;n<o;n++)this._mesh._indices[0].push(d),this._mesh._indices[0].push(l),l=d+n,this._mesh._indices[0].push(l);d=this._mesh._positions[0].length/3}if(this._vf.bottom){for(n=o-1;n>=0;n--)e=n*a,t=_*Math.sin(e),i=-_*Math.cos(e),this._mesh._positions[0].push(t,-r,i),this._mesh._normals[0].push(0,-1*s,0),this._mesh._texCoords[0].push(t/_/2+.5,i/_/2+.5);for(l=d+1,n=2;n<o;n++)this._mesh._indices[0].push(l),this._mesh._indices[0].push(d),l=d+n,this._mesh._indices[0].push(l)}}this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){if("radius"===e||"height"===e){this._mesh._positions[0]=[];var t,i,n,_,r=this._vf.radius,o=this._vf.height/2,s=this._vf.subdivision,a=2*Math.PI/s;if(this._vf.side)for(_=0;_<=s;_++)t=_*a,i=Math.sin(t),n=-Math.cos(t),this._mesh._positions[0].push(i*r,-o,n*r),this._mesh._positions[0].push(i*r,o,n*r);if(r>0){this._mesh._positions[0].length;if(this._vf.top)for(_=s-1;_>=0;_--)t=_*a,i=r*Math.sin(t),n=-r*Math.cos(t),this._mesh._positions[0].push(i,o,n)}if(this._vf.bottom)for(_=s-1;_>=0;_--)t=_*a,i=r*Math.sin(t),n=-r*Math.cos(t),this._mesh._positions[0].push(i,-o,n);this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}else"subdivision"!==e&&"bottom"!==e&&"top"!==e&&"side"!==e||(this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._calcMesh(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("X3DBinaryContainerGeometryNode","Geometry3D",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.X3DBinaryContainerGeometryNode.superClass.call(this,e),this.addField_SFVec3f(e,"position",0,0,0),this.addField_SFVec3f(e,"size",1,1,1),this.addField_MFInt32(e,"vertexCount",[0]),this.addField_MFString(e,"primType",["TRIANGLES"]),this._mesh._invalidate=!1,this._mesh._numCoords=0,this._mesh._numFaces=0,this._diameter=this._vf.size.length()}),{getMin:function(){var e=this._mesh._vol;return e.isValid()||e.setBoundsByCenterSize(this._vf.position,this._vf.size),e.min},getMax:function(){var e=this._mesh._vol;return e.isValid()||e.setBoundsByCenterSize(this._vf.position,this._vf.size),e.max},getVolume:function(){var e=this._mesh._vol;return e.isValid()||e.setBoundsByCenterSize(this._vf.position,this._vf.size),e},invalidateVolume:function(){},getCenter:function(){return this._vf.position},getDiameter:function(){return this._diameter},needLighting:function(){var e=this._vf.primType.length&&this._vf.primType[0].indexOf("TRIANGLE")>=0;return this._vf.lit&&e}})),x3dom.registerNodeType("BinaryGeometry","Geometry3D",defineClass(x3dom.nodeTypes.X3DBinaryContainerGeometryNode,(function(e){x3dom.nodeTypes.BinaryGeometry.superClass.call(this,e),this.addField_SFString(e,"index",""),this.addField_SFString(e,"coord",""),this.addField_SFString(e,"normal",""),this.addField_SFString(e,"texCoord",""),this.addField_SFString(e,"color",""),this.addField_SFString(e,"tangent",""),this.addField_SFString(e,"binormal",""),this.addField_SFString(e,"indexType","Uint16"),this.addField_SFString(e,"coordType","Float32"),this.addField_SFString(e,"normalType","Float32"),this.addField_SFString(e,"texCoordType","Float32"),this.addField_SFString(e,"colorType","Float32"),this.addField_SFString(e,"tangentType","Float32"),this.addField_SFString(e,"binormalType","Float32"),this.addField_SFBool(e,"normalAsSphericalCoordinates",!1),this.addField_SFBool(e,"rgbaColors",!1),this.addField_SFInt32(e,"numTexCoordComponents",2),this.addField_SFBool(e,"normalPerVertex",!0),this.addField_SFBool(e,"idsPerVertex",!1),this.addField_SFBool(e,"compressed",!1),this._hasStrideOffset=!1,this._mesh._numPosComponents=this._vf.normalAsSphericalCoordinates?4:3,this._mesh._numTexComponents=this._vf.numTexCoordComponents,this._mesh._numColComponents=this._vf.rgbaColors?4:3,this._mesh._numNormComponents=this._vf.normalAsSphericalCoordinates?2:3,this._vertexCountSum=0;for(var t=0;t<this._vf.vertexCount.length;++t)this._vertexCountSum+=this._vf.vertexCount[t]}),{parentAdded:function(e){var t,i,n,_;t=this._vf.coord.lastIndexOf("#"),i=this._vf.coord.lastIndexOf("+"),t>=0&&i>=0?(n=+this._vf.coord.substring(++t,i),_=+this._vf.coord.substring(i),e._coordStrideOffset=[_,n],this._hasStrideOffset=!0,n/8-Math.floor(n/8)==0&&(this._mesh._numPosComponents=4)):i>=0&&(_=+this._vf.coord.substring(i),e._coordStrideOffset=[_,0],_/8-Math.floor(_/8)==0&&(this._mesh._numPosComponents=4)),t=this._vf.normal.lastIndexOf("#"),i=this._vf.normal.lastIndexOf("+"),t>=0&&i>=0?(n=+this._vf.normal.substring(++t,i),_=+this._vf.normal.substring(i),e._normalStrideOffset=[_,n]):i>=0&&(_=+this._vf.normal.substring(i),e._normalStrideOffset=[_,0]),t=this._vf.texCoord.lastIndexOf("#"),i=this._vf.texCoord.lastIndexOf("+"),t>=0&&i>=0?(n=+this._vf.texCoord.substring(++t,i),_=+this._vf.texCoord.substring(i),e._texCoordStrideOffset=[_,n]):i>=0&&(_=+this._vf.texCoord.substring(i),e._texCoordStrideOffset=[_,0]),t=this._vf.color.lastIndexOf("#"),i=this._vf.color.lastIndexOf("+"),t>=0&&i>=0?(n=+this._vf.color.substring(++t,i),_=+this._vf.color.substring(i),e._colorStrideOffset=[_,n]):i>=0&&(_=+this._vf.color.substring(i),e._colorStrideOffset=[_,0]),"Uint16"==this._vf.indexType||x3dom.caps.INDEX_UINT||x3dom.debug.logWarning("Index type "+this._vf.indexType+" problematic")},doIntersect:function(e){var t=this.getMin(),i=this.getMax();return!!(e.intersect(t,i)&&e.enter<e.dist)&&(e.dist=e.enter,e.hitObject=this,e.hitPoint=e.pos.add(e.dir.multiply(e.enter)),!0)},getPrecisionMax:function(e){switch(this._vf[e]){case"Int8":return 127;case"Uint8":return 255;case"Int16":return 32767;case"Uint16":return 65535;case"Int32":return 2147483647;case"Uint32":return 4294967295;case"Float32":case"Float64":default:return 1}}})),x3dom.registerNodeType("PopGeometryLevel","Geometry3D",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.PopGeometryLevel.superClass.call(this,e),this.addField_SFString(e,"src",""),this.addField_SFInt32(e,"numIndices",0),this.addField_SFInt32(e,"vertexDataBufferOffset",0)}),{getSrc:function(){return this._vf.src},getNumIndices:function(){return this._vf.numIndices},getVertexDataBufferOffset:function(){return this._vf.vertexDataBufferOffset}})),x3dom.registerNodeType("PopGeometry","Geometry3D",defineClass(x3dom.nodeTypes.X3DBinaryContainerGeometryNode,(function(e){x3dom.nodeTypes.PopGeometry.superClass.call(this,e),this.addField_SFVec3f(e,"tightSize",1,1,1),this.addField_SFVec3f(e,"maxBBSize",1,1,1),this.addField_SFVec3f(e,"bbMinModF",0,0,0),this.addField_SFVec3f(e,"bbMaxModF",1,1,1),this.addField_SFVec3f(e,"bbMin",0,0,0),this.addField_SFVec3f(e,"bbShiftVec",0,0,0),this._vf.bbMinModF.x>this._vf.bbMaxModF.x&&(this._vf.bbShiftVec.x=1),this._vf.bbMinModF.y>this._vf.bbMaxModF.y&&(this._vf.bbShiftVec.y=1),this._vf.bbMinModF.z>this._vf.bbMaxModF.z&&(this._vf.bbShiftVec.z=1),this.addField_MFNode("levels",x3dom.nodeTypes.PopGeometryLevel),this.addField_SFInt32(e,"attributeStride",0),this.addField_SFInt32(e,"positionOffset",0),this.addField_SFInt32(e,"normalOffset",0),this.addField_SFInt32(e,"texcoordOffset",0),this.addField_SFInt32(e,"colorOffset",0),this.addField_SFInt32(e,"numAnchorVertices",0),this.addField_SFInt32(e,"positionPrecision",2),this.addField_SFInt32(e,"normalPrecision",1),this.addField_SFInt32(e,"texcoordPrecision",2),this.addField_SFInt32(e,"colorPrecision",1),this.addField_SFInt32(e,"minPrecisionLevel",-1),this.addField_SFInt32(e,"maxPrecisionLevel",-1),this.addField_SFFloat(e,"precisionFactor",1),this.addField_SFString(e,"coordType","Uint16"),this.addField_SFString(e,"normalType","Uint8"),this.addField_SFString(e,"texCoordType","Uint16"),this.addField_SFString(e,"colorType","Uint8"),this.addField_SFInt32(e,"vertexBufferSize",0),this.addField_SFBool(e,"indexedRendering",!0),this.addField_SFBool(e,"sphericalNormals",!1),this.addField_MFInt32(e,"originalVertexCount",[0]);for(var t=0;t<this._vf.vertexCount.length;++t)this._vf.originalVertexCount[t]=this._vf.vertexCount[t];this._vf.maxBBSize=x3dom.fields.SFVec3f.copy(this._vf.size),this._vf.size=this._vf.tightSize,this._diameter=this._vf.size.length(),this._bbMinBySize=[Math.floor(this._vf.bbMin.x/this._vf.maxBBSize.x),Math.floor(this._vf.bbMin.y/this._vf.maxBBSize.y),Math.floor(this._vf.bbMin.z/this._vf.maxBBSize.z)],this._volRadius=this._vf.size.length()/2,this._volLargestRadius=this._vf.maxBBSize.length()/2,this._mesh._numPosComponents=this._vf.sphericalNormals?4:3,this._mesh._numNormComponents=this._vf.sphericalNormals?2:3,this._mesh._numTexComponents=2,this._mesh._numColComponents=3,x3dom.nodeTypes.PopGeometry.numTotalVerts+=this.getVertexCount(),x3dom.nodeTypes.PopGeometry.numTotalTris+=(this.hasIndex()?this.getTotalNumberOfIndices():this.getVertexCount())/3}),{forceUpdateCoverage:function(){return!0},getBBoxShiftVec:function(){return this._vf.bbShiftVec},getBBoxSize:function(){return this._vf.size},hasIndex:function(){return this._vf.indexedRendering},getTotalNumberOfIndices:function(){if(this._vf.indexedRendering){for(var e=0,t=0;t<this._vf.originalVertexCount.length;++t)e+=this._vf.originalVertexCount[t];return e}return 0},getVertexCount:function(){for(var e=0,t=0;t<this._vf.originalVertexCount.length;++t)e+=this._vf.originalVertexCount[t];return e},adaptVertexCount:function(e){for(var t=0,i=0;i<this._vf.originalVertexCount.length;++i){if(!(this._vf.originalVertexCount[i]+t<=e)){this._vf.vertexCount[i]=e-t;break}this._vf.vertexCount[i]=this._vf.originalVertexCount[i],t+=this._vf.originalVertexCount[i]}},hasNormal:function(){return 0!=this._vf.normalOffset&&!this._vf.sphericalNormals},hasTexCoord:function(){return 0!=this._vf.texcoordOffset},hasColor:function(){return 0!=this._vf.colorOffset},getPositionPrecision:function(){return this._vf.positionPrecision},getNormalPrecision:function(){return this._vf.normalPrecision},getTexCoordPrecision:function(){return this._vf.texcoordPrecision},getColorPrecision:function(){return this._vf.colorPrecision},getAttributeStride:function(){return this._vf.attributeStride},getPositionOffset:function(){return this._vf.positionOffset},getNormalOffset:function(){return this._vf.normalOffset},getTexCoordOffset:function(){return this._vf.texcoordOffset},getColorOffset:function(){return this._vf.colorOffset},getBufferTypeStringFromByteCount:function(e){switch(e){case 1:return"Uint8";case 2:return"Uint16";default:return 0}},getDataURLs:function(){for(var e=[],t=0;t<this._cf.levels.nodes.length;++t)e.push(this._cf.levels.nodes[t].getSrc());return e},getNumIndicesByLevel:function(e){return this._cf.levels.nodes[e].getNumIndices()},getNumLevels:function(e){return this._cf.levels.nodes.length},getVertexDataBufferOffset:function(e){return this._cf.levels.nodes[e].getVertexDataBufferOffset()},getPrecisionMax:function(e){switch(this._vf[e]){case"Uint8":return 255;case"Uint16":return 65535;default:return 1}}})),x3dom.nodeTypes.PopGeometry.ErrorToleranceFactor=1,x3dom.nodeTypes.PopGeometry.PrecisionFactorOnMove=1,x3dom.nodeTypes.PopGeometry.numRenderedVerts=0,x3dom.nodeTypes.PopGeometry.numRenderedTris=0,x3dom.nodeTypes.PopGeometry.numTotalVerts=0,x3dom.nodeTypes.PopGeometry.numTotalTris=0,x3dom.nodeTypes.PopGeometry.powLUT=[32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1],x3dom.registerNodeType("IndexedFaceSet","Geometry3D",defineClass(x3dom.nodeTypes.X3DComposedGeometryNode,(function(e){x3dom.nodeTypes.IndexedFaceSet.superClass.call(this,e),this.addField_SFFloat(e,"creaseAngle",0),this.addField_SFBool(e,"convex",!0),this.addField_MFInt32(e,"coordIndex",[]),this.addField_MFInt32(e,"normalIndex",[]),this.addField_MFInt32(e,"colorIndex",[]),this.addField_MFInt32(e,"texCoordIndex",[])}),{nodeChanged:function(){(new Date).getTime();this.handleAttribs();var e=this._vf.coordIndex;e.length&&-1!=e[e.length-1]&&e.push(-1);var t,i,n,_,r=this._vf.normalIndex,o=this._vf.texCoordIndex,s=this._vf.colorIndex,a=!1,p=!1,l=!1,d=!1,c=!1,b=!1,u=this._vf.colorPerVertex,m=this._vf.normalPerVertex;r.length>0&&(p=!0),o.length>0&&(d=!0),s.length>0&&(b=!0);var h=this._cf.coord.node;x3dom.debug.assert(h),t=h.getPoints();var f=this._cf.normal.node;f?(a=!0,i=f._vf.vector):a=!1;var g="",C=2,S=this._cf.texCoord.node;if(x3dom.isa(S,x3dom.nodeTypes.MultiTextureCoordinate)&&S._cf.texCoord.nodes.length&&(S=S._cf.texCoord.nodes[0]),S)if(S._vf.point){if(l=!0,n=S._vf.point,!d){var y=n.length;for(v=y;v<t.length;v++)n.push(n[v%y])}x3dom.isa(S,x3dom.nodeTypes.TextureCoordinate3D)&&(C=3)}else S._vf.mode&&(g=S._vf.mode);else l=!1;this._mesh._numTexComponents=C;var v,x,M,T,D,P,w,A,F,R,I,B,V,E,N,k,O=3,L=this._cf.color.node;if(L?(c=!0,_=L._vf.color,x3dom.isa(L,x3dom.nodeTypes.ColorRGBA)&&(O=4)):c=!1,this._mesh._numColComponents=O,this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[],this._vf.creaseAngle<=x3dom.fields.Eps||t.length>x3dom.Utils.maxIndexableCoords||a&&p||l&&d||c&&b){if(this._vf.creaseAngle<=x3dom.fields.Eps&&x3dom.debug.logWarning("Fallback to inefficient multi-index mode since creaseAngle=0."),this._vf.convex)for(M=0,0,T=0,this._mesh._multiIndIndices=[],this._mesh._posSize=t.length,v=0;v<e.length;++v)if(-1!=e[v])switch(p&&x3dom.debug.assert(-1!=r[v]),d&&x3dom.debug.assert(-1!=o[v]),b&&x3dom.debug.assert(-1!=s[v]),M){case 0:D=+e[v],A=p&&m?+r[v]:p&&!m?+r[T]:m?D:T,I=d?+o[v]:D,E=b&&u?+s[v]:b&&!u?+s[T]:u?D:T,M=1;break;case 1:P=+e[v],F=p&&m?+r[v]:p&&!m?+r[T]:m?P:T,B=d?+o[v]:P,N=b&&u?+s[v]:b&&!u?+s[T]:u?P:T,M=2;break;case 2:w=+e[v],R=p&&m?+r[v]:p&&!m?+r[T]:m?w:T,V=d?+o[v]:w,k=b&&u?+s[v]:b&&!u?+s[T]:u?w:T,M=3,this._mesh._positions[0].push(t[D].x),this._mesh._positions[0].push(t[D].y),this._mesh._positions[0].push(t[D].z),this._mesh._positions[0].push(t[P].x),this._mesh._positions[0].push(t[P].y),this._mesh._positions[0].push(t[P].z),this._mesh._positions[0].push(t[w].x),this._mesh._positions[0].push(t[w].y),this._mesh._positions[0].push(t[w].z),a&&(this._mesh._normals[0].push(i[A].x),this._mesh._normals[0].push(i[A].y),this._mesh._normals[0].push(i[A].z),this._mesh._normals[0].push(i[F].x),this._mesh._normals[0].push(i[F].y),this._mesh._normals[0].push(i[F].z),this._mesh._normals[0].push(i[R].x),this._mesh._normals[0].push(i[R].y),this._mesh._normals[0].push(i[R].z)),this._mesh._multiIndIndices.push(D,P,w),c&&(this._mesh._colors[0].push(_[E].r),this._mesh._colors[0].push(_[E].g),this._mesh._colors[0].push(_[E].b),4===O&&this._mesh._colors[0].push(_[E].a),this._mesh._colors[0].push(_[N].r),this._mesh._colors[0].push(_[N].g),this._mesh._colors[0].push(_[N].b),4===O&&this._mesh._colors[0].push(_[N].a),this._mesh._colors[0].push(_[k].r),this._mesh._colors[0].push(_[k].g),this._mesh._colors[0].push(_[k].b),4===O&&this._mesh._colors[0].push(_[k].a)),l&&(this._mesh._texCoords[0].push(n[I].x),this._mesh._texCoords[0].push(n[I].y),3===C&&this._mesh._texCoords[0].push(n[I].z),this._mesh._texCoords[0].push(n[B].x),this._mesh._texCoords[0].push(n[B].y),3===C&&this._mesh._texCoords[0].push(n[B].z),this._mesh._texCoords[0].push(n[V].x),this._mesh._texCoords[0].push(n[V].y),3===C&&this._mesh._texCoords[0].push(n[V].z));break;case 3:P=w,B=V,m&&(F=R),u&&(N=k),w=+e[v],p&&m?R=+r[v]:p&&!m||(R=m?w:T),V=d?+o[v]:w,b&&u?k=+s[v]:b&&!u||(k=u?w:T),this._mesh._positions[0].push(t[D].x),this._mesh._positions[0].push(t[D].y),this._mesh._positions[0].push(t[D].z),this._mesh._positions[0].push(t[P].x),this._mesh._positions[0].push(t[P].y),this._mesh._positions[0].push(t[P].z),this._mesh._positions[0].push(t[w].x),this._mesh._positions[0].push(t[w].y),this._mesh._positions[0].push(t[w].z),a&&(this._mesh._normals[0].push(i[A].x),this._mesh._normals[0].push(i[A].y),this._mesh._normals[0].push(i[A].z),this._mesh._normals[0].push(i[F].x),this._mesh._normals[0].push(i[F].y),this._mesh._normals[0].push(i[F].z),this._mesh._normals[0].push(i[R].x),this._mesh._normals[0].push(i[R].y),this._mesh._normals[0].push(i[R].z)),this._mesh._multiIndIndices.push(D,P,w),c&&(this._mesh._colors[0].push(_[E].r),this._mesh._colors[0].push(_[E].g),this._mesh._colors[0].push(_[E].b),4===O&&this._mesh._colors[0].push(_[E].a),this._mesh._colors[0].push(_[N].r),this._mesh._colors[0].push(_[N].g),this._mesh._colors[0].push(_[N].b),4===O&&this._mesh._colors[0].push(_[N].a),this._mesh._colors[0].push(_[k].r),this._mesh._colors[0].push(_[k].g),this._mesh._colors[0].push(_[k].b),4===O&&this._mesh._colors[0].push(_[k].a)),l&&(this._mesh._texCoords[0].push(n[I].x),this._mesh._texCoords[0].push(n[I].y),3===C&&this._mesh._texCoords[0].push(n[I].z),this._mesh._texCoords[0].push(n[B].x),this._mesh._texCoords[0].push(n[B].y),3===C&&this._mesh._texCoords[0].push(n[B].z),this._mesh._texCoords[0].push(n[V].x),this._mesh._texCoords[0].push(n[V].y),3===C&&this._mesh._texCoords[0].push(n[V].z))}else M=0,T++;else{var U=new x3dom.DoublyLinkedList,G={};for(0,T=0,this._mesh._multiIndIndices=[],v=0;v<e.length;++v)if(-1!=e[v])a&&(G.normals=p&&m?i[r[v]]:p&&!m?i[r[T]]:i[e[v]]),c&&(G.colors=b&&u?_[s[v]]:b&&!u?_[s[T]]:u?_[e[v]]:_[T]),l&&(G.texCoords=d?n[o[v]]:n[e[v]]),U.appendNode(new x3dom.DoublyLinkedList.ListNode(t[e[v]],e[v],G.normals,G.colors,G.texCoords));else{var W=x3dom.EarClipping.getMultiIndexes(U);for(x=0;x<W.indices.length;x++)this._mesh._multiIndIndices.push(W.indices[x]),this._mesh._positions[0].push(W.point[x].x,W.point[x].y,W.point[x].z),a&&this._mesh._normals[0].push(W.normals[x].x,W.normals[x].y,W.normals[x].z),c&&(this._mesh._colors[0].push(W.colors[x].r,W.colors[x].g,W.colors[x].b),4===O&&this._mesh._colors[0].push(W.colors[x].a)),l&&(this._mesh._texCoords[0].push(W.texCoords[x].x,W.texCoords[x].y),3===C&&this._mesh._texCoords[0].push(W.texCoords[x].z));U=new x3dom.DoublyLinkedList,T++}this._mesh.splitMesh()}a||this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),l||this._mesh.calcTexCoords(g)}else{if(M=0,this._vf.convex)for(v=0;v<e.length;++v)if(-1!=e[v])switch(M){case 0:A=+e[v],M=1;break;case 1:F=+e[v],M=2;break;case 2:R=+e[v],M=3,this._mesh._indices[0].push(A,F,R);break;case 3:F=R,R=+e[v],this._mesh._indices[0].push(A,F,R)}else M=0;else for(U=new x3dom.DoublyLinkedList,v=0;v<e.length;++v)if(-1!=e[v])U.appendNode(new x3dom.DoublyLinkedList.ListNode(t[e[v]],e[v]));else{var z=x3dom.EarClipping.getIndexes(U);for(x=0;x<z.length;x++)this._mesh._indices[0].push(z[x]);U=new x3dom.DoublyLinkedList}this._mesh._positions[0]=t.toGL(),a?this._mesh._normals[0]=i.toGL():this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),l?(this._mesh._texCoords[0]=n.toGL(),this._mesh._numTexComponents=C):this._mesh.calcTexCoords(g),c&&(this._mesh._colors[0]=_.toGL(),this._mesh._numColComponents=O)}for(this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0,v=0;v<this._mesh._positions.length;v++){var H=this._mesh._indices[v].length,j=this._mesh._positions[v].length/3;this._mesh._numCoords+=j,this._mesh._numFaces+=H>0?H/3:j/3}},fieldChanged:function(e){if("coord"==e||"normal"==e||"texCoord"==e||"color"==e||"coordIndex"==e){var t=this._cf.coord.node._vf.point,i=t.length,n=this._cf.texCoord.node;if(x3dom.isa(n,x3dom.nodeTypes.MultiTextureCoordinate)&&n._cf.texCoord.nodes.length&&(n=n._cf.texCoord.nodes[0]),(this._vf.creaseAngle<=x3dom.fields.Eps||i>x3dom.Utils.maxIndexableCoords||this._vf.normalIndex.length>0&&this._cf.normal.node||this._vf.texCoordIndex.length>0&&n||this._vf.colorIndex.length>0&&this._cf.color.node)&&this._mesh._multiIndIndices){var _=!this._cf.normal.node&&"none"!=this._vf.normalUpdateMode.toLowerCase();if(i=this._mesh._multiIndIndices.length,this._mesh._positions[0]=[],this._mesh._indices[0]=[],"coord"==e&&i){for(I=0;I<i;I+=3){var r=this._mesh._multiIndIndices[I],o=this._mesh._multiIndIndices[I+1],s=this._mesh._multiIndIndices[I+2],a=t[r],p=t[o],l=t[s];this._mesh._positions[0].push(a.x,a.y,a.z),this._mesh._positions[0].push(p.x,p.y,p.z),this._mesh._positions[0].push(l.x,l.y,l.z)}return _&&this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),this.invalidateVolume(),void this._parentNodes.forEach((function(e){e._dirty.positions=!0,_&&(e._dirty.normals=!0)}))}this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];var d,c,b,u,m=this._vf.coordIndex,h=this._vf.normalIndex,f=this._vf.texCoordIndex,g=this._vf.colorIndex,C=!1,S=!1,y=!1,v=!1,x=!1,M=!1,T=this._vf.colorPerVertex,D=this._vf.normalPerVertex;h.length>0&&(S=!0),f.length>0&&(v=!0),g.length>0&&(M=!0);var P=this._cf.coord.node;x3dom.debug.assert(P),d=P.getPoints();var w=this._cf.normal.node;w?(C=!0,c=w._vf.vector):C=!1;var A="",F=2;if(n=this._cf.texCoord.node,x3dom.isa(n,x3dom.nodeTypes.MultiTextureCoordinate)&&n._cf.texCoord.nodes.length&&(n=n._cf.texCoord.nodes[0]),n)if(n._vf.point){if(y=!0,b=n._vf.point,!v){var R=b.length;for(I=R;I<d.length;I++)b.push(b[I%R])}x3dom.isa(n,x3dom.nodeTypes.TextureCoordinate3D)&&(F=3)}else n._vf.mode&&(A=n._vf.mode);else y=!1;this._mesh._numTexComponents=F;var I,B,V,E,N,k,O,L,U,G,W,z,H,j,X,Z,Q,q=3,Y=this._cf.color.node;if(Y?(x=!0,u=Y._vf.color,x3dom.isa(Y,x3dom.nodeTypes.ColorRGBA)&&(q=4)):x=!1,this._mesh._numColComponents=q,this._vf.convex)for(V=0,E=0,N=0,this._mesh._multiIndIndices=[],this._mesh._posSize=d.length,I=0;I<m.length;++I)if(-1!=m[I])switch(S&&x3dom.debug.assert(-1!=h[I]),v&&x3dom.debug.assert(-1!=f[I]),M&&x3dom.debug.assert(-1!=g[I]),V){case 0:k=+m[I],U=S&&D?+h[I]:S&&!D?+h[N]:D?k:N,z=v?+f[I]:k,X=M&&T?+g[I]:M&&!T?+g[N]:T?k:N,V=1;break;case 1:O=+m[I],G=S&&D?+h[I]:S&&!D?+h[N]:D?O:N,H=v?+f[I]:O,Z=M&&T?+g[I]:M&&!T?+g[N]:T?O:N,V=2;break;case 2:L=+m[I],W=S&&D?+h[I]:S&&!D?+h[N]:D?L:N,j=v?+f[I]:L,Q=M&&T?+g[I]:M&&!T?+g[N]:T?L:N,V=3,this._mesh._positions[0].push(d[k].x),this._mesh._positions[0].push(d[k].y),this._mesh._positions[0].push(d[k].z),this._mesh._positions[0].push(d[O].x),this._mesh._positions[0].push(d[O].y),this._mesh._positions[0].push(d[O].z),this._mesh._positions[0].push(d[L].x),this._mesh._positions[0].push(d[L].y),this._mesh._positions[0].push(d[L].z),C&&(this._mesh._normals[0].push(c[U].x),this._mesh._normals[0].push(c[U].y),this._mesh._normals[0].push(c[U].z),this._mesh._normals[0].push(c[G].x),this._mesh._normals[0].push(c[G].y),this._mesh._normals[0].push(c[G].z),this._mesh._normals[0].push(c[W].x),this._mesh._normals[0].push(c[W].y),this._mesh._normals[0].push(c[W].z)),this._mesh._multiIndIndices.push(k,O,L),x&&(this._mesh._colors[0].push(u[X].r),this._mesh._colors[0].push(u[X].g),this._mesh._colors[0].push(u[X].b),4===q&&this._mesh._colors[0].push(u[X].a),this._mesh._colors[0].push(u[Z].r),this._mesh._colors[0].push(u[Z].g),this._mesh._colors[0].push(u[Z].b),4===q&&this._mesh._colors[0].push(u[Z].a),this._mesh._colors[0].push(u[Q].r),this._mesh._colors[0].push(u[Q].g),this._mesh._colors[0].push(u[Q].b),4===q&&this._mesh._colors[0].push(u[Q].a)),y&&(this._mesh._texCoords[0].push(b[z].x),this._mesh._texCoords[0].push(b[z].y),3===F&&this._mesh._texCoords[0].push(b[z].z),this._mesh._texCoords[0].push(b[H].x),this._mesh._texCoords[0].push(b[H].y),3===F&&this._mesh._texCoords[0].push(b[H].z),this._mesh._texCoords[0].push(b[j].x),this._mesh._texCoords[0].push(b[j].y),3===F&&this._mesh._texCoords[0].push(b[j].z));break;case 3:O=L,H=j,D&&(G=W),T&&(Z=Q),L=+m[I],S&&D?W=+h[I]:S&&!D||(W=D?L:N),j=v?+f[I]:L,M&&T?Q=+g[I]:M&&!T||(Q=T?L:N),this._mesh._positions[0].push(d[k].x),this._mesh._positions[0].push(d[k].y),this._mesh._positions[0].push(d[k].z),this._mesh._positions[0].push(d[O].x),this._mesh._positions[0].push(d[O].y),this._mesh._positions[0].push(d[O].z),this._mesh._positions[0].push(d[L].x),this._mesh._positions[0].push(d[L].y),this._mesh._positions[0].push(d[L].z),C&&(this._mesh._normals[0].push(c[U].x),this._mesh._normals[0].push(c[U].y),this._mesh._normals[0].push(c[U].z),this._mesh._normals[0].push(c[G].x),this._mesh._normals[0].push(c[G].y),this._mesh._normals[0].push(c[G].z),this._mesh._normals[0].push(c[W].x),this._mesh._normals[0].push(c[W].y),this._mesh._normals[0].push(c[W].z)),this._mesh._multiIndIndices.push(k,O,L),x&&(this._mesh._colors[0].push(u[X].r),this._mesh._colors[0].push(u[X].g),this._mesh._colors[0].push(u[X].b),4===q&&this._mesh._colors[0].push(u[X].a),this._mesh._colors[0].push(u[Z].r),this._mesh._colors[0].push(u[Z].g),this._mesh._colors[0].push(u[Z].b),4===q&&this._mesh._colors[0].push(u[Z].a),this._mesh._colors[0].push(u[Q].r),this._mesh._colors[0].push(u[Q].g),this._mesh._colors[0].push(u[Q].b),4===q&&this._mesh._colors[0].push(u[Q].a)),y&&(this._mesh._texCoords[0].push(b[z].x),this._mesh._texCoords[0].push(b[z].y),3===F&&this._mesh._texCoords[0].push(b[z].z),this._mesh._texCoords[0].push(b[H].x),this._mesh._texCoords[0].push(b[H].y),3===F&&this._mesh._texCoords[0].push(b[H].z),this._mesh._texCoords[0].push(b[j].x),this._mesh._texCoords[0].push(b[j].y),3===F&&this._mesh._texCoords[0].push(b[j].z))}else V=0,N++;else{var J=new x3dom.DoublyLinkedList,K={};for(E=0,N=0,I=0;I<m.length;++I)if(-1!=m[I])C&&(K.normals=S&&D?c[h[I]]:S&&!D?c[h[N]]:c[m[I]]),x&&(K.colors=M&&T?u[g[I]]:M&&!T?u[g[N]]:u[m[I]]),y&&(K.texCoords=v?b[f[I]]:b[m[I]]),J.appendNode(new x3dom.DoublyLinkedList.ListNode(d[m[I]],m[I],K.normals,K.colors,K.texCoords));else{var $=x3dom.EarClipping.getMultiIndexes(J);for(B=0;B<$.indices.length;B++)this._mesh._indices[0].push(E),E++,this._mesh._positions[0].push($.point[B].x,$.point[B].y,$.point[B].z),C&&this._mesh._normals[0].push($.normals[B].x,$.normals[B].y,$.normals[B].z),x&&(this._mesh._colors[0].push($.colors[B].r,$.colors[B].g,$.colors[B].b),4===q&&this._mesh._colors[0].push($.colors[B].a)),y&&(this._mesh._texCoords[0].push($.texCoords[B].x,$.texCoords[B].y),3===F&&this._mesh._texCoords[0].push($.texCoords[B].z));J=new x3dom.DoublyLinkedList,N++}this._mesh.splitMesh()}for(C||this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),y||this._mesh.calcTexCoords(A),this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0,I=0;I<this._mesh._positions.length;I++){var ee=this._mesh._indices[I].length,te=this._mesh._positions[I].length/3;this._mesh._numCoords+=te,this._mesh._numFaces+=ee>0?ee/3:te/3}this._parentNodes.forEach((function(e){e.setGeoDirty()}))}else if("coord"==e){_=!this._cf.normal.node&&"none"!=this._vf.normalUpdateMode.toLowerCase();this._mesh._positions[0]=t.toGL(),_&&this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,_&&(e._dirty.normals=!0),e.invalidateVolume()}))}else if("color"==e)t=this._cf.color.node._vf.color,this._mesh._colors[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.colors=!0}));else if("normal"==e)t=this._cf.normal.node._vf.vector,this._mesh._normals[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.normals=!0}));else if("texCoord"==e)n=this._cf.texCoord.node,x3dom.isa(n,x3dom.nodeTypes.MultiTextureCoordinate)&&n._cf.texCoord.nodes.length&&(n=n._cf.texCoord.nodes[0]),t=n._vf.point,this._mesh._texCoords[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.texcoords=!0}));else if("coordIndex"==e){for(_=!this._cf.normal.node&&"none"!=this._vf.normalUpdateMode.toLowerCase(),V=0,i=(m=this._vf.coordIndex).length,this._mesh._indices[0]=[],I=0;I<i;++I)if(-1==m[I])V=0;else switch(V){case 0:k=+m[I],V=1;break;case 1:O=+m[I],V=2;break;case 2:L=+m[I],V=3,this._mesh._indices[0].push(k,O,L);break;case 3:O=L,L=+m[I],this._mesh._indices[0].push(k,O,L)}_&&this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),this._parentNodes.forEach((function(e){e._dirty.indexes=!0,_&&(e._dirty.normals=!0)}))}}else x3dom.debug.logWarning("IndexedFaceSet: fieldChanged for "+e+" not yet implemented!")}})),x3dom.registerNodeType("BufferGeometry","Geometry3D",defineClass(x3dom.nodeTypes.X3DBinaryContainerGeometryNode,(function(e){x3dom.nodeTypes.BufferGeometry.superClass.call(this,e),this.addField_SFString(e,"buffer",""),this.addField_MFNode("views",x3dom.nodeTypes.BufferView),this.addField_MFNode("accessors",x3dom.nodeTypes.BufferAccessor),this._hasColor=!1,this._hasMultiTexCoord=!1,this._indexed=!1}),{parentAdded:function(e){},nodeChanged:function(){},doIntersect:function(e){var t=this.getMin(),i=this.getMax();return!!(e.intersect(t,i)&&e.enter<e.dist)&&(e.dist=e.enter,e.hitObject=this,e.hitPoint=e.pos.add(e.dir.multiply(e.enter)),!0)},hasColor:function(){return this._hasColor},hasMultiTexCoord:function(){return this._hasMultiTexCoord},getPrecisionMax:function(e){switch(this._vf[e]){case"Int8":return 127;case"Uint8":return 255;case"Int16":return 32767;case"Uint16":return 65535;case"Int32":return 2147483647;case"Uint32":return 4294967295;case"Float32":case"Float64":default:return 1}}})),x3dom.registerNodeType("BufferView","Geometry3D",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.BufferView.superClass.call(this,e),this.addField_SFInt32(e,"target",34962),this.addField_SFInt32(e,"byteOffset",0),this.addField_SFInt32(e,"byteStride",0),this.addField_SFInt32(e,"byteLength",0),this.addField_SFInt32(e,"id",0)}),{parentAdded:function(e){}})),x3dom.registerNodeType("BufferAccessor","Geometry3D",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.BufferAccessor.superClass.call(this,e),this.addField_SFString(e,"bufferType",""),this.addField_SFInt32(e,"view",0),this.addField_SFInt32(e,"byteOffset",0),this.addField_SFInt32(e,"byteStride",0),this.addField_SFInt32(e,"components",0),this.addField_SFInt32(e,"componentType",5126),this.addField_SFInt32(e,"count",0),this.addField_SFBool(e,"normalized",!1)}),{parentAdded:function(e){switch(this._vf.bufferType){case"COLOR_0":case"COLOR":e._hasColor=!0;break;case"INDEX":e._indexed=!0;break;case"TEXCOORD_1":e._hasMultiTexCoord=!0}}})),x3dom.registerNodeType("X3DTexture3DNode","Texturing3D",defineClass(x3dom.nodeTypes.X3DTextureNode,(function(e){x3dom.nodeTypes.X3DTexture3DNode.superClass.call(this,e)}))),x3dom.registerNodeType("ComposedTexture3D","Texturing3D",defineClass(x3dom.nodeTypes.X3DTexture3DNode,(function(e){x3dom.nodeTypes.ComposedTexture3D.superClass.call(this,e),this.addField_MFNode("texture",x3dom.nodeTypes.X3DTexture3DNode)}))),x3dom.registerNodeType("ImageTexture3D","Texturing3D",defineClass(x3dom.nodeTypes.X3DTexture3DNode,(function(e){x3dom.nodeTypes.ImageTexture3D.superClass.call(this,e)}))),x3dom.registerNodeType("PixelTexture3D","Texturing3D",defineClass(x3dom.nodeTypes.X3DTexture3DNode,(function(e){x3dom.nodeTypes.PixelTexture3D.superClass.call(this,e)}))),x3dom.registerNodeType("TextureCoordinate3D","Texturing3D",defineClass(x3dom.nodeTypes.X3DTextureCoordinateNode,(function(e){x3dom.nodeTypes.TextureCoordinate3D.superClass.call(this,e),this.addField_MFVec3f(e,"point",[])}))),x3dom.registerNodeType("TextureTransform3D","Texturing3D",defineClass(x3dom.nodeTypes.X3DTextureTransformNode,(function(e){x3dom.nodeTypes.TextureTransform3D.superClass.call(this,e),this.addField_SFVec3f(e,"center",0,0,0),this.addField_SFRotation(e,"rotation",0,0,1,0),this.addField_SFVec3f(e,"scale",1,1,1),this.addField_SFVec3f(e,"translation",0,0,0),this.addField_SFRotation(e,"scaleOrientation",0,0,1,0)}))),x3dom.registerNodeType("TextureTransformMatrix3D","Texturing3D",defineClass(x3dom.nodeTypes.X3DTextureTransformNode,(function(e){x3dom.nodeTypes.TextureTransformMatrix3D.superClass.call(this,e),this.addField_SFMatrix4f(e,"matrix",1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)}))),x3dom.registerNodeType("X3DPointingDeviceSensorNode","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DSensorNode,(function(e){x3dom.nodeTypes.X3DPointingDeviceSensorNode.superClass.call(this,e),this._isOver=!1}),{pointerPressedOverSibling:function(e){this._vf.enabled&&(this._vf.isActive=!0,this.postMessage("isActive",!0),this._isOver=!0)},pointerMoved:function(e){},pointerMovedOver:function(e){this._vf.enabled&&this.postMessage("isOver",!0)},pointerMovedOut:function(e){this._vf.enabled&&(this.postMessage("isOver",!1),this._isOver=!1)},pointerReleased:function(){this._vf.enabled&&(this._vf.isActive=!1,this.postMessage("isActive",!1),this._isOver&&this.postMessage("touchTime",Date.now()/1e3))}})),x3dom.registerNodeType("X3DDragSensorNode","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DPointingDeviceSensorNode,(function(e){x3dom.nodeTypes.X3DDragSensorNode.superClass.call(this,e),this.addField_SFBool(e,"autoOffset",!0),this._lastX=-1,this._lastY=-1}),{pointerPressedOverSibling:function(e){x3dom.nodeTypes.X3DPointingDeviceSensorNode.prototype.pointerPressedOverSibling.call(this,e),this._lastX=e.layerX,this._lastY=e.layerY,this._startDragging(e.viewarea,e.layerX,e.layerX,e.worldX,e.worldY,e.worldZ)},pointerMoved:function(e){x3dom.nodeTypes.X3DPointingDeviceSensorNode.prototype.pointerMoved.call(this,e),this._vf.isActive&&this._vf.enabled&&this._process2DDrag(e.layerX,e.layerY,e.layerX-this._lastX,e.layerY-this._lastY)},pointerReleased:function(){x3dom.nodeTypes.X3DPointingDeviceSensorNode.prototype.pointerReleased.call(this),this._stopDragging()},_startDragging:function(e,t,i,n,_,r){},_process2DDrag:function(e,t,i,n){},_stopDragging:function(){}})),x3dom.registerNodeType("X3DTouchSensorNode","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DPointingDeviceSensorNode,(function(e){x3dom.nodeTypes.X3DTouchSensorNode.superClass.call(this,e)}),{})),x3dom.registerNodeType("TouchSensor","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DTouchSensorNode,(function(e){x3dom.nodeTypes.TouchSensor.superClass.call(this,e),this._hitPoint=new x3dom.fields.SFVec3f,this._hitNormal=new x3dom.fields.SFVec3f,this._hitRotation=new x3dom.fields.Quaternion,this._up=new x3dom.fields.SFVec3f(0,1,0)}),{pointerMoved:function(e){this._vf.enabled&&(this.postMessage("hitPoint_changed",this._hitPoint.fromArray(e.hitPnt)),this._hitNormal.set(e.normalX,e.normalY,e.normalZ),this.postMessage("hitNormal_changed",this._hitNormal),this.postMessage("hitRotation_changed",x3dom.fields.Quaternion.rotateFromTo(this._up,this._hitNormal)))}})),x3dom.registerNodeType("PlaneSensor","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DDragSensorNode,(function(e){x3dom.nodeTypes.PlaneSensor.superClass.call(this,e),this.addField_SFRotation(e,"axisRotation",0,0,1,0),this.addField_SFVec2f(e,"minPosition",0,0),this.addField_SFVec2f(e,"maxPosition",-1,-1),this.addField_SFVec3f(e,"offset",0,0,0),this.addField_SFString(e,"planeOrientation","XY"),this._rotationMatrix=this._vf.axisRotation.toMatrix(),this._worldToLocalMatrix=null,this._initialPlaneIntersection=null,this._planeNormal=null,this._viewArea=null,this._currentTranslation=new x3dom.fields.SFVec3f(0,0,0),this._lineModeAxis=null,this._vf.minPosition.x==this._vf.maxPosition.x&&(this._lineModeAxis=new x3dom.fields.SFVec3f(0,1,0)),this._vf.minPosition.y==this._vf.maxPosition.y&&(this._lineModeAxis=new x3dom.fields.SFVec3f(1,0,0))}),{getCurrentTransform:function(){var e=x3dom.nodeTypes.X3DDragSensorNode.prototype.getCurrentTransform.call(this);return this._rotationMatrix.mult(e)},_startDragging:function(e,t,i,n,_,r){var o;if(x3dom.nodeTypes.X3DDragSensorNode.prototype._startDragging.call(this,e,t,i,n,_,r),this._viewArea=e,this._viewMat=this._viewArea.getViewMatrix(),this._viewMatInv=this._viewMat.inverse(),this._currentTranslation=new x3dom.fields.SFVec3f(0,0,0).add(this._vf.offset),this._localToWorldMatrix=this.getCurrentTransform(),this._worldToLocalMatrix=this._localToWorldMatrix.inverse(),this._initialPlaneIntersection=this._worldToLocalMatrix.multMatrixPnt(new x3dom.fields.SFVec3f(n,_,r)),this._planeNormal=new x3dom.fields.SFVec3f(0,0,1),"screen"==this._vf.planeOrientation)o=e.calcViewRay(e._width/2,e._height/2),this._planeNormal=this._worldToLocalMatrix.multMatrixVec(o.dir.normalize());else if(this._lineModeAxis){o=e.calcViewRay(t,i);var s=this._worldToLocalMatrix.multMatrixVec(o.dir.normalize()),a=this._lineModeAxis;this._planeNormal=a.cross(a.cross(s))}},_process2DDrag:function(e,t,i,n){x3dom.nodeTypes.X3DDragSensorNode.prototype._process2DDrag.call(this,e,t,i,n);var _,r,o=null;if(this._initialPlaneIntersection){var s=this._viewArea.calcViewRay(e,t);if(s.pos=this._worldToLocalMatrix.multMatrixPnt(s.pos),s.dir=this._worldToLocalMatrix.multMatrixVec(s.dir.normalize()),Math.abs(this._planeNormal.dot(s.dir))<.1)return;if((o=s.intersectPlane(this._initialPlaneIntersection,this._planeNormal))||(o=s.intersectPlane(this._initialPlaneIntersection,this._planeNormal.negate())),o){if(this._currentTranslation=o.subtract(this._initialPlaneIntersection),this._currentTranslation=this._currentTranslation.add(this._vf.offset),_=this._vf.minPosition,r=this._vf.maxPosition,"screen"==this._vf.planeOrientation){if(_.x<=r.x||_.y<=r.y){var a=this._localToWorldMatrix.multMatrixVec(this._currentTranslation);p(a=this._viewMat.multMatrixVec(a),_,r),a=this._viewMatInv.multMatrixVec(a),this._currentTranslation=this._worldToLocalMatrix.multMatrixVec(a)}}else p(this._currentTranslation,_,r),this._currentTranslation.z=0;this.postMessage("translation_changed",x3dom.fields.SFVec3f.copy(this._currentTranslation)),this.postMessage("trackPoint_changed",o)}}function p(e,t,i){t.x<=i.x&&(e.x=Math.min(e.x,i.x),e.x=Math.max(e.x,t.x)),t.y<=i.y&&(e.y=Math.min(e.y,i.y),e.y=Math.max(e.y,t.y))}},_stopDragging:function(){x3dom.nodeTypes.X3DDragSensorNode.prototype._stopDragging.call(this),this._vf.autoOffset&&(this._vf.offset=x3dom.fields.SFVec3f.copy(this._currentTranslation),this.postMessage("offset_changed",this._vf.offset))}})),x3dom.registerNodeType("SphereSensor","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DDragSensorNode,(function(e){x3dom.nodeTypes.SphereSensor.superClass.call(this,e),this.addField_SFRotation(e,"offset",0,1,0,0),this._currentRotation=null,this._rotationMatrix=this._vf.offset.toMatrix()}),{getCurrentTransform:function(){return x3dom.nodeTypes.X3DDragSensorNode.prototype.getCurrentTransform.call(this).mult(this._rotationMatrix)},_startDragging:function(e,t,i,n,_,r){x3dom.nodeTypes.X3DDragSensorNode.prototype._startDragging.call(this,e,t,i,n,_,r),this._currentRotation=new x3dom.fields.Quaternion,this._viewArea=e,this._localOrigin=new x3dom.fields.SFVec3f(0,0,0),this._inverseToWorldMatrix=this.getCurrentTransform().inverse();var o=this._inverseToWorldMatrix.multMatrixPnt(new x3dom.fields.SFVec3f(n,_,r));this._initialSphereIntersectionVector=o.subtract(this._localOrigin),this._sphereRadius=this._initialSphereIntersectionVector.length(),this._initialSphereIntersectionVector=this._initialSphereIntersectionVector.normalize()},_process2DDrag:function(e,t,i,n){x3dom.nodeTypes.X3DDragSensorNode.prototype._process2DDrag.call(this,e,t,i,n);var _=this._viewArea.calcViewRay(e,t);_.pos=this._inverseToWorldMatrix.multMatrixPnt(_.pos),_.dir=this._inverseToWorldMatrix.multMatrixVec(_.dir);var r,o,s=_.dir.dot(_.dir),a=2*_.dir.dot(_.pos.subtract(this._localOrigin)),p=a*a-4*s*(_.pos.dot(_.pos)-2*this._localOrigin.dot(_.pos)+this._localOrigin.dot(this._localOrigin)-this._sphereRadius*this._sphereRadius);if(p>=0&&(r=(-a+Math.sqrt(p))/(2*s),o=(-a-Math.sqrt(p))/(2*s),(r=Math.min(r,o))>=1)){var l=_.pos.add(_.dir.multiply(r)).subtract(this._localOrigin).normalize();this._currentRotation=x3dom.fields.Quaternion.rotateFromTo(this._initialSphereIntersectionVector,l),this._currentRotation=this._currentRotation.multiply(this._vf.offset),this.postMessage("rotation_changed",this._currentRotation)}},_stopDragging:function(){x3dom.nodeTypes.X3DDragSensorNode.prototype._stopDragging.call(this),this._vf.autoOffset&&(this._vf.offset=this._currentRotation,this.postMessage("offset_changed",this._vf.offset)),this._currentRotation=new x3dom.fields.Quaternion}})),x3dom.registerNodeType("CylinderSensor","PointingDeviceSensor",defineClass(x3dom.nodeTypes.X3DDragSensorNode,(function(e){x3dom.nodeTypes.CylinderSensor.superClass.call(this,e),this.addField_SFFloat(e,"offset",0),this.addField_SFRotation(e,"axisRotation",0,1,0,0),this.addField_SFFloat(e,"diskAngle",.262),this.addField_SFFloat(e,"minAngle",0),this.addField_SFFloat(e,"maxAngle",-1),this._rotationMatrix=this._vf.axisRotation.toMatrix(),this._inverseToWorldMatrix=null,this._initialCylinderIntersectionVector=null,this._viewArea=null,this._cylinderRadius=0,this._yAxisLine=null,this._cylinderMode=!0,this._currentRotationAngle=0}),{getCurrentTransform:function(){return x3dom.nodeTypes.X3DDragSensorNode.prototype.getCurrentTransform.call(this).mult(this._rotationMatrix)},_startDragging:function(e,t,i,n,_,r){x3dom.nodeTypes.X3DDragSensorNode.prototype._startDragging.call(this,e,t,i,n,_,r),this._currentRotation=new x3dom.fields.Quaternion,this._viewArea=e,this._yAxisLine=new x3dom.fields.Line(new x3dom.fields.SFVec3f(0,0,0),new x3dom.fields.SFVec3f(0,1,0)),this._inverseToWorldMatrix=this.getCurrentTransform().inverse();var o=this._inverseToWorldMatrix.multMatrixPnt(new x3dom.fields.SFVec3f(n,_,r)),s=this._yAxisLine.closestPoint(o);this._initialCylinderIntersectionVector=o.subtract(s),this._cylinderRadius=this._initialCylinderIntersectionVector.length(),this._initialCylinderIntersectionVector=this._initialCylinderIntersectionVector.normalize()},_process2DDrag:function(e,t,i,n){if(x3dom.nodeTypes.X3DDragSensorNode.prototype._process2DDrag.call(this,e,t,i,n),this._cylinderMode){var _=this._viewArea.calcViewRay(e,t);_.pos=this._inverseToWorldMatrix.multMatrixPnt(_.pos),_.dir=this._inverseToWorldMatrix.multMatrixVec(_.dir);var r,o,s=_.dir.subtract(this._yAxisLine.dir.multiply(_.dir.dot(this._yAxisLine.dir))),a=_.pos.subtract(this._yAxisLine.pos).add(this._yAxisLine.dir.multiply(this._yAxisLine.dir.dot(this._yAxisLine.pos.subtract(_.pos)))),p=2*s.dot(a)/s.dot(s),l=p*p*.25-(a.dot(a)-this._cylinderRadius*this._cylinderRadius)/s.dot(s);if(l>=0&&(r=.5*-p+(l=Math.sqrt(l)),o=.5*-p-l,(r=Math.min(r,o))>0)){var d=_.pos.add(_.dir.multiply(r)),c=this._yAxisLine.closestPoint(d),b=d.subtract(c).normalize();this._currentRotation=x3dom.fields.Quaternion.rotateFromTo(this._initialCylinderIntersectionVector,b);var u=x3dom.fields.Quaternion.axisAngle(this._yAxisLine.dir,this._vf.offset);this._currentRotation=this._currentRotation.multiply(u),this.postMessage("rotation_changed",this._currentRotation)}}},_stopDragging:function(){x3dom.nodeTypes.X3DDragSensorNode.prototype._stopDragging.call(this),this._vf.autoOffset&&(this._vf.offset=this._currentRotation.angle(),this.postMessage("offset_changed",this._vf.offset))}})),x3dom.registerNodeType("X3DSequencerNode","EventUtilities",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DSequencerNode.superClass.call(this,e),this.addField_SFBool(e,"next",!1),this.addField_SFBool(e,"previous",!1),this.addField_MFFloat(e,"key",[]),this.addField_SFFloat(e,"set_fraction",0),this._keyIndex=-1,this._key_changed=!1,this._keyValue_changed=!1}),{findInterval:function(e){var t=this._vf.key.length-1;if(e<this._vf.key[0])return 0;if(e>=this._vf.key[t])return t;for(var i=0;i<t;++i)if(this._vf.key[i]<=e&&e<this._vf.key[i+1])return i;return 0},fieldChanged:function(e){if("set_fraction"!==e)return"next"===e&&this._vf.next?(this._keyIndex=(this._keyIndex+1)%this._vf.key.length,void this.postMessage("value_changed",this._vf.keyValue[this._keyIndex])):"previous"===e&&this._vf.previous?(this._keyIndex=(this._keyIndex-1+this._vf.key.length)%this._vf.key.length,void this.postMessage("value_changed",this._vf.keyValue[this._keyIndex])):"key"===e?this._key_changed?void(this._key_changed=!1):(this._key_changed=!0,void this.postMessage("key",this._vf.key)):"keyValue"===e?this._keyValue_changed?void(this._keyValue_changed=!1):(this._keyValue_changed=!0,void this.postMessage("keyValue",this._vf.keyValue)):void 0;var t=this.findInterval(this._vf.set_fraction);t!==this._keyIndex&&(this._keyIndex=t,this.postMessage("value_changed",this._vf.keyValue[t]))}})),x3dom.registerNodeType("X3DTriggerNode","EventUtilities",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.X3DTriggerNode.superClass.call(this,e)}))),x3dom.registerNodeType("BooleanFilter","EventUtilities",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.BooleanFilter.superClass.call(this,e),this.addField_SFBool(e,"set_boolean"),this.addField_SFBool(e,"inputFalse"),this.addField_SFBool(e,"inputTrue"),this.addField_SFBool(e,"inputNegate")}),{fieldChanged:function(e){if("set_boolean"===e){var t=this._vf.set_boolean;return this._vf.inputNegate=!t,this.postMessage("inputNegate",!t),t?(this._vf.inputTrue=!0,void this.postMessage("inputTrue",!0)):(this._vf.inputFalse=!1,void this.postMessage("inputFalse",!1))}}})),x3dom.registerNodeType("BooleanSequencer","EventUtilities",defineClass(x3dom.nodeTypes.X3DSequencerNode,(function(e){x3dom.nodeTypes.BooleanSequencer.superClass.call(this,e),this.addField_MFBoolean(e,"keyValue",[])}),{})),x3dom.registerNodeType("BooleanToggle","EventUtilities",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.BooleanToggle.superClass.call(this,e),this.addField_SFBool(e,"set_boolean"),this.addField_SFBool(e,"toggle",!1)}),{fieldChanged:function(e){if("set_boolean"!==e)"toggle"===e&&this.postMessage("toggle",this._vf.toggle);else if(this._vf.set_boolean){var t=!this._vf.toggle;this._vf.toggle=t,this.postMessage("toggle",t)}}})),x3dom.registerNodeType("BooleanTrigger","EventUtilities",defineClass(x3dom.nodeTypes.X3DTriggerNode,(function(e){x3dom.nodeTypes.BooleanTrigger.superClass.call(this,e),this.addField_SFTime(e,"set_triggerTime")}),{fieldChanged:function(e){"set_triggerTime"===e&&this.postMessage("triggerTrue",!0)}})),x3dom.registerNodeType("IntegerSequencer","EventUtilities",defineClass(x3dom.nodeTypes.X3DSequencerNode,(function(e){x3dom.nodeTypes.IntegerSequencer.superClass.call(this,e),this.addField_MFInt32(e,"keyValue",[])}),{})),x3dom.registerNodeType("IntegerTrigger","EventUtilities",defineClass(x3dom.nodeTypes.X3DTriggerNode,(function(e){x3dom.nodeTypes.IntegerTrigger.superClass.call(this,e),this.addField_SFBool(e,"set_boolean"),this.addField_SFInt32(e,"integerKey",-1)}),{fieldChanged:function(e){"set_boolean"===e&&this.postMessage("triggerValue",this._vf.integerKey)}})),x3dom.registerNodeType("TimeTrigger","EventUtilities",defineClass(x3dom.nodeTypes.X3DTriggerNode,(function(e){x3dom.nodeTypes.TimeTrigger.superClass.call(this,e),this.addField_SFBool(e,"set_boolean")}),{fieldChanged:function(e){"set_boolean"===e&&this.postMessage("triggerTime",Date.now()/1e3)}})),x3dom.registerNodeType("GeoCoordinate","Geospatial",defineClass(x3dom.nodeTypes.X3DCoordinateNode,(function(e){x3dom.nodeTypes.GeoCoordinate.superClass.call(this,e),this.addField_MFVec3f(e,"point",[]),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin)}),{elipsoideParameters:{AA:["Airy 1830","6377563.396","299.3249646"],AM:["Modified Airy","6377340.189","299.3249646"],AN:["Australian National","6378160","298.25"],BN:["Bessel 1841 (Namibia)","6377483.865","299.1528128"],BR:["Bessel 1841 (Ethiopia Indonesia...)","6377397.155","299.1528128"],CC:["Clarke 1866","6378206.4","294.9786982"],CD:["Clarke 1880","6378249.145","293.465"],EA:["Everest (India 1830)","6377276.345","300.8017"],EB:["Everest (Sabah & Sarawak)","6377298.556","300.8017"],EC:["Everest (India 1956)","6377301.243","300.8017"],ED:["Everest (W. Malaysia 1969)","6377295.664","300.8017"],EE:["Everest (W. Malaysia & Singapore 1948)","6377304.063","300.8017"],EF:["Everest (Pakistan)","6377309.613","300.8017"],FA:["Modified Fischer 1960","6378155","298.3"],HE:["Helmert 1906","6378200","298.3"],HO:["Hough 1960","6378270","297"],ID:["Indonesian 1974","6378160","298.247"],IN:["International 1924","6378388","297"],KA:["Krassovsky 1940","6378245","298.3"],RF:["Geodetic Reference System 1980 (GRS 80)","6378137","298.257222101"],SA:["South American 1969","6378160","298.25"],WD:["WGS 72","6378135","298.26"],WE:["WGS 84","6378137","298.257223563"]},fieldChanged:function(e){"point"!=e&&"geoSystem"!=e||this._parentNodes.forEach((function(e){e.fieldChanged("coord")}))},isLogitudeFirst:function(e){for(var t=0;t<e.length;++t)if("longitude_first"==e[t])return!0;return!1},getElipsoideCode:function(e){for(var t=0;t<e.length;++t){var i=e[t];if(this.elipsoideParameters[i])return i}return"WE"},getElipsoide:function(e){return this.elipsoideParameters[this.getElipsoideCode(e)]},getReferenceFrame:function(e){for(var t=0;t<e.length;++t){var i=e[t];if("GD"==i||"GDC"==i)return"GD";if("GC"==i||"GCC"==i)return"GC";if("UTM"==i)return"UTM";x3dom.debug.logError("Unknown GEO system: ["+e+"]")}return"GD"},getUTMZone:function(e){for(var t=0;t<e.length;++t){var i=e[t];if("Z"==i[0])return i.substring(1)}x3dom.debug.logError("no UTM zone but is required:"+e)},getUTMHemisphere:function(e){for(var t=0;t<e.length;++t){var i=e[t];if("S"==i)return i}return"N"},isUTMEastingFirst:function(e){for(var t=0;t<e.length;++t){if("easting_first"==e[t])return!0}return!1},UTMtoGC:function(e,t){var i=this.getUTMZone(e);if(i<1||i>60||void 0===i)return x3dom.debug.logError("invalid UTM zone: "+i+" in geosystem "+e);for(var n,_,r,o,s,a,p,l,d,c,b,u,m,h,f,g,C,S,y=this.getUTMHemisphere(e),v=this.isUTMEastingFirst(e),x=this.getElipsoide(e),M=x[1],T=M*(1-1/x[2]),D=1-T/M*(T/M),P=Math.sqrt(D),w=(Math.sqrt(1-D),D/(1-D)),A=3+6*(i-1)-180,F=(1-Math.sqrt(1-D))/(1+Math.sqrt(1-D)),R=F*F,I=new x3dom.fields.MFVec3f,B=180/Math.PI,V=1-D*(.25+D*(3/64+5/256*D)),E=F*(1.5-27/32*R),N=R*(21/16-55/32*R),k=0;k<t.length;++k)_=v?t[k].x:t[k].y,r=v?t[k].y:t[k].x,s=(o=("S"==y?r-1e7:r)/.9996/(M*V))+E*Math.sin(2*o)+N*Math.sin(4*o),s+=F*(R*(Math.sin(6*o)*(151/96)+Math.sin(8*o)*(1097/512))),p=w*(a=Math.cos(s))*a,c=(d=(l=Math.tan(s))*l)*d,u=1-(b=P*Math.sin(s))*b,C=(f=(h=(_-5e5)/(.9996*(m=M/Math.sqrt(u))))*h)*(.5-f*(5+3*d+10*p-4*(g=p*p)-9*w)/24),C=s-m*l/(m*(1-D)/u)*(C+=Math.pow(h,6)*(61+90*d+298*p+45*c-252*w-3*g)/720),S=h*(1+f*((-1-2*d-p)/6+f*(5-2*p+28*d-3*g+8*w+24*c)/120))/a,(n=new x3dom.fields.SFVec3f).x=A+B*S,n.y=B*C,n.z=t[k].z,I.push(n);var O=new x3dom.fields.MFString;return O.push("GD"),O.push(this.getElipsoideCode(e)),O.push("longitude_first"),this.GDtoGC(O,I)},GCtoUTM:function(e,t){var i=this.GCtoGD(e,t),n=this.getUTMZone(e);if(n<1||n>60||void 0===n)return x3dom.debug.logError("invalid UTM zone: "+n+" in geosystem "+e);var _,r,o,s,a,p,l,d,c,b,u,m,h,f,g=this.getUTMHemisphere(e),C=this.isUTMEastingFirst(e),S=this.getElipsoide(e),y=S[1],v=y*(1-1/S[2]),x=1-v/y*(v/y),M=Math.sqrt(x),T=x/(1-x),D=Math.PI/180,P=(3+6*(n-1)-180)*D,w=new x3dom.fields.MFVec3f,A=1-x*(1/4+x*(3/64+5*x/256)),F=x*(3/8+x*(3/32+45*x/1024)),R=x*x*(15/256+45*x/1024),I=x*x*x*(35/3072);for(h=0;h<i.length;++h)f=new x3dom.fields.SFVec3f,d=i[h].y*D,c=i[h].x*D,b=Math.cos(d),u=Math.tan(d),_=y/Math.sqrt(1-Math.pow(M*Math.sin(d),2)),r=Math.pow(u,2),o=T*Math.pow(b,2),s=(c-P)*b,a=d*A,a-=Math.sin(2*d)*F,a+=Math.sin(4*d)*R,a-=Math.sin(6*d)*I,p=.9996*_*s*(1+(m=s*s)*((1-r+o)/6+m*(5-r*(18+r)+72*o-58*T)/120)),p+=5e5,(l=.9996*((a*=y)-0+_*u*(m*(.5+m*((5-r+9*o+4*o*o)/24+m*(61-r*(58+r)+600*o-330*T)/720)))))<0&&("N"==g&&x3dom.debug.logError("UTM zone in northern hemisphere but coordinates in southern!"),l=1e7+l),f.x=C?p:l,f.y=C?l:p,f.z=i[h].z,w.push(f);return w},GDtoGC:function(e,t){var i,n,_,r,o,s,a,p,l,d=new x3dom.fields.MFVec3f,c=this.getElipsoide(e),b=c[1],u=c[2],m=this.isLogitudeFirst(e),h=1/u,f=b*(1-h),g=f*f/(b*b),C=h*(2-h);for(i=0;i<t.length;++i)n=new x3dom.fields.SFVec3f,_=.017453292519943295*(1==m?t[i].y:t[i].x),r=.017453292519943295*(1==m?t[i].x:t[i].y),s=(o=Math.sin(_))*o,a=Math.cos(_),l=(p=b/Math.sqrt(1-C*s))+t[i].z,n.x=l*a*Math.cos(r),n.y=l*a*Math.sin(r),n.z=(g*p+t[i].z)*o,d.push(n);return d},GCtoGD:function(e,t){var i,n,_,r,o,s,a,p,l,d,c,b=new x3dom.fields.MFVec3f,u=180/Math.PI,m=this.getElipsoide(e),h=m[1],f=h*(1-1/m[2]),g=1-f/h*(f/h),C=g/(1-g);for(i=0;i<t.length;++i)_=t[i].x,r=t[i].y,o=t[i].z,s=Math.sqrt(_*_+r*r),a=Math.atan(o*h/(s*f)),p=Math.atan((o+C*f*Math.pow(Math.sin(a),3))/(s-g*h*Math.pow(Math.cos(a),3))),l=h/Math.sqrt(1-g*Math.pow(Math.sin(p),2)),d=s/Math.cos(p)-l,c=Math.atan2(r,_),(n=new x3dom.fields.SFVec3f).x=c*u,n.y=p*u,n.z=d,b.push(n);return b},GEOtoGC:function(e,t,i){var n=this.getReferenceFrame(e);if("GD"==n)return this.GDtoGC(e,i);if("UTM"==n)return this.UTMtoGC(e,i);if("GC"==n){if(t.node){for(var _=new x3dom.fields.MFVec3f,r=0;r<i.length;++r){var o=new x3dom.fields.SFVec3f;o.x=i[r].x,o.y=i[r].y,o.z=i[r].z,_.push(o)}return _}return i}return x3dom.debug.logError("Unknown geoSystem: "+e[0]),new x3dom.fields.MFVec3f},GCtoGEO:function(e,t,i){var n=this.getReferenceFrame(e);if("GD"==n){var _=this.GCtoGD(e,i);if(!this.isLogitudeFirst(e))for(var r,o=0;o<_.length;++o)r=_[o].x,_[o].x=_[o].y,_[o].y=r;return _}if("UTM"==n)return this.GCtoUTM(e,i);if("GC"==n){if(t.node){var s=new x3dom.fields.MFVec3f;for(o=0;o<i.length;++o){var a=new x3dom.fields.SFVec3f;a.x=i[o].x,a.y=i[o].y,a.z=i[o].z,s.push(a)}return s}return i}return x3dom.debug.logError("Unknown geoSystem: "+e[0]),new x3dom.fields.MFVec3f},OriginToGC:function(e){var t=e.node._vf.geoCoords,i=e.node._vf.geoSystem,n=new x3dom.fields.SFVec3f;n.x=t.x,n.y=t.y,n.z=t.z;var _=new x3dom.fields.MFVec3f;return _.push(n),this.GEOtoGC(i,e,_)[0]},GCtoX3D:function(e,t,i){var n=i;if(t.node){var _=this.OriginToGC(t),r=x3dom.fields.SFMatrix4f.translation(_.negate());if(t.node._vf.rotateYUp)r=x3dom.nodeTypes.GeoLocation.prototype.getGeoRotMat(e,_).inverse().mult(r);for(var o=0;o<i.length;++o)n[o]=r.multMatrixPnt(i[o])}return n},GEOtoX3D:function(e,t,i){var n=this.GEOtoGC(e,t,i);return this.GCtoX3D(e,t,n)},getPoints:function(){return this.GEOtoX3D(this._vf.geoSystem,this._cf.geoOrigin,this._vf.point)}})),x3dom.registerNodeType("GeoElevationGrid","Geospatial",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.GeoElevationGrid.superClass.call(this,e),this.addField_SFNode("texCoord",x3dom.nodeTypes.X3DTextureCoordinateNode),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_SFVec3f(e,"geoGridOrigin",0,0,0),this.addField_MFDouble(e,"height",0,0),this.addField_SFBool(e,"ccw",!0),this.addField_SFDouble(e,"creaseAngle",0),this.addField_SFInt32(e,"xDimension",0),this.addField_SFDouble(e,"xSpacing",1),this.addField_SFFloat(e,"yScale",1),this.addField_SFInt32(e,"zDimension",0),this.addField_SFDouble(e,"zSpacing",1),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin),this.addField_SFBool(e,"lit",!0)}),{nodeChanged:function(){var e=this._vf.geoSystem,t=this._cf.geoOrigin,i=this._vf.height,n=this._vf.yScale,_=this._vf.xDimension,r=this._vf.zDimension,o=this._vf.xSpacing,s=this._vf.zSpacing,a=this._vf.geoGridOrigin;i.length!==_*r&&x3dom.debug.logError("GeoElevationGrid: height.length("+i.length+") != x/zDimension("+_+"*"+r+")");var p,l=x3dom.nodeTypes.GeoCoordinate.prototype.isLogitudeFirst(e),d=x3dom.nodeTypes.GeoCoordinate.prototype.isUTMEastingFirst(e),c=this._vf.ccw,b=1/(_-1),u=1/(r-1),m=2,h=this._cf.texCoord.node;x3dom.isa(h,x3dom.nodeTypes.MultiTextureCoordinate)&&h._cf.texCoord.nodes.length&&(h=h._cf.texCoord.nodes[0]),h&&h._vf.point&&(p=h._vf.point,x3dom.isa(h,x3dom.nodeTypes.TextureCoordinate3D)&&(m=3));for(var f=new x3dom.fields.MFVec3f,g=new x3dom.fields.MFVec2f,C=0;C<r;++C)for(var S=0;S<_;++S){var y=new x3dom.fields.SFVec2f;y.x=S*b,y.y=C*u,g.push(y);var v=new x3dom.fields.SFVec3f;l||d?(v.x=S*o,v.y=C*s):(v.x=C*s,v.y=S*o),v.z=i[C*_+S]*n,v=v.add(a),f.push(v)}var x=new x3dom.fields.MFInt32;for(C=0;C<r-1;C++)for(S=0;S<_-1;S++){var M=S+C*_,T=S+C*_+1,D=S+(C+1)*_+1,P=S+(C+1)*_;c?(x.push(M),x.push(T),x.push(D),x.push(M),x.push(D),x.push(P)):(x.push(M),x.push(P),x.push(D),x.push(M),x.push(D),x.push(T))}var w=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoX3D(e,t,f);if(this._vf.creaseAngle<=x3dom.fields.Eps){var A=this;!function(){var e=new x3dom.fields.MFInt32,t=new x3dom.fields.MFVec3f,i=new x3dom.fields.MFVec2f;p?A.generateNonIndexedTriangleData(x,w,null,p,null,t,null,i,null):A.generateNonIndexedTriangleData(x,w,null,g,null,t,null,i,null);for(var n=0;n<t.length;++n)e.push(n);A._mesh._indices[0]=e.toGL(),A._mesh._positions[0]=t.toGL(),A._mesh._texCoords[0]=i.toGL(),A._mesh._numTexComponents=2}(),this._mesh.calcNormals(0)}else this._mesh._indices[0]=x.toGL(),this._mesh._positions[0]=w.toGL(),this._mesh._texCoords[0]=p?p.toGL():g.toGL(),this._mesh._numTexComponents=m,this._mesh.calcNormals(Math.PI);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},generateNonIndexedTriangleData:function(e,t,i,n,_,r,o,s,a){for(var p=0;p<e.length;p+=3){var l=e[p],d=e[p+1],c=e[p+2];if(t){var b=new x3dom.fields.SFVec3f,u=new x3dom.fields.SFVec3f,m=new x3dom.fields.SFVec3f;b.setValues(t[l]),u.setValues(t[d]),m.setValues(t[c]),r.push(b),r.push(u),r.push(m)}if(i){var h=new x3dom.fields.SFVec3f,f=new x3dom.fields.SFVec3f,g=new x3dom.fields.SFVec3f;h.setValues(i[l]),f.setValues(i[d]),g.setValues(i[c]),o.push(h),o.push(f),o.push(g)}if(n){var C=new x3dom.fields.SFVec2f,S=new x3dom.fields.SFVec2f,y=new x3dom.fields.SFVec2f;C.setValues(n[l]),S.setValues(n[d]),y.setValues(n[c]),s.push(C),s.push(S),s.push(y)}if(_){var v=new x3dom.fields.SFVec3f,x=new x3dom.fields.SFVec3f,M=new x3dom.fields.SFVec3f;v.setValues(n[l]),x.setValues(n[d]),x.setValues(n[c]),a.push(v),a.push(x),a.push(M)}}}})),x3dom.registerNodeType("GeoLOD","Geospatial",defineClass(x3dom.nodeTypes.X3DBoundedObject,(function(e){x3dom.nodeTypes.GeoLOD.superClass.call(this,e),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_MFString(e,"rootUrl",[]),this.addField_MFString(e,"child1Url",[]),this.addField_MFString(e,"child2Url",[]),this.addField_MFString(e,"child3Url",[]),this.addField_MFString(e,"child4Url",[]),this.addField_SFFloat(e,"range",10),this.addField_SFInt32(e,"level_changed",0),this.addField_SFString(e,"referenceBindableDescription",[]),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin),this.addField_MFNode("rootNode",x3dom.nodeTypes.X3DChildNode),this.addField_SFVec3f(e,"center",0,0,0),this._eye=new x3dom.fields.SFVec3f(0,0,0),this._x3dcenter=new x3dom.fields.SFVec3f(0,0,0),this._child1added=!1,this._child2added=!1,this._child3added=!1,this._child4added=!1,this._rootNodeLoaded=!0,this._childUrlNodes=new x3dom.fields.MFNode(x3dom.nodeTypes.X3DChildNode),this._lastRangePos=-1}),{collectDrawableObjects:function(e,t,i,n,_,r){i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),(_=t.cull(e,this.graphState(),i,_))<=0||(i=!1,this.visitChildren(e,t,i,n,_,r))},visitChildren:function(e,t,i,n,_,r){var o,s,a,p=0,l=t.viewMatrix,d=new x3dom.fields.SFVec3f(0,0,0);if(d=l.inverse().multMatrixPnt(d),this._eye=e.inverse().multMatrixPnt(d),this._x3dcenter.subtract(this._eye).length()>this._vf.range?(p=0,this._rootNodeLoaded||(this._rootNodeLoaded=!0),s=this._cf.rootNode.nodes):(p=1,this._child1added||(this._child1added=!0,this.addInlineChild(this._vf.child1Url)),this._child2added||(this._child2added=!0,this.addInlineChild(this._vf.child2Url)),this._child3added||(this._child3added=!0,this.addInlineChild(this._vf.child3Url)),this._child4added||(this._child4added=!0,this.addInlineChild(this._vf.child4Url)),this._rootNodeLoaded&&(this._rootNodeLoaded=!1),s=this._childUrlNodes.nodes),p!==this._lastRangePos&&this.postMessage("level_changed",p),this._lastRangePos=p,(o=s.length)&&s){var c=this.transformMatrix(e);for(p=0;p<o;p++)(a=s[p])&&a.collectDrawableObjects(c,t,i,n,_,r)}},addInlineChild:function(e){var t=this.newInlineNode(e);this._childUrlNodes.addLink(t)},newInlineNode:function(e){var t=new x3dom.nodeTypes.Inline;return t._vf.url=e,t._nameSpace=this._nameSpace,x3dom.debug.logInfo("add url: "+e),t.nodeChanged(),t},getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag())for(var t,i,n=0,_=this._childNodes.length;n<_;n++)!(t=this._childNodes[n])||t.renderFlag&&!0!==t.renderFlag()||(i=t.getVolume())&&i.isValid()&&e.extendBounds(i.min,i.max);return e},nodeChanged:function(){var e=new x3dom.fields.MFVec3f;if(e.push(this._vf.center),this._x3dcenter=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoX3D(this._vf.geoSystem,this._cf.geoOrigin,e)[0],!this._cf.rootNode.nodes.length){var t=this.newInlineNode(this._vf.rootUrl);this._cf.rootNode.addLink(t)}this.invalidateVolume()},fieldChanged:function(e){if("render"!=e&&"range"!=e||this.invalidateVolume(),"center"==fieldname){var t=new x3dom.fields.MFVec3f;t.push(this._vf.center),this._x3dcenter=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoX3D(this._vf.geoSystem,this._cf.geoOrigin,t)[0],this.invalidateVolume()}}})),x3dom.registerNodeType("GeoLocation","Geospatial",defineClass(x3dom.nodeTypes.X3DTransformNode,(function(e){x3dom.nodeTypes.GeoLocation.superClass.call(this,e),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_SFVec3d(e,"geoCoords",0,0,0),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin)}),{nodeChanged:function(){var e=this._vf.geoCoords,t=this._vf.geoSystem,i=this._cf.geoOrigin;this._trafo=this.getGeoTransRotMat(t,i,e)},getGeoRotMat:function(e,t){var i=new x3dom.fields.MFVec3f;i.push(t);var n=x3dom.nodeTypes.GeoCoordinate.prototype.GCtoGD(e,i)[0],_=new x3dom.fields.SFVec3f(1,0,0),r=180-n.y,o=Math.PI/180,s=x3dom.fields.Quaternion.axisAngle(_,r*o),a=new x3dom.fields.SFVec3f(0,0,1),p=90+n.x;return x3dom.fields.Quaternion.axisAngle(a,p*o).multiply(s).toMatrix()},getGeoTransRotMat:function(e,t,i){var n=new x3dom.fields.MFVec3f;n.push(i);var _=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoGC(e,t,n)[0],r=this.getGeoRotMat(e,_);if(t.node){var o=x3dom.nodeTypes.GeoCoordinate.prototype.OriginToGC(t);return t.node._vf.rotateYUp?this.getGeoRotMat(e,o).inverse().mult(x3dom.fields.SFMatrix4f.translation(_.subtract(o)).mult(r)):x3dom.fields.SFMatrix4f.translation(_.subtract(o)).mult(r)}return x3dom.fields.SFMatrix4f.translation(_).mult(r)},fieldChanged:function(e){if("geoSystem"==e||"geoCoords"==e||"geoOrigin"==e){var t=this._vf.geoCoords,i=this._vf.geoSystem,n=this._cf.geoOrigin;this._trafo=this.getGeoTransRotMat(i,n,t),this.invalidateVolume()}else"render"==e&&this.invalidateVolume()}})),x3dom.registerNodeType("GeoMetadata","Geospatial",defineClass(x3dom.nodeTypes.X3DInfoNode,(function(e){x3dom.nodeTypes.GeoMetadata.superClass.call(this,e),this.addField_MFString(e,"url",[]),this.addField_MFNode("data",x3dom.nodeTypes.X3DInfoNode),this.addField_MFString(e,"summary",[])}))),x3dom.registerNodeType("GeoOrigin","Geospatial",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.GeoOrigin.superClass.call(this,e),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_SFVec3d(e,"geoCoords",0,0,0),this.addField_SFBool(e,"rotateYUp",!1)}))),x3dom.registerNodeType("GeoPositionInterpolator","Geospatial",defineClass(x3dom.nodeTypes.X3DInterpolatorNode,(function(e){x3dom.nodeTypes.GeoPositionInterpolator.superClass.call(this,e),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_MFVec3f(e,"keyValue",[]),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin),this.addField_SFBool(e,"onGreatCircle",!1)}),{linearInterpHintKeyValue:function(e,t,i,n,_){var r=i.length;if(e<=i[0])return[0,n[0]];if(e>=i[r-1])return[r-1,n[r-1]];for(var o,s=t,a=0;a<r-1;++a){if(i[o=(s+a)%r]<e&&e<=i[o+1])return[o,_(n[o],n[o+1],(e-i[o])/(i[o+1]-i[o]))];if(i[o=(s-a+r)%r]<e&&e<=i[o+1])return[o,_(n[o],n[o+1],(e-i[o])/(i[o+1]-i[o]))]}return[0,n[0]]},slerp:function(e,t,i){var n,_,r,o=e.dot(t)/(e.length()*t.length());if(n=new x3dom.fields.SFVec3f(t.x,t.y,t.z),1-o>1e-5){var s=Math.acos(o),a=Math.sin(s);_=Math.sin((1-i)*s)/a,r=Math.sin(i*s)/a}else _=1-i,r=i;return e.multiply(_).add(n.multiply(r))},nodeChanged:function(){this._keyValueGC=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoGC(this._vf.geoSystem,this._cf.geoOrigin,this._vf.keyValue),this._keyHint=0},fieldChanged:function(e){if("set_fraction"===e){var t,i,n,_,r;this._vf.onGreatCircle?(i=this.linearInterpHintKeyValue(this._vf.set_fraction,this._keyHint,this._vf.key,this._keyValueGC,x3dom.nodeTypes.GeoPositionInterpolator.prototype.slerp),this._keyHint=i[0],n=i[1],(r=new x3dom.fields.MFVec3f).push(n),t=x3dom.nodeTypes.GeoCoordinate.prototype.GCtoGEO(this._vf.geoSystem,this._cf.geoOrigin,r)[0]):(i=this.linearInterpHintKeyValue(this._vf.set_fraction,this._keyHint,this._vf.key,this._vf.keyValue,(function(e,t,i){return e.multiply(1-i).add(t.multiply(i))})),this._keyHint=i[0],t=i[1],(r=new x3dom.fields.MFVec3f).push(t),n=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoGC(this._vf.geoSystem,this._cf.geoOrigin,r)[0]),(r=new x3dom.fields.MFVec3f).push(n);var o=new x3dom.fields.MFString;o.push("GC"),o.push(x3dom.nodeTypes.GeoCoordinate.prototype.getElipsoideCode(this._vf.geoSystem)),_=x3dom.nodeTypes.GeoCoordinate.prototype.GCtoX3D(o,this._cf.geoOrigin,r)[0],this.postMessage("value_changed",_),this.postMessage("geovalue_changed",t)}}})),x3dom.registerNodeType("GeoTransform","Geospatial",defineClass(x3dom.nodeTypes.X3DTransformNode,(function(e){x3dom.nodeTypes.GeoTransform.superClass.call(this,e),this.addField_SFVec3d(e,"geoCenter",0,0,0),this.addField_SFRotation(e,"rotation",0,0,1,0),this.addField_SFVec3f(e,"scale",1,1,1),this.addField_SFRotation(e,"scaleOrientation",0,0,1,0),this.addField_SFVec3f(e,"translation",0,0,0),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_SFBool(e,"globalGeoOrigin",!1)}),{nodeChanged:function(){this._trafo=this.getGeoTransform()},getGeoTransform:function(){var e,t,i,n,_,r,o,s,a;if(s=this._vf.geoSystem,a=this._cf.geoOrigin,t=this._vf.geoCenter,i=this._vf.globalGeoOrigin,n=this._vf.scaleOrientation.toMatrix(),(r=new x3dom.fields.MFVec3f).push(t),o=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoGC(s,a,r)[0],e=x3dom.nodeTypes.GeoLocation.prototype.getGeoRotMat(s,o),_=x3dom.fields.SFMatrix4f.translation(o).mult(e).mult(x3dom.fields.SFMatrix4f.translation(this._vf.translation)).mult(this._vf.rotation.toMatrix()).mult(n).mult(x3dom.fields.SFMatrix4f.scale(this._vf.scale)).mult(n.inverse()).mult(e.inverse()).mult(x3dom.fields.SFMatrix4f.translation(o.negate())),a.node){var p=x3dom.nodeTypes.GeoCoordinate.prototype.OriginToGC(a);if(i||(_=_.mult(x3dom.fields.SFMatrix4f.translation(p))),a.node._vf.rotateYUp){var l=x3dom.nodeTypes.GeoLocation.prototype.getGeoRotMat(s,p);i||(_=_.mult(l))}_=x3dom.fields.SFMatrix4f.translation(p.negate()).mult(_),a.node._vf.rotateYUp&&(_=l.inverse().mult(_))}return _},fieldChanged:function(e){"geoCenter"==e||"translation"==e||"rotation"==e||"scale"==e||"scaleOrientation"==e?(this._trafo=this.getGeoTransform(),this.invalidateVolume()):"render"==e&&this.invalidateVolume()}})),x3dom.registerNodeType("GeoViewpoint","Geospatial",defineClass(x3dom.nodeTypes.X3DViewpointNode,(function(e){x3dom.nodeTypes.GeoViewpoint.superClass.call(this,e),this.addField_MFString(e,"geoSystem",["GD","WE"]),this.addField_SFFloat(e,"fieldOfView",.785398),this.addField_SFRotation(e,"orientation",0,0,1,0),this.addField_SFVec3f(e,"centerOfRotation",0,0,0),this.addField_SFVec3d(e,"position",0,0,1e5),this.addField_SFBool(e,"headlight",void 0),this.addField_MFString(e,"navType",void 0),this.addField_SFFloat(e,"speedFactor",1),this.addField_SFFloat(e,"zNear",-1),this.addField_SFFloat(e,"zFar",-1),this.addField_SFBool(e,"elevationScaling",!0),this.addField_SFNode("geoOrigin",x3dom.nodeTypes.GeoOrigin),this._geoCenterOfRotation=this._vf.centerOfRotation,this._viewMatrix=x3dom.fields.SFMatrix4f.identity()}),{activate:function(e){var t=this._nameSpace.doc._viewarea;e&&t.animateTo(this,e._autoGen?null:e),t._needNavigationMatrixUpdate=!0,x3dom.nodeTypes.X3DBindableNode.prototype.activate.call(this,e);var i=t._scene.getNavigationInfo();this._initSpeed=i._vf.speed,this._examineSpeed=i._vf.speed,this._lastSpeed=i._vf.speed,this._userSpeedFactor=1,this._lastNavType=i.getType(),x3dom.debug.logInfo("initial navigation speed: "+this._initSpeed),void 0!==this._vf.headlight&&(i._vf.headlight=this._vf.headlight),void 0!==this._vf.navType&&(i._vf.navType=this._vf.navType)},deactivate:function(e){this._nameSpace.doc._viewarea._scene.getNavigationInfo()._vf.speed=this._examineSpeed,x3dom.debug.logInfo("navigation speed restored to: "+this._examineSpeed),x3dom.nodeTypes.X3DBindableNode.prototype.deactivate.call(this,e)},nodeChanged:function(){this._stack=this._nameSpace.doc._bindableBag.addBindable(this),this._geoOrigin=this._cf.geoOrigin,this._geoSystem=this._vf.geoSystem,this._position=this._vf.position,this._orientation=this._vf.orientation,this._viewMatrix=this.getInitViewMatrix(this._orientation,this._geoSystem,this._geoOrigin,this._position),this._vf.centerOfRotation=this.getGeoCenterOfRotation(this._geoSystem,this._geoOrigin,this._geoCenterOfRotation),this._projMatrix=null,this._lastAspect=1,this._zRatio=1e4,this._zNear=this._vf.zNear,this._zFar=this._vf.zFar,this._imgPlaneHeightAtDistOne=2*Math.tan(this._vf.fieldOfView/2)},fieldChanged:function(e){"position"==e||"orientation"==e?this.resetView():"fieldOfView"==e||"zNear"==e||"zFar"==e?(this._projMatrix=null,this._zNear=this._vf.zNear,this._zFar=this._vf.zFar,this._imgPlaneHeightAtDistOne=2*Math.tan(this._vf.fieldOfView/2)):e.indexOf("bind")>=0&&this.bind(this._vf.bind)},setProjectionMatrix:function(e){this._projMatrix=e},getCenterOfRotation:function(){return this.getCurrentTransform().multMatrixPnt(this._vf.centerOfRotation)},getGeoCenterOfRotation:function(e,t,i){var n=new x3dom.fields.MFVec3f;return n.push(i),x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoX3D(e,t,n)[0]},isExamineMode:function(e){return"examine"==e||"turntable"==e||"lookaround"==e||"lookat"==e},getViewMatrix:function(){if(this._vf.isActive&&this._vf.elevationScaling){var e=this._nameSpace.doc._viewarea,t=e._scene.getNavigationInfo(),i=t.getType();if(this.isExamineMode(i))this.isExamineMode(this._lastNavType)||(t._vf.speed=this._examineSpeed),this._lastNavType=i;else{this.isExamineMode(this._lastNavType)&&(this._examineSpeed=t._vf.speed,x3dom.debug.logInfo("back from examine mode, resume speed: "+this._lastSpeed),t._vf.speed=this._lastSpeed),this._lastNavType=i,t._vf.speed!=this._lastSpeed&&(this._userSpeedFactor*=t._vf.speed/this._lastSpeed,x3dom.debug.logInfo("interactive speed factor changed: "+this._userSpeedFactor));var n=e._scene.getViewpoint().getCurrentTransform(),_=(n=n.inverse().mult(this._viewMatrix)).inverse().e3(),r=this._geoOrigin,o=this._geoSystem,s=_;if(r.node){var a=x3dom.nodeTypes.GeoCoordinate.prototype.OriginToGC(r);if(r.node._vf.rotateYUp)s=x3dom.nodeTypes.GeoLocation.prototype.getGeoRotMat(o,a).multMatrixPnt(_);s=s.add(a)}var p=new x3dom.fields.MFVec3f;p.push(s);var l=x3dom.nodeTypes.GeoCoordinate.prototype.GCtoGD(o,p)[0],d=Math.abs(l.z/10);d=d>1?d:1,t._vf.speed=d*this._vf.speedFactor*this._userSpeedFactor,this._lastSpeed=t._vf.speed}}return this._viewMatrix},getInitViewMatrix:function(e,t,i,n){var _=new x3dom.fields.MFVec3f;_.push(n);var r=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoGC(t,i,_)[0],o=e.toMatrix(),s=x3dom.nodeTypes.GeoLocation.prototype.getGeoRotMat(t,r).mult(o);if(i.node&&i.node._vf.rotateYUp){var a=x3dom.nodeTypes.GeoCoordinate.prototype.OriginToGC(i);s=x3dom.nodeTypes.GeoLocation.prototype.getGeoRotMat(t,a).inverse().mult(s)}var p=x3dom.nodeTypes.GeoCoordinate.prototype.GEOtoX3D(t,i,_)[0];return x3dom.fields.SFMatrix4f.translation(p).mult(s).inverse()},getFieldOfView:function(){return this._vf.fieldOfView},resetView:function(){this._viewMatrix=this.getInitViewMatrix(this._vf.orientation,this._vf.geoSystem,this._cf.geoOrigin,this._vf.position),this._vf.centerOfRotation=this.getGeoCenterOfRotation(this._vf.geoSystem,this._cf.geoOrigin,this._geoCenterOfRotation),this._nameSpace.doc._viewarea&&this._nameSpace.doc._viewarea.resetNavHelpers()},getNear:function(){return this._zNear},getFar:function(){return this._zFar},getImgPlaneHeightAtDistOne:function(){return this._imgPlaneHeightAtDistOne},getProjectionMatrix:function(e){var t=this._vf.fieldOfView,i=this._vf.zFar,n=this._vf.zNear;if(n<=0||i<=0){var _=.8,r=1.2,o=this._nameSpace.doc._viewarea,s=o._scene,a=x3dom.fields.SFVec3f.copy(s._lastMin),p=x3dom.fields.SFVec3f.copy(s._lastMax).subtract(a),l=p.length()/2,d=o.getViewMatrix().inverse(),c=d.e3(),b=new x3dom.fields.SFVec3f(0,0,0),u=new x3dom.fields.SFVec3f(1,1,1),m=new x3dom.fields.Quaternion(0,0,1,0),h=new x3dom.fields.Quaternion(0,0,1,0);d.getTransform(b,m,u,h);var f=u.x,g=u.x;g<u.y&&(g=u.y),f>u.y&&(f=u.y),g<u.z&&(g=u.z),f>u.z&&(f=u.z),g>1?_/=g:f>x3dom.fields.Eps&&f<1&&(r/=f);var C=a.add(p.multiply(.5)),S=c.subtract(C).length();l?(n=S>l?(S-l)*_:0,i=(S+l)*r):(n=.1,i=1e5);var y=i/this._zRatio;n=Math.max(n,Math.max(x3dom.fields.Eps,y)),i>this._vf.zNear&&this._vf.zNear>0&&(n=this._vf.zNear),this._vf.zFar>n&&(i=this._vf.zFar),i<=n&&(i=n+1)}if(null==this._projMatrix)this._projMatrix=x3dom.fields.SFMatrix4f.perspective(t,e,n,i);else if(this._zNear!=n||this._zFar!=i){var v=n-i;this._projMatrix._22=(n+i)/v,this._projMatrix._23=2*n*i/v}else this._lastAspect!=e&&(this._projMatrix._00=1/Math.tan(t/2)/e,this._lastAspect=e);return this._zNear=n,this._zFar=i,this._projMatrix}})),x3dom.registerNodeType("ScreenGroup","Layout",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.ScreenGroup.superClass.call(this,e)}),{collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<0)){var o,s,a,p,l,d,c,b,u,m;i=!1,s=(o=this._nameSpace.doc)._scene.getViewpoint(),p=o._x3dElem.clientHeight/s.getImgPlaneHeightAtDistOne(),d=e,l=new x3dom.fields.SFVec3f(0,0,-1),c=a=new x3dom.fields.SFVec3f(0,0,0),b=t.viewMatrix.multMatrixPnt(d.multMatrixPnt(a)).subtract(c),u=l.dot(b)/p,m=x3dom.fields.SFMatrix4f.scale(new x3dom.fields.SFVec3f(u,u,u));for(var h=this.transformMatrix(d.mult(m)),f=0,g=this._childNodes.length;f<g;f++){var C=this._childNodes[f];C&&C.collectDrawableObjects(h,t,i,n,_,r)}}}})),x3dom.registerNodeType("X3DPlanarGeometryNode","Geometry2D",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.X3DPlanarGeometryNode.superClass.call(this,e)}))),x3dom.registerNodeType("Arc2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.Arc2D.superClass.call(this,e),this.addField_SFFloat(e,"radius",1),this.addField_SFFloat(e,"startAngle",0),this.addField_SFFloat(e,"endAngle",Math.PI/2),this.addField_SFFloat(e,"subdivision",32),this._mesh._primType="LINES";var t=this._vf.radius,i=this._vf.startAngle,n=this._vf.endAngle,_=2*Math.PI;i-=Math.floor(i/_)*_,(n-=Math.floor(n/_)*_)<=i&&(n+=_);var r="Arc2D_"+t+i+n;if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[r])this._mesh=x3dom.geoCache[r];else{for(var o=this._vf.subdivision,s=(n-i)/o,a=i,p=0;p<=o+1;p++){var l=Math.cos(a)*t,d=Math.sin(a)*t;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0),a+=s}for(var c=0;c<o;c++)this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+1);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[r]=this._mesh}}),{fieldChanged:function(e){if("radius"==e||"subdivision"==e||"startAngle"==e||"endAngle"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[];var t=this._vf.radius,i=this._vf.startAngle,n=this._vf.endAngle,_=this._vf.subdivision,r=2*Math.PI;i-=Math.floor(i/r)*r,(n-=Math.floor(n/r)*r)<=i&&(n+=r);for(var o=(n-i)/_,s=i,a=0;a<=_+1;a++){var p=Math.cos(s)*t,l=Math.sin(s)*t;this._mesh._positions[0].push(p),this._mesh._positions[0].push(l),this._mesh._positions[0].push(0),s+=o}for(var d=0;d<_;d++)this._mesh._indices[0].push(d),this._mesh._indices[0].push(d+1);this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e._dirty.indexes=!0,e.invalidateVolume()}))}}})),x3dom.registerNodeType("ArcClose2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.ArcClose2D.superClass.call(this,e),this.addField_SFString(e,"closureType","PIE"),this.addField_SFFloat(e,"radius",1),this.addField_SFFloat(e,"startAngle",0),this.addField_SFFloat(e,"endAngle",Math.PI/2),this.addField_SFFloat(e,"subdivision",32);var t=this._vf.radius,i=this._vf.startAngle,n=this._vf.endAngle,_=this._vf.subdivision,r=this._vf.ccw,o=2*Math.PI;i-=Math.floor(i/o)*o,(n-=Math.floor(n/o)*o)<=i&&(n+=o);var s=["ArcClose2D",t,i,n,this._vf.closureType,_,r].join("-");if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[s])this._mesh=x3dom.geoCache[s];else{var a=(n-i)/_,p=i,l=r?1:-1;if("PIE"==this._vf.closureType.toUpperCase()){this._mesh._positions[0].push(0),this._mesh._positions[0].push(0),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*l),this._mesh._texCoords[0].push(.5),this._mesh._texCoords[0].push(.5);for(var d=0;d<=_;d++){var c=Math.cos(p)*t,b=Math.sin(p)*t;this._mesh._positions[0].push(c),this._mesh._positions[0].push(b),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*l),this._mesh._texCoords[0].push((c+t)/(2*t)),this._mesh._texCoords[0].push((b+t)/(2*t)),p+=a}for(var u=1;u<=_;u++)this._mesh._indices[0].push(u+1),this._mesh._indices[0].push(0),this._mesh._indices[0].push(u)}else{for(d=0;d<=_;d++){c=Math.cos(p)*t,b=Math.sin(p)*t;this._mesh._positions[0].push(c),this._mesh._positions[0].push(b),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*l),this._mesh._texCoords[0].push((c+t)/(2*t)),this._mesh._texCoords[0].push((b+t)/(2*t)),p+=a}c=(this._mesh._positions[0][0]+this._mesh._positions[0][this._mesh._positions[0].length-3])/2,b=(this._mesh._positions[0][1]+this._mesh._positions[0][this._mesh._positions[0].length-2])/2;this._mesh._positions[0].push(c),this._mesh._positions[0].push(b),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*l),this._mesh._texCoords[0].push((c+t)/(2*t)),this._mesh._texCoords[0].push((b+t)/(2*t));for(u=0;u<_;u++)this._mesh._indices[0].push(u+1),this._mesh._indices[0].push(_+1),this._mesh._indices[0].push(u)}this._mesh._numTexComponents=2,this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[s]=this._mesh}}),{fieldChanged:function(e){var t=this._vf.radius,i=this._vf.startAngle,n=this._vf.endAngle,_=this._vf.subdivision,r=this._vf.ccw,o=2*Math.PI;i-=Math.floor(i/o)*o,(n-=Math.floor(n/o)*o)<=i&&(n+=o);var s=(n-i)/_,a=i;if("radius"===e){if(this._mesh._positions[0]=[],"PIE"==this._vf.closureType.toUpperCase()){this._mesh._positions[0].push(0),this._mesh._positions[0].push(0),this._mesh._positions[0].push(0);for(var p=0;p<=_;p++){var l=Math.cos(a)*t,d=Math.sin(a)*t;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0),a+=s}}else{for(p=0;p<=_;p++){l=Math.cos(a)*t,d=Math.sin(a)*t;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0),a+=s}l=(this._mesh._positions[0][0]+this._mesh._positions[0][this._mesh._positions[0].length-3])/2,d=(this._mesh._positions[0][1]+this._mesh._positions[0][this._mesh._positions[0].length-2])/2;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0)}this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}else if("closureType"==e||"subdivision"==e||"startAngle"==e||"endAngle"==e){if(this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],"PIE"==this._vf.closureType.toUpperCase()){this._mesh._positions[0].push(0),this._mesh._positions[0].push(0),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*r),this._mesh._texCoords[0].push(.5),this._mesh._texCoords[0].push(.5);for(p=0;p<=_;p++){l=Math.cos(a)*t,d=Math.sin(a)*t;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*r),this._mesh._texCoords[0].push((l+t)/(2*t)),this._mesh._texCoords[0].push((d+t)/(2*t)),a+=s}for(var c=1;c<=_;c++)this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(0),this._mesh._indices[0].push(c)}else{for(p=0;p<=_;p++){l=Math.cos(a)*t,d=Math.sin(a)*t;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*r),this._mesh._texCoords[0].push((l+t)/(2*t)),this._mesh._texCoords[0].push((d+t)/(2*t)),a+=s}l=(this._mesh._positions[0][0]+this._mesh._positions[0][this._mesh._positions[0].length-3])/2,d=(this._mesh._positions[0][1]+this._mesh._positions[0][this._mesh._positions[0].length-2])/2;this._mesh._positions[0].push(l),this._mesh._positions[0].push(d),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*r),this._mesh._texCoords[0].push((l+t)/(2*t)),this._mesh._texCoords[0].push((d+t)/(2*t));for(c=0;c<_;c++)this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(_+1),this._mesh._indices[0].push(c)}this._mesh._numTexComponents=2,this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty()}))}}})),x3dom.registerNodeType("Circle2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.Circle2D.superClass.call(this,e),this.addField_SFFloat(e,"radius",1),this.addField_SFFloat(e,"subdivision",32),this._mesh._primType="LINES";var t=this._vf.radius,i="Circle2D_"+t;if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[i])this._mesh=x3dom.geoCache[i];else{for(var n=this._vf.subdivision,_=0;_<=n;_++){var r=_*(2*Math.PI/n),o=Math.cos(r)*t,s=Math.sin(r)*t;this._mesh._positions[0].push(o),this._mesh._positions[0].push(s),this._mesh._positions[0].push(0)}for(_=0;_<n;_++)this._mesh._indices[0].push(_),_+1==n?this._mesh._indices[0].push(0):this._mesh._indices[0].push(_+1);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[i]=this._mesh}}),{fieldChanged:function(e){if("radius"==e||"subdivision"==e){var t=this._vf.radius,i=this._vf.subdivision;this._mesh._positions[0]=[],this._mesh._indices[0]=[];for(var n=0;n<=i;n++){var _=n*(2*Math.PI/i),r=Math.cos(_)*t,o=Math.sin(_)*t;this._mesh._positions[0].push(r),this._mesh._positions[0].push(o),this._mesh._positions[0].push(0)}for(n=0;n<i;n++)this._mesh._indices[0].push(n),n+1==i?this._mesh._indices[0].push(0):this._mesh._indices[0].push(n+1);this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e._dirty.indexes=!0,e.invalidateVolume()}))}}})),x3dom.registerNodeType("Disk2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.Disk2D.superClass.call(this,e),this.addField_SFFloat(e,"innerRadius",0),this.addField_SFFloat(e,"outerRadius",1),this.addField_SFFloat(e,"subdivision",32);var t=this._vf.innerRadius,i=this._vf.outerRadius,n=this._vf.subdivision,_=this._vf.ccw,r=["Disk2D",t,i,n,_].join("-");if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[r])this._mesh=x3dom.geoCache[r];else{for(var o=_?1:-1,s=0;s<=n;s++){var a=s*(2*Math.PI/n),p=Math.cos(a)*i,l=Math.sin(a)*i,d=Math.cos(a)*t,c=Math.sin(a)*t;this._mesh._positions[0].push(p),this._mesh._positions[0].push(l),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*o),this._mesh._texCoords[0].push((p+i)/(2*i)),this._mesh._texCoords[0].push((l+i)/(2*i)),this._mesh._positions[0].push(d),this._mesh._positions[0].push(c),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*o),this._mesh._texCoords[0].push((d+i)/(2*i)),this._mesh._texCoords[0].push((c+i)/(2*i))}for(s=0;s<2*n;s+=2)s==2*n-2?(this._mesh._indices[0].push(s+1),this._mesh._indices[0].push(s),this._mesh._indices[0].push(1),this._mesh._indices[0].push(1),this._mesh._indices[0].push(s),this._mesh._indices[0].push(0)):(this._mesh._indices[0].push(s+1),this._mesh._indices[0].push(s),this._mesh._indices[0].push(s+3),this._mesh._indices[0].push(s+3),this._mesh._indices[0].push(s),this._mesh._indices[0].push(s+2));this._mesh._numTexComponents=2,this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[r]=this._mesh}}),{fieldChanged:function(e){var t=this._vf.ccw?1:-1;if("innerRadius"==e||"outerRadius"==e||"subdivision"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[];for(var i=this._vf.innerRadius,n=this._vf.outerRadius,_=this._vf.subdivision,r=0;r<=_;r++){var o=r*(2*Math.PI/_),s=Math.cos(o)*n,a=Math.sin(o)*n,p=Math.cos(o)*i,l=Math.sin(o)*i;this._mesh._positions[0].push(s),this._mesh._positions[0].push(a),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*t),this._mesh._texCoords[0].push((s+n)/(2*n)),this._mesh._texCoords[0].push((a+n)/(2*n)),this._mesh._positions[0].push(p),this._mesh._positions[0].push(l),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1*t),this._mesh._texCoords[0].push((p+n)/(2*n)),this._mesh._texCoords[0].push((l+n)/(2*n))}for(r=0;r<2*_;r+=2)r==2*_-2?(this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(1),this._mesh._indices[0].push(1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(0)):(this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+3),this._mesh._indices[0].push(r+3),this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+2));this._mesh._numTexComponents=2,this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty()}))}}})),x3dom.registerNodeType("Polyline2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.Polyline2D.superClass.call(this,e),this.addField_MFVec2f(e,"lineSegments",[]),this._mesh._primType="LINES";var t=0,i=0;this._vf.lineSegments.length&&(t=this._vf.lineSegments[0].x,i=this._vf.lineSegments[0].y);var n="Polyline2D_"+t+"-"+i;if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[n])this._mesh=x3dom.geoCache[n];else{for(var _=0;_<this._vf.lineSegments.length;_++)t=this._vf.lineSegments[_].x,i=this._vf.lineSegments[_].y,this._mesh._positions[0].push(t),this._mesh._positions[0].push(i),this._mesh._positions[0].push(0);for(var r=0;r<this._vf.lineSegments.length-1;r++)this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+1);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[n]=this._mesh}}),{fieldChanged:function(e){if("lineSegments"==e){var t,i;this._mesh._positions[0]=[],this._mesh._indices[0]=[];for(var n=0;n<this._vf.lineSegments.length;n++)t=this._vf.lineSegments[n].x,i=this._vf.lineSegments[n].y,this._mesh._positions[0].push(t),this._mesh._positions[0].push(i),this._mesh._positions[0].push(0);for(var _=0;_<this._vf.lineSegments.length-1;_++)this._mesh._indices[0].push(_),this._mesh._indices[0].push(_+1);this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/2,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e._dirty.indexes=!0,e.invalidateVolume()}))}}})),x3dom.registerNodeType("Polypoint2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.Polypoint2D.superClass.call(this,e),this.addField_MFVec2f(e,"point",[]),this._mesh._primType="POINTS";var t=0,i=0;this._vf.point.length&&(t=this._vf.point[0].x,i=this._vf.point[0].y);var n="Polypoint2D_"+t+"-"+i;if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[n])this._mesh=x3dom.geoCache[n];else{for(var _=0;_<this._vf.point.length;_++)t=this._vf.point[_].x,i=this._vf.point[_].y,this._mesh._positions[0].push(t),this._mesh._positions[0].push(i),this._mesh._positions[0].push(0);this._mesh._invalidate=!0,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[n]=this._mesh}}),{fieldChanged:function(e){if("point"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[];for(var t=0;t<this._vf.point.length;t++){var i=this._vf.point[t].x,n=this._vf.point[t].y;this._mesh._positions[0].push(i),this._mesh._positions[0].push(n),this._mesh._positions[0].push(0)}this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}))}}})),x3dom.registerNodeType("Rectangle2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.Rectangle2D.superClass.call(this,e),this.addField_SFVec2f(e,"size",2,2),this.addField_SFVec2f(e,"subdivision",1,1);var t=this._vf.size.x,i=this._vf.size.y,n=this._vf.subdivision.x,_=this._vf.subdivision.y,r=this._vf.ccw,o=["Rectangle2D",t,i,n,_,r].join("-");if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[o])this._mesh=x3dom.geoCache[o];else{var s=t/n,a=i/_,p=r?1:-1;t/=2,i/=2;for(var l=0;l<=n;l++)for(var d=0;d<=_;d++)this._mesh._positions[0].push(l*s-t,d*a-i,0),this._mesh._normals[0].push(0,0,1*p),this._mesh._texCoords[0].push(l/n,d/_);for(l=1;l<=_;l++)for(d=0;d<n;d++)this._mesh._indices[0].push((l-1)*(n+1)+d+1),this._mesh._indices[0].push((l-1)*(n+1)+d),this._mesh._indices[0].push(l*(n+1)+d),this._mesh._indices[0].push((l-1)*(n+1)+d+1),this._mesh._indices[0].push(l*(n+1)+d),this._mesh._indices[0].push(l*(n+1)+d+1);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[o]=this._mesh}}),{fieldChanged:function(e){if("size"==e){this._mesh._positions[0]=[];var t=this._vf.size,i=t.x/2,n=t.y/2,_=i/(a=this._vf.subdivision.x),r=n/(p=this._vf.subdivision.y);i/=2,n/=2;for(var o=0;o<=a;o++)for(var s=0;s<=p;s++)this._mesh._positions[0].push(o*_-i,s*r-n,0);this.invalidateVolume(),this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty()}))}else if("subdivision"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[];i=this._vf.size.x/2,n=this._vf.size.y/2,_=i/(a=this._vf.subdivision.x),r=n/(p=this._vf.subdivision.y);var a,p,l=this._vf.ccw?1:-1;i/=2,n/=2;for(o=0;o<=a;o++)for(s=0;s<=p;s++)this._mesh._positions[0].push(o*_-i,s*r-n,0),this._mesh._normals[0].push(0,0,1*l),this._mesh._texCoords[0].push(o/a,s/p);for(o=1;o<=p;o++)for(s=0;s<a;s++)this._mesh._indices[0].push((o-1)*(a+1)+s+1),this._mesh._indices[0].push((o-1)*(a+1)+s),this._mesh._indices[0].push(o*(a+1)+s),this._mesh._indices[0].push((o-1)*(a+1)+s+1),this._mesh._indices[0].push(o*(a+1)+s),this._mesh._indices[0].push(o*(a+1)+s+1);this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty()}))}}})),x3dom.registerNodeType("TriangleSet2D","Geometry2D",defineClass(x3dom.nodeTypes.X3DPlanarGeometryNode,(function(e){x3dom.nodeTypes.TriangleSet2D.superClass.call(this,e),this.addField_MFVec2f(e,"vertices",[]);var t=0,i=0;this._vf.vertices.length&&(t=this._vf.vertices[0].x,i=this._vf.vertices[0].y);var n="TriangleSet2D_"+t+"-"+i;if(this._vf.useGeoCache&&void 0!==x3dom.geoCache[n])this._mesh=x3dom.geoCache[n];else{var _=0,r=0,o=0,s=0;this._vf.vertices.length&&(_=this._vf.vertices[0].x,r=this._vf.vertices[0].y,o=this._vf.vertices[0].x,s=this._vf.vertices[0].y);for(var a=0;a<this._vf.vertices.length;a++)this._vf.vertices[a].x<_&&(_=this._vf.vertices[a].x),this._vf.vertices[a].y<r&&(r=this._vf.vertices[a].y),this._vf.vertices[a].x>o&&(o=this._vf.vertices[a].x),this._vf.vertices[a].y>s&&(s=this._vf.vertices[a].y);for(a=0;a<this._vf.vertices.length;a++)t=this._vf.vertices[a].x,i=this._vf.vertices[a].y,this._mesh._positions[0].push(t),this._mesh._positions[0].push(i),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1),this._mesh._texCoords[0].push((t-_)/(o-_)),this._mesh._texCoords[0].push((i-r)/(s-r));for(var p=0;p<this._vf.vertices.length;p+=3)this._mesh._indices[0].push(p),this._mesh._indices[0].push(p+2),this._mesh._indices[0].push(p+1);this._mesh._numTexComponents=2,this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,x3dom.geoCache[n]=this._mesh}}),{fieldChanged:function(e){if("vertices"==e){this._mesh._positions[0]=[],this._mesh._indices[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[];for(var t=this._vf.vertices[0].x,i=this._vf.vertices[0].y,n=this._vf.vertices[0].x,_=this._vf.vertices[0].y,r=0;r<this._vf.vertices.length;r++)this._vf.vertices[r].x<t&&(t=this._vf.vertices[r].x),this._vf.vertices[r].y<i&&(i=this._vf.vertices[r].y),this._vf.vertices[r].x>n&&(n=this._vf.vertices[r].x),this._vf.vertices[r].y>_&&(_=this._vf.vertices[r].y);for(r=0;r<this._vf.vertices.length;r++){var o=this._vf.vertices[r].x,s=this._vf.vertices[r].y;this._mesh._positions[0].push(o),this._mesh._positions[0].push(s),this._mesh._positions[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1),this._mesh._texCoords[0].push((o-t)/(n-t)),this._mesh._texCoords[0].push((s-i)/(_-i))}for(var a=0;a<this._vf.vertices.length;a+=3)this._mesh._indices[0].push(a),this._mesh._indices[0].push(a+2),this._mesh._indices[0].push(a+1);this._mesh._numTexComponents=2,this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3,this._parentNodes.forEach((function(e){e.setAllDirty()}))}}})),x3dom.registerNodeType("X3DVolumeDataNode","VolumeRendering",defineClass(x3dom.nodeTypes.X3DShapeNode,(function(e){x3dom.nodeTypes.X3DVolumeDataNode.superClass.call(this,e),this.addField_SFVec3f(e,"dimensions",1,1,1),this.addField_SFNode("voxels",x3dom.nodeTypes.Texture),this.addField_SFBool(e,"allowViewpointInside",!0),this._textureID=0,this._first=!0,this._styleList=[],this.surfaceNormalsNeeded=!1,this.normalTextureProvided=!1,this.fragmentPreamble="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n#else\n precision mediump float;\n#endif\n\n"}),{getTextureSize:function(e){var t,i={w:0,h:0,valid:!1},n=this._webgl?this._webgl.texture:null,_=e&&n?n.length:0;for(t=0;t<_;t++)if(e==n[t].node&&n[t].texture){i.w=n[t].texture.width,i.h=n[t].texture.height,i.w&&i.h&&(i.valid=!0);break}return i},vertexShaderText:function(e){var t="attribute vec3 position;\nuniform vec3 dimensions;\nuniform mat4 modelViewProjectionMatrix;\nvarying vec4 vertexPosition;\nvarying vec4 pos;\n";return(x3dom.nodeTypes.X3DLightNode.lightID>0||!0===e)&&(t+="uniform mat4 modelViewMatrix;\nvarying vec4 position_eye;\n"),t+="\nvoid main()\n{\n vertexPosition = modelViewProjectionMatrix * vec4(position, 1.0);\n",(x3dom.nodeTypes.X3DLightNode.lightID>0||!0===e)&&(t+=" position_eye = modelViewMatrix * vec4(position, 1.0);\n"),t+=" pos = vec4((position/dimensions)+0.5, 1.0);\n gl_Position = vertexPosition;\n}"},defaultUniformsShaderText:function(e,t,i,n){var _="uniform sampler2D uVolData;\nuniform vec3 dimensions;\nuniform vec3 offset;\nuniform mat4 modelViewMatrix;\nuniform mat4 modelViewMatrixInverse;\nvarying vec4 vertexPosition;\nvarying vec4 pos;\n";(x3dom.nodeTypes.X3DLightNode.lightID>0||!0===n)&&(_+="varying vec4 position_eye;\n");for(var r=0;r<x3dom.nodeTypes.X3DLightNode.lightID;r++)_+="uniform float light"+r+"_On;\nuniform float light"+r+"_Type;\nuniform vec3 light"+r+"_Location;\nuniform vec3 light"+r+"_Direction;\nuniform vec3 light"+r+"_Color;\nuniform vec3 light"+r+"_Attenuation;\nuniform float light"+r+"_Radius;\nuniform float light"+r+"_Intensity;\nuniform float light"+r+"_AmbientIntensity;\nuniform float light"+r+"_BeamWidth;\nuniform float light"+r+"_CutOffAngle;\nuniform float light"+r+"_ShadowIntensity;\n";return _+="const float Steps = 85.0;\nconst float numberOfSlices = "+e.toPrecision(5)+";\nconst float slicesOverX = "+t.toPrecision(5)+";\nconst float slicesOverY = "+i.toPrecision(5)+";\n"},texture3DFunctionShaderText:"vec4 cTexture3D(sampler2D vol, vec3 volpos, float nS, float nX, float nY)\n{\n float s1,s2;\n float dx1,dy1;\n float dx2,dy2;\n vec2 texpos1,texpos2;\n s1 = floor(volpos.z*nS);\n s2 = s1+1.0;\n dx1 = fract(s1/nX);\n dy1 = floor(s1/nX)/nY;\n dx2 = fract(s2/nX);\n dy2 = floor(s2/nX)/nY;\n texpos1.x = dx1+(volpos.x/nX);\n texpos1.y = dy1+(volpos.y/nY);\n texpos2.x = dx2+(volpos.x/nX);\n texpos2.y = dy2+(volpos.y/nY);\n return mix( texture2D(vol,texpos1), texture2D(vol,texpos2), (volpos.z*nS)-s1);\n}\n\n",normalFunctionShaderText:function(){return this.surfaceNormalsNeeded?"vec4 getNormalFromTexture(sampler2D sampler, vec3 pos, float nS, float nX, float nY) {\n vec4 n = (2.0*cTexture3D(sampler, pos, nS, nX, nY)-1.0);\n return vec4(normalize(n.xyz), length(n.xyz));\n}\n\nvec4 getNormalOnTheFly(sampler2D sampler, vec3 voxPos, float nS, float nX, float nY){\n float v0 = cTexture3D(sampler, voxPos + vec3(offset.x, 0, 0), nS, nX, nY).r;\n float v1 = cTexture3D(sampler, voxPos - vec3(offset.x, 0, 0), nS, nX, nY).r;\n float v2 = cTexture3D(sampler, voxPos + vec3(0, offset.y, 0), nS, nX, nY).r;\n float v3 = cTexture3D(sampler, voxPos - vec3(0, offset.y, 0), nS, nX, nY).r;\n float v4 = cTexture3D(sampler, voxPos + vec3(0, 0, offset.z), nS, nX, nY).r;\n float v5 = cTexture3D(sampler, voxPos - vec3(0, 0, offset.z), nS, nX, nY).r;\n vec3 grad = vec3(v0-v1, v2-v3, v4-v5)*0.5;\n return vec4(normalize(grad), length(grad));\n}\n\n":""},defaultLoopFragmentShaderText:function(e,t,i){i=void 0!==i?i:"";var n="void main()\n{\n vec3 cam_pos = vec3(modelViewMatrixInverse[3][0], modelViewMatrixInverse[3][1], modelViewMatrixInverse[3][2]);\n vec3 cam_cube = cam_pos/dimensions+0.5;\n vec3 dir = normalize(pos.xyz-cam_cube);\n";return this._vf.allowViewpointInside?n+=" float cam_inside = float(all(bvec2(all(lessThan(cam_cube, vec3(1.0))),all(greaterThan(cam_cube, vec3(0.0))))));\n vec3 ray_pos = mix(pos.xyz, cam_cube, cam_inside);\n":n+=" vec3 ray_pos = pos.xyz;\n",n+=" vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);\n vec4 sample = vec4(0.0, 0.0, 0.0, 0.0);\n vec4 value = vec4(0.0, 0.0, 0.0, 0.0);\n float cont = 0.0;\n vec3 step_size = (dir*1.4142)/Steps;\n",x3dom.nodeTypes.X3DLightNode.lightID>0?n+=" vec3 ambient = vec3(0.0, 0.0, 0.0);\n vec3 diffuse = vec3(0.0, 0.0, 0.0);\n vec3 specular = vec3(0.0, 0.0, 0.0);\n vec4 step_eye = modelViewMatrix * vec4(step_size, 0.0);\n vec4 positionE = position_eye;\n float lightFactor = 1.0;\n":n+=" float lightFactor = 1.2;\n",n+=i+" float opacityFactor = 10.0;\n float t_near;\n float t_far;\n for(float i = 0.0; i < Steps; i+=1.0)\n {\n value = cTexture3D(uVolData, ray_pos, numberOfSlices, slicesOverX, slicesOverY);\n value = value.rgbr;\n",this.surfaceNormalsNeeded&&(this.normalTextureProvided?n+=" vec4 gradEye = getNormalFromTexture(uSurfaceNormals, ray_pos, numberOfSlices, slicesOverX, slicesOverY);\n":n+=" vec4 gradEye = getNormalOnTheFly(uVolData, ray_pos, numberOfSlices, slicesOverX, slicesOverY);\n",n+=" vec4 grad = vec4((modelViewMatrix * vec4(gradEye.xyz, 0.0)).xyz, gradEye.a);\n"),n+=e,x3dom.nodeTypes.X3DLightNode.lightID>0&&(n+=t),n+=" sample.a = value.a * opacityFactor * (1.0/Steps);\n sample.rgb = value.rgb * sample.a * lightFactor;\n accum.rgb += (1.0 - accum.a) * sample.rgb;\n accum.a += (1.0 - accum.a) * sample.a;\n ray_pos.xyz += step_size;\n",x3dom.nodeTypes.X3DLightNode.lightID>0&&(n+=" positionE += step_eye;\n"),n+=" if(accum.a >= 1.0 || ray_pos.x < 0.0 || ray_pos.y < 0.0 || ray_pos.z < 0.0 || ray_pos.x > 1.0 || ray_pos.y > 1.0 || ray_pos.z > 1.0)\n break;\n }\n gl_FragColor = accum;\n}"}})),x3dom.registerNodeType("X3DVolumeRenderStyleNode","VolumeRendering",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DVolumeRenderStyleNode.superClass.call(this,e),this.addField_SFBool(e,"enabled",!0),this._styleID=0,this._first=!1,this._volumeDataParent=null}),{nodeChanged:function(){this._styleID||(this._styleID=++x3dom.nodeTypes.X3DVolumeRenderStyleNode.styleID)},updateProperties:function(e){if(this._cf.renderStyle)if(this._cf.renderStyle.nodes)for(var t=0;t<this._cf.renderStyle.nodes.length;t++)null!=this._cf.renderStyle.nodes[t].updateProperties&&this._cf.renderStyle.nodes[t].updateProperties(e);else this._cf.renderStyle.node&&this._cf.renderStyle.node.updateProperties(e);this._volumeDataParent=e,-1!=this._volumeDataParent._styleList.indexOf(this.typeName())?this._first=!1:(this._first=!0,this._volumeDataParent._styleList.push(this.typeName()))},initializeValues:function(){return""},styleUniformsShaderText:function(){return""},styleShaderText:function(){return""},inlineStyleShaderText:function(){return""},lightAssigment:function(){for(var e="",t=0;t<x3dom.nodeTypes.X3DLightNode.lightID;t++)e+=" lighting(light"+t+"_Type, light"+t+"_Location, light"+t+"_Direction, light"+t+"_Color, light"+t+"_Attenuation, light"+t+"_Radius, light"+t+"_Intensity, light"+t+"_AmbientIntensity, light"+t+"_BeamWidth, light"+t+"_CutOffAngle, grad.xyz, positionE.xyz, ambient, diffuse, specular);\n";return e+=" value.rgb = ambient*value.rgb + diffuse*value.rgb + specular;\n"},lightEquationShaderText:function(){return x3dom.nodeTypes.X3DLightNode.lightID>0?"void lighting(in float lType, in vec3 lLocation, in vec3 lDirection, in vec3 lColor, in vec3 lAttenuation, in float lRadius, in float lIntensity, in float lAmbientIntensity, in float lBeamWidth, in float lCutOffAngle, in vec3 N, in vec3 V, inout vec3 ambient, inout vec3 diffuse, inout vec3 specular)\n{\n vec3 L;\n float spot = 1.0, attentuation = 0.0;\n if(lType == 0.0) {\n L = -normalize(lDirection);\n V = normalize(V);\n attentuation = 1.0;\n } else{\n L = (lLocation - (-V));\n float d = length(L);\n L = normalize(L);\n V = normalize(V);\n if(lRadius == 0.0 || d <= lRadius) {\n attentuation = 1.0 / max(lAttenuation.x + lAttenuation.y * d + lAttenuation.z * (d * d), 1.0);\n }\n if(lType == 2.0) {\n float spotAngle = acos(max(0.0, dot(-L, normalize(lDirection))));\n if(spotAngle >= lCutOffAngle) spot = 0.0;\n else if(spotAngle <= lBeamWidth) spot = 1.0;\n else spot = (spotAngle - lCutOffAngle ) / (lBeamWidth - lCutOffAngle);\n }\n }\n vec3 H = normalize( L + V );\n float NdotL = max(0.0, dot(L, N));\n float NdotH = max(0.0, dot(H, N));\n float ambientFactor = lAmbientIntensity;\n float diffuseFactor = lIntensity * NdotL;\n float specularFactor = lIntensity * pow(NdotH,128.0);\n ambient += lColor * ambientFactor * attentuation * spot;\n diffuse += lColor * diffuseFactor * attentuation * spot;\n specular += lColor * specularFactor * attentuation * spot;\n}\n\n":""}})),x3dom.nodeTypes.X3DVolumeRenderStyleNode.styleID=0,x3dom.registerNodeType("X3DComposableVolumeRenderStyleNode","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode.superClass.call(this,e),this.addField_SFNode("surfaceNormals",x3dom.nodeTypes.Texture)}),{})),x3dom.registerNodeType("BlendedVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.BlendedVolumeStyle.superClass.call(this,e),this.addField_SFNode("renderStyle",x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode),this.addField_SFNode("voxels",x3dom.nodeTypes.X3DVolumeDataNode),this.addField_SFFloat(e,"weightConstant1",.5),this.addField_SFFloat(e,"weightConstant2",.5),this.addField_SFString(e,"weightFunction1","CONSTANT"),this.addField_SFString(e,"weightFunction2","CONSTANT"),this.addField_SFNode("weightTransferFunction1",x3dom.nodeTypes.X3DTexture2DNode),this.addField_SFNode("weightTransferFunction2",x3dom.nodeTypes.X3DTexture2DNode),this.uniformFloatWeightConstant1=new x3dom.nodeTypes.Uniform(e),this.uniformFloatWeightConstant2=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DVoxels=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DWeightTransferFunction1=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DWeightTransferFunction2=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"weightConstant1":this.uniformFloatWeightConstant1._vf.value=this._vf.weightConstant1,this.uniformFloatWeightConstant1.fieldChanged("value");break;case"weightConstant2":this.uniformFloatWeightConstant2._vf.value=this._vf.weightConstant2,this.uniformFloatWeightConstant2.fieldChanged("value")}},uniforms:function(){var e=[];if((this._cf.voxels.node||this._cf.weightTransferFunction1.node||this._cf.weightTransferFunction2.node)&&(this.uniformSampler2DVoxels._vf.name="uVolBlendData",this.uniformSampler2DVoxels._vf.type="SFInt32",this.uniformSampler2DVoxels._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DVoxels),this._cf.weightTransferFunction1.node&&(this.uniformSampler2DWeightTransferFunction1._vf.name="uWeightTransferFunctionA",this.uniformSampler2DWeightTransferFunction1._vf.type="SFInt32",this.uniformSampler2DWeightTransferFunction1._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DWeightTransferFunction1)),this._cf.weightTransferFunction2.node&&(this.uniformSampler2DWeightTransferFunction2._vf.name="uWeightTransferFunctionB",this.uniformSampler2DWeightTransferFunction2._vf.type="SFInt32",this.uniformSampler2DWeightTransferFunction2._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DWeightTransferFunction2))),this.uniformFloatWeightConstant1._vf.name="uWeightConstantA",this.uniformFloatWeightConstant1._vf.type="SFFloat",this.uniformFloatWeightConstant1._vf.value=this._vf.weightConstant1,e.push(this.uniformFloatWeightConstant1),this.uniformFloatWeightConstant2._vf.name="uWeightConstantB",this.uniformFloatWeightConstant2._vf.type="SFFloat",this.uniformFloatWeightConstant2._vf.value=this._vf.weightConstant2,e.push(this.uniformFloatWeightConstant2),this._cf.renderStyle.node){var t=this._cf.renderStyle.node.uniforms();t.forEach((function(e){e._vf.name=e._vf.name.replace(/uSurfaceNormals/,"uBlendSurfaceNormals")})),e=e.concat(t)}return e},textures:function(){var e,t=[];this._cf.voxels.node&&((e=this._cf.voxels.node)._vf.repeatS=!1,e._vf.repeatT=!1,t.push(e));this._cf.weightTransferFunction1.node&&((e=this._cf.weightTransferFunction1.node)._vf.repeatS=!1,e._vf.repeatT=!1,t.push(e));this._cf.weightTransferFunction2.node&&((e=this._cf.weightTransferFunction2.node)._vf.repeatS=!1,e._vf.repeatT=!1,t.push(e));if(this._cf.renderStyle.node){var i=this._cf.renderStyle.node.textures();t=t.concat(i)}return t},initializeValues:function(){var e="";return x3dom.nodeTypes.X3DLightNode.lightID>0&&(e+=" vec3 ambientBlend = vec3(0.0, 0.0, 0.0);\n vec3 diffuseBlend = vec3(0.0, 0.0, 0.0);\n vec3 specularBlend = vec3(0.0, 0.0, 0.0);\n"),e},styleUniformsShaderText:function(){var e="uniform float uWeightConstantA;\nuniform float uWeightConstantB;\nuniform sampler2D uBlendSurfaceNormals;\n";return this._cf.voxels.node&&(e+="uniform sampler2D uVolBlendData;\n"),this._cf.weightTransferFunction1.node&&(e+="uniform sampler2D uWeightTransferFunctionA;\n"),this._cf.weightTransferFunction2.node&&(e+="uniform sampler2D uWeightTransferFunctionB;\n"),this._cf.renderStyle.node&&(e+=this._cf.renderStyle.node.styleUniformsShaderText()),e},styleShaderText:function(){var e="";return this._cf.renderStyle.node&&null!=this._cf.renderStyle.node.styleShaderText&&(e+=this._cf.renderStyle.node.styleShaderText()),e},inlineStyleShaderText:function(){var e=this._cf.voxels.node._vf.numberOfSlices.toPrecision(5),t=this._cf.voxels.node._vf.slicesOverX.toPrecision(5),i=this._cf.voxels.node._vf.slicesOverY.toPrecision(5),n=" vec4 blendValue = cTexture3D(uVolBlendData, ray_pos, "+e+", "+t+", "+i+");\n blendValue = vec4(blendValue.rgb,(0.299*blendValue.r)+(0.587*blendValue.g)+(0.114*blendValue.b));\n";(this._cf.renderStyle.node&&this._cf.renderStyle.node._cf.surfaceNormals.node?n+=" vec4 blendGradEye = getNormalFromTexture(uBlendSurfaceNormals, ray_pos, "+e+", "+t+", "+i+");\n":n+=" vec4 blendGradEye = getNormalOnTheFly(uVolBlendData, ray_pos, "+e+", "+t+", "+i+");\n",n+=" vec4 blendGrad = vec4((modelViewMatrix * vec4(blendGradEye.xyz, 0.0)).xyz, blendGradEye.a);\n",this._cf.renderStyle.node)&&(n+=this._cf.renderStyle.node.inlineStyleShaderText().replace(/value/gm,"blendValue").replace(/grad/gm,"blendGrad").replace(/ambient/gm,"ambientBlend").replace(/diffuse/gm,"diffuseBlend").replace(/specular/gm,"specularBlend"));switch(this._vf.weightFunction1.toUpperCase()){case"CONSTANT":n+=" float wA = uWeightConstantA;\n";break;case"ALPHA0":n+=" float wA = value.a;\n";break;case"ALPHA1":n+=" float wA = blendValue.a;\n";break;case"ONE_MINUS_ALPHA0":n+=" float wA = 1.0 - value.a;\n";break;case"ONE_MINUS_ALPHA1":n+=" float wA = 1.0 - blendValue.a;\n";break;case"TABLE":this._cf.weightTransferFunction1?n+=" float wA = texture2D(uWeightTransferFunctionA, vec2(value.a, blendValue.a));\n":(n+=" float wA = value.a;\n",x3dom.debug.logWarning("[VolumeRendering][BlendedVolumeStyle] TABLE specified on weightFunction1 but not weightTrnafer function provided, using ALPHA0."))}switch(this._vf.weightFunction2.toUpperCase()){case"CONSTANT":n+=" float wB = uWeightConstantB;\n";break;case"ALPHA0":n+=" float wB = value.a;\n";break;case"ALPHA1":n+=" float wB = blendValue.a;\n";break;case"ONE_MINUS_ALPHA0":n+=" float wB = 1.0 - value.a;\n";break;case"ONE_MINUS_ALPHA1":n+=" float wB = 1.0 - blendValue.a;\n";break;case"TABLE":this._cf.weightTransferFunction2?n+=" float wB = texture2D(uWeightTransferFunctionB, vec2(value.a, blendValue.a));\n":(n+=" float wB = value.a;\n",x3dom.debug.logWarning("[VolumeRendering][BlendedVolumeStyle] TABLE specified on weightFunction2 but not weightTrasnferFunction provided, using ALPHA0."))}return 0==x3dom.nodeTypes.X3DLightNode.lightID&&(n+=" value = clamp(value * wA + blendValue * wB, 0.0, 1.0);\n"),n},lightAssigment:function(){var e="";if(x3dom.nodeTypes.X3DLightNode.lightID>0)if(this._cf.renderStyle.node){e+=this._cf.renderStyle.node.lightAssigment().replace(/value/gm,"blendValue").replace(/grad/gm,"blendGrad").replace(/ambient/gm,"ambientBlend").replace(/diffuse/gm,"diffuseBlend").replace(/specular/gm,"specularBlend")}else{for(var t=0;t<x3dom.nodeTypes.X3DLightNode.lightID;t++)e+=" lighting(light"+t+"_Type, light"+t+"_Location, light"+t+"_Direction, light"+t+"_Color, light"+t+"_Attenuation, light"+t+"_Radius, light"+t+"_Intensity, light"+t+"_AmbientIntensity, light"+t+"_BeamWidth, light"+t+"_CutOffAngle, blendGradEye.xyz, -positionE.xyz, ambientBlend, diffuseBlend, specularBlend);\n";e+=" blendValue.rgb = ambientBlend*blendValue.rgb + diffuseBlend*blendValue.rgb + specularBlend;\n"}return e+=" value.rgb = clamp(value.rgb * wA + blendValue.rgb * wB, 0.0, 1.0);\n value.a = clamp(value.a * wA + blendValue.a * wB, 0.0, 1.0);\n"}})),x3dom.registerNodeType("BoundaryEnhancementVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.BoundaryEnhancementVolumeStyle.superClass.call(this,e),this.addField_SFFloat(e,"retainedOpacity",1),this.addField_SFFloat(e,"boundaryOpacity",0),this.addField_SFFloat(e,"opacityFactor",1),this.uniformFloatRetainedOpacity=new x3dom.nodeTypes.Uniform(e),this.uniformFloatBoundaryOpacity=new x3dom.nodeTypes.Uniform(e),this.uniformFloatOpacityFactor=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DSurfaceNormals=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableBoundary=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"retainedOpacity":this.uniformFloatRetainedOpacity._vf.value=this._vf.retainedOpacity,this.uniformFloatRetainedOpacity.fieldChanged("value");break;case"boundaryOpacity":this.uniformFloatBoundaryOpacity._vf.value=this._vf.boundaryOpacity,this.uniformFloatBoundaryOpacity.fieldChanged("value");break;case"opacityFactor":this.uniformFloatOpacityFactor._vf.value=this._vf.opacityFactor,this.uniformFloatOpacityFactor.fieldChanged("value")}},uniforms:function(){var e=[];if(this._cf.surfaceNormals.node){for(var t=this._parentNodes[0];!x3dom.isa(t,x3dom.nodeTypes.X3DVolumeDataNode)||!x3dom.isa(t,x3dom.nodeTypes.X3DNode);)t=t._parentNodes[0];0==x3dom.isa(t,x3dom.nodeTypes.X3DVolumeDataNode)&&(x3dom.debug.logError("[VolumeRendering][BoundaryEnhancementVolumeStyle] Not VolumeData parent found!"),t=null),this.uniformSampler2DSurfaceNormals._vf.name="uSurfaceNormals",this.uniformSampler2DSurfaceNormals._vf.type="SFInt32",this.uniformSampler2DSurfaceNormals._vf.value=t._textureID++,e.push(this.uniformSampler2DSurfaceNormals)}return this.uniformFloatRetainedOpacity._vf.name="uRetainedOpacity"+this._styleID,this.uniformFloatRetainedOpacity._vf.type="SFFloat",this.uniformFloatRetainedOpacity._vf.value=this._vf.retainedOpacity,e.push(this.uniformFloatRetainedOpacity),this.uniformFloatBoundaryOpacity._vf.name="uBoundaryOpacity"+this._styleID,this.uniformFloatBoundaryOpacity._vf.type="SFFloat",this.uniformFloatBoundaryOpacity._vf.value=this._vf.boundaryOpacity,e.push(this.uniformFloatBoundaryOpacity),this.uniformFloatOpacityFactor._vf.name="uOpacityFactor"+this._styleID,this.uniformFloatOpacityFactor._vf.type="SFFloat",this.uniformFloatOpacityFactor._vf.value=this._vf.opacityFactor,e.push(this.uniformFloatOpacityFactor),this.uniformBoolEnableBoundary._vf.name="uEnableBoundary"+this._styleID,this.uniformBoolEnableBoundary._vf.type="SFBool",this.uniformBoolEnableBoundary._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableBoundary),e},textures:function(){var e=[];if(null!=this._cf.surfaceNormals.node){var t=this._cf.surfaceNormals.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}return e},styleUniformsShaderText:function(){return"uniform float uRetainedOpacity"+this._styleID+";\nuniform float uBoundaryOpacity"+this._styleID+";\nuniform float uOpacityFactor"+this._styleID+";\nuniform bool uEnableBoundary"+this._styleID+";\n"},styleShaderText:function(){return this._first?"void boundaryEnhancement(inout vec4 original_color, in float gradientMagnitude, in float retainedOpacity, in float boundaryOpacity, in float opacityFactor){\n original_color.a = original_color.a * (retainedOpacity + (boundaryOpacity * pow(gradientMagnitude, opacityFactor)));\n}\n":""},inlineStyleShaderText:function(){return" if(uEnableBoundary"+this._styleID+"){\n boundaryEnhancement(value, grad.w, uRetainedOpacity"+this._styleID+", uBoundaryOpacity"+this._styleID+", uOpacityFactor"+this._styleID+");\n}\n"}})),x3dom.registerNodeType("CartoonVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.CartoonVolumeStyle.superClass.call(this,e),this.addField_SFColor(e,"parallelColor",0,0,0),this.addField_SFColor(e,"orthogonalColor",1,1,1),this.addField_SFInt32(e,"colorSteps",4),this.uniformParallelColor=new x3dom.nodeTypes.Uniform(e),this.uniformOrthogonalColor=new x3dom.nodeTypes.Uniform(e),this.uniformIntColorSteps=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DSurfaceNormals=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableCartoon=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"parallelColor":this.uniformParallelColor._vf.value=this._vf.parallelColor,this.uniformParallelColor.fieldChanged("value");break;case"orthogonalColor":this.uniformOrthogonalColor._vf.value=this._vf.orthogonalColor,this.uniformOrthogonalColor.fieldChanged("value");break;case"colorSteps":this.uniformIntColorSteps._vf.value=this._vf.colorSteps,this.uniformIntColorSteps.fieldChanged("value")}},uniforms:function(){var e=[];return this._cf.surfaceNormals.node&&(this.uniformSampler2DSurfaceNormals._vf.name="uSurfaceNormals",this.uniformSampler2DSurfaceNormals._vf.type="SFInt32",this.uniformSampler2DSurfaceNormals._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DSurfaceNormals)),this.uniformParallelColor._vf.name="uParallelColor"+this._styleID,this.uniformParallelColor._vf.type="SFColor",this.uniformParallelColor._vf.value=this._vf.parallelColor,e.push(this.uniformParallelColor),this.uniformOrthogonalColor._vf.name="uOrthogonalColor"+this._styleID,this.uniformOrthogonalColor._vf.type="SFColor",this.uniformOrthogonalColor._vf.value=this._vf.orthogonalColor,e.push(this.uniformOrthogonalColor),this.uniformIntColorSteps._vf.name="uColorSteps"+this._styleID,this.uniformIntColorSteps._vf.type="SFInt32",this.uniformIntColorSteps._vf.value=this._vf.colorSteps,e.push(this.uniformIntColorSteps),this.uniformBoolEnableCartoon._vf.name="uEnableCartoon"+this._styleID,this.uniformBoolEnableCartoon._vf.type="SFBool",this.uniformBoolEnableCartoon._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableCartoon),e},textures:function(){var e=[];if(this._cf.surfaceNormals.node){var t=this._cf.surfaceNormals.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}return e},styleShaderText:function(){return this._first?"//Convert RGBA color to HSVA\nvec4 rgba2hsva(vec4 rgba){\n float zat, izen;\n float R = rgba.r, G = rgba.g, B = rgba.b;\n float minim = min(R, min(G, B)), maxim = max(R, max(G, B));\n float delta = maxim-minim;\n if(minim == maxim){\n return vec4(0.0, 0.0, maxim, rgba.a);\n }else{\n zat = (R == maxim) ? G - B : ((G == maxim) ? B - R : R - G);\n izen = (R == maxim) ? ((G<B) ? 6.0 : 0.0) : ((G == maxim) ? 2.0 : 4.0);\n return vec4((zat/delta + izen)/6.0, delta/maxim, maxim, rgba.a);\n }\n}\n\n//Convert RGB color to HSV\nvec3 rgb2hsv(vec3 rgb){\n return rgba2hsva(vec4(rgb, 1.0)).rgb;\n}\n\n//Convert HSVA color to RGBA\nvec4 hsva2rgba(vec4 hsva){\n float r, g, b;\n float h=hsva.x, s=hsva.y, v=hsva.z;\n float i = floor(h * 6.0);\n float f = h * 6.0 - i;\n float p = v * (1.0 - s);\n float q = v * (1.0 - f * s);\n float t = v * (1.0 - (1.0 - f) * s);\n i = mod(i,6.0);\n if( i == 6.0 || i == 0.0 ) r = v, g = t, b = p;\n else if( i == 1.0) r = q, g = v, b = p;\n else if( i == 2.0) r = p, g = v, b = t;\n else if( i == 3.0) r = p, g = q, b = v;\n else if( i == 4.0) r = t, g = p, b = v;\n else if( i == 5.0) r = v, g = p, b = q;\n return vec4(r,g,b,hsva.w);\n}\n\n//Convert HSV color to RGB\nvec3 hsv2rgb(vec3 hsv){\n return hsva2rgba(vec4(hsv, 1.0)).rgb;\n}\nvoid getCartoonStyle(inout vec4 outputColor, vec3 orthogonalColor, vec3 parallelColor, int colorSteps, vec4 surfNormal, vec3 V)\n{\n float steps = clamp(float(colorSteps), 1.0,64.0);\n float range_size = pi_half / steps;\n float cos_angle = abs(dot(surfNormal.xyz, V));\n float interval = clamp(floor(cos_angle / range_size),0.0,steps);\n float ang = interval * range_size;\n outputColor.rgb = hsv2rgb(mix(orthogonalColor, parallelColor, ang));\n}\n\n":""},styleUniformsShaderText:function(){var e="uniform vec3 uParallelColor"+this._styleID+";\nuniform vec3 uOrthogonalColor"+this._styleID+";\nuniform int uColorSteps"+this._styleID+";\nuniform bool uEnableCartoon"+this._styleID+";\n";return this._first&&(e+="const float pi_half = "+(Math.PI/2).toPrecision(5)+";\n"),e},inlineStyleShaderText:function(){return" if(uEnableCartoon"+this._styleID+"){\n getCartoonStyle(value, rgb2hsv(uOrthogonalColor"+this._styleID+"), rgb2hsv(uParallelColor"+this._styleID+"), uColorSteps"+this._styleID+", gradEye, dir);\n }\n"}})),x3dom.registerNodeType("ComposedVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.ComposedVolumeStyle.superClass.call(this,e),this.addField_MFNode("renderStyle",x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode),this.normalTextureProvided=!1}),{uniforms:function(){var e,t=[],i=this._cf.renderStyle.nodes.length;for(e=0;e<i;e++){this._cf.renderStyle.nodes[e].uniforms().forEach((function(e){var i=!1;t.forEach((function(t){t._vf.name==e._vf.name&&(i=!0)})),0==i&&(t=t.concat(e))}))}return t},textures:function(){var e,t=[],i=this._cf.renderStyle.nodes.length;for(e=0;e<i;e++)this._cf.renderStyle.nodes[e].textures().forEach((function(e){var i=!1;t.forEach((function(t){t._vf.url[0]==e._vf.url[0]&&(i=!0)})),0==i&&(t=t.concat(e))}));return t},initializeValues:function(){for(var e="",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)null!=this._cf.renderStyle.nodes[i].initializeValues&&(e+=this._cf.renderStyle.nodes[i].initializeValues()+"\n");return e},styleUniformsShaderText:function(){var e="",t=this._cf.renderStyle.nodes.length;1!=t||x3dom.isa(this._cf.renderStyle.nodes[0],x3dom.nodeTypes.OpacityMapVolumeStyle)||(this.surfaceNormalsNeeded=!0);for(var i=0;i<t;i++)e+=this._cf.renderStyle.nodes[i].styleUniformsShaderText()+"\n",this._cf.renderStyle.nodes[i]._cf.surfaceNormals&&null!=this._cf.renderStyle.nodes[i]._cf.surfaceNormals.node&&(this.normalTextureProvided=!0,this._cf.surfaceNormals.node=this._cf.renderStyle.nodes[i]._cf.surfaceNormals.node);return e},styleShaderText:function(){for(var e="",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)null!=this._cf.renderStyle.nodes[i].styleShaderText&&(e+=this._cf.renderStyle.nodes[i].styleShaderText()+"\n");return e},inlineStyleShaderText:function(){for(var e="",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)e+=this._cf.renderStyle.nodes[i].inlineStyleShaderText();return e},lightAssigment:function(){var e,t=!1;return this._cf.renderStyle.nodes.forEach((function(i){x3dom.isa(i,x3dom.nodeTypes.BlendedVolumeStyle)&&(t=!0,e=i.lightAssigment())})),t?this._cf.renderStyle.nodes[0].lightAssigment()+e:this._cf.renderStyle.nodes[0].lightAssigment()},lightEquationShaderText:function(){return this._cf.renderStyle.nodes[0].lightEquationShaderText()}})),x3dom.registerNodeType("EdgeEnhancementVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.EdgeEnhancementVolumeStyle.superClass.call(this,e),this.addField_SFColor(e,"edgeColor",0,0,0),this.addField_SFFloat(e,"gradientThreshold",.4),this.uniformColorEdgeColor=new x3dom.nodeTypes.Uniform(e),this.uniformFloatGradientThreshold=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DSurfaceNormals=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEdgeEnable=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){"edgeColor"==e?(this.uniformColorEdgeColor._vf.value=this._vf.edgeColor,this.uniformColorEdgeColor.fieldChanged("value")):"gradientThreshold"==e&&(this.uniformFloatGradientThreshold._vf.value=this._vf.gradientThreshold,this.uniformFloatGradientThreshold.fieldChanged("value"))},uniforms:function(){var e=[];return this._cf.surfaceNormals.node&&(this.uniformSampler2DSurfaceNormals._vf.name="uSurfaceNormals",this.uniformSampler2DSurfaceNormals._vf.type="SFInt32",this.uniformSampler2DSurfaceNormals._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DSurfaceNormals)),this.uniformColorEdgeColor._vf.name="uEdgeColor"+this._styleID,this.uniformColorEdgeColor._vf.type="SFColor",this.uniformColorEdgeColor._vf.value=this._vf.edgeColor,e.push(this.uniformColorEdgeColor),this.uniformFloatGradientThreshold._vf.name="uGradientThreshold"+this._styleID,this.uniformFloatGradientThreshold._vf.type="SFFloat",this.uniformFloatGradientThreshold._vf.value=this._vf.gradientThreshold,e.push(this.uniformFloatGradientThreshold),this.uniformBoolEdgeEnable._vf.name="uEnableEdge"+this._styleID,this.uniformBoolEdgeEnable._vf.type="SFBool",this.uniformBoolEdgeEnable._vf.value=this._vf.enabled,e.push(this.uniformBoolEdgeEnable),e},textures:function(){var e=[];if(this._cf.surfaceNormals.node){var t=this._cf.surfaceNormals.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}return e},styleUniformsShaderText:function(){return"uniform vec3 uEdgeColor"+this._styleID+";\nuniform float uGradientThreshold"+this._styleID+";\nuniform bool uEnableEdge"+this._styleID+";\n"},styleShaderText:function(){return this._first?"void edgeEnhancement(inout vec4 originalColor, in vec4 gradient, in vec3 V, in vec3 edgeColor, in float gradientT)\n{\n if(gradient.a > 0.05){\n float angle_dif = abs(dot(gradient.xyz,V));\n if(angle_dif > cos(gradientT)){\n originalColor.rgb = mix(edgeColor, originalColor.rgb, angle_dif);\n }\n }\n}\n":""},inlineStyleShaderText:function(){return" if(uEnableEdge"+this._styleID+"){\n edgeEnhancement(value, gradEye, dir, uEdgeColor"+this._styleID+", uGradientThreshold"+this._styleID+");\n }\n"}})),x3dom.registerNodeType("IsoSurfaceVolumeData","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeDataNode,(function(e){x3dom.nodeTypes.IsoSurfaceVolumeData.superClass.call(this,e),this.addField_MFNode("renderStyle",x3dom.nodeTypes.X3DVolumeRenderStyleNode),this.addField_SFNode("gradients",x3dom.nodeTypes.Texture),this.addField_MFFloat(e,"surfaceValues",[0]),this.addField_SFFloat(e,"contourStepSize",0),this.addField_SFFloat(e,"surfaceTolerance",0),this.uniformSampler2DGradients=new x3dom.nodeTypes.Uniform(e),this.uniformFloatContourStepSize=new x3dom.nodeTypes.Uniform(e),this.uniformFloatSurfaceTolerance=new x3dom.nodeTypes.Uniform(e),this.uniformFloatArraySurfaceValues=new x3dom.nodeTypes.Uniform(e),this.vrcMultiTexture=new x3dom.nodeTypes.MultiTexture(e),this.vrcVolumeTexture=null,this.vrcSinglePassShader=new x3dom.nodeTypes.ComposedShader(e),this.vrcSinglePassShaderVertex=new x3dom.nodeTypes.ShaderPart(e),this.vrcSinglePassShaderFragment=new x3dom.nodeTypes.ShaderPart(e),this.vrcSinglePassShaderFieldVolData=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldOffset=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldDimensions=new x3dom.nodeTypes.Field(e)}),{fieldChanged:function(e){switch(e){case"surfaceValues":this.uniformFloatArraySurfaceValues._vf.value=this._vf.surfaceValues,this.uniformFloatArraySurfaceValues.fieldChanged("value");break;case"surfaceTolerance":this.uniformFloatSurfaceTolerance._vf.value=this._vf.surfaceTolerance,this.uniformFloatSurfaceTolerance.fieldChanged("value")}},uniforms:function(){var e=[];if(this._cf.gradients.node&&(this.uniformSampler2DGradients._vf.name="uSurfaceNormals",this.uniformSampler2DGradients._vf.type="SFInt32",this.uniformSampler2DGradients._vf.value=this._textureID++,e.push(this.uniformSampler2DGradients)),this.uniformFloatArraySurfaceValues._vf.name="uSurfaceValues",this.uniformFloatArraySurfaceValues._vf.type="MFFloat",this.uniformFloatArraySurfaceValues._vf.value=this._vf.surfaceValues,e.push(this.uniformFloatArraySurfaceValues),this.uniformFloatSurfaceTolerance._vf.name="uSurfaceTolerance",this.uniformFloatSurfaceTolerance._vf.type="MFFloat",this.uniformFloatSurfaceTolerance._vf.value=this._vf.surfaceTolerance,e.push(this.uniformFloatSurfaceTolerance),this._cf.renderStyle.nodes)for(var t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)this._cf.renderStyle.nodes[i].uniforms().forEach((function(t){var i=!1;e.forEach((function(e){e._vf.name==t._vf.name&&(i=!0)})),0==i&&(e=e.concat(t))}));return e},textures:function(){var e=[];if(this._cf.gradients.node){var t=this._cf.gradients.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}var i,n=this._cf.renderStyle.nodes.length;for(i=0;i<n;i++)this._cf.renderStyle.nodes[i].textures().forEach((function(t){var i=!1;e.forEach((function(e){e._vf.url[0]==t._vf.url[0]&&(i=!0)})),0==i&&(e=e.concat(t))}));return e},initializeValues:function(){for(var e=" float previous_value = 0.0;\n",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)null!=this._cf.renderStyle.nodes[i].initializeValues&&(e+=this._cf.renderStyle.nodes[i].initializeValues()+"\n");return e},styleUniformsShaderText:function(){var e="uniform float uSurfaceTolerance;\nuniform float uSurfaceValues["+this._vf.surfaceValues.length+"];\n";this._cf.gradients.node&&(e+="uniform sampler2D uSurfaceNormals;\n");for(var t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)e+=this._cf.renderStyle.nodes[i].styleUniformsShaderText()+"\n",this._cf.renderStyle.nodes[i]._cf.surfaceNormals&&null!=this._cf.renderStyle.nodes[i]._cf.surfaceNormals.node&&(this.normalTextureProvided=!0,this.surfaceNormals=this._cf.renderStyle.nodes[i]._cf.surfaceNormals.node);return this.surfaceNormalsNeeded=!0,e},inlineStyleShaderText:function(){var e=" sample = value.r;\n";if(1==this._vf.surfaceValues.length)if(0==this._vf.contourStepSize)e+=" if(((sample>=uSurfaceValues[0] && previous_value<uSurfaceValues[0])||(sample<uSurfaceValues[0] && previous_value>=uSurfaceValues[0])) && (grad.a>=uSurfaceTolerance)){\n value = vec4(vec3(uSurfaceValues[0]),1.0);\n",this._cf.renderStyle.nodes&&(e+=this._cf.renderStyle.nodes[0].inlineStyleShaderText()),e+=" accum.rgb += (1.0 - accum.a) * (value.rgb * value.a);\n accum.a += (1.0 - accum.a) * value.a;\n }\n";else{for(var t=this._vf.surfaceValues[0],i=[t],n=[],_=[];t+this._vf.contourStepSize<=1;)t+=this._vf.contourStepSize,i.push(t);for(t=this._vf.surfaceValues[0];t-this._vf.contourStepSize>=0;)t-=this._vf.contourStepSize,n.unshift(t);_=n.concat(i);for(var r=0;r<=_.length-1;r++){var o=_[r].toPrecision(3);e+=" if(((sample>="+o+" && previous_value<"+o+")||(sample<"+o+" && previous_value>="+o+")) && (grad.a>=uSurfaceTolerance)){\n value = vec4(vec3("+o+"),1.0);\n",this._cf.renderStyle.nodes&&(e+=this._cf.renderStyle.nodes[0].inlineStyleShaderText()),e+=" accum.rgb += (1.0 - accum.a) * (value.rgb * value.a);\n accum.a += (1.0 - accum.a) * value.a;\n }\n"}}else{var s=this._cf.renderStyle.nodes.length-1,a=this._vf.surfaceValues.length;for(r=0;r<a;r++){var p=Math.min(r,s);e+=" if(((sample>=uSurfaceValues["+r+"] && previous_value<uSurfaceValues["+r+"])||(sample<uSurfaceValues["+r+"] && previous_value>=uSurfaceValues["+r+"])) && (grad.a>=uSurfaceTolerance)){\n value = vec4(vec3(uSurfaceValues["+r+"]),1.0);\n",this._cf.renderStyle.nodes&&(e+=this._cf.renderStyle.nodes[p].inlineStyleShaderText()),e+=" accum.rgb += (1.0 - accum.a) * (value.rgb * value.a);\n accum.a += (1.0 - accum.a) * value.a;\n }\n"}}return e+=" previous_value = sample;\n"},styleShaderText:function(){for(var e="",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)null!=this._cf.renderStyle.nodes[i].styleShaderText&&(e+=this._cf.renderStyle.nodes[i].styleShaderText()+"\n");return e},lightAssigment:function(){return this._cf.renderStyle.nodes[0].lightAssigment()},lightEquationShaderText:function(){return this._cf.renderStyle.nodes[0].lightEquationShaderText()},nodeChanged:function(){if(!this._cf.appearance.node){this.addChild(new x3dom.nodeTypes.Appearance),this.vrcVolumeTexture=this._cf.voxels.node,this.vrcVolumeTexture._vf.repeatS=!1,this.vrcVolumeTexture._vf.repeatT=!1,this.vrcMultiTexture._nameSpace=this._nameSpace,this.vrcMultiTexture.addChild(this.vrcVolumeTexture,"texture"),this.vrcVolumeTexture.nodeChanged();var e=this.textures();for(t=0;t<e.length;t++)this.vrcMultiTexture.addChild(e[t],"texture"),this.vrcVolumeTexture.nodeChanged();this._cf.appearance.node.addChild(this.vrcMultiTexture),this.vrcMultiTexture.nodeChanged();for(var t=0;t<this._cf.renderStyle.nodes.length;t++)this._cf.renderStyle.nodes[t].updateProperties(this);this.vrcSinglePassShaderVertex._vf.type="vertex",this.vrcSinglePassShaderVertex._vf.url[0]=this.vertexShaderText(),this.vrcSinglePassShaderFragment._vf.type="fragment";var i=this.fragmentPreamble+this.defaultUniformsShaderText(this.vrcVolumeTexture._vf.numberOfSlices,this.vrcVolumeTexture._vf.slicesOverX,this.vrcVolumeTexture._vf.slicesOverY)+this.styleUniformsShaderText()+this.styleShaderText()+this.texture3DFunctionShaderText+this.normalFunctionShaderText()+this.lightEquationShaderText();i+="void main()\n{\n vec3 cam_pos = vec3(modelViewMatrixInverse[3][0], modelViewMatrixInverse[3][1], modelViewMatrixInverse[3][2]);\n vec3 cam_cube = cam_pos/dimensions+0.5;\n vec3 dir = normalize(pos.xyz-cam_cube);\n",this._vf.allowViewpointInside?i+=" float cam_inside = float(all(bvec2(all(lessThan(cam_cube, vec3(1.0))),all(greaterThan(cam_cube, vec3(0.0))))));\n vec3 ray_pos = mix(pos.xyz, cam_cube, cam_inside);\n":i+=" vec3 ray_pos = pos.xyz;\n",i+=" vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);\n float sample = 0.0;\n vec4 value = vec4(0.0, 0.0, 0.0, 0.0);\n float cont = 0.0;\n vec3 step = dir/Steps;\n",x3dom.nodeTypes.X3DLightNode.lightID>0?i+=" vec3 ambient = vec3(0.0, 0.0, 0.0);\n vec3 diffuse = vec3(0.0, 0.0, 0.0);\n vec3 specular = vec3(0.0, 0.0, 0.0);\n vec4 step_eye = modelViewMatrix * vec4(step, 0.0);\n vec4 positionE = position_eye;\n float lightFactor = 1.0;\n":i+=" float lightFactor = 1.2;\n",i+=this.initializeValues()+" float opacityFactor = 6.0;\n float t_near;\n float t_far;\n for(float i = 0.0; i < Steps; i+=1.0)\n {\n value = cTexture3D(uVolData, ray_pos, numberOfSlices, slicesOverX, slicesOverY);\n value = value.rgbr;\n",this._cf.gradients.node?i+=" vec4 gradEye = getNormalFromTexture(uSurfaceNormals, ray_pos, numberOfSlices, slicesOverX, slicesOverY);\n":i+=" vec4 gradEye = getNormalOnTheFly(uVolData, ray_pos, numberOfSlices, slicesOverX, slicesOverY);\n",i+=" vec4 grad = vec4((modelViewMatrix * vec4(gradEye.xyz, 0.0)).xyz, gradEye.a);\n";for(var n=0;n<x3dom.nodeTypes.X3DLightNode.lightID;n++)i+=" lighting(light"+n+"_Type, light"+n+"_Location, light"+n+"_Direction, light"+n+"_Color, light"+n+"_Attenuation, light"+n+"_Radius, light"+n+"_Intensity, light"+n+"_AmbientIntensity, light"+n+"_BeamWidth, light"+n+"_CutOffAngle, grad.xyz, positionE.xyz, ambient, diffuse, specular);\n";i+=this.inlineStyleShaderText(),x3dom.nodeTypes.X3DLightNode.lightID>0&&(i+=this.lightAssigment()),i+=" //advance the current position\n ray_pos.xyz += step;\n",x3dom.nodeTypes.X3DLightNode.lightID>0&&(i+=" positionE += step_eye;\n"),i+=" //break if the position is greater than <1, 1, 1>\n if(ray_pos.x > 1.0 || ray_pos.y > 1.0 || ray_pos.z > 1.0 || ray_pos.x <= 0.0 || ray_pos.y <= 0.0 || ray_pos.z <= 0.0 || accum.a>=1.0)\n break;\n }\n gl_FragColor = accum;\n}",this.vrcSinglePassShaderFragment._vf.url[0]=i,this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderVertex,"parts"),this.vrcSinglePassShaderVertex.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFragment,"parts"),this.vrcSinglePassShaderFragment.nodeChanged(),this.vrcSinglePassShaderFieldVolData._vf.name="uVolData",this.vrcSinglePassShaderFieldVolData._vf.type="SFInt32",this.vrcSinglePassShaderFieldVolData._vf.value=this._textureID++,this.vrcSinglePassShaderFieldDimensions._vf.name="dimensions",this.vrcSinglePassShaderFieldDimensions._vf.type="SFVec3f",this.vrcSinglePassShaderFieldDimensions._vf.value=this._vf.dimensions,this.vrcSinglePassShaderFieldOffset._vf.name="offset",this.vrcSinglePassShaderFieldOffset._vf.type="SFVec3f",this.vrcSinglePassShaderFieldOffset._vf.value="0.01 0.01 0.01",this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldVolData,"fields"),this.vrcSinglePassShaderFieldVolData.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldDimensions,"fields"),this.vrcSinglePassShaderFieldDimensions.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldOffset,"fields"),this.offsetInterval=window.setInterval((r=this.vrcVolumeTexture,o=this,function(){x3dom.debug.logInfo("[VolumeRendering][IsoSurfaceVolumeData] Looking for Volume Texture size...");var e=o.getTextureSize(r);e.valid&&(clearInterval(o.offsetInterval),o.vrcSinglePassShaderFieldOffset._vf.value=new x3dom.fields.SFVec3f(1/(e.w/r._vf.slicesOverX),1/(e.h/r._vf.slicesOverY),1/r._vf.numberOfSlices),o.vrcSinglePassShader.nodeChanged(),x3dom.debug.logInfo("[VolumeRendering][IsoSurfaceVolumeData] Volume Texture size obtained"))}),1e3);var _=this.uniforms();for(t=0;t<_.length;t++)this.vrcSinglePassShader.addChild(_[t],"fields");this._cf.appearance.node.addChild(this.vrcSinglePassShader),this.vrcSinglePassShader.nodeChanged(),this._cf.appearance.node.nodeChanged()}var r,o;this._cf.geometry.node||(this.addChild(new x3dom.nodeTypes.Box),this._cf.geometry.node._vf.solid=!1,this._cf.geometry.node._vf.hasHelperColors=!1,this._cf.geometry.node._vf.size=new x3dom.fields.SFVec3f(this._vf.dimensions.x,this._vf.dimensions.y,this._vf.dimensions.z),this._cf.geometry.node.fieldChanged("size"))}})),x3dom.registerNodeType("MPRVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.MPRVolumeStyle.superClass.call(this,e),this.addField_SFNode("transferFunction",x3dom.nodeTypes.Texture),this.addField_SFBool(e,"forceOpaque",!0),this.addField_MFNode("planes",x3dom.nodeTypes.MPRPlane),this.uniformSampler2DTransferFunction=new x3dom.nodeTypes.Uniform(e),this.uniformBoolForceOpaque=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"forceOpaque":this.uniformBoolForceOpaque._vf.value=this._vf.forceOpaque,this.uniformBoolForceOpaque.fieldChanged("value")}},uniforms:function(){var e=[];this._cf.transferFunction.node&&(this.uniformSampler2DTransferFunction._vf.name="uTransferFunction",this.uniformSampler2DTransferFunction._vf.type="SFInt32",this.uniformSampler2DTransferFunction._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DTransferFunction)),this.uniformBoolForceOpaque._vf.name="forceOpaque",this.uniformBoolForceOpaque._vf.type="SFBool",this.uniformBoolForceOpaque._vf.value=this._vf.forceOpaque,e.push(this.uniformBoolForceOpaque);var t,i=this._cf.planes.nodes.length;for(t=0;t<i;t++){this._cf.planes.nodes[t].uniforms().forEach((function(t){var i=!1;e.forEach((function(e){e._vf.name==t._vf.name&&(i=!0)})),0==i&&(e=e.concat(t))}))}return e},textures:function(){var e=[],t=this._cf.transferFunction.node;return t&&(t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)),e},styleUniformsShaderText:function(){var e="uniform bool forceOpaque;\n";this._cf.transferFunction.node&&(e+="uniform sampler2D uTransferFunction;\n");for(var t=0;t<this._cf.planes.nodes.length;t++)e+=this._cf.planes.nodes[t].styleUniformsShaderText();return e},fragmentShaderText:function(e,t,i){for(var n=this._parentNodes[0].fragmentPreamble+this._parentNodes[0].defaultUniformsShaderText(e,t,i)+this.styleUniformsShaderText()+this._parentNodes[0].texture3DFunctionShaderText+"void main()\n{\n vec3 cam_pos = vec3(modelViewMatrixInverse[3][0], modelViewMatrixInverse[3][1], modelViewMatrixInverse[3][2]);\n cam_pos = cam_pos/dimensions+0.5;\n vec3 dir = normalize(pos.xyz-cam_pos);\n float cam_inside = float(all(bvec2(all(lessThan(cam_pos, vec3(1.0))),all(greaterThan(cam_pos, vec3(0.0))))));\n vec3 ray_pos = mix(pos.xyz, cam_pos, cam_inside);\n float d = 1000.0;",_=0;_<this._cf.planes.nodes.length;_++)n+=this._cf.planes.nodes[_].styleShaderText();return n+=" vec4 color = vec4(0.0,0.0,0.0,0.0);\n vec3 pos = d*dir+ray_pos;\n if (!(any(bvec2(any(lessThan(pos.xyz, vec3(0.0))),any(greaterThan(pos.xyz, vec3(1.0))))))){\n pos = clamp(pos, vec3(0.0), vec3(1.0));\n vec4 intesity = cTexture3D(uVolData,pos.rgb,numberOfSlices,slicesOverX,slicesOverY);\n",this._cf.transferFunction.node?n+=" if (forceOpaque){\n color = vec4(texture2D(uTransferFunction, vec2(intesity.r,0.5)).rgb, 1.0);\n }else{\n color = texture2D(uTransferFunction, vec2(intesity.r,0.5)).rgba;\n }\n":n+=" if (forceOpaque){\n color = vec4(intesity.rgb,1.0);\n }else{\n color = intesity;\n }\n",n+=" }\n gl_FragColor = color;\n}"}})),x3dom.registerNodeType("MPRPlane","VolumeRendering",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.MPRPlane.superClass.call(this,e),this.addField_SFBool(e,"enabled",!0),this.addField_SFVec3f(e,"normal",0,1,0),this.addField_SFFloat(e,"position",.5),this.uniformBooleanEnabled=new x3dom.nodeTypes.Uniform(e),this.uniformVec3fNormal=new x3dom.nodeTypes.Uniform(e),this.uniformFloatPosition=new x3dom.nodeTypes.Uniform(e),this._planeID=0}),{nodeChanged:function(){this._planeID||(this._planeID=++x3dom.nodeTypes.MPRPlane.planeID)},fieldChanged:function(e){switch(e){case"enabled":this.uniformBooleanEnabled._vf.value=this._vf.enabled.toString(),this.uniformBooleanEnabled.fieldChanged("value");break;case"position":this.uniformFloatPosition._vf.value=Math.min(Math.max(this._vf.position,.001),.999),this.uniformFloatPosition.fieldChanged("value");break;case"normal":this.uniformVec3fNormal._vf.value=this._vf.normal,this.uniformVec3fNormal.fieldChanged("value")}},uniforms:function(){var e=[];return this.uniformBooleanEnabled._vf.name="enabledPlane"+this._planeID,this.uniformBooleanEnabled._vf.type="SFBool",this.uniformBooleanEnabled._vf.value=this._vf.enabled,e.push(this.uniformBooleanEnabled),this.uniformVec3fNormal._vf.name="normalPlane"+this._planeID,this.uniformVec3fNormal._vf.type="SFVec3f",this.uniformVec3fNormal._vf.value=this._vf.normal,e.push(this.uniformVec3fNormal),this.uniformFloatPosition._vf.name="positionPlane"+this._planeID,this.uniformFloatPosition._vf.type="SFFloat",this.uniformFloatPosition._vf.value=this._vf.position,e.push(this.uniformFloatPosition),e},styleUniformsShaderText:function(){return"uniform vec3 normalPlane"+this._planeID+";\nuniform float positionPlane"+this._planeID+";\nuniform bool enabledPlane"+this._planeID+";\n"},styleShaderText:function(){return" if(enabledPlane"+this._planeID+"){\n vec3 pointLine"+this._planeID+" = normalPlane"+this._planeID+"*positionPlane"+this._planeID+";\n float d"+this._planeID+" = dot(pointLine"+this._planeID+"-ray_pos,normalPlane"+this._planeID+")/dot(dir,normalPlane"+this._planeID+");\n float f"+this._planeID+" = step(0.0, d"+this._planeID+");\n d"+this._planeID+" = (1.0 - f"+this._planeID+") * 1000.0 + f"+this._planeID+" * d"+this._planeID+";\n d = min(d"+this._planeID+",d);\n }\n"}})),x3dom.nodeTypes.MPRPlane.planeID=0,x3dom.registerNodeType("OpacityMapVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.OpacityMapVolumeStyle.superClass.call(this,e),this.addField_SFNode("transferFunction",x3dom.nodeTypes.Texture),this.addField_SFString(e,"type","simple"),this.addField_SFFloat(e,"opacityFactor",6),this.addField_SFFloat(e,"lightFactor",1.2),this.uniformFloatOpacityFactor=new x3dom.nodeTypes.Uniform(e),this.uniformFloatLightFactor=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DTransferFunction=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableOpacityMap=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"opacityFactor":this.uniformFloatOpacityFactor._vf.value=this._vf.opacityFactor,this.uniformFloatOpacityFactor.fieldChanged("value");break;case"lightFactor":this.uniformFloatLightFactor._vf.value=this._vf.lightFactor,this.uniformFloatLightFactor.fieldChanged("value")}},uniforms:function(){var e=[];return this._cf.transferFunction.node&&(this.uniformSampler2DTransferFunction._vf.name="uTransferFunction"+this._styleID,this.uniformSampler2DTransferFunction._vf.type="SFInt32",this.uniformSampler2DTransferFunction._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DTransferFunction)),this.uniformFloatOpacityFactor._vf.name="uOpacityFactor"+this._styleID,this.uniformFloatOpacityFactor._vf.type="SFFloat",this.uniformFloatOpacityFactor._vf.value=this._vf.opacityFactor,e.push(this.uniformFloatOpacityFactor),this.uniformFloatLightFactor._vf.name="uLightFactor"+this._styleID,this.uniformFloatLightFactor._vf.type="SFFloat",this.uniformFloatLightFactor._vf.value=this._vf.lightFactor,e.push(this.uniformFloatLightFactor),this.uniformBoolEnableOpacityMap._vf.name="uEnableOpacityMap"+this._styleID,this.uniformBoolEnableOpacityMap._vf.type="SFBool",this.uniformBoolEnableOpacityMap._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableOpacityMap),e},textures:function(){var e=[],t=this._cf.transferFunction.node;return t&&(t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)),e},styleUniformsShaderText:function(){var e="uniform float uOpacityFactor"+this._styleID+";\nuniform float uLightFactor"+this._styleID+";\nuniform bool uEnableOpacityMap"+this._styleID+";\n";return this._cf.transferFunction.node&&(e+="uniform sampler2D uTransferFunction"+this._styleID+";\n"),e},inlineStyleShaderText:function(){var e=" if(uEnableOpacityMap"+this._styleID+"){\n opacityFactor = uOpacityFactor"+this._styleID+";\n lightFactor = uLightFactor"+this._styleID+";\n";return this._cf.transferFunction.node&&(e+=" value = texture2D(uTransferFunction"+this._styleID+",vec2(value.r,0.5));\n"),e+=" }\n"}})),x3dom.registerNodeType("ProjectionVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.ProjectionVolumeStyle.superClass.call(this,e),this.addField_SFFloat(e,"intensityThreshold",0),this.addField_SFString(e,"type","MAX"),this.uniformIntensityThreshold=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){"intensityThreshold"===e&&(this.uniformIntensityThreshold._vf.value=this._vf.intensityThreshold,this.uniformIntensityThreshold.fieldChanged("value"))},uniforms:function(){var e=[];return this.uniformIntensityThreshold._vf.name="uIntensityThreshold",this.uniformIntensityThreshold._vf.type="SFFloat",this.uniformIntensityThreshold._vf.value=this._vf.intensityThreshold,e.push(this.uniformIntensityThreshold),e},styleUniformsShaderText:function(){return"uniform int uType;\nuniform float uIntensityThreshold;\n"},fragmentShaderText:function(e,t,i){var n=this._parentNodes[0].fragmentPreamble+this._parentNodes[0].defaultUniformsShaderText(e,t,i)+this.styleUniformsShaderText()+this._parentNodes[0].texture3DFunctionShaderText+"void main()\n{\n vec3 cam_pos = vec3(modelViewMatrixInverse[3][0], modelViewMatrixInverse[3][1], modelViewMatrixInverse[3][2]);\n cam_pos = cam_pos/dimensions+0.5;\n vec3 dir = normalize(pos.xyz-cam_pos);\n vec3 ray_pos = pos.xyz;\n vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);\n vec4 sample = vec4(0.0, 0.0, 0.0, 0.0);\n vec4 value = vec4(0.0, 0.0, 0.0, 0.0);\n vec4 color = vec4(0.0);\n";if("max"===this._vf.type.toLowerCase()?n+="vec2 previous_value = vec2(0.0);\n":n+="vec2 previous_value = vec2(1.0);\n",n+=" float cont = 0.0;\n vec3 step_size = (dir*1.4142)/Steps;\n const float lightFactor = 1.3;\n const float opacityFactor = 3.0;\n for(float i = 0.0; i < Steps; i+=1.0)\n {\n value = cTexture3D(uVolData,ray_pos,numberOfSlices,slicesOverX,slicesOverY);\n value = vec4(value.rgb,(0.299*value.r)+(0.587*value.g)+(0.114*value.b));\n //Process the volume sample\n sample.a = value.a * opacityFactor * (1.0/Steps);\n sample.rgb = value.rgb * sample.a * lightFactor;\n accum.a += (1.0-accum.a)*sample.a;\n",this._vf.enabled)switch(this._vf.type.toLowerCase()){case"max":n+="if(value.r > uIntensityThreshold && value.r <= previous_value.x){\n break;\n}\ncolor.rgb = vec3(max(value.r, previous_value.x));\ncolor.a = (value.r > previous_value.x) ? accum.a : previous_value.y;\n";break;case"min":n+="if(value.r < uIntensityThreshold && value.r >= previous_value.x){\n break;\n}\ncolor.rgb = vec3(min(value.r, previous_value.x));\ncolor.a = (value.r < previous_value.x) ? accum.a : previous_value.y;\n";break;case"average":n+="color.rgb += (1.0 - accum.a) * sample.rgb;\ncolor.a = accum.a;\n"}return n+=" //update the previous value and keeping the accumulated alpha\n previous_value.x = color.r;\n previous_value.y = accum.a;\n //advance the current position\n ray_pos.xyz += step_size;\n //break if the position is greater than <1, 1, 1>\n if(ray_pos.x > 1.0 || ray_pos.y > 1.0 || ray_pos.z > 1.0 || ray_pos.x <= 0.0 || ray_pos.y <= 0.0 || ray_pos.z <= 0.0 || accum.a>=1.0){\n","average"==this._vf.type.toLowerCase()&&this._vf.enabled&&(n+=" if((i > 0.0) && (i < Steps-1.0)){\ncolor.rgb = color.rgb/i;\n}\n"),n+=" break;\n }\n }\n gl_FragColor = color;\n}"}})),x3dom.registerNodeType("SegmentedVolumeData","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeDataNode,(function(e){x3dom.nodeTypes.SegmentedVolumeData.superClass.call(this,e),this.addField_MFNode("renderStyle",x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode),this.addField_SFNode("segmentIdentifiers",x3dom.nodeTypes.Texture),this.addField_SFFloat(e,"numberOfMaxSegments",10),this.uniformSampler2DSegmentIdentifiers=new x3dom.nodeTypes.Uniform(e),this.normalTextureProvided=!1,this.vrcMultiTexture=new x3dom.nodeTypes.MultiTexture(e),this.vrcVolumeTexture=null,this.vrcSinglePassShader=new x3dom.nodeTypes.ComposedShader(e),this.vrcSinglePassShaderVertex=new x3dom.nodeTypes.ShaderPart(e),this.vrcSinglePassShaderFragment=new x3dom.nodeTypes.ShaderPart(e),this.vrcSinglePassShaderFieldBackCoord=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldVolData=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldOffset=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldDimensions=new x3dom.nodeTypes.Field(e)}),{fieldChanged:function(e){"numberOfMaxSegments"===e||fieldname},uniforms:function(){var e=[];if(this._cf.segmentIdentifiers.node&&(this.uniformSampler2DSegmentIdentifiers._vf.name="uSegmentIdentifiers",this.uniformSampler2DSegmentIdentifiers._vf.type="SFInt32",this.uniformSampler2DSegmentIdentifiers._vf.value=this._textureID++,e.push(this.uniformSampler2DSegmentIdentifiers)),this._cf.renderStyle.nodes){var t,i=this._cf.renderStyle.nodes.length;for(t=0;t<i;t++){this._cf.renderStyle.nodes[t].uniforms().forEach((function(t){var i=!1;e.forEach((function(e){e._vf.name==t._vf.name&&(i=!0)})),0==i&&(e=e.concat(t))}))}}return e},textures:function(){var e=[];if(this._cf.segmentIdentifiers.node){var t=this._cf.segmentIdentifiers.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}var i,n=this._cf.renderStyle.nodes.length;for(i=0;i<n;i++)this._cf.renderStyle.nodes[i].textures().forEach((function(t){var i=!1;e.forEach((function(e){e._vf.url[0]==t._vf.url[0]&&(i=!0)})),0==i&&(e=e.concat(t))}));return e},initializeValues:function(){for(var e="",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)null!=this._cf.renderStyle.nodes[i].initializeValues&&(e+=this._cf.renderStyle.nodes[i].initializeValues()+"\n");return e},styleUniformsShaderText:function(){for(var e="const float maxSegments = "+this._vf.numberOfMaxSegments.toPrecision(3)+";\nuniform sampler2D uSegmentIdentifiers;\n",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)e+=this._cf.renderStyle.nodes[i].styleUniformsShaderText()+"\n",this._cf.renderStyle.nodes[i]._cf.surfaceNormals&&null!=this._cf.renderStyle.nodes[i]._cf.surfaceNormals.node&&(e+="uniform sampler2D uSurfaceNormals;\n",this.normalTextureProvided=!0,this.surfaceNormals=this._cf.renderStyle.nodes[i]._cf.surfaceNormals.node),x3dom.isa(this._cf.renderStyle.nodes[i],x3dom.nodeTypes.OpacityMapVolumeStyle)||(this.surfaceNormalsNeeded=!0);return e},styleShaderText:function(){for(var e="",t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)null!=this._cf.renderStyle.nodes[i].styleShaderText&&(e+=this._cf.renderStyle.nodes[i].styleShaderText()+"\n");return e},inlineStyleShaderText:function(){var e="";this._cf.segmentIdentifiers.node?(e+=" float t_id = cTexture3D(uSegmentIdentifiers, ray_pos, numberOfSlices, slicesOverX, slicesOverY).r;\n int s_id = int(clamp(floor(t_id*maxSegments-0.5),0.0,maxSegments));\n opacityFactor = 10.0;\n",x3dom.nodeTypes.X3DLightNode.lightID>0?e+=" lightFactor = 1.0;\n":e+=" lightFactor = 1.2;\n"):e+=" int s_id = 0;\n";for(var t=this._cf.renderStyle.nodes.length,i=0;i<t;i++)e+=" if (s_id == "+i+"){\n"+this._cf.renderStyle.nodes[i].inlineStyleShaderText()+" }\n";return e},lightAssigment:function(){return this._cf.renderStyle.nodes[0].lightAssigment()},lightEquationShaderText:function(){return this._cf.renderStyle.nodes[0].lightEquationShaderText()},nodeChanged:function(){if(!this._cf.appearance.node){this.addChild(new x3dom.nodeTypes.Appearance),this.vrcVolumeTexture=this._cf.voxels.node,this.vrcVolumeTexture._vf.repeatS=!1,this.vrcVolumeTexture._vf.repeatT=!1,this.vrcMultiTexture._nameSpace=this._nameSpace,this.vrcMultiTexture.addChild(this.vrcVolumeTexture,"texture"),this.vrcVolumeTexture.nodeChanged();var e=this.textures();for(t=0;t<e.length;t++)this.vrcMultiTexture.addChild(e[t],"texture"),this.vrcVolumeTexture.nodeChanged();this._cf.appearance.node.addChild(this.vrcMultiTexture),this.vrcMultiTexture.nodeChanged();for(var t=0;t<this._cf.renderStyle.nodes.length;t++)this._cf.renderStyle.nodes[t].updateProperties(this);this.vrcSinglePassShaderVertex._vf.type="vertex",this.vrcSinglePassShaderVertex._vf.url[0]=this.vertexShaderText(),this.vrcSinglePassShaderFragment._vf.type="fragment";var i=this.fragmentPreamble+this.defaultUniformsShaderText(this.vrcVolumeTexture._vf.numberOfSlices,this.vrcVolumeTexture._vf.slicesOverX,this.vrcVolumeTexture._vf.slicesOverY)+this.styleUniformsShaderText()+this.styleShaderText()+this.texture3DFunctionShaderText+this.normalFunctionShaderText()+this.lightEquationShaderText()+this.defaultLoopFragmentShaderText(this.inlineStyleShaderText(),this.lightAssigment(),this.initializeValues());this.vrcSinglePassShaderFragment._vf.url[0]=i,this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderVertex,"parts"),this.vrcSinglePassShaderVertex.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFragment,"parts"),this.vrcSinglePassShaderFragment.nodeChanged(),this.vrcSinglePassShaderFieldVolData._vf.name="uVolData",this.vrcSinglePassShaderFieldVolData._vf.type="SFInt32",this.vrcSinglePassShaderFieldVolData._vf.value=this._textureID++,this.vrcSinglePassShaderFieldDimensions._vf.name="dimensions",this.vrcSinglePassShaderFieldDimensions._vf.type="SFVec3f",this.vrcSinglePassShaderFieldDimensions._vf.value=this._vf.dimensions,this.vrcSinglePassShaderFieldOffset._vf.name="offset",this.vrcSinglePassShaderFieldOffset._vf.type="SFVec3f",this.vrcSinglePassShaderFieldOffset._vf.value="0.01 0.01 0.01",this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldVolData,"fields"),this.vrcSinglePassShaderFieldVolData.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldDimensions,"fields"),this.vrcSinglePassShaderFieldDimensions.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldOffset,"fields"),this.offsetInterval=window.setInterval((_=this.vrcVolumeTexture,r=this,function(){x3dom.debug.logInfo("[VolumeRendering][SegmentedVolumeData] Looking for Volume Texture size...");var e=r.getTextureSize(_);e.valid&&(clearInterval(r.offsetInterval),r.vrcSinglePassShaderFieldOffset._vf.value=new x3dom.fields.SFVec3f(1/(e.w/_._vf.slicesOverX),1/(e.h/_._vf.slicesOverY),1/_._vf.numberOfSlices),r.vrcSinglePassShader.nodeChanged(),x3dom.debug.logInfo("[VolumeRendering][SegmentedVolumeData] Volume Texture size obtained"))}),1e3);var n=this.uniforms();for(t=0;t<n.length;t++)this.vrcSinglePassShader.addChild(n[t],"fields");this._cf.appearance.node.addChild(this.vrcSinglePassShader),this.vrcSinglePassShader.nodeChanged(),this._cf.appearance.node.nodeChanged()}var _,r;this._cf.geometry.node||(this.addChild(new x3dom.nodeTypes.Box),this._cf.geometry.node._vf.solid=!1,this._cf.geometry.node._vf.hasHelperColors=!1,this._cf.geometry.node._vf.size=new x3dom.fields.SFVec3f(this._vf.dimensions.x,this._vf.dimensions.y,this._vf.dimensions.z),this._cf.geometry.node.fieldChanged("size"))}})),x3dom.registerNodeType("ShadedVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.ShadedVolumeStyle.superClass.call(this,e),this.addField_SFNode("material",x3dom.nodeTypes.X3DMaterialNode),this.addField_SFBool(e,"lighting",!1),this.addField_SFBool(e,"shadows",!1),this.addField_SFString(e,"phaseFunction","Henyey-Greenstein"),this.uniformBoolLigthning=new x3dom.nodeTypes.Uniform(e),this.uniformBoolShadows=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DSurfaceNormals=new x3dom.nodeTypes.Uniform(e),this.uniformColorSpecular=new x3dom.nodeTypes.Uniform(e),this.uniformFloatAmbientIntensity=new x3dom.nodeTypes.Uniform(e),this.uniformFloatShininess=new x3dom.nodeTypes.Uniform(e),this.uniformFloatTransparency=new x3dom.nodeTypes.Uniform(e),this.uniformColorEmissive=new x3dom.nodeTypes.Uniform(e),this.uniformColorDiffuse=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableShaded=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"lightning":this.uniformBoolLightning._vf.value=this._vf.lightning,this.uniformBoolLightning.fieldChanged("value");break;case"shadows":this.uniformBoolShadows._vf.value=this._vf.shadows,this.uniformBoolShadows.fieldChanged("value")}},uniforms:function(){var e=[];return this._cf.surfaceNormals.node&&(this.uniformSampler2DSurfaceNormals._vf.name="uSurfaceNormals",this.uniformSampler2DSurfaceNormals._vf.type="SFInt32",this.uniformSampler2DSurfaceNormals._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DSurfaceNormals)),this.uniformBoolLigthning._vf.name="uLightning"+this._styleID,this.uniformBoolLigthning._vf.type="SFBool",this.uniformBoolLigthning._vf.value=this._vf.lighting,e.push(this.uniformBoolLigthning),this.uniformBoolShadows._vf.name="uShadows"+this._styleID,this.uniformBoolShadows._vf.type="SFBool",this.uniformBoolShadows._vf.value=this._vf.shadows,e.push(this.uniformBoolShadows),null!=this._cf.material.node&&(this.uniformColorSpecular._vf.name="specularColor"+this._styleID,this.uniformColorSpecular._vf.type="SFColor",this.uniformColorSpecular._vf.value=this._cf.material.node._vf.specularColor,e.push(this.uniformColorSpecular),this.uniformColorDiffuse._vf.name="diffuseColor"+this._styleID,this.uniformColorDiffuse._vf.type="SFColor",this.uniformColorDiffuse._vf.value=this._cf.material.node._vf.diffuseColor,e.push(this.uniformColorDiffuse),this.uniformColorEmissive._vf.name="emissiveColor"+this._styleID,this.uniformColorEmissive._vf.type="SFColor",this.uniformColorEmissive._vf.value=this._cf.material.node._vf.emissiveColor,e.push(this.uniformColorEmissive),this.uniformFloatAmbientIntensity._vf.name="ambientIntensity"+this._styleID,this.uniformFloatAmbientIntensity._vf.type="SFFloat",this.uniformFloatAmbientIntensity._vf.value=this._cf.material.node._vf.ambientIntensity,e.push(this.uniformFloatAmbientIntensity),this.uniformFloatShininess._vf.name="shininess"+this._styleID,this.uniformFloatShininess._vf.type="SFFloat",this.uniformFloatShininess._vf.value=this._cf.material.node._vf.shininess,e.push(this.uniformFloatShininess),this.uniformFloatTransparency._vf.name="transparency"+this._styleID,this.uniformFloatTransparency._vf.type="SFFloat",this.uniformFloatTransparency._vf.value=this._cf.material.node._vf.transperency,e.push(this.uniformFloatTransparency)),this.uniformBoolEnableShaded._vf.name="uEnableShaded"+this._styleID,this.uniformBoolEnableShaded._vf.type="SFBool",this.uniformBoolEnableShaded._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableShaded),e},textures:function(){var e=[];if(this._cf.surfaceNormals.node){var t=this._cf.surfaceNormals.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}return e},styleUniformsShaderText:function(){var e="uniform bool uLightning"+this._styleID+";\nuniform bool uShadows"+this._styleID+";\nuniform float fogRange;\nuniform vec3 fogColor;\nuniform float fogType;\nuniform bool uEnableShaded"+this._styleID+";\n";return this._cf.material.node&&(e+="uniform vec3 diffuseColor"+this._styleID+";\nuniform vec3 specularColor"+this._styleID+";\nuniform vec3 emissiveColor"+this._styleID+";\nuniform float shininess"+this._styleID+";\nuniform float transparency"+this._styleID+";\nuniform float ambientIntensity"+this._styleID+";\n"),e},styleShaderText:function(){return this._first?"float computeFogInterpolant(float distanceFromPoint)\n{\n if (distanceFromPoint > fogRange){\n return 0.0;\n }else if (fogType == 0.0){\n return clamp((fogRange-distanceFromPoint) / fogRange, 0.0, 1.0);\n }else{\n return clamp(exp(-distanceFromPoint / (fogRange-distanceFromPoint)), 0.0, 1.0);\n }\n}\n":""},lightEquationShaderText:function(){return this._first?"void lighting(in float lType, in vec3 lLocation, in vec3 lDirection, in vec3 lColor, in vec3 lAttenuation, in float lRadius, in float lIntensity, in float lAmbientIntensity, in float lBeamWidth, in float lCutOffAngle, in float ambientIntensity, in float shininess, in vec3 N, in vec3 V, inout vec3 ambient, inout vec3 diffuse, inout vec3 specular)\n{\n vec3 L;\n float spot = 1.0, attentuation = 0.0;\n if(lType == 0.0) {\n L = -normalize(lDirection);\n V = normalize(V);\n attentuation = 1.0;\n } else{\n L = (lLocation - (-V));\n float d = length(L);\n L = normalize(L);\n V = normalize(V);\n if(lRadius == 0.0 || d <= lRadius) {\n attentuation = 1.0 / max(lAttenuation.x + lAttenuation.y * d + lAttenuation.z * (d * d), 1.0);\n }\n if(lType == 2.0) {\n float spotAngle = acos(max(0.0, dot(-L, normalize(lDirection))));\n if(spotAngle >= lCutOffAngle) spot = 0.0;\n else if(spotAngle <= lBeamWidth) spot = 1.0;\n else spot = (spotAngle - lCutOffAngle ) / (lBeamWidth - lCutOffAngle);\n }\n }\n vec3 H = normalize( L + V );\n float NdotL = max(0.0, dot(L, N));\n float NdotH = max(0.0, dot(H, N));\n float ambientFactor = lAmbientIntensity * ambientIntensity;\n float diffuseFactor = lIntensity * NdotL;\n float specularFactor = lIntensity * pow(NdotH, shininess*128.0);\n ambient += lColor * ambientFactor * attentuation * spot;\n diffuse += lColor * diffuseFactor * attentuation * spot;\n specular += lColor * specularFactor * attentuation * spot;\n}\n":""},inlineStyleShaderText:function(){return this._first?" float fogFactor = computeFogInterpolant(length(cam_pos-ray_pos));\n":""},lightAssigment:function(){for(var e=" if(uEnableShaded"+this._styleID+"){\n",t=0;t<x3dom.nodeTypes.X3DLightNode.lightID;t++)e+=" lighting(light"+t+"_Type, light"+t+"_Location, light"+t+"_Direction, light"+t+"_Color, light"+t+"_Attenuation, light"+t+"_Radius, light"+t+"_Intensity, light"+t+"_AmbientIntensity, light"+t+"_BeamWidth, light"+t+"_CutOffAngle, ambientIntensity"+this._styleID+", shininess"+this._styleID+", grad.xyz, positionE.xyz, ambient, diffuse, specular);\n";return 1==this._vf.lighting&&(this._cf.material.node?e+=" value.rgb = (fogColor*(1.0-fogFactor))+fogFactor*(emissiveColor"+this._styleID+" + ambient*value.rgb + diffuse*diffuseColor"+this._styleID+"*value.rgb + specular*specularColor"+this._styleID+");\n value.a = value.a*(1.0-transparency"+this._styleID+");\n":e+=" value.rgb = (fogColor*(1.0-fogFactor))+fogFactor*(ambient*value.rgb + diffuse*value.rgb + specular);\n"),e+=" }\n"}})),x3dom.registerNodeType("SilhouetteEnhancementVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.SilhouetteEnhancementVolumeStyle.superClass.call(this,e),this.addField_SFFloat(e,"silhouetteBoundaryOpacity",0),this.addField_SFFloat(e,"silhouetteRetainedOpacity",1),this.addField_SFFloat(e,"silhouetteSharpness",.5),this.uniformFloatBoundaryOpacity=new x3dom.nodeTypes.Uniform(e),this.uniformFloatRetainedOpacity=new x3dom.nodeTypes.Uniform(e),this.uniformFloatSilhouetteSharpness=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DSurfaceNormals=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableSilhouette=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"silhouetteBoundaryOpacity":this.uniformFloatBoundaryOpacity._vf.value=this._vf.silhouetteBoundaryOpacity,this.uniformFloatBoundaryOpacity.fieldChanged("value");break;case"silhouetteRetainedOpacity":this.uniformFloatRetainedOpacity._vf.value=this._vf.silhouetteRetainedOpacity,this.uniformFloatRetainedOpacity.fieldChanged("value");break;case"silhouetteSharpness":this.uniformFloatSilhouetteSharpness._vf.value=this._vf.silhouetteSharpness,this.uniformFloatSilhouetteSharpness.fieldChanged("value")}},uniforms:function(){var e=[];return this._cf.surfaceNormals.node&&(this.uniformSampler2DSurfaceNormals._vf.name="uSurfaceNormals",this.uniformSampler2DSurfaceNormals._vf.type="SFInt32",this.uniformSampler2DSurfaceNormals._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DSurfaceNormals)),this.uniformFloatBoundaryOpacity._vf.name="uSilhouetteBoundaryOpacity"+this._styleID,this.uniformFloatBoundaryOpacity._vf.type="SFFloat",this.uniformFloatBoundaryOpacity._vf.value=this._vf.silhouetteBoundaryOpacity,e.push(this.uniformFloatBoundaryOpacity),this.uniformFloatRetainedOpacity._vf.name="uSilhouetteRetainedOpacity"+this._styleID,this.uniformFloatRetainedOpacity._vf.type="SFFloat",this.uniformFloatRetainedOpacity._vf.value=this._vf.silhouetteRetainedOpacity,e.push(this.uniformFloatRetainedOpacity),this.uniformFloatSilhouetteSharpness._vf.name="uSilhouetteSharpness"+this._styleID,this.uniformFloatSilhouetteSharpness._vf.type="SFFloat",this.uniformFloatSilhouetteSharpness._vf.value=this._vf.silhouetteSharpness,e.push(this.uniformFloatSilhouetteSharpness),this.uniformBoolEnableSilhouette._vf.name="uEnableSilhouette"+this._styleID,this.uniformBoolEnableSilhouette._vf.type="SFBool",this.uniformBoolEnableSilhouette._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableSilhouette),e},textures:function(){var e=[];if(null!=this._cf.surfaceNormals.node){var t=this._cf.surfaceNormals.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}return e},styleUniformsShaderText:function(){return"uniform float uSilhouetteBoundaryOpacity"+this._styleID+";\nuniform float uSilhouetteRetainedOpacity"+this._styleID+";\nuniform float uSilhouetteSharpness"+this._styleID+";\nuniform bool uEnableSilhouette"+this._styleID+";\n"},styleShaderText:function(){return this._first?"void silhouetteEnhancement(inout vec4 orig_color, in vec4 normal, in vec3 V, in float sBoundary, in float sRetained, in float sSharpness)\n{\n if(normal.w > 0.02){\n orig_color.a = orig_color.a * (sRetained + sBoundary * pow((1.0-abs(dot(normal.xyz, V))), sSharpness));\n }\n}\n\n":""},inlineStyleShaderText:function(){return" if(uEnableSilhouette"+this._styleID+"){\n silhouetteEnhancement(value, gradEye, dir, uSilhouetteBoundaryOpacity"+this._styleID+", uSilhouetteRetainedOpacity"+this._styleID+", uSilhouetteSharpness"+this._styleID+");\n }\n"}})),x3dom.registerNodeType("StippleVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.StippleVolumeStyle.superClass.call(this,e),this.addField_SFFloat(e,"distanceFactor",1),this.addField_SFFloat(e,"interiorFactor",1),this.addField_SFFloat(e,"lightingFactor",1),this.addField_SFFloat(e,"gradientThreshold",.4),this.addField_SFFloat(e,"gradientRetainedOpacity",1),this.addField_SFFloat(e,"gradientBoundaryOpacity",0),this.addField_SFFloat(e,"gradientOpacityFactor",1),this.addField_SFFloat(e,"silhouetteRetainedOpacity",1),this.addField_SFFloat(e,"silhouetteBoundaryOpacity",0),this.addField_SFFloat(e,"silhouetteOpacityFactor",1),this.addField_SFFloat(e,"resolutionFactor",1)}))),x3dom.registerNodeType("ToneMappedVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.ToneMappedVolumeStyle.superClass.call(this,e),this.addField_SFColor(e,"coolColor",0,0,1),this.addField_SFColor(e,"warmColor",1,1,0),this.uniformCoolColor=new x3dom.nodeTypes.Uniform(e),this.uniformWarmColor=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DSurfaceNormals=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableToneMapped=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"coolColor":this.uniformCoolColor._vf.value=this._vf.coolColor,this.uniformCoolColor.fieldChanged("value");break;case"warmColor":this.uniformWarmColor._vf.value=this._vf.warmColor,this.uniformWarmColor.fieldChanged("value")}},uniforms:function(){var e=[];return this._cf.surfaceNormals.node&&(this.uniformSampler2DSurfaceNormals._vf.name="uSurfaceNormals",this.uniformSampler2DSurfaceNormals._vf.type="SFInt32",this.uniformSampler2DSurfaceNormals._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DSurfaceNormals)),this.uniformCoolColor._vf.name="uCoolColor"+this._styleID,this.uniformCoolColor._vf.type="SFColor",this.uniformCoolColor._vf.value=this._vf.coolColor,e.push(this.uniformCoolColor),this.uniformWarmColor._vf.name="uWarmColor"+this._styleID,this.uniformWarmColor._vf.type="SFColor",this.uniformWarmColor._vf.value=this._vf.warmColor,e.push(this.uniformWarmColor),this.uniformBoolEnableToneMapped._vf.name="uEnableToneMapped"+this._styleID,this.uniformBoolEnableToneMapped._vf.type="SFBool",this.uniformBoolEnableToneMapped._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableToneMapped),e},textures:function(){var e=[];if(this._cf.surfaceNormals.node){var t=this._cf.surfaceNormals.node;t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)}return e},styleUniformsShaderText:function(){return"uniform vec3 uCoolColor"+this._styleID+";\nuniform vec3 uWarmColor"+this._styleID+";\nuniform bool uEnableToneMapped"+this._styleID+";\n"},styleShaderText:function(){return this._first?"void toneMapped(inout vec4 original_color, inout vec3 accum_color, in vec4 surfNormal, in vec3 lightDir, in vec3 cColor, in vec3 wColor)\n{\n if(surfNormal.a > 0.02){\n float color_factor = (1.0 + dot(lightDir, surfNormal.xyz))*0.5;\n accum_color += mix(wColor, cColor, color_factor);\n original_color.rgb = accum_color;\n }else{\n accum_color += mix(wColor, cColor, 0.5);\n original_color.rgb = accum_color;\n }\n}\n":""},inlineStyleShaderText:function(){for(var e=" if(uEnableToneMapped"+this._styleID+"){\n vec3 toneColor = vec3(0.0, 0.0, 0.0);\n vec3 L = vec3(0.0, 0.0, 0.0);\n",t=0;t<x3dom.nodeTypes.X3DLightNode.lightID;t++)e+=" L = (light"+t+"_Type == 1.0) ? normalize(light"+t+"_Location - positionE.xyz) : -light"+t+"_Direction;\n toneMapped(value, toneColor, grad, L, uCoolColor"+this._styleID+", uWarmColor"+this._styleID+");\n";return e+=" }\n"},lightAssigment:function(){return""}})),x3dom.registerNodeType("RadarVolumeStyle","VolumeRendering",defineClass(x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode,(function(e){x3dom.nodeTypes.RadarVolumeStyle.superClass.call(this,e),this.addField_SFNode("transferFunction",x3dom.nodeTypes.Texture),this.addField_SFString(e,"type","simple"),this.addField_SFFloat(e,"opacityFactor",6),this.addField_SFFloat(e,"lightFactor",1.2),this.uniformFloatOpacityFactor=new x3dom.nodeTypes.Uniform(e),this.uniformFloatLightFactor=new x3dom.nodeTypes.Uniform(e),this.uniformSampler2DTransferFunction=new x3dom.nodeTypes.Uniform(e),this.uniformBoolEnableOpacityMap=new x3dom.nodeTypes.Uniform(e)}),{fieldChanged:function(e){switch(e){case"opacityFactor":this.uniformFloatOpacityFactor._vf.value=this._vf.opacityFactor,this.uniformFloatOpacityFactor.fieldChanged("value");break;case"lightFactor":this.uniformFloatLightFactor._vf.value=this._vf.lightFactor,this.uniformFloatLightFactor.fieldChanged("value")}},uniforms:function(){var e=[];return this._cf.transferFunction.node&&(this.uniformSampler2DTransferFunction._vf.name="uTransferFunction"+this._styleID,this.uniformSampler2DTransferFunction._vf.type="SFInt32",this.uniformSampler2DTransferFunction._vf.value=this._volumeDataParent._textureID++,e.push(this.uniformSampler2DTransferFunction)),this.uniformFloatOpacityFactor._vf.name="uOpacityFactor"+this._styleID,this.uniformFloatOpacityFactor._vf.type="SFFloat",this.uniformFloatOpacityFactor._vf.value=this._vf.opacityFactor,e.push(this.uniformFloatOpacityFactor),this.uniformFloatLightFactor._vf.name="uLightFactor"+this._styleID,this.uniformFloatLightFactor._vf.type="SFFloat",this.uniformFloatLightFactor._vf.value=this._vf.lightFactor,e.push(this.uniformFloatLightFactor),this.uniformBoolEnableOpacityMap._vf.name="uEnableOpacityMap"+this._styleID,this.uniformBoolEnableOpacityMap._vf.type="SFBool",this.uniformBoolEnableOpacityMap._vf.value=this._vf.enabled,e.push(this.uniformBoolEnableOpacityMap),e},textures:function(){var e=[],t=this._cf.transferFunction.node;return t&&(t._vf.repeatS=!1,t._vf.repeatT=!1,e.push(t)),e},styleUniformsShaderText:function(){var e="uniform float uOpacityFactor"+this._styleID+";\nuniform float uLightFactor"+this._styleID+";\nuniform bool uEnableOpacityMap"+this._styleID+";\n";return this._cf.transferFunction.node&&(e+="uniform sampler2D uTransferFunction"+this._styleID+";\n"),e},inlineStyleShaderText:function(){var e=" if(uEnableOpacityMap"+this._styleID+"){\n opacityFactor = uOpacityFactor"+this._styleID+";\n lightFactor = uLightFactor"+this._styleID+";\n";return this._cf.transferFunction.node&&(e+=" if(value.r > 0.3){\n",e+=" value = texture2D(uTransferFunction"+this._styleID+",vec2(value.r,0.5));\n",e+=" }else{\n",e+=" value.a = 0.0;\n",e+=" }\n"),e+=" }\n"}})),x3dom.registerNodeType("VolumeData","VolumeRendering",defineClass(x3dom.nodeTypes.X3DVolumeDataNode,(function(e){x3dom.nodeTypes.VolumeData.superClass.call(this,e),this.addField_SFNode("renderStyle",x3dom.nodeTypes.X3DVolumeRenderStyleNode),this.vrcMultiTexture=new x3dom.nodeTypes.MultiTexture(e),this.vrcVolumeTexture=null,this.vrcSinglePassShader=new x3dom.nodeTypes.ComposedShader(e),this.vrcSinglePassShaderVertex=new x3dom.nodeTypes.ShaderPart(e),this.vrcSinglePassShaderFragment=new x3dom.nodeTypes.ShaderPart(e),this.vrcSinglePassShaderFieldBackCoord=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldVolData=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldOffset=new x3dom.nodeTypes.Field(e),this.vrcSinglePassShaderFieldDimensions=new x3dom.nodeTypes.Field(e)}),{initializeValues:function(){var e="";return null!=this._cf.renderStyle.node.initializeValues&&(e+=this._cf.renderStyle.node.initializeValues()),e},styleUniformsShaderText:function(){var e=this._cf.renderStyle.node.styleUniformsShaderText();return this.surfaceNormalsNeeded=!0,this._cf.renderStyle.node._cf.surfaceNormals&&null!=this._cf.renderStyle.node._cf.surfaceNormals.node?(e+="uniform sampler2D uSurfaceNormals;\n",this.normalTextureProvided=!0,this.surfaceNormals=this._cf.renderStyle.node._cf.surfaceNormals.node):x3dom.isa(this._cf.renderStyle.node,x3dom.nodeTypes.OpacityMapVolumeStyle)&&(this.surfaceNormalsNeeded=!1,this.normalTextureProvided=!1),e},styleShaderText:function(){var e="";return null!=this._cf.renderStyle.node.styleShaderText&&(e+=this._cf.renderStyle.node.styleShaderText()),e},inlineStyleShaderText:function(){return this._cf.renderStyle.node.inlineStyleShaderText()},lightAssigment:function(){return this._cf.renderStyle.node.lightAssigment()},lightEquationShaderText:function(){return this._cf.renderStyle.node.lightEquationShaderText()},nodeChanged:function(){if(!this._cf.appearance.node){var e;if(this.addChild(new x3dom.nodeTypes.Appearance),this.vrcVolumeTexture=this._cf.voxels.node,this.vrcVolumeTexture._vf.repeatS=!1,this.vrcVolumeTexture._vf.repeatT=!1,this.vrcMultiTexture._nameSpace=this._nameSpace,this.vrcMultiTexture.addChild(this.vrcVolumeTexture,"texture"),this.vrcVolumeTexture.nodeChanged(),this._cf.renderStyle.node.textures){var t=this._cf.renderStyle.node.textures();for(e=0;e<t.length;e++)this.vrcMultiTexture.addChild(t[e],"texture"),this.vrcVolumeTexture.nodeChanged()}this._cf.appearance.node.addChild(this.vrcMultiTexture),this.vrcMultiTexture.nodeChanged(),this._cf.renderStyle.node.updateProperties(this),this.vrcSinglePassShaderVertex._vf.type="vertex",this.vrcSinglePassShaderVertex._vf.url[0]=this.vertexShaderText(x3dom.isa(this._cf.renderStyle.node,x3dom.nodeTypes.RadarVolumeStyle)),this.vrcSinglePassShaderFragment._vf.type="fragment";var i="";x3dom.isa(this._cf.renderStyle.node,x3dom.nodeTypes.X3DComposableVolumeRenderStyleNode)?i+=this.fragmentPreamble+this.defaultUniformsShaderText(this.vrcVolumeTexture._vf.numberOfSlices,this.vrcVolumeTexture._vf.slicesOverX,this.vrcVolumeTexture._vf.slicesOverY)+this.styleUniformsShaderText()+this.styleShaderText()+this.texture3DFunctionShaderText+this.normalFunctionShaderText()+this.lightEquationShaderText()+this.defaultLoopFragmentShaderText(this.inlineStyleShaderText(),this.lightAssigment(),this.initializeValues()):i+=this._cf.renderStyle.node.fragmentShaderText(this.vrcVolumeTexture._vf.numberOfSlices,this.vrcVolumeTexture._vf.slicesOverX,this.vrcVolumeTexture._vf.slicesOverY),this.vrcSinglePassShaderFragment._vf.url[0]=i,this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderVertex,"parts"),this.vrcSinglePassShaderVertex.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFragment,"parts"),this.vrcSinglePassShaderFragment.nodeChanged(),this.vrcSinglePassShaderFieldVolData._vf.name="uVolData",this.vrcSinglePassShaderFieldVolData._vf.type="SFInt32",this.vrcSinglePassShaderFieldVolData._vf.value=this._textureID++,this.vrcSinglePassShaderFieldDimensions._vf.name="dimensions",this.vrcSinglePassShaderFieldDimensions._vf.type="SFVec3f",this.vrcSinglePassShaderFieldDimensions._vf.value=this._vf.dimensions,this.vrcSinglePassShaderFieldOffset._vf.name="offset",this.vrcSinglePassShaderFieldOffset._vf.type="SFVec3f",this.vrcSinglePassShaderFieldOffset._vf.value="0.01 0.01 0.01",this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldVolData,"fields"),this.vrcSinglePassShaderFieldVolData.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldDimensions,"fields"),this.vrcSinglePassShaderFieldDimensions.nodeChanged(),this.vrcSinglePassShader.addChild(this.vrcSinglePassShaderFieldOffset,"fields"),this.offsetInterval=window.setInterval((_=this.vrcVolumeTexture,r=this,function(){x3dom.debug.logInfo("[VolumeRendering][VolumeData] Looking for Volume Texture size...");var e=r.getTextureSize(_);e.valid&&(clearInterval(r.offsetInterval),r.vrcSinglePassShaderFieldOffset._vf.value=new x3dom.fields.SFVec3f(1/(e.w/_._vf.slicesOverX),1/(e.h/_._vf.slicesOverY),1/_._vf.numberOfSlices),r.vrcSinglePassShader.nodeChanged(),x3dom.debug.logInfo("[VolumeRendering][VolumeData] Volume Texture size obtained"))}),1e3);var n=this._cf.renderStyle.node.uniforms();for(e=0;e<n.length;e++)this.vrcSinglePassShader.addChild(n[e],"fields");this._cf.appearance.node.addChild(this.vrcSinglePassShader),this.vrcSinglePassShader.nodeChanged(),this._cf.appearance.node.nodeChanged()}var _,r;this._cf.geometry.node||(this.addChild(new x3dom.nodeTypes.Box),this._cf.geometry.node._vf.solid=!1,this._cf.geometry.node._vf.hasHelperColors=!1,this._cf.geometry.node._vf.size=new x3dom.fields.SFVec3f(this._vf.dimensions.x,this._vf.dimensions.y,this._vf.dimensions.z),this._cf.geometry.node.fieldChanged("size"))}})),x3dom.registerNodeType("IndexedQuadSet","CADGeometry",defineClass(x3dom.nodeTypes.X3DComposedGeometryNode,(function(e){x3dom.nodeTypes.IndexedQuadSet.superClass.call(this,e),this.addField_MFInt32(e,"index",[])}),{nodeChanged:function(){var e=(new Date).getTime();this.handleAttribs();var t,i,n,_,r=this._vf.colorPerVertex,o=this._vf.normalPerVertex,s=this._vf.index,a=!1,p=!1,l=!1,d=this._cf.coord.node;x3dom.debug.assert(d),t=d._vf.point;var c=this._cf.normal.node;c?(a=!0,i=c._vf.vector):a=!1;var b="",u=2,m=this._cf.texCoord.node;x3dom.isa(m,x3dom.nodeTypes.MultiTextureCoordinate)&&m._cf.texCoord.nodes.length&&(m=m._cf.texCoord.nodes[0]),m?m._vf.point?(p=!0,n=m._vf.point,x3dom.isa(m,x3dom.nodeTypes.TextureCoordinate3D)&&(u=3)):m._vf.mode&&(b=m._vf.mode):p=!1;var h,f,g=3,C=this._cf.color.node;for(C?(l=!0,_=C._vf.color,x3dom.isa(C,x3dom.nodeTypes.ColorRGBA)&&(g=4)):l=!1,this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];t.length%4>0;)t.push(t.length-1);for(t.length,f=0,h=0;h<s.length;h++)h>0&&h%4==3?(f++,this._mesh._indices[0].push(s[h-3]),this._mesh._indices[0].push(s[h-1]),this._mesh._indices[0].push(s[h])):this._mesh._indices[0].push(s[h]),!o&&a&&(this._mesh._normals[0].push(i[f].x),this._mesh._normals[0].push(i[f].y),this._mesh._normals[0].push(i[f].z)),!r&&l&&(this._mesh._colors[0].push(_[f].r),this._mesh._colors[0].push(_[f].g),this._mesh._colors[0].push(_[f].b),4===g&&this._mesh._colors[0].push(_[f].a));for(this._mesh._positions[0]=t.toGL(),a?this._mesh._normals[0]=i.toGL():this._mesh.calcNormals(o?Math.PI:0),p?(this._mesh._texCoords[0]=n.toGL(),this._mesh._numTexComponents=u):this._mesh.calcTexCoords(b),l&&r&&(this._mesh._colors[0]=_.toGL(),this._mesh._numColComponents=g),this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0,h=0;h<this._mesh._indices.length;h++)this._mesh._numFaces+=this._mesh._indices[h].length/3,this._mesh._numCoords+=this._mesh._positions[h].length/3;(new Date).getTime()},fieldChanged:function(e){var t=this._cf.coord.node._vf.point;if(t.length>x3dom.Utils.maxIndexableCoords)x3dom.debug.logWarning("IndexedQuadSet: fieldChanged with too many coordinates not yet implemented!");else if("coord"==e)this._mesh._positions[0]=t.toGL(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}));else if("color"==e){if(t=this._cf.color.node._vf.color,this._vf.colorPerVertex)this._mesh._colors[0]=t.toGL();else if(!this._vf.colorPerVertex){var i=0,n=3;x3dom.isa(this._cf.color.node,x3dom.nodeTypes.ColorRGBA)&&(n=4),this._mesh._colors[0]=[];var _,r=this._vf.index;for(_=0;_<r.length;++_)_>0&&_%3==0&&i++,this._mesh._colors[0].push(t[i].r),this._mesh._colors[0].push(t[i].g),this._mesh._colors[0].push(t[i].b),4===n&&this._mesh._colors[0].push(t[i].a)}this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}else if("normal"==e){if(t=this._cf.normal.node._vf.vector,this._vf.normalPerVertex)this._mesh._normals[0]=t.toGL();else if(!this._vf.normalPerVertex){r=this._vf.index;this._mesh._normals[0]=[];i=0;for(_=0;_<r.length;++_)_>0&&_%3==0&&i++,this._mesh._normals[0].push(t[i].x),this._mesh._normals[0].push(t[i].y),this._mesh._normals[0].push(t[i].z)}this._parentNodes.forEach((function(e){e._dirty.normals=!0}))}else if("texCoord"==e){var o=this._cf.texCoord.node;x3dom.isa(o,x3dom.nodeTypes.MultiTextureCoordinate)&&o._cf.texCoord.nodes.length&&(o=o._cf.texCoord.nodes[0]),t=o._vf.point,this._mesh._texCoords[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.texcoords=!0}))}}})),x3dom.registerNodeType("QuadSet","CADGeometry",defineClass(x3dom.nodeTypes.X3DComposedGeometryNode,(function(e){x3dom.nodeTypes.QuadSet.superClass.call(this,e)}),{nodeChanged:function(){var e=(new Date).getTime();this.handleAttribs();var t,i,n,_,r=this._vf.colorPerVertex,o=this._vf.normalPerVertex,s=!1,a=!1,p=!1,l=this._cf.coord.node;x3dom.debug.assert(l),t=l._vf.point;var d=this._cf.normal.node;d?(s=!0,i=d._vf.vector):s=!1;var c="",b=2,u=this._cf.texCoord.node;x3dom.isa(u,x3dom.nodeTypes.MultiTextureCoordinate)&&u._cf.texCoord.nodes.length&&(u=u._cf.texCoord.nodes[0]),u?u._vf.point?(a=!0,n=u._vf.point,x3dom.isa(u,x3dom.nodeTypes.TextureCoordinate3D)&&(b=3)):u._vf.mode&&(c=u._vf.mode):a=!1;var m,h,f=3,g=this._cf.color.node;for(g?(p=!0,_=g._vf.color,x3dom.isa(g,x3dom.nodeTypes.ColorRGBA)&&(f=4)):p=!1,this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];t.length%4>0;)t.push(t.length-1);for(t.length,h=0,m=0;m<t.length;m++)m>0&&m%4==3?(h++,this._mesh._indices[0].push(m-3),this._mesh._indices[0].push(m-1),this._mesh._indices[0].push(m)):this._mesh._indices[0].push(m),!o&&s&&(this._mesh._normals[0].push(i[h].x),this._mesh._normals[0].push(i[h].y),this._mesh._normals[0].push(i[h].z)),!r&&p&&(this._mesh._colors[0].push(_[h].r),this._mesh._colors[0].push(_[h].g),this._mesh._colors[0].push(_[h].b),4===f&&this._mesh._colors[0].push(_[h].a));for(this._mesh._positions[0]=t.toGL(),s?this._mesh._normals[0]=i.toGL():this._mesh.calcNormals(o?Math.PI:0),a?(this._mesh._texCoords[0]=n.toGL(),this._mesh._numTexComponents=b):this._mesh.calcTexCoords(c),p&&r&&(this._mesh._colors[0]=_.toGL(),this._mesh._numColComponents=f),this.invalidateVolume(),this._mesh._numFaces=0,this._mesh._numCoords=0,m=0;m<this._mesh._indices.length;m++)this._mesh._numFaces+=this._mesh._indices[m].length/3,this._mesh._numCoords+=this._mesh._positions[m].length/3;(new Date).getTime()},fieldChanged:function(e){var t=this._cf.coord.node._vf.point;if(t.length>x3dom.Utils.maxIndexableCoords)x3dom.debug.logWarning("QuadSet: fieldChanged with too many coordinates not yet implemented!");else if("coord"==e)this._mesh._positions[0]=t.toGL(),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()}));else if("color"==e){if(t=this._cf.color.node._vf.color,this._vf.colorPerVertex)this._mesh._colors[0]=t.toGL();else if(!this._vf.colorPerVertex){var i=0,n=3;x3dom.isa(this._cf.color.node,x3dom.nodeTypes.ColorRGBA)&&(n=4),this._mesh._colors[0]=[];var _,r=this._vf.index;for(_=0;_<r.length;++_)_>0&&_%3==0&&i++,this._mesh._colors[0].push(t[i].r),this._mesh._colors[0].push(t[i].g),this._mesh._colors[0].push(t[i].b),4===n&&this._mesh._colors[0].push(t[i].a)}this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}else if("normal"==e){if(t=this._cf.normal.node._vf.vector,this._vf.normalPerVertex)this._mesh._normals[0]=t.toGL();else if(!this._vf.normalPerVertex){r=this._vf.index;this._mesh._normals[0]=[];i=0;for(_=0;_<r.length;++_)_>0&&_%3==0&&i++,this._mesh._normals[0].push(t[i].x),this._mesh._normals[0].push(t[i].y),this._mesh._normals[0].push(t[i].z)}this._parentNodes.forEach((function(e){e._dirty.normals=!0}))}else if("texCoord"==e){var o=this._cf.texCoord.node;x3dom.isa(o,x3dom.nodeTypes.MultiTextureCoordinate)&&o._cf.texCoord.nodes.length&&(o=o._cf.texCoord.nodes[0]),t=o._vf.point,this._mesh._texCoords[0]=t.toGL(),this._parentNodes.forEach((function(e){e._dirty.texcoords=!0}))}}})),x3dom.registerNodeType("CADLayer","CADGeometry",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.CADLayer.superClass.call(this,e),this.addField_SFString(e,"name","")}))),x3dom.registerNodeType("CADAssembly","CADGeometry",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.CADAssembly.superClass.call(this,e),this.addField_SFString(e,"name","")}))),x3dom.registerNodeType("CADPart","CADGeometry",defineClass(x3dom.nodeTypes.Transform,(function(e){x3dom.nodeTypes.CADPart.superClass.call(this,e),this.addField_SFString(e,"name","")}))),x3dom.registerNodeType("CADFace","CADGeometry",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.CADFace.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_SFNode("shape",x3dom.nodeTypes.X3DShapeNode)}),{getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag()){var t=this._cf.shape.node,i=t&&t.renderFlag&&!0===t.renderFlag()?t.getVolume():null;i&&i.isValid()&&e.extendBounds(i.min,i.max)}return e},collectDrawableObjects:function(e,t,i,n,_,r){var o,s;(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!this._cf.shape.node||(_=t.cull(e,this.graphState(),i,_))<0)||(i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),s=this._graph.globalMatrix):s=this.transformMatrix(e),(o=this._cf.shape.node)&&o.collectDrawableObjects(s,t,i,n,_,r))}})),x3dom.registerNodeType("Patch","BVHRefiner",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Patch.superClass.call(this,e),this.addField_SFVec2f(e,"size",2,2),this.addField_SFVec2f(e,"subdivision",1,1),this.addField_SFVec3f(e,"center",0,0,0),this.addField_MFString(e,"primType",["TRIANGLES"]);var t=this._vf.size.x,i=this._vf.size.y,n=this._vf.subdivision.x,_=this._vf.subdivision.y;this._indexBufferTriangulationParts=[];var r=0,o=0,s=t/n/2,a=i/_/2;t/=2,i/=2;var p=2*n+1,l=2*_+1;for(o=0;o<=2*_;o++)for(r=0;r<=2*n;r++)this._mesh._positions[0].push(this._vf.center.x+r*s-t),this._mesh._positions[0].push(this._vf.center.y+o*a-i),this._mesh._positions[0].push(this._vf.center.z),this._mesh._normals[0].push(0),this._mesh._normals[0].push(0),this._mesh._normals[0].push(1),this._mesh._texCoords[0].push(r/(2*n)),this._mesh._texCoords[0].push(o/(2*_));for(o=0;o<l-2;o+=2)for(r=0;r<p-2;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(this._indexBufferTriangulationParts.push({offset:0,count:n*_*6}),o=0;o<l-2;o+=2)for(r=0;r<2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<l-2;o+=2)for(r=2;r<p-2;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*_}),o=0;o<l-2;o+=2)for(r=p-3;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<l-2;o+=2)for(r=0;r<p-4;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*_}),o=2;o<l-2;o+=2)for(r=0;r<p-2;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(o=0;o<2;o+=2)for(r=0;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*n}),o=l-3;o<l-2;o+=2)for(r=0;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<l-4;o+=2)for(r=0;r<p-2;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*n}),o=l-3;o<l-2;o+=2)for(r=p-3;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<l-4;o+=2)for(r=0;r<p-4;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(o=0;o<l-4;o+=2)for(r=p-3;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=l-3;o<l-2;o+=2)for(r=0;r<p-4;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*n+9*(_-1)+3}),o=l-3;o<l-2;o+=2)for(r=0;r<2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<l-4;o+=2)for(r=2;r<p-2;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(o=l-3;o<l-2;o+=2)for(r=2;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<l-4;o+=2)for(r=0;r<2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*n+9*(_-1)+3}),o=0;o<2;o+=2)for(r=0;r<2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=2;o<l-2;o+=2)for(r=2;r<p-2;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(o=2;o<l-2;o+=2)for(r=0;r<2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<2;o+=2)for(r=2;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*n+9*(_-1)+3}),o=0;o<2;o+=2)for(r=p-3;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=2;o<l-2;o+=2)for(r=0;r<p-4;r+=2)this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+(o+2)*p);for(o=2;o<l-2;o+=2)for(r=p-3;r<p-2;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+2+(o+1)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);for(o=0;o<2;o+=2)for(r=0;r<p-4;r+=2)this._mesh._indices[0].push(r+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+2+(o+2)*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+2+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+o*p),this._mesh._indices[0].push(r+1+(o+1)*p),this._mesh._indices[0].push(r+o*p);this._indexBufferTriangulationParts.push({offset:this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].offset+2*this._indexBufferTriangulationParts[this._indexBufferTriangulationParts.length-1].count,count:n*_*6+9*n+9*(_-1)+3}),this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3}),{hasIndexOffset:function(){return!0},getTriangulationAttributes:function(e){return this._indexBufferTriangulationParts[e]}})),x3dom.registerNodeType("BVHRefiner","BVHRefiner",defineClass(x3dom.nodeTypes.X3DLODNode,(function(e){x3dom.nodeTypes.BVHRefiner.superClass.call(this,e),this.addField_SFFloat(e,"factor",1),this.addField_SFInt32(e,"maxDepth",3),this.addField_SFInt32(e,"minDepth",0),this.addField_SFInt32(e,"smoothLoading",1),this.addField_SFInt32(e,"interactionDepth",this._vf.maxDepth),this.addField_SFVec2f(e,"size",1,1),this.addField_SFVec3f(e,"octSize",1,1,1),this.addField_SFVec2f(e,"subdivision",1,1),this.addField_SFString(e,"url",""),this.addField_SFString(e,"elevationUrl",""),this.addField_SFString(e,"textureUrl",""),this.addField_SFString(e,"normalUrl",""),this.addField_SFString(e,"mode","3d"),this.addField_SFString(e,"subMode","wmts"),this.addField_SFString(e,"elevationFormat","png"),this.addField_SFString(e,"textureFormat","png"),this.addField_SFString(e,"normalFormat","png"),this.addField_SFFloat(e,"maxElevation",1),this.addField_SFBool(e,"useNormals",!0),this.addField_SFBool(e,"lit",!0),this.addField_SFInt32(e,"bvhCount",8),this.creationSmooth=0,this.togglePoints=!0,this.nodeProducer=new NodeProducer;for(var t=0,i=0;i<=this._vf.maxDepth;i++)t+=Math.pow(4,i);if(this.nodeList=new Array(t),"bin"===this._vf.mode)this.rootNode=new QuadtreeNodeBin(e,this,0,0,0,null);else if("3d"===this._vf.mode||"2d"===this._vf.mode){var n=new x3dom.nodeTypes.Plane(e);n._vf.subdivision.setValues(this._vf.subdivision),n.fieldChanged("subdivision"),n._vf.size.setValues(this._vf.size),"2d"===this._vf.mode?"wmts"===this._vf.subMode?this.rootNode=new QuadtreeNode2dWMTS(e,this,0,0,x3dom.fields.SFMatrix4f.identity(),0,0,n):this.rootNode=new QuadtreeNode2D(e,this,0,0,x3dom.fields.SFMatrix4f.identity(),0,0,n,"/",1):"32bit"===this._vf.subMode?this.rootNode=new QuadtreeNode3D_32bit(e,this,0,0,x3dom.fields.SFMatrix4f.identity(),0,0,n):(n=new x3dom.nodeTypes.Patch(e),this.rootNode=new QuadtreeNode3D(e,this,0,0,x3dom.fields.SFMatrix4f.identity(),0,0,n))}else"bvh"===this._vf.mode?this.rootNode=new BVHNode(e,this,0,"/",1,this._vf.bvhCount):x3dom.debug.logError("Error attribute mode. Value: '"+this._vf.mode+"' isn't conform. Please use type 'bin', '2d' or '3d'")}),{visitChildren:function(e,t,i,n,_){var r=this._nameSpace.doc._x3dElem;"oct"===this._vf.mode?(r.runtime.isReady&&this.togglePoints&&(r.runtime.togglePoints(),this.togglePoints=!1,this.view=t.viewarea),this.creationSmooth++,i=!1,n=!0,this.rootNode.collectDrawables(e,t,i,n,_),this.view.isMovingOrAnimating()||this.creationSmooth%this._vf.smoothLoading!=0||this.nodeProducer.CreateNewNode()):(r.runtime.isReady&&this.togglePoints&&(this.view=r.runtime.canvas.doc._viewarea,this.togglePoints=!1),this.createChildren=0,this.creationSmooth++,i=!1,n=!0,this.rootNode.collectDrawables(e,t,i,n,_),this.view.isMovingOrAnimating()||this.creationSmooth%this._vf.smoothLoading!=0||this.nodeProducer.CreateNewNode())},getVolume:function(){var e=this._graph.volume;if(!this.volumeValid()&&this.renderFlag&&this.renderFlag()){var t=this.rootNode.getVolume();t&&t.isValid()&&e.extendBounds(t.min,t.max)}return e}})),x3dom.registerNodeType("Snout","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Snout.superClass.call(this,e),this.addField_SFFloat(e,"dbottom",1),this.addField_SFFloat(e,"dtop",.5),this.addField_SFFloat(e,"height",1),this.addField_SFFloat(e,"xoff",.25),this.addField_SFFloat(e,"yoff",.25),this.addField_SFBool(e,"bottom",!0),this.addField_SFBool(e,"top",!0),this.addField_SFFloat(e,"subdivision",32),this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e,t,i,n,_,r=this._vf.dbottom/2,o=this._vf.height,s=this._vf.dtop/2,a=this._vf.subdivision,p=2*Math.PI/a,l=(r-s)/o,d=1/Math.sqrt(1+l*l),c=0,b=0;if(o>0){var u=0,m=0;for(c=0,b=0;c<=a;c++)e=c*p,t=Math.sin(e),i=-Math.cos(e),u=t*s+this._vf.xoff,m=i*s+this._vf.yoff,this._mesh._positions[0].push(u,o/2,m),this._mesh._normals[0].push(t/d,l/d,i/d),this._mesh._texCoords[0].push(1-c/a,1),this._mesh._positions[0].push(t*r,-o/2,i*r),this._mesh._normals[0].push(t/d,l/d,i/d),this._mesh._texCoords[0].push(1-c/a,0),c>0&&(this._mesh._indices[0].push(b),this._mesh._indices[0].push(b+2),this._mesh._indices[0].push(b+1),this._mesh._indices[0].push(b+1),this._mesh._indices[0].push(b+2),this._mesh._indices[0].push(b+3),b+=2)}if(r>0&&this._vf.bottom){for(_=this._mesh._positions[0].length/3,c=a-1;c>=0;c--)e=c*p,t=r*Math.sin(e),i=-r*Math.cos(e),this._mesh._positions[0].push(t,-o/2,i),this._mesh._normals[0].push(0,-1,0),this._mesh._texCoords[0].push(t/r/2+.5,i/r/2+.5);for(n=_+1,c=2;c<a;c++)this._mesh._indices[0].push(n),this._mesh._indices[0].push(_),n=_+c,this._mesh._indices[0].push(n)}if(s>x3dom.fields.Eps&&this._vf.top){for(_=this._mesh._positions[0].length/3,c=a-1;c>=0;c--)e=c*p,t=s*Math.sin(e),i=-s*Math.cos(e),this._mesh._positions[0].push(t+this._vf.xoff,o/2,i+this._vf.yoff),this._mesh._normals[0].push(0,1,0),this._mesh._texCoords[0].push(t/s/2+.5,1-i/s/2+.5);for(n=_+1,c=2;c<a;c++)this._mesh._indices[0].push(_),this._mesh._indices[0].push(n),n=_+c,this._mesh._indices[0].push(n)}this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"dtop"!=e&&"dbottom"!=e&&"height"!=e&&"subdivision"!=e&&"xoff"!=e&&"yoff"!=e&&"bottom"!=e&&"top"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("Dish","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Dish.superClass.call(this,e),this.addField_SFFloat(e,"diameter",2),this.addField_SFFloat(e,"height",1),this.addField_SFFloat(e,"radius",this._vf.diameter/2),this.addField_SFBool(e,"bottom",!0),this.addField_SFVec2f(e,"subdivision",24,24),this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e=2*Math.PI,t=Math.PI/2,i=this._vf.diameter/2,n=this._vf.radius;n=0==n||Math.abs(i-n)<=x3dom.fields.Eps?i:n;var _,r,o,s,a,p,l,d,c,b,u,m,h=Math.min(this._vf.height,n),f=n-h,g=i,C=n,S=i,y=this._vf.subdivision.x,v=this._vf.subdivision.y,x=this._vf.ccw?1:-1,M=t-Math.asin(1-h/n),T=Math.ceil(y/t*M),D=[],P=[];for(_=0;_<=y;_++){for(o=T==_?M:_*t/y,s=Math.sin(o),a=Math.cos(o),r=0;r<=v;r++)p=r*e/v,l=Math.sin(p),d=g*(-Math.cos(p)*s),c=C*a,b=S*(-l*s),u=.25-r/v,m=_/y,this._mesh._positions[0].push(d,c-f,b),this._mesh._texCoords[0].push(u,m),this._mesh._normals[0].push(x*d/(g*g),x*c/(C*C),x*b/(S*S)),_!=y&&T!=_||(D.push(d,c-f,b),P.push(u,m));if(T==_)break}for(_=0;_<y&&T!=_;_++)for(r=0;r<v;r++){var w=_*(v+1)+r,A=w+v+1;this._mesh._indices[0].push(w+1),this._mesh._indices[0].push(A),this._mesh._indices[0].push(w),this._mesh._indices[0].push(w+1),this._mesh._indices[0].push(A+1),this._mesh._indices[0].push(A)}if(this._vf.bottom)for(var F=this._mesh._positions[0].length/3,R=F+1,I=0,B=D.length/3;I<B;I++){var V=3*I;this._mesh._positions[0].push(D[V]),this._mesh._positions[0].push(D[V+1]),this._mesh._positions[0].push(D[V+2]),V=2*I,this._mesh._texCoords[0].push(P[V]),this._mesh._texCoords[0].push(P[V+1]),this._mesh._normals[0].push(0,-1*x,0),I>=2&&(this._mesh._indices[0].push(F),this._mesh._indices[0].push(R),R=F+I,this._mesh._indices[0].push(R))}this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"radius"!=e&&"height"!=e&&"diameter"!=e&&"subdivision"!=e&&"bottom"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("Pyramid","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Pyramid.superClass.call(this,e),this.addField_SFFloat(e,"xbottom",1),this.addField_SFFloat(e,"ybottom",1),this.addField_SFFloat(e,"xtop",.5),this.addField_SFFloat(e,"ytop",.5),this.addField_SFFloat(e,"height",1),this.addField_SFFloat(e,"xoff",.25),this.addField_SFFloat(e,"yoff",.25);var t=this._vf.xtop/2,i=this._vf.ytop/2,n=this._vf.xbottom/2,_=this._vf.ybottom/2,r=this._vf.xoff,o=this._vf.yoff,s=this._vf.height/2;this._mesh._positions[0]=[-n,-s,-_,-t+r,s,-i+o,t+r,s,-i+o,n,-s,-_,-n,-s,_,-t+r,s,i+o,t+r,s,i+o,n,-s,_,-n,-s,-_,-n,-s,_,-t+r,s,i+o,-t+r,s,-i+o,n,-s,-_,n,-s,_,t+r,s,i+o,t+r,s,-i+o,-t+r,s,-i+o,-t+r,s,i+o,t+r,s,i+o,t+r,s,-i+o,-n,-s,-_,-n,-s,_,n,-s,_,n,-s,-_],this._mesh._texCoords[0]=[1,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,0,0,0,0,1,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,0],this._mesh._indices[0]=[0,1,2,2,3,0,6,5,4,4,7,6,8,9,10,10,11,8,12,15,14,14,13,12,16,17,18,18,19,16,20,23,22,22,21,20],this._mesh.calcNormals(Math.PI,this._vf.ccw),this._mesh._invalidate=!0,this._mesh._numFaces=12,this._mesh._numCoords=24}),{fieldChanged:function(e){if("xbottom"==e||"ybottom"==e||"xtop"==e||"ytop"==e||"xoff"==e||"yoff"==e||"height"==e){var t=this._vf.xtop/2,i=this._vf.ytop/2,n=this._vf.xbottom/2,_=this._vf.ybottom/2,r=this._vf.xoff,o=this._vf.yoff,s=this._vf.height/2;this._mesh._positions[0]=[-n,-s,-_,-t+r,s,-i+o,t+r,s,-i+o,n,-s,-_,-n,-s,_,-t+r,s,i+o,t+r,s,i+o,n,-s,_,-n,-s,-_,-n,-s,_,-t+r,s,i+o,-t+r,s,-i+o,n,-s,-_,n,-s,_,t+r,s,i+o,t+r,s,-i+o,-t+r,s,-i+o,-t+r,s,i+o,t+r,s,i+o,t+r,s,-i+o,-n,-s,-_,-n,-s,_,n,-s,_,n,-s,-_],this._mesh._normals[0]=[],this._mesh.calcNormals(Math.PI,this._vf.ccw),this.invalidateVolume(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()}))}}})),x3dom.registerNodeType("RectangularTorus","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.RectangularTorus.superClass.call(this,e),this.addField_SFFloat(e,"innerRadius",.5),this.addField_SFFloat(e,"outerRadius",1),this.addField_SFFloat(e,"height",1),this.addField_SFFloat(e,"angle",2*Math.PI),this.addField_SFBool(e,"caps",!0),this.addField_SFFloat(e,"subdivision",32),this._origCCW=this._vf.ccw,this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e=2*Math.PI;if(this._vf.ccw=!this._origCCW,this._vf.angle<0?this._vf.angle=0:this._vf.angle>e&&(this._vf.angle=e),this._vf.innerRadius>this._vf.outerRadius){var t=this._vf.innerRadius;this._vf.innerRadius=this._vf.outerRadius,this._vf.outerRadius=t}var i,n,_,r,o,s,a,p=this._vf.innerRadius,l=this._vf.outerRadius,d=this._vf.height/2,c=this._vf.angle,b=this._vf.subdivision,u=c/b;for(o=0,r=0;o<=b;o++)i=o*u,n=l*(s=Math.cos(i)),_=l*(a=-Math.sin(i)),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(s,0,a),this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(s,0,a),o>0&&(this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+3),r+=2);for(o=0,r+=2;o<=b;o++)i=o*u,n=p*(s=Math.cos(i)),_=p*(a=-Math.sin(i)),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(-s,0,-a),this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(-s,0,-a),o>0&&(this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+3),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2),r+=2);for(o=0,r+=2;o<=b;o++)i=o*u,n=l*(s=Math.cos(i)),_=l*(a=-Math.sin(i)),this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(0,1,0),n=p*s,_=p*a,this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(0,1,0),o>0&&(this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+3),r+=2);for(o=0,r+=2;o<=b;o++)i=o*u,n=l*(s=Math.cos(i)),_=l*(a=-Math.sin(i)),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(0,-1,0),n=p*s,_=p*a,this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(0,-1,0),o>0&&(this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+3),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2),r+=2);c<e&&1==this._vf.caps&&(r+=2,n=l,_=0,this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(0,0,1),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(0,0,1),n=p,_=0,this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(0,0,1),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(0,0,1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+3),r+=4,n=l*(s=Math.cos(c)),_=l*(a=-Math.sin(c)),this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(a,0,-s),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(a,0,-s),n=p*s,_=p*a,this._mesh._positions[0].push(n,d,_),this._mesh._normals[0].push(a,0,-s),this._mesh._positions[0].push(n,-d,_),this._mesh._normals[0].push(a,0,-s),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+3),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2)),this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"innerRadius"!=e&&"outerRadius"!=e&&"height"!=e&&"angle"!=e&&"subdivision"!=e&&"caps"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("SlopedCylinder","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.SlopedCylinder.superClass.call(this,e),this.addField_SFFloat(e,"radius",1),this.addField_SFFloat(e,"height",2),this.addField_SFBool(e,"bottom",!0),this.addField_SFBool(e,"top",!0),this.addField_SFFloat(e,"xtshear",.26179),this.addField_SFFloat(e,"ytshear",0),this.addField_SFFloat(e,"xbshear",.26179),this.addField_SFFloat(e,"ybshear",0),this.addField_SFFloat(e,"subdivision",32),this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e,t,i,n,_,r,o,s,a=this._vf.xtshear,p=this._vf.ytshear,l=this._vf.xbshear,d=this._vf.ybshear,c=this._vf.subdivision,b=this._vf.radius,u=this._vf.height/2,m=2*Math.PI/c;for(_=0,r=0;_<=c;_++)e=_*m,t=Math.sin(e),n=-Math.cos(e),this._mesh._positions[0].push(t*b,t*l-u+n*d,n*b),this._mesh._texCoords[0].push(1-_/c,0),this._mesh._positions[0].push(t*b,u+t*a+n*p,n*b),this._mesh._texCoords[0].push(1-_/c,1),_>0&&(this._mesh._indices[0].push(r),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+2),this._mesh._indices[0].push(r+1),this._mesh._indices[0].push(r+3),r+=2);if(this._vf.top&&b>0){for(s=this._mesh._positions[0].length/3,_=c-1;_>=0;_--)r=6*_,t=this._mesh._positions[0][r+3],i=this._mesh._positions[0][r+4],n=this._mesh._positions[0][r+5],this._mesh._positions[0].push(t,i,n),this._mesh._texCoords[0].push(t/2+.5,-n/2+.5);for(o=s+1,_=2;_<c;_++)this._mesh._indices[0].push(s),this._mesh._indices[0].push(o),o=s+_,this._mesh._indices[0].push(o)}if(this._vf.bottom&&b>0){for(s=this._mesh._positions[0].length/3,_=c-1;_>=0;_--)r=6*_,t=this._mesh._positions[0][r],i=this._mesh._positions[0][r+1],n=this._mesh._positions[0][r+2],this._mesh._positions[0].push(t,i,n),this._mesh._texCoords[0].push(t/2+.5,n/2+.5);for(o=s+1,_=2;_<c;_++)this._mesh._indices[0].push(o),this._mesh._indices[0].push(s),o=s+_,this._mesh._indices[0].push(o)}this._mesh.calcNormals(Math.PI,this._vf.ccw);var h=new x3dom.fields.SFVec3f(this._mesh._normals[0][0],this._mesh._normals[0][1],this._mesh._normals[0][2]),f=new x3dom.fields.SFVec3f(this._mesh._normals[0][3],this._mesh._normals[0][4],this._mesh._normals[0][5]);r=6*c;var g=new x3dom.fields.SFVec3f(this._mesh._normals[0][r],this._mesh._normals[0][r+1],this._mesh._normals[0][r+2]),C=new x3dom.fields.SFVec3f(this._mesh._normals[0][r+3],this._mesh._normals[0][r+4],this._mesh._normals[0][r+5]),S=h.add(g).normalize(),y=f.add(C).normalize();this._mesh._normals[0][0]=S.x,this._mesh._normals[0][1]=S.y,this._mesh._normals[0][2]=S.z,this._mesh._normals[0][3]=y.x,this._mesh._normals[0][4]=y.y,this._mesh._normals[0][5]=y.z,this._mesh._normals[0][r]=S.x,this._mesh._normals[0][r+1]=S.y,this._mesh._normals[0][r+2]=S.z,this._mesh._normals[0][r+3]=y.x,this._mesh._normals[0][r+4]=y.y,this._mesh._normals[0][r+5]=y.z,this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"xtshear"!=e&&"ytshear"!=e&&"xbshear"!=e&&"ybshear"!=e&&"radius"!=e&&"height"!=e&&"bottom"!=e&&"top"!=e&&"subdivision"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("Nozzle","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.Nozzle.superClass.call(this,e),this.addField_SFFloat(e,"nozzleHeight",.1),this.addField_SFFloat(e,"nozzleRadius",.6),this.addField_SFFloat(e,"height",1),this.addField_SFFloat(e,"outerRadius",.5),this.addField_SFFloat(e,"innerRadius",.4),this.addField_SFFloat(e,"subdivision",32),this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e=2*Math.PI,t=this._vf.subdivision,i=this._vf.height,n=i/2;if(this._vf.innerRadius>this._vf.outerRadius){var _=this._vf.innerRadius;this._vf.innerRadius=this._vf.outerRadius,this._vf.outerRadius=_}var r=this._vf.innerRadius,o=this._vf.outerRadius;this._vf.nozzleRadius<o&&(this._vf.nozzleRadius=o);var s=this._vf.nozzleRadius;this._vf.nozzleHeight>i&&(this._vf.nozzleHeight=i);var a,p,l,d,c,b,u,m,h=this._vf.nozzleHeight;for(p=e/t,b=0,c=0;b<=t;b++)a=b*p,l=o*(u=Math.sin(a)),d=o*(m=-Math.cos(a)),this._mesh._positions[0].push(l,-n,d),this._mesh._normals[0].push(u,0,m),this._mesh._positions[0].push(l,i-h-n,d),this._mesh._normals[0].push(u,0,m),b>0&&(this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+3),c+=2);for(b=0,c+=2;b<=t;b++)a=b*p,l=r*(u=Math.sin(a)),d=r*(m=-Math.cos(a)),this._mesh._positions[0].push(l,-n,d),this._mesh._normals[0].push(-u,0,-m),this._mesh._positions[0].push(l,i-h-n,d),this._mesh._normals[0].push(-u,0,-m),b>0&&(this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+3),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),c+=2);for(b=0,c+=2;b<=t;b++)a=b*p,l=o*(u=Math.sin(a)),d=o*(m=-Math.cos(a)),this._mesh._positions[0].push(l,-n,d),this._mesh._normals[0].push(0,-1,0),l=r*u,d=r*m,this._mesh._positions[0].push(l,-n,d),this._mesh._normals[0].push(0,-1,0),b>0&&(this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+3),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),c+=2);for(b=0,c+=2;b<=t;b++)a=b*p,l=s*(u=Math.sin(a)),d=s*(m=-Math.cos(a)),this._mesh._positions[0].push(l,i-h-n,d),this._mesh._normals[0].push(u,0,m),this._mesh._positions[0].push(l,n,d),this._mesh._normals[0].push(u,0,m),b>0&&(this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+3),c+=2);for(b=0,c+=2;b<=t;b++)a=b*p,l=r*(u=Math.sin(a)),d=r*(m=-Math.cos(a)),this._mesh._positions[0].push(l,i-h-n,d),this._mesh._normals[0].push(-u,0,-m),this._mesh._positions[0].push(l,n,d),this._mesh._normals[0].push(-u,0,-m),b>0&&(this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+3),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),c+=2);for(b=0,c+=2;b<=t;b++)a=b*p,l=s*(u=Math.sin(a)),d=s*(m=-Math.cos(a)),this._mesh._positions[0].push(l,i-h-n,d),this._mesh._normals[0].push(0,-1,0),l=o*u,d=o*m,this._mesh._positions[0].push(l,i-h-n,d),this._mesh._normals[0].push(0,-1,0),b>0&&(this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+3),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),c+=2);for(b=0,c+=2;b<=t;b++)a=b*p,l=s*(u=Math.sin(a)),d=s*(m=-Math.cos(a)),this._mesh._positions[0].push(l,n,d),this._mesh._normals[0].push(0,1,0),l=r*u,d=r*m,this._mesh._positions[0].push(l,n,d),this._mesh._normals[0].push(0,1,0),b>0&&(this._mesh._indices[0].push(c),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+2),this._mesh._indices[0].push(c+1),this._mesh._indices[0].push(c+3),c+=2);this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"nozzleHeight"!=e&&"nozzleRadius"!=e&&"height"!=e&&"outerRadius"!=e&&"innerRadius"!=e&&"subdivision"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("SolidOfRevolution","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.SolidOfRevolution.superClass.call(this,e),this.addField_SFFloat(e,"creaseAngle",0),this.addField_MFVec2f(e,"crossSection",[]),this.addField_SFFloat(e,"angle",2*Math.PI),this.addField_SFBool(e,"caps",!0),this.addField_SFFloat(e,"subdivision",32),this._origCCW=this._vf.ccw,this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e=2*Math.PI;this._vf.angle<-e?this._vf.angle=-e:this._vf.angle>e&&(this._vf.angle=e);var t,i,n,_,r=this._vf.crossSection,o=this._vf.angle,s=this._vf.subdivision,a=r.length;if(a<1)x3dom.debug.logWarning("SolidOfRevolution requires crossSection curve.");else{var p,l=a>2&&r[0].equals(r[a-1],x3dom.fields.Eps),d=e-Math.abs(o)<=x3dom.fields.Eps,c=o/s,b=[],u=[];this._vf.ccw=o<0?this._origCCW:!this._origCCW,l||(Math.abs(r[a-1].y)>x3dom.fields.Eps&&r.push(new x3dom.fields.SFVec2f(r[a-1].x,0)),Math.abs(r[0].y)>x3dom.fields.Eps&&r.unshift(new x3dom.fields.SFVec2f(r[0].x,0)),a=r.length);var m=null,h=null,f=null,g=[];for(i=0;i<a;i++)m&&(h&&(f=h),h=m),m=new x3dom.fields.SFVec3f(r[i].x,0,r[i].y),i>=2&&(p=(p=m.subtract(h).normalize()).dot(h.subtract(f).normalize()),(p=Math.abs(Math.cos(p)))>this._vf.creaseAngle&&(u.push(x3dom.fields.SFVec3f.copy(h)),g.push(!0))),u.push(m),g.push(!1);for(a=u.length,t=0,p=0;t<=s;t++,p+=c){var C=x3dom.fields.SFMatrix4f.rotationX(p);for(i=0;i<a;i++)m=C.multMatrixPnt(u[i]),b.push(m),this._mesh._positions[0].push(m.x,m.y,m.z),t>0&&i>0&&(this._mesh._indices[0].push((t-1)*a+(i-1),(t-1)*a+i,t*a+i),this._mesh._indices[0].push(t*a+i,t*a+(i-1),(t-1)*a+(i-1)))}if(!d&&1==this._vf.caps){var S=new x3dom.DoublyLinkedList;for(_=this._mesh._positions[0].length/3,i=0,t=0;i<a;i++)g[i]||(S.appendNode(new x3dom.DoublyLinkedList.ListNode(b[i],t++)),m=b[i],this._mesh._positions[0].push(m.x,m.y,m.z));var y=x3dom.EarClipping.getIndexes(S);for(i=y.length-1;i>=0;i--)this._mesh._indices[0].push(_+y[i]);for(_=this._mesh._positions[0].length/3,i=0;i<a;i++)g[i]||(m=b[a*s+i],this._mesh._positions[0].push(m.x,m.y,m.z));for(i=0;i<y.length;i++)this._mesh._indices[0].push(_+y[i])}if(this._mesh.calcNormals(Math.PI,this._vf.ccw),d)for(_=3*a*s,i=0;i<a;i++)n=3*i,this._mesh._normals[0][_+n]=this._mesh._normals[0][n],this._mesh._normals[0][_+n+1]=this._mesh._normals[0][n+1],this._mesh._normals[0][_+n+2]=this._mesh._normals[0][n+2];this._mesh.calcTexCoords(""),this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3}},fieldChanged:function(e){"crossSection"!=e&&"angle"!=e&&"caps"!=e&&"subdivision"!=e&&"creaseAngle"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("SphereSegment","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DSpatialGeometryNode,(function(e){x3dom.nodeTypes.SphereSegment.superClass.call(this,e),this.addField_SFFloat(e,"radius",1),this.addField_MFFloat(e,"longitude",[]),this.addField_MFFloat(e,"latitude",[]),this.addField_SFVec2f(e,"stepSize",1,1);var t,i,n,_,r,o,s,a,p,l,d,c,b,u,m=this._vf.radius,h=this._vf.longitude,f=this._vf.latitude,g=this._vf.ccw?1:-1,C=h.length,S=f.length,y=C;for(n=0;n<=S;n++)for(r=(f[n]+90)*Math.PI/180,o=Math.sin(r),s=Math.cos(r),_=0;_<=y;_++)a=h[_]*Math.PI/180,p=Math.sin(a),l=-Math.cos(a)*o,d=-s,c=-p*o,b=_/(y-1),u=n/(S-1),this._mesh._positions[0].push(m*l,m*d,m*c),this._mesh._normals[0].push(g*l,g*d,g*c),this._mesh._texCoords[0].push(b,u);for(n=0;n<S;n++)for(_=0;_<y;_++)i=(t=n*(y+1)+_)+y+1,this._mesh._indices[0].push(t),this._mesh._indices[0].push(i),this._mesh._indices[0].push(t+1),this._mesh._indices[0].push(i),this._mesh._indices[0].push(i+1),this._mesh._indices[0].push(t+1);this._mesh._invalidate=!0,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3}))),x3dom.registerNodeType("ElevationGrid","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.ElevationGrid.superClass.call(this,e),this.addField_SFBool(e,"colorPerVertex",!0),this.addField_SFBool(e,"normalPerVertex",!0),this.addField_SFFloat(e,"creaseAngle",0),this.addField_MFNode("attrib",x3dom.nodeTypes.X3DVertexAttributeNode),this.addField_SFNode("normal",x3dom.nodeTypes.Normal),this.addField_SFNode("color",x3dom.nodeTypes.X3DColorNode),this.addField_SFNode("texCoord",x3dom.nodeTypes.X3DTextureCoordinateNode),this.addField_MFFloat(e,"height",[]),this.addField_SFInt32(e,"xDimension",0),this.addField_SFFloat(e,"xSpacing",1),this.addField_SFInt32(e,"zDimension",0),this.addField_SFFloat(e,"zSpacing",1)}),{nodeChanged:function(){this._mesh._indices[0]=[],this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._colors[0]=[];var e=0,t=0,i=this._vf.xDimension-1,n=this._vf.zDimension-1,_=this._vf.height;x3dom.debug.assert(_.length>=this._vf.xDimension*this._vf.zDimension,"Too few height values for given x/zDimension!");var r=null,o=null,s=null;this._cf.normal.node&&(r=this._cf.normal.node._vf.vector);var a,p=2,l=this._cf.texCoord.node;x3dom.isa(l,x3dom.nodeTypes.MultiTextureCoordinate)&&l._cf.texCoord.nodes.length&&(l=l._cf.texCoord.nodes[0]),l&&(l._vf.point?(o=l._vf.point,x3dom.isa(l,x3dom.nodeTypes.TextureCoordinate3D)&&(p=3)):l._vf.mode&&(a=l._vf.mode));var d=3;this._cf.color.node&&(s=this._cf.color.node._vf.color,x3dom.isa(this._cf.color.node,x3dom.nodeTypes.ColorRGBA)&&(d=4));var c=0;for(t=0;t<=n;t++)for(e=0;e<=i;e++)this._mesh._positions[0].push(e*this._vf.xSpacing),this._mesh._positions[0].push(_[c]),this._mesh._positions[0].push(t*this._vf.zSpacing),r&&this._vf.normalPerVertex&&(this._mesh._normals[0].push(r[c].x),this._mesh._normals[0].push(r[c].y),this._mesh._normals[0].push(r[c].z)),o?(this._mesh._texCoords[0].push(o[c].x),this._mesh._texCoords[0].push(o[c].y),3===p&&this._mesh._texCoords[0].push(o[c].z)):(this._mesh._texCoords[0].push(e/i),this._mesh._texCoords[0].push(t/n)),s&&this._vf.colorPerVertex&&(this._mesh._colors[0].push(s[c].r),this._mesh._colors[0].push(s[c].g),this._mesh._colors[0].push(s[c].b),4===d&&this._mesh._colors[0].push(s[c].a)),c++;for(t=1;t<=n;t++)for(e=0;e<i;e++)this._mesh._indices[0].push((t-1)*(i+1)+e),this._mesh._indices[0].push(t*(i+1)+e),this._mesh._indices[0].push((t-1)*(i+1)+e+1),this._mesh._indices[0].push(t*(i+1)+e),this._mesh._indices[0].push(t*(i+1)+e+1),this._mesh._indices[0].push((t-1)*(i+1)+e+1);r||this._mesh.calcNormals(Math.PI,this._vf.ccw),a&&this._mesh.calcTexCoords(a),this.invalidateVolume(),this._mesh._numTexComponents=p,this._mesh._numColComponents=d,this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){var t,i,n=null;if(this._cf.normal.node&&(n=this._cf.normal.node._vf.vector),"height"==e){i=this._mesh._positions[0].length/3;var _=this._vf.height;for(t=0;t<i;t++)this._mesh._positions[0][3*t+1]=_[t];n||(this._mesh._normals[0]=[],this._mesh.calcNormals(Math.PI,this._vf.ccw)),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,n||(e._dirty.normals=!0),e.invalidateVolume()}))}else if("xSpacing"==e||"zSpacing"==e){for(var r=0;r<this._vf.zDimension;r++)for(var o=0;o<this._vf.xDimension;o++){var s=3*(r*this._vf.xDimension+o);this._mesh._positions[0][s]=o*this._vf.xSpacing,this._mesh._positions[0][s+2]=r*this._vf.zSpacing}n||(this._mesh._normals[0]=[],this._mesh.calcNormals(Math.PI,this._vf.ccw)),this.invalidateVolume(),this._parentNodes.forEach((function(e){e._dirty.positions=!0,n||(e._dirty.normals=!0),e.invalidateVolume()}))}else if("xDimension"==e||"zDimension"==e)this.nodeChanged(),this._parentNodes.forEach((function(e){e.setGeoDirty(),e.invalidateVolume()}));else if("color"==e){i=this._mesh._colors[0].length/3;var a=this._cf.color.node._vf.color;for(t=0;t<i;t++)this._mesh._colors[0][3*t]=a[t].r,this._mesh._colors[0][3*t+1]=a[t].g,this._mesh._colors[0][3*t+2]=a[t].b;this._parentNodes.forEach((function(e){e._dirty.colors=!0}))}}})),x3dom.registerNodeType("Extrusion","Geometry3DExt",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.Extrusion.superClass.call(this,e),this.addField_SFBool(e,"beginCap",!0),this.addField_SFBool(e,"endCap",!0),this.addField_SFBool(e,"convex",!0),this.addField_SFFloat(e,"creaseAngle",0),this.addField_MFVec2f(e,"crossSection",[new x3dom.fields.SFVec2f(1,1),new x3dom.fields.SFVec2f(1,-1),new x3dom.fields.SFVec2f(-1,-1),new x3dom.fields.SFVec2f(-1,1),new x3dom.fields.SFVec2f(1,1)]),this.addField_MFRotation(e,"orientation",[new x3dom.fields.Quaternion(0,0,0,1)]),this.addField_MFVec2f(e,"scale",[new x3dom.fields.SFVec2f(1,1)]),this.addField_MFVec3f(e,"spine",[new x3dom.fields.SFVec3f(0,0,0),new x3dom.fields.SFVec3f(0,1,0)]),this.addField_SFFloat(e,"height",0),this.rebuildGeometry()}),{rebuildGeometry:function(){this._mesh._positions[0]=[],this._mesh._normals[0]=[],this._mesh._texCoords[0]=[],this._mesh._indices[0]=[];var e,t,i,n,_,r,o,s,a=1,p=1,l=this._vf.spine,d=this._vf.scale,c=this._vf.orientation,b=this._vf.crossSection,u=[],m=0;n=l.length,i=b.length,this._vf.height>0&&(l[0]=new x3dom.fields.SFVec3f(0,0,0),l[1]=new x3dom.fields.SFVec3f(0,this._vf.height,0),n=2);var h=new x3dom.fields.SFVec3f(0,0,1);if(n>2)for(e=1;e<n-1;e++){var f=l[e+1].subtract(l[e]).cross(l[e-1].subtract(l[e]));if(f.length()>x3dom.fields.Eps){h=x3dom.fields.SFVec3f.copy(f.normalize());break}}var g=0,C=[0];for(e=1;e<n;e++){g+=l[e].subtract(l[e-1]).length(),C[e]=g}var S=0,y=[0],v=0,x=0,M=0,T=0;for(t=1;t<i;t++){S+=b[t].subtract(b[t-1]).length(),y[t]=S,1==t&&(v=x=b[t-1].x,M=T=b[t-1].y),v<b[t].x&&(v=b[t].x),x>b[t].x&&(x=b[t].x),M<b[t].y&&(M=b[t].y),T>b[t].y&&(T=b[t].y)}if(Math.abs(v-x)<Math.abs(M-T)){var D=v,P=x;v=M,x=T,M=D,T=P}var w=Math.abs(v-x),A=Math.abs(M-T),F=n>2&&l[0].equals(l[l.length-1],x3dom.fields.Eps);for(e=0;e<n;e++){for((_=d.length)>0&&(e<_?(a=d[e].x,p=d[e].y):(a=d[_-1].x,p=d[_-1].y)),t=0;t<i;t++){var R=new x3dom.fields.SFVec3f(b[t].x*a+l[e].x,l[e].y,b[t].y*p+l[e].z);if(n>2){0==e?(F?(o=l[1].subtract(l[n-2]),s=l[1].subtract(l[0]).cross(l[n-2].subtract(l[0]))):(o=l[1].subtract(l[0]),s=l[2].subtract(l[1]).cross(l[0].subtract(l[1]))),s.length()>x3dom.fields.Eps&&(h=x3dom.fields.SFVec3f.copy(s))):e==n-1?F?(o=l[1].subtract(l[n-2]),s=l[1].subtract(l[0]).cross(l[n-2].subtract(l[0]))):(o=l[n-1].subtract(l[n-2]),s=x3dom.fields.SFVec3f.copy(h)):s=(o=l[e+1].subtract(l[e-1])).cross(l[e-1].subtract(l[e])),s.dot(h)<0&&(s=s.negate()),o=o.normalize(),(s=s.normalize()).length()<=x3dom.fields.Eps&&(s=x3dom.fields.SFVec3f.copy(h)),0!=e&&(h=x3dom.fields.SFVec3f.copy(s)),r=o.cross(s).normalize();var I=x3dom.fields.SFMatrix4f.identity();I.setValue(r,o,s);var B=e<c.length?c[e].toMatrix():c.length>0?c[c.length-1].toMatrix():x3dom.fields.SFMatrix4f.identity();R=R.subtract(l[e]),R=(R=I.multMatrixPnt(B.multMatrixPnt(R))).add(l[e])}if(R.crossSection=b[t],u.push(R),this._vf.creaseAngle<=x3dom.fields.Eps){if(e>0&&t>0){var V=(e-1)*i+(t-1);this._mesh._positions[0].push(u[V].x,u[V].y,u[V].z),this._mesh._texCoords[0].push(y[t-1]/S,C[e-1]/g),V=(e-1)*i+t,this._mesh._positions[0].push(u[V].x,u[V].y,u[V].z),this._mesh._texCoords[0].push(y[t]/S,C[e-1]/g),V=e*i+t,this._mesh._positions[0].push(u[V].x,u[V].y,u[V].z),this._mesh._texCoords[0].push(y[t]/S,C[e]/g),this._mesh._indices[0].push(m++,m++,m++),this._mesh._positions[0].push(u[V].x,u[V].y,u[V].z),this._mesh._texCoords[0].push(y[t]/S,C[e]/g),V=e*i+(t-1),this._mesh._positions[0].push(u[V].x,u[V].y,u[V].z),this._mesh._texCoords[0].push(y[t-1]/S,C[e]/g),V=(e-1)*i+(t-1),this._mesh._positions[0].push(u[V].x,u[V].y,u[V].z),this._mesh._texCoords[0].push(y[t-1]/S,C[e-1]/g),this._mesh._indices[0].push(m++,m++,m++)}}else this._mesh._positions[0].push(R.x,R.y,R.z),this._mesh._texCoords[0].push(y[t]/S,C[e]/g),e>0&&t>0&&(this._mesh._indices[0].push((e-1)*i+(t-1),(e-1)*i+t,e*i+t),this._mesh._indices[0].push(e*i+t,e*i+(t-1),(e-1)*i+(t-1)))}if(e==n-1){var E,N,k,O,L;if(this._vf.beginCap){for(O=new x3dom.DoublyLinkedList,N=this._mesh._positions[0].length/3,t=0;t<i;t++)O.appendNode(new x3dom.DoublyLinkedList.ListNode(u[t],t)),this._vf.creaseAngle>x3dom.fields.Eps&&(E=u[t],this._mesh._positions[0].push(E.x,E.y,E.z),this._mesh._texCoords[0].push((E.crossSection.x-x)/w,(E.crossSection.y-T)/A));for(0==this._vf.ccw&&O.invert(),t=(L=x3dom.EarClipping.getIndexes(O)).length-1;t>=0;t--)this._vf.creaseAngle>x3dom.fields.Eps?this._mesh._indices[0].push(N+L[t]):(E=u[L[t]],this._mesh._positions[0].push(E.x,E.y,E.z),this._mesh._texCoords[0].push((E.crossSection.x-x)/w,(E.crossSection.y-T)/A),this._mesh._indices[0].push(m++))}if(this._vf.endCap){for(O=new x3dom.DoublyLinkedList,k=(n-1)*i,N=this._mesh._positions[0].length/3,t=0;t<i;t++)O.appendNode(new x3dom.DoublyLinkedList.ListNode(u[k+t],k+t)),this._vf.creaseAngle>x3dom.fields.Eps&&(E=u[k+t],this._mesh._positions[0].push(E.x,E.y,E.z),this._mesh._texCoords[0].push((E.crossSection.x-x)/w,(E.crossSection.y-T)/A));for(0==this._vf.ccw&&O.invert(),L=x3dom.EarClipping.getIndexes(O),t=0;t<L.length;t++)this._vf.creaseAngle>x3dom.fields.Eps?this._mesh._indices[0].push(N+(L[t]-k)):(E=u[L[t]],this._mesh._positions[0].push(E.x,E.y,E.z),this._mesh._texCoords[0].push((E.crossSection.x-x)/w,(E.crossSection.y-T)/A),this._mesh._indices[0].push(m++))}}}this._mesh.calcNormals(this._vf.creaseAngle,this._vf.ccw),this.invalidateVolume(),this._mesh._numFaces=this._mesh._indices[0].length/3,this._mesh._numCoords=this._mesh._positions[0].length/3},fieldChanged:function(e){"beginCap"!=e&&"endCap"!=e&&"crossSection"!=e&&"orientation"!=e&&"scale"!=e&&"spine"!=e&&"height"!=e&&"creaseAngle"!=e||(this.rebuildGeometry(),this._parentNodes.forEach((function(e){e.setAllDirty(),e.invalidateVolume()})))}})),x3dom.registerNodeType("HAnimDisplacer","H-Anim",defineClass(x3dom.nodeTypes.X3DGeometricPropertyNode,(function(e){x3dom.nodeTypes.HAnimDisplacer.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_SFFloat(e,"weight",0),this.addField_MFInt32(e,"coordIndex",[]),this.addField_MFVec3f(e,"displacements",[]),x3dom.debug.logWarning("HAnimDisplacer in Segments NYI.")}))),x3dom.registerNodeType("HAnimJoint","H-Anim",defineClass(x3dom.nodeTypes.Transform,(function(e){x3dom.nodeTypes.HAnimJoint.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_MFNode("displacers",x3dom.nodeTypes.HAnimDisplacer),this.addField_SFRotation(e,"limitOrientation","0 0 1 0"),this.addField_MFFloat(e,"llimit",[]),this.addField_MFFloat(e,"ulimit",[]),this.addField_MFInt32(e,"skinCoordIndex",[]),this.addField_MFFloat(e,"skinCoordWeight",[]),this.addField_MFFloat(e,"stiffness",[0,0,0])}),{nodeChanged:function(){this._humanoid=function e(t){var i=t.parentNode._x3domNode;if(x3dom.isa(i,x3dom.nodeTypes.Scene))return!1;if(x3dom.isa(i,x3dom.nodeTypes.HAnimHumanoid))return i;return e(i._xmlNode)}(this._xmlNode)},collectDrawableObjects:function(e,t,i,n,_,r){i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),_=t.cull(e,this.graphState(),i,_);var o=this._humanoid._cf.skinCoord.node;if(!(_<0)||o){var s,a;i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),a=this._graph.globalMatrix):a=this.transformMatrix(e);var p,l,d,c,b,u=this._childNodes.length;if(x3dom.nodeTypes.ClipPlane.count>0){for(var m=[],h=0;h<u;h++)(s=this._childNodes[h])&&x3dom.isa(s,x3dom.nodeTypes.ClipPlane)&&s._vf.on&&s._vf.enabled&&m.push({plane:s,trafo:a});r=m.concat(r)}o&&(d=this._humanoid,c=d.getCurrentTransform().inverse().mult(a),0!==(b=this._cf.displacers.nodes).length&&b.forEach((function(e){var t=e._vf.weight,i=e._vf.displacements,n=i.length;0!==n&&e._vf.coordIndex.forEach((function(e,_){o._vf.point[e]=o._vf.point[e].addScaled(c.multMatrixVec(i[_%n]),t)}))})),0!==(p=this._vf.skinCoordIndex).length&&(l=this._vf.skinCoordWeight,p.forEach((function(e,t){var i=d._restCoords[e];o._vf.point[e]=o._vf.point[e].add(c.multMatrixPnt(i).subtract(i).multiply(l[Math.min(t,l.length-1)]))}))));var f=this._humanoid._cf.skinNormal.node;f&&0!==(p=this._vf.skinCoordIndex).length&&(l=this._vf.skinCoordWeight,d=this._humanoid,c=d.getCurrentTransform().inverse().mult(a).inverse().transpose(),p.forEach((function(e,t){var i=d._restNormals[e];f._vf.vector[e]=f._vf.vector[e].add(c.multMatrixVec(i).subtract(i).multiply(l[Math.min(t,l.length-1)]))})));for(var g=0;g<u;g++)(s=this._childNodes[g])&&s.collectDrawableObjects(a,t,i,n,_,r)}}})),x3dom.registerNodeType("HAnimSegment","H-Anim",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.HAnimSegment.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_SFVec3f(e,"centerOfMass",0,0,0),this.addField_SFFloat(e,"mass",0),this.addField_MFFloat(e,"momentsOfInertia",[0,0,0,0,0,0,0,0,0]),this.addField_SFNode("coord",x3dom.nodeTypes.X3DCoordinateNode),this.addField_MFNode("displacers",x3dom.nodeTypes.HAnimDisplacer)}),{})),x3dom.registerNodeType("HAnimSite","H-Anim",defineClass(x3dom.nodeTypes.Transform,(function(e){x3dom.nodeTypes.HAnimSite.superClass.call(this,e),this.addField_SFString(e,"name","")}))),x3dom.registerNodeType("HAnimHumanoid","H-Anim",defineClass(x3dom.nodeTypes.Transform,(function(e){x3dom.nodeTypes.HAnimHumanoid.superClass.call(this,e),this.addField_SFString(e,"name",""),this.addField_SFString(e,"version",""),this.addField_MFString(e,"info",[]),this.addField_MFNode("joints",x3dom.nodeTypes.HAnimJoint),this.addField_MFNode("segments",x3dom.nodeTypes.HAnimSegment),this.addField_MFNode("sites",x3dom.nodeTypes.HAnimSite),this.addField_MFNode("skeleton",x3dom.nodeTypes.HAnimJoint),this.addField_MFNode("skin",x3dom.nodeTypes.X3DChildNode),this.addField_SFNode("skinCoord",x3dom.nodeTypes.X3DCoordinateNode),this.addField_SFNode("skinNormal",x3dom.nodeTypes.X3DNormalNode),this.addField_MFNode("viewpoints",x3dom.nodeTypes.HAnimSite),this.addField_SFString(e,"skeletalConfiguration","BASIC"),this.addField_MFVec3f(e,"jointBindingPositions",[0,0,0]),this.addField_MFRotation(e,"jointBindingRotations",[0,0,1,0]),this.addField_MFVec3f(e,"jointBindingScales",[1,1,1]),this.addField_MFVec3f(e,"skinBindingCoords",[]),this.addField_MFVec3f(e,"skinBindingNormals",[])}),{collectDrawableObjects:function(e,t,i,n,_,r){if(i&&this._parentNodes.length>1&&(i=!1),i&&(n=n||this.cacheInvalid())&&this.invalidateCache(),!((_=t.cull(e,this.graphState(),i,_))<0)){var o,s;i?(this._graph.globalMatrix||(this._graph.globalMatrix=this.transformMatrix(e)),s=this._graph.globalMatrix):s=this.transformMatrix(e);var a=this._childNodes.length;if(x3dom.nodeTypes.ClipPlane.count>0){for(var p=[],l=0;l<a;l++)(o=this._childNodes[l])&&x3dom.isa(o,x3dom.nodeTypes.ClipPlane)&&o._vf.on&&o._vf.enabled&&p.push({plane:o,trafo:s});r=p.concat(r)}this._cf.skinCoord.node&&this._cf.skinCoord.node._vf.point.setValues(this._restCoords),this._cf.skinNormal.node&&this._cf.skinNormal.node._vf.vector.setValues(this._restNormals),this._cf.skeleton.nodes.forEach((function(e){e.collectDrawableObjects(s,t,i,n,_,r)})),this._cf.skin.nodes.forEach((function(e){e.collectDrawableObjects(s,t,i,n,_,r)})),this._cf.skinCoord.node&&this._cf.skinCoord.node._parentNodes.forEach((function(e){e.fieldChanged("coord")}))}},nodeChanged:function(){this._cf.skinCoord.node&&(this._restCoords=this._cf.skinCoord.node._vf.point.copy()),this._cf.skinNormal.node&&(this._restNormals=this._cf.skinNormal.node._vf.vector.copy())}})),x3dom.registerNodeType("X3DParametricGeometryNode","NURBS",defineClass(x3dom.nodeTypes.X3DGeometryNode,(function(e){x3dom.nodeTypes.X3DParametricGeometryNode.superClass.call(this,e)}),{})),x3dom.registerNodeType("X3DNurbsSurfaceGeometryNode","NURBS",defineClass(x3dom.nodeTypes.X3DParametricGeometryNode,(function(e){x3dom.nodeTypes.X3DParametricGeometryNode.superClass.call(this,e),this.addField_SFInt32(e,"uDimension",0),this.addField_SFInt32(e,"vDimension",0),this.addField_SFInt32(e,"uOrder",3),this.addField_SFInt32(e,"vOrder",3),this.addField_SFFloat(e,"uTessellation",0),this.addField_SFFloat(e,"vTessellation",0),this.addField_MFDouble(e,"uKnot",[]),this.addField_MFDouble(e,"vKnot",[]),this.addField_MFDouble(e,"weight",[]),this.addField_SFNode("controlPoint",x3dom.nodeTypes.X3DCoordinateNode),this.addField_SFBool(e,"uClosed",!1),this.addField_SFBool(e,"vClosed",!1),this.addField_SFNode("texCoord",x3dom.nodeTypes.X3DTextureCoordinateNode),this.addField_SFBool(e,"solid",!1),this.addField_SFBool(e,"normalPerVertex",!0),this._needReRender=!0,this.basisFunsCache=new Map,this.uv=[],this.lastTime=-1}),{nodeChanged:function(){if(this._needReRender=!0,this._vf.ccw=!1,this._vf.solid=!1,this._vf.useGeoCache=!1,!this._hasCoarseMesh){var e=this.createCoarseITS(this);this._mesh=e._mesh,this._hasCoarseMesh=!0}this._vf.uKnot.length!==this._vf.uDimension+this._vf.uOrder&&(this._vf.uKnot=this.createDefaultKnots(this._vf.uDimension,this._vf.uOrder)),this._vf.vKnot.length!==this._vf.vDimension+this._vf.vOrder&&(this._vf.vKnot=this.createDefaultKnots(this._vf.vDimension,this._vf.vOrder));var t=[];if(this._cf.trimmingContour&&this._cf.trimmingContour.nodes.length)for(var i=this._cf.trimmingContour.nodes.length,n=0;n<i;n++){var _=this._cf.trimmingContour.nodes[n];if(_._cf.children){t[n]=[];for(var r=_._cf.children.nodes,o=0;o<r.length;o++){var s=r[o];if(s._vf.order||(s._vf.order=2),!s._vf.knot){var a=[];a.push(0),a.push(0);for(var p=2;p<s._vf.controlPoint.length;p++)a.push(p-1);a.push(a[a.length-1]+1),a.push(a[a.length-1]),s._vf.knot=a}t[n].push([s._vf.controlPoint.length-1,s._vf.order-1,s._vf.knot,s._vf.controlPoint,s._vf.weight])}}}var l=this._cf.controlPoint.node,d=[this._vf.uDimension-1,this._vf.vDimension-1,this._vf.uOrder-1,this._vf.vOrder-1,this._vf.uKnot,this._vf.vKnot,l.getPoints(),this._vf.weight,this._vf.uTessellation,this._vf.vTessellation,t,this.basisFunsCache,this.uv,performance.now()];this.workerTask&&(this.workerTask.discard=!0),this.workerTask=new x3dom.WorkerTask(x3dom.tessWorkerScript,this,(function(e){if(e.data.length>=3&&e.data[5]>this.caller.lastTime){if(this.caller.uv.length){for(var t=e.data[1],i=new x3dom.fields.MFVec3f,n=0;n<t.length;n++)i.push(new x3dom.fields.SFVec3f(t[n][0],t[n][1],t[n][2]));this.caller._mesh._positions[0]=i.toGL()}else{var _=this.caller.createITS(e.data,this.caller);if(this.caller.workerTask=null,this.caller._mesh=_._mesh,this.caller._nameSpace){var r=x3dom.tessWorkerPool.taskQueue.length;this.caller._nameSpace.doc._x3dElem.runtime.canvas.progressText=0==r?"":"Tesselation tasks: "+r}}this.caller._cleanupGLObjects&&this.caller._cleanupGLObjects(!0),this.caller._parentNodes.forEach((function(e){e.setAllDirty()})),this.caller.basisFunsCache=e.data[3],this.caller.uv=e.data[4],this.caller.lastTime=e.data[5]}}),d),x3dom.tessWorkerPool.addWorkerTask(this.workerTask)},fieldChanged:function(e){if("order"==e||"knot"==e||e.includes("Tessellation"))return this.basisFunsCache=new Map,this.uv=[],void this.nodeChanged();this.uv.length&&this.nodeChanged()},createDefaultKnots:function(e,t){for(var i=Array(e+t).fill(0),n=t;n<e;n++)i[n]=(n-1)/(e-1);for(n=i.length-t;n<i.length;n++)i[n]=1;return i},createCoarseITS:function(e){var t=e._vf.uDimension,i=e._vf.vDimension,n=e._cf.controlPoint.node,_=new x3dom.nodeTypes.IndexedTriangleSet;_._nameSpace=e._nameSpace,_._vf.solid=!1,_._vf.ccw=!1,_._cf.texCoord=e._cf.texCoord;for(var r=[],o=0,s=t,a=0;a<i-1;a++){for(var p=0;p<t-1;p++)r.push(o),r.push(o+1),r.push(s),r.push(s),r.push(o+1),r.push(s+1),o++,s++;o++,s++}return _._vf.index=r,_.addChild(n),_.nodeChanged(),_._xmlNode=e._xmlNode,_},createITS:function(e,t){var i=new x3dom.nodeTypes.IndexedTriangleSet;i._nameSpace=t._nameSpace,i._vf.normalPerVertex=t._vf.normalPerVertex,i._vf.solid=!1,i._vf.ccw=!1,i._vf.index=e[0];var n=new x3dom.nodeTypes.Coordinate;n._nameSpace=t._nameSpace,n._vf.point=new x3dom.fields.MFVec3f;for(var _=0;_<e[1].length;_++)n._vf.point.push(new x3dom.fields.SFVec3f(e[1][_][0],e[1][_][1],e[1][_][2]));if(i.addChild(n),null!==t._cf.texCoord.node)i._cf.texCoord=t._cf.texCoord;else{var r=new x3dom.nodeTypes.TextureCoordinate;r._nameSpace=t._nameSpace,r._vf.point=new x3dom.fields.MFVec2f;for(_=0;_<e[2].length;_++)r._vf.point.push(new x3dom.fields.SFVec2f(e[2][_][0],e[2][_][1]));i.addChild(r)}return i.nodeChanged(),i._xmlNode=t._xmlNode,i}})),x3dom.registerNodeType("NurbsPatchSurface","NURBS",defineClass(x3dom.nodeTypes.X3DNurbsSurfaceGeometryNode,(function(e){x3dom.nodeTypes.NurbsPatchSurface.superClass.call(this,e),this._needReRender=!0}),{nodeChanged:function(){x3dom.nodeTypes.NurbsTrimmedSurface.prototype.nodeChanged.call(this)}})),x3dom.registerNodeType("NurbsCurve","NURBS",defineClass(x3dom.nodeTypes.X3DParametricGeometryNode,(function(e){x3dom.nodeTypes.NurbsCurve.superClass.call(this,e),this.addField_SFInt32(e,"order",3),this.addField_MFDouble(e,"knot",[]),this.addField_SFNode("controlPoint",x3dom.nodeTypes.X3DCoordinateNode),this.addField_MFDouble(e,"weight",[]),this.addField_SFInt32(e,"tessellation",0),this.addField_SFBool(e,"closed",!1),this.points=[],this.uList=[],this.basisFunsCache={},this.ils=new x3dom.nodeTypes.IndexedLineSet,this.ils.addChild(new x3dom.nodeTypes.Coordinate)}),{nodeChanged:function(){if(this._needReRender=!0,this._vf.useGeoCache=!1,!this._hasCoarseMesh){var e=this.createCoarseILS(this);this._mesh=e._mesh,this._hasCoarseMesh=!0}this.generateGeometry()},fieldChanged:function(e){switch(this._parentNodes.forEach((function(e){e._dirty.positions=!0,e.invalidateVolume()})),e){case"tessellation":this.uList=[];break;case"knot":case"order":case"closed":this.uList=[],this.basisFunsCache={}}this.generateGeometry()},generateGeometry:function(){this.points=this._cf.controlPoint.node._vf.point;var e=this.points.length;this._vf.knot.length!==e+this._vf.order&&this.createDefaultKnots(),this._vf.weight.length!=e&&(this._vf.weight=Array(e).fill(1));var t=this.calcTessPoints(this._vf.tessellation,e);0==this.uList.length&&(this.uList=this.listPoints(t,this._vf.knot));var i=this.tessellate();this.createILS(i,this),this._mesh=this.ils._mesh},createDefaultKnots:function(){for(var e=Array(this.points.length+this._vf.order).fill(0),t=this._vf.order;t<this.points.length;t++)e[t]=t-1;for(t=e.length-this._vf.order;t<e.length;t++)e[t]=this.points.length-1;this._vf.knot=e},calcTessPoints:function(e,t){return e>0?e+1:0==e?2*t+1:-e*t+1},listPoints:function(e,t){var i=t[t.length-1]-t[0];i/=e-1;for(var n=[],_=0;_<e;_++)n.push(t[0]+_*i);return n},tessellate:function(){var e={dimension:this.points.length-1,u:this.uList,degree:this._vf.order-1,knots:this._vf.knot,points:this.points,weights:this._vf.weight,closed:this._vf.closed};return e.u.map((function(t){return this.curvePoint3DH(e.dimension,e.degree,e.knots,e.points,e.weights,t)}),this)},curvePoint3DH:function(e,t,i,n,_,r){var o,s,a,p,l,d=[0,0,0,0];for(o=this.findSpan(e,t,r,i),l=this.basisFuns(o,r,t,i),s=o-t,a=0;a<=t;a++)p=s+a,d[0]+=l[a]*n[p].x,d[1]+=l[a]*n[p].y,d[2]+=l[a]*n[p].z,d[3]+=l[a]*_[p];return new x3dom.fields.SFVec3f(d[0]/d[3],d[1]/d[3],d[2]/d[3])},findSpan:function(e,t,i,n){var _,r,o;if(i>=n[e])return e;if(i<=n[t])return t;for(_=0,o=e+1,r=Math.floor((_+o)/2);i<n[r]||i>=n[r+1];)i<n[r]?o=r:_=r,r=Math.floor((_+o)/2);return r},basisFuns:function(e,t,i,n){var _=Math.floor(1e11*t);if(this.basisFunsCache[_])return this.basisFunsCache[_];var r,o,s,a,p=[],l=[],d=[];for(p[0]=1,s=0;s<=i;s++)l[s]=0,d[s]=0;for(s=1;s<=i;s++){for(l[s]=t-n[e+1-s],d[s]=n[e+s]-t,r=0,a=0;a<s;a++)o=p[a]/(d[a+1]+l[s-a]),p[a]=r+d[a+1]*o,r=l[s-a]*o;p[s]=r}return this.basisFunsCache[_]=p,p},createCoarseILS:function(e){var t=e._cf.controlPoint.node,i=new x3dom.nodeTypes.IndexedLineSet;i._nameSpace=e._nameSpace;for(var n=[],_=0;_<t._vf.point.length;_++)n.push(_);return n.push(-1),i._vf.coordIndex=n,i.addChild(t),i.nodeChanged(),i._xmlNode=e._xmlNode,i},createILS:function(e,t){this.ils._nameSpace=t._nameSpace,this.ils._vf.coordIndex=[];var i=this.ils._cf.coord.node;i._nameSpace=t._nameSpace,i._vf.point=new x3dom.fields.MFVec3f;for(var n=0;n<e.length;n++)i._vf.point.push(e[n]),this.ils._vf.coordIndex.push(n);return this.ils.nodeChanged(),this.ils._xmlNode=t._xmlNode,this.ils}})),x3dom.registerNodeType("NurbsPositionInterpolator","NURBS",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.NurbsPositionInterpolator.superClass.call(this,e),this.addField_SFInt32(e,"order",3),this.addField_MFDouble(e,"knot",[]),this.addField_SFNode("controlPoint",x3dom.nodeTypes.X3DCoordinateNode),this.addField_MFDouble(e,"weight",[]),this.addField_SFFloat(e,"set_fraction",0),this.points=[]}),{fieldChanged:function(e){if("set_fraction"===e){var t=this.getValue(this._vf.set_fraction);this.postMessage("value_changed",t)}},getValue:function(e){this.points=this._cf.controlPoint.node._vf.point;var t=this.points.length;return this._vf.knot.length!==t+this._vf.order&&this.createDefaultKnots(),this._vf.weight.length!=t&&(this._vf.weight=Array(t).fill(1)),this.curvePoint(e)},createDefaultKnots:function(){for(var e=this.points.length,t=Array(e+this._vf.order).fill(0),i=this._vf.order;i<e;i++)t[i]=(i-1)/(e-1);for(i=t.length-this._vf.order;i<t.length;i++)t[i]=1;this._vf.knot=t},curvePoint:function(e){var t={dimension:this.points.length-1,degree:this._vf.order-1,knots:this._vf.knot,points:this.points,weights:this._vf.weight};return x3dom.nodeTypes.NurbsCurve.prototype.curvePoint3DH.call(this,t.dimension,t.degree,t.knots,t.points,t.weights,e)},findSpan:function(e,t,i,n){return x3dom.nodeTypes.NurbsCurve.prototype.findSpan(e,t,i,n)},basisFuns:function(e,t,i,n){var _,r,o,s,a=[],p=[],l=[];for(a[0]=1,o=0;o<=i;o++)p[o]=0,l[o]=0;for(o=1;o<=i;o++){for(p[o]=t-n[e+1-o],l[o]=n[e+o]-t,_=0,s=0;s<o;s++)r=a[s]/(l[s+1]+p[o-s]),a[s]=_+l[s+1]*r,_=p[o-s]*r;a[o]=_}return a}})),x3dom.registerNodeType("NurbsOrientationInterpolator","NURBS",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.NurbsOrientationInterpolator.superClass.call(this,e),this.addField_SFInt32(e,"order",3),this.addField_MFDouble(e,"knot",[]),this.addField_SFNode("controlPoint",x3dom.nodeTypes.X3DCoordinateNode),this.addField_MFDouble(e,"weight",[]),this.addField_SFFloat(e,"set_fraction",0),this.points=[],this._fractionalShift=.01,this._downZ=new x3dom.fields.SFVec3f(0,0,-1)}),{fieldChanged:function(e){if("set_fraction"===e){var t=this.getValue(this._vf.set_fraction);this.postMessage("value_changed",t)}},getValue:function(e){this.points=this._cf.controlPoint.node._vf.point;var t=this.points.length,i=this._vf.knot;i.length!==t+this._vf.order&&x3dom.nodeTypes.NurbsPositionInterpolator.prototype.createDefaultKnots.call(this),this._vf.weight.length!=t&&(this._vf.weight=Array(t).fill(1));var n=(i[i.length-1]-i[0])*this._fractionalShift,_=this.curvePoint(e).subtract(this.curvePoint(e+n));return x3dom.fields.Quaternion.rotateFromTo(this._downZ,_)},curvePoint:function(e){return x3dom.nodeTypes.NurbsPositionInterpolator.prototype.curvePoint.call(this,e)},findSpan:function(e,t,i,n){return x3dom.nodeTypes.NurbsCurve.prototype.findSpan(e,t,i,n)},basisFuns:function(e,t,i,n){return x3dom.nodeTypes.NurbsPositionInterpolator.prototype.basisFuns(e,t,i,n)}})),x3dom.registerNodeType("NurbsSurfaceInterpolator","NURBS",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.NurbsSurfaceInterpolator.superClass.call(this,e),this.addField_SFInt32(e,"uDimension",0),this.addField_SFInt32(e,"vDimension",0),this.addField_MFDouble(e,"uKnot",[]),this.addField_MFDouble(e,"vKnot",[]),this.addField_SFInt32(e,"uOrder",3),this.addField_SFInt32(e,"vOrder",3),this.addField_SFNode("controlPoint",x3dom.nodeTypes.X3DCoordinateNode),this.addField_MFDouble(e,"weight",[]),this.addField_SFVec2f(e,"set_fraction",0,0),this.points=[],this._fractionalShift=.01}),{nodeChanged:function(){this.points=this._cf.controlPoint.node._vf.point,this.pointsLength=this.points.length},fieldChanged:function(e){if("set_fraction"===e){var t=this.getValue(this._vf.set_fraction);this.postMessage("position_changed",t.position),this.postMessage("normal_changed",t.normal)}},getValue:function(e){var t=e.x,i=e.y;this.points=this._cf.controlPoint.node._vf.point;var n=this._vf.uKnot,_=this._vf.vKnot;n.length!==this._vf.uDimension+this._vf.uOrder&&(n=this.createDefaultKnots(this._vf.uDimension,this._vf.uOrder)),_.length!==this._vf.vDimension+this._vf.vOrder&&(_=this.createDefaultKnots(this._vf.vDimension,this._vf.vOrder)),this._vf.weight.length!=this.pointsLength&&(this._vf.weight=Array(this.pointsLength).fill(1));var r=(n[n.length-1]-n[0])*this._fractionalShift,o=(_[_.length-1]-_[0])*this._fractionalShift,s=this.surfacePoint(t+r,i).subtract(this.surfacePoint(t,i)),a=this.surfacePoint(t,i+o).subtract(this.surfacePoint(t,i));return{position:this.surfacePoint(t,i),normal:s.cross(a).normalize()}},createDefaultKnots:function(e,t){for(var i=Array(e+t).fill(0),n=t;n<e;n++)i[n]=(n-1)/(e-1);for(n=i.length-t;n<i.length;n++)i[n]=1;return i},surfacePoint:function(e,t){return this.surfacePoint3DH(this._vf.uDimension-1,this._vf.vDimension-1,this._vf.uOrder-1,this._vf.vOrder-1,this._vf.uKnot,this._vf.vKnot,this.points,this._vf.weight,e,t)},findSpan:function(e,t,i,n){return x3dom.nodeTypes.NurbsCurve.prototype.findSpan(e,t,i,n)},basisFuns:function(e,t,i,n){return x3dom.nodeTypes.NurbsPositionInterpolator.prototype.basisFuns(e,t,i,n)},surfacePoint3DH:function(e,t,i,n,_,r,o,s,a,p){var l,d,c,b,u,m,h,f,g,C=0,S=[],y=[0,0,0,0],v=[];for(l=this.findSpan(e,i,a,_),f=this.basisFuns(l,a,i,_),d=this.findSpan(t,n,p,r),g=this.basisFuns(d,p,n,r),c=l-i,u=0;u<=n;u++){for(b=d-n+u,m=0;m<4;m++)v[C+m]=0;for(m=0;m<=i;m++)h=c+m+b*(e+1),v[C+0]+=f[m]*o[h].x,v[C+1]+=f[m]*o[h].y,v[C+2]+=f[m]*o[h].z,v[C+3]+=f[m]*s[h];C+=4}for(C=0,u=0;u<=n;u++)y[0]+=g[u]*v[C+0],y[1]+=g[u]*v[C+1],y[2]+=g[u]*v[C+2],y[3]+=g[u]*v[C+3],C+=4;for(C=0;C<3;C++)S[C]=y[C]/y[3];return new x3dom.fields.SFVec3f(S[0],S[1],S[2])}})),x3dom.registerNodeType("NurbsCurve2D","NURBS",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.NurbsCurve2D.superClass.call(this,e),this.addField_SFInt32(e,"order",3),this.addField_MFDouble(e,"knot",[]),this.addField_MFVec2f(e,"controlPoint",[]),this.addField_MFDouble(e,"weight",[]),this.addField_SFBool(e,"closed",!1)}),{})),x3dom.registerNodeType("NurbsTrimmedSurface","NURBS",defineClass(x3dom.nodeTypes.X3DNurbsSurfaceGeometryNode,(function(e){x3dom.nodeTypes.NurbsTrimmedSurface.superClass.call(this,e),this.addField_MFNode("trimmingContour",x3dom.nodeTypes.Contour2D),this._needReRender=!0}),{})),x3dom.registerNodeType("ContourPolyline2D","NURBS",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.ContourPolyline2D.superClass.call(this,e),this.addField_MFVec2f(e,"controlPoint",[])}),{})),x3dom.registerNodeType("Contour2D","NURBS",defineClass(x3dom.nodeTypes.X3DGroupingNode,(function(e){x3dom.nodeTypes.Contour2D.superClass.call(this,e),this.addField_MFNode("children",x3dom.nodeTypes.X3DChildNode)}),{})),function(){var e;x3dom.tessWorkerScript=URL.createObjectURL(new Blob(["("+function(){function t(e,t,i,n){var _,r,o;if(i>=n[e])return e;if(i<=n[t])return t;for(_=0,o=e+1,r=Math.floor((_+o)/2);i<n[r]||i>=n[r+1];)i<n[r]?o=r:_=r,r=Math.floor((_+o)/2);return r}function i(t,i,n,_){var r=Object.values(_).toString()+Math.floor(1e11*i);if(e.has(r))return e.get(r);var o,s,a,p,l=[],d=[],c=[];for(l[0]=1,a=0;a<=n;a++)d[a]=0,c[a]=0;for(a=1;a<=n;a++){for(d[a]=i-_[t+1-a],c[a]=_[t+a]-i,o=0,p=0;p<a;p++)s=l[p]/(c[p+1]+d[a-p]),l[p]=o+c[p+1]*s,o=d[a-p]*s;l[a]=o}return e.set(r,l),l}function n(e){this.bbox_split=4,this.use_objectspace=!0,this.edge_thresh=.1,this.trim_thresh=.1,this.split_bias=.5,this.skew_thresh=.01,this.max_rec=5,this.w=e[0],this.h=e[1],this.p=e[2],this.q=e[3],this.U=e[4],this.V=e[5],this.P=e[6],this.W=e[7],this.tloops=e[10],this.useUV=e[12],this.surfaceHash=[],this.indexHash=[],this.curveHash=null,this.coordinates=[],this.texcoords=[],this.indices=[],this.uv=[],this.coordIndex=0,this.u0=0,this.u1=1,this.v0=0,this.v1=1,this.deform=function(){this.useUV.forEach((function(e){this.computeSurface(e,!1)}),this)},this.tessellate=function(){this.W&&this.W.length!=(this.w+1)*(this.h+1)&&(this.W={}),this.u0=this.U[this.p],this.u1=this.U[this.U.length-this.p-1];var e=.5*(this.u0+this.u1);this.v0=this.V[this.q],this.v1=this.V[this.V.length-this.q-1];var t=.5*(this.v0+this.v1);this.tessTri([[this.u0,this.v0],[this.u0,t],[e,this.v0]]),this.tessTri([[this.u0,t],[e,t],[e,this.v0]]),this.tessTri([[this.u0,t],[this.u0,this.v1],[e,t]]),this.tessTri([[this.u0,this.v1],[e,this.v1],[e,t]]),this.tessTri([[e,this.v0],[e,t],[this.u1,this.v0]]),this.tessTri([[e,t],[this.u1,t],[this.u1,this.v0]]),this.tessTri([[e,t],[e,this.v1],[this.u1,t]]),this.tessTri([[e,this.v1],[this.u1,this.v1],[this.u1,t]])},this.adjustThresholds=function(e,t){if(e<0){this.use_objectspace=!1,t>=0&&(t=e);var i=2/(this.w+1),n=2/(this.h+1);i*=this.U[this.U.length-this.p-1]-this.U[this.p],n*=this.V[this.V.length-this.q-1]-this.V[this.q],this.edge_thresh_u=-e*i,this.edge_thresh_v=-t*n}else{for(var _=Number.MAX_VALUE,r=-Number.MAX_VALUE,o=[_,_,_,r,r,r],s=0;s<this.P.length;s++)this.P[s].x<o[0]&&(o[0]=this.P[s].x),this.P[s].y<o[1]&&(o[1]=this.P[s].y),this.P[s].z<o[2]&&(o[2]=this.P[s].z),this.P[s].x>o[3]&&(o[3]=this.P[s].x),this.P[s].y>o[4]&&(o[4]=this.P[s].y),this.P[s].z>o[5]&&(o[5]=this.P[s].z);var a=Math.sqrt((o[0]-o[3])*(o[0]-o[3])+(o[1]-o[4])*(o[1]-o[4])+(o[2]-o[5])*(o[2]-o[5]))/this.bbox_split;e<=1e-5&&(e=1),this.edge_thresh*=a*e,this.trim_thresh*=a*e}},this.tessTri=function(e){for(var t=[e];t.length;){var i=t.splice(0,1);t=this.refineTri(i[0]).concat(t)}},this.refineTri=function(e){if(this.tloops&&this.inOut(e)<0)return[];var t=e[0][0]*e[1][1]-e[1][0]*e[0][1]+e[1][0]*e[2][1]-e[2][0]*e[1][1]+e[2][0]*e[0][1]-e[0][0]*e[2][1];t<0&&(t=-t);var i=[],n=[];i[0]=e[0][0]-e[1][0],i[1]=e[0][1]-e[1][1];var _=i[0]*i[0]+i[1]*i[1];if(i[0]=e[1][0]-e[2][0],i[1]=e[1][1]-e[2][1],_+=i[0]*i[0]+i[1]*i[1],i[0]=e[2][0]-e[0][0],i[1]=e[2][1]-e[0][1],(t/=_+=i[0]*i[0]+i[1]*i[1])<=this.skew_thresh)return this.diceTri(e),[];var r=[];_=0;for(var o=0;o<3;o++){var s=(o+2)%3;i=e[d=(o+1)%3],n=e[s],r[o]=this.splitEdge(i,n),r[o]>_&&(_=r[o])}_*=this.split_bias;var a=[],p=[],l=0;for(o=0;o<3;o++){var d=(o+1)%3;s=(o+2)%3;r[o]>this.edge_thresh&&r[o]>=_?(l++,p[o]=[],p[o][0]=.5*(e[d][0]+e[s][0]),p[o][1]=.5*(e[d][1]+e[s][1]),a[o]=o-3):r[d]>r[s]?(p[o]=e[d],a[o]=d):(p[o]=e[s],a[o]=s)}var c=[];if(l){var b=++l;for(o=0;o<3;o++){d=(o+1)%3;a[s=(o+2)%3]!=o&&a[d]!=o&&(c[--b]=[e[o],p[s],p[d]])}if(b){if(a[0]==a[1]||a[1]==a[2]||a[2]==a[0])return[];c[0]=[p[0],p[1],p[2]]}return c}return this.trimFinal(e),[]},this.diceTri=function(e){var t=[];t[0]=(e[0][0]+e[1][0]+e[2][0])/3,t[1]=(e[0][1]+e[1][1]+e[2][1])/3,this.computeSurface(t);for(var i=0;i<3;i++){var n=[],_=[],r=(i+1)%3;_[0]=e[r][0]-e[i][0],_[1]=e[r][1]-e[i][1],n[0]=1;for(var o=0;n.length;){var s=[],a=[],p=n[0];if(s[0]=e[i][0]+_[0]*o,s[1]=e[i][1]+_[1]*o,a[0]=e[i][0]+_[0]*p,a[1]=e[i][1]+_[1]*p,this.splitEdge(s,a)>this.edge_thresh)n.splice(0,0,.5*(o+p));else{this.computeSurface(s),this.computeSurface(a);var l=[t,s,a];this.trimFinal(l),n.splice(0,1),o=p}}}},this.computeSurface=function(e,n){var _,r=Math.floor(1e11*e[0]),o=Math.floor(1e11*e[1]);if(this.surfaceHash[r]){var s=this.surfaceHash[r][o];if(s)return s}return _=Object.keys(this.W).length?function(e,n,_,r,o,s,a,p,l,d){var c,b,u,m,h,f,g,C,S,y=0,v=[],x=[0,0,0,0],M=[];for(C=i(c=t(e,_,l,o),l,_,o),S=i(b=t(n,r,d,s),d,r,s),u=c-_,h=0;h<=r;h++){for(m=b-r+h,f=0;f<4;f++)M[y+f]=0;for(f=0;f<=_;f++)g=u+f+m*(e+1),M[y+0]+=C[f]*a[g].x,M[y+1]+=C[f]*a[g].y,M[y+2]+=C[f]*a[g].z,M[y+3]+=C[f]*p[g];y+=4}for(y=0,h=0;h<=r;h++)x[0]+=S[h]*M[y+0],x[1]+=S[h]*M[y+1],x[2]+=S[h]*M[y+2],x[3]+=S[h]*M[y+3],y+=4;for(y=0;y<3;y++)v[y]=x[y]/x[3];return v}(this.w,this.h,this.p,this.q,this.U,this.V,this.P,this.W,e[0],e[1]):function(e,n,_,r,o,s,a,p,l){var d,c,b,u,m,h,f,g,C,S=0,y=[0,0,0],v=[];for(g=i(d=t(e,_,p,o),p,_,o),C=i(c=t(n,r,l,s),l,r,s),b=d-_,m=0;m<=r;m++){for(u=c-r+m,v[S+0]=0,v[S+1]=0,v[S+2]=0,h=0;h<=_;h++)f=b+h+u*(e+1),v[S+0]+=g[h]*a[f].x,v[S+1]+=g[h]*a[f].y,v[S+2]+=g[h]*a[f].z;S+=3}for(S=0,m=0;m<=r;m++)y[0]+=C[m]*v[S+0],y[1]+=C[m]*v[S+1],y[2]+=C[m]*v[S+2],S+=3;return y}(this.w,this.h,this.p,this.q,this.U,this.V,this.P,e[0],e[1]),this.curveHash?_:(this.surfaceHash[r]||(this.surfaceHash[r]=[]),this.surfaceHash[r][o]=_,n||(this.indexHash[r]||(this.indexHash[r]=[]),this.indexHash[r][o]=this.coordIndex,this.coordIndex++,this.coordinates.push(_),this.texcoords.push([(e[0]+this.u0)/(this.u1-this.u0),(e[1]+this.v0)/(this.v1-this.v0)]),this.uv.push(e)),_)},this.computeCurve=function(e,n,_){var r=Math.floor(1e11*_);if(this.curveHash[e][n]){var o=this.curveHash[e][n][r];if(o)return o}var s,a=this.tloops[e][n];return s=a[4]&&a[4].length?function(e,n,_,r,o,s){var a,p,l,d,c=0,b=0,u=0;for(d=i(a=t(e,n,s,_),s,n,_),p=0;p<=n;p++)l=a-n+p,c+=d[p]*r[l].x,b+=d[p]*r[l].y,u+=d[p]*o[l];return[c/u,b/u]}(a[0],a[1],a[2],a[3],a[4],_):function(e,n,_,r,o){var s,a,p,l,d=0,c=0;for(l=i(s=t(e,n,o,_),o,n,_),a=0;a<=n;a++)p=s-n+a,d+=l[a]*r[p].x,c+=l[a]*r[p].y;return[d,c]}(a[0],a[1],a[2],a[3],_),this.curveHash[e][n]||(this.curveHash[e][n]=[]),this.curveHash[e][n][r]=s,s},this.splitEdge=function(e,t){var i=this.computeSurface(e),n=this.computeSurface(t);if(!this.use_objectspace)return Math.sqrt((e[0]-t[0])*(e[0]-t[0])/this.edge_thresh_u+(e[1]-t[1])*(e[1]-t[1])/this.edge_thresh_v);if(Math.abs(i[0]-n[0])>1e-5||Math.abs(i[1]-n[1])>1e-5||Math.abs(i[2]-n[2])>1e-5){var _=Math.sqrt((i[0]-n[0])*(i[0]-n[0])+(i[1]-n[1])*(i[1]-n[1])+(i[2]-n[2])*(i[2]-n[2]));if(_<this.edge_thresh){var r=[e[0]+.5*(t[0]-e[0]),e[1]+.5*(t[1]-e[1])],o=this.computeSurface(r,!1),s=0;(Math.abs(i[0]-o[0])>1e-5||Math.abs(i[1]-o[1])>1e-5||Math.abs(i[2]-o[2])>1e-5)&&(s+=Math.sqrt((i[0]-o[0])*(i[0]-o[0])+(i[1]-o[1])*(i[1]-o[1])+(i[2]-o[2])*(i[2]-o[2]))),(Math.abs(n[0]-o[0])>1e-5||Math.abs(n[1]-o[1])>1e-5||Math.abs(n[2]-o[2])>1e-5)&&(s+=Math.sqrt((n[0]-o[0])*(n[0]-o[0])+(n[1]-o[1])*(n[1]-o[1])+(n[2]-o[2])*(n[2]-o[2]))),s>1.01*_&&(_+=s)}return _}return 0},this.splitCenter=function(e){var t=[];this.curveHash=[],t[0]=(e[0][0]+e[1][0]+e[2][0])/3,t[1]=(e[0][1]+e[1][1]+e[2][1])/3;for(var i=0,n=0;n<3;n++)i+=this.splitEdge(e[n],t);return this.curveHash=null,.5*i>this.edge_thresh&&(this.computeSurface(t),!0)},this.renderFinal=function(e){for(var t=0;t<3;t++){var i=e[t],n=Math.floor(1e11*i[0]),_=Math.floor(1e11*i[1]);this.indexHash[n]&&this.indices.push(this.indexHash[n][_])}},this.intersectTrim=function(e,t,i){var n=0,_=0;i&&(n=i[2],_=i[3]+1);for(var r=n;r<this.ttloops.length;r++){for(var o=this.ttloops[r],s=_;s<o.length-1;s++){var a=o[s],p=o[s+1];if(Math.abs(e[0]-a[0])<1e-5&&Math.abs(e[1]-a[1])<1e-5||Math.abs(e[0]-p[0])<1e-5&&Math.abs(e[1]-p[1])<1e-5)return[];if(Math.abs(t[0]-a[0])<1e-5&&Math.abs(t[1]-a[1])<1e-5||Math.abs(t[0]-p[0])<1e-5&&Math.abs(t[1]-p[1])<1e-5)return[];var l=(t[0]-e[0])*(p[1]-a[1])-(t[1]-e[1])*(p[0]-a[0]);if(!(Math.abs(l)<1e-5)){var d=((e[1]-a[1])*(p[0]-a[0])-(e[0]-a[0])*(p[1]-a[1]))/l;if(!(d<1e-5||d>.99999)){var c=((e[1]-a[1])*(t[0]-e[0])-(e[0]-a[0])*(t[1]-e[1]))/l;if(!(c<1e-5||c>.99999))return[e[0]+d*(t[0]-e[0]),e[1]+d*(t[1]-e[1]),r,s]}}}if(i)return[]}return[]},this.renderDiced=function(e,t,i,n,_,r){var o=_,s=r;(e[0]-_[0])*(e[0]-_[0])+(e[1]-_[1])*(e[1]-_[1])>(e[0]-r[0])*(e[0]-r[0])+(e[1]-r[1])*(e[1]-r[1])&&(o=r,s=_),this.renderFinal([e,n,i]),this.renderFinal([e,o,n]),this.renderFinal([t,i,n]),this.renderFinal([t,n,s])},this.renderComplex=function(e,t,i,n){this.diceTri([e[0],t,n]),this.diceTri([t,e[1],i]),this.diceTri([t,i,n]),this.diceTri([n,i,e[2]])},this.renderTrimmed=function(e){var t=.3,i=this.intersectTrim(e[0],e[1]),n=this.intersectTrim(e[1],e[2]),_=this.intersectTrim(e[2],e[0]),r=(i.length>0)+(n.length>0)+(_.length>0);if(1==r){for(var o=[i,n,_],s=0;s<3;s++)if(o[s].length&&(Math.abs(e[s][0]-o[s][0])<1e-5&&Math.abs(e[s][1]-o[s][1])<1e-5||Math.abs(e[(s+1)%3][0]-o[s][0])<1e-5&&Math.abs(e[(s+1)%3][1]-o[s][1])<1e-5))return void this.renderFinal(e);if(i.length){var a=this.intersectTrim(e[0],e[1],i);if(a.length){var p=this.ttloops[a[2]][a[3]];return this.computeSurface(p),this.computeSurface(i),this.computeSurface(a),void(this.inOut([e[2],[e[2][0]+(e[1][0]-e[2][0])*t,e[2][1]+(e[1][1]-e[2][1])*t],[e[2][0]+(e[0][0]-e[2][0])*t,e[2][1]+(e[0][1]-e[2][1])*t]])>0?this.renderDiced(e[0],e[1],e[2],p,i,a):this.renderFinal([i,p,a]))}}else if(n.length){var l=this.intersectTrim(e[1],e[2],n);if(l.length){p=this.ttloops[l[2]][l[3]];return this.computeSurface(p),this.computeSurface(n),this.computeSurface(l),void(this.inOut([e[0],[e[0][0]+(e[1][0]-e[0][0])*t,e[0][1]+(e[1][1]-e[0][1])*t],[e[0][0]+(e[2][0]-e[0][0])*t,e[0][1]+(e[2][1]-e[0][1])*t]])>0?this.renderDiced(e[1],e[2],e[0],p,n,l):this.renderFinal([n,p,l]))}}else if(_.length){var d=this.intersectTrim(e[2],e[0],_);if(d.length){p=this.ttloops[d[2]][d[3]];return this.computeSurface(p),this.computeSurface(_),this.computeSurface(d),void(this.inOut([e[1],[e[1][0]+(e[0][0]-e[1][0])*t,e[1][1]+(e[0][1]-e[1][1])*t],[e[1][0]+(e[2][0]-e[1][0])*t,e[1][1]+(e[2][1]-e[1][1])*t]])>0?this.renderDiced(e[2],e[0],e[1],p,_,d):this.renderFinal([_,p,d]))}}if(this.max_rec)return this.max_rec--,this.diceTri(e),void this.max_rec++}if(2!=r){if(3==r)return void this.renderComplex(e,i,n,_);var c=0;if(this.inOut([e[0],[e[0][0]+(e[1][0]-e[0][0])*t,e[0][1]+(e[1][1]-e[0][1])*t],[e[0][0]+(e[2][0]-e[0][0])*t,e[0][1]+(e[2][1]-e[0][1])*t]])<0&&c++,this.inOut([e[1],[e[1][0]+(e[0][0]-e[1][0])*t,e[1][1]+(e[0][1]-e[1][1])*t],[e[1][0]+(e[2][0]-e[1][0])*t,e[1][1]+(e[2][1]-e[1][1])*t]])<0&&c++,this.inOut([e[2],[e[2][0]+(e[1][0]-e[2][0])*t,e[2][1]+(e[1][1]-e[2][1])*t],[e[2][0]+(e[0][0]-e[2][0])*t,e[2][1]+(e[0][1]-e[2][1])*t]])<0&&c++,c>0)return;this.renderFinal(e)}else i.length?n.length?(this.computeSurface(i),this.computeSurface(n),this.inOut([e[1],[e[1][0]+(i[0]-e[1][0])*t,e[1][1]+(i[1]-e[1][1])*t],[e[1][0]+(n[0]-e[1][0])*t,e[1][1]+(n[1]-e[1][1])*t]])<=0?(this.renderFinal([e[0],i,n]),this.renderFinal([e[0],n,e[2]])):this.renderFinal([e[1],n,i])):(this.computeSurface(i),this.computeSurface(_),this.inOut([e[0],[e[0][0]+(_[0]-e[0][0])*t,e[0][1]+(_[1]-e[0][1])*t],[e[0][0]+(i[0]-e[0][0])*t,e[0][1]+(i[1]-e[0][1])*t]])<=0?(this.renderFinal([e[1],_,i]),this.renderFinal([e[1],e[2],_])):this.renderFinal([e[0],i,_])):(this.computeSurface(n),this.computeSurface(_),this.inOut([e[2],[e[2][0]+(_[0]-e[2][0])*t,e[2][1]+(_[1]-e[2][1])*t],[e[2][0]+(n[0]-e[2][0])*t,e[2][1]+(n[1]-e[2][1])*t]])<=0?(this.renderFinal([e[0],n,_]),this.renderFinal([e[0],e[1],n])):this.renderFinal([e[2],_,n]))},this.inOut=function(e){for(var t=[],i=[],n=[],_=[],r=[],o=0;o<3;o++){t[o]=[];var s=e[o],a=e[(o+1)%3];t[o][0]=s[1]-a[1],t[o][1]=a[0]-s[0],i[o]=t[o][0]*s[0]+t[o][1]*s[1],n[o]=_[o]=0,r[o]=Math.abs(t[o][0])>Math.abs(t[o][1])?1:0}for(var p=0;p<this.ttloops.length;p++)for(var l=this.ttloops[p],d=0;d<l.length-1;d++){var c=l[d],b=l[d+1],u=0;for(o=0;o<3;o++){var m=c[0]*t[o][0]+c[1]*t[o][1]-i[o],h=b[0]*t[o][0]+b[1]*t[o][1]-i[o];if(u+=m<0?1:-1,!(m<0?h<0:h>=0)){var f=(b[r[o]]*m-c[r[o]]*h)/(m-h),g=f<e[o][r[o]],C=f<e[(o+1)%3][r[o]];if(g&&C)n[o]++;else{if(g||C)return 0;_[o]++}}}if(3==u||-3==u)return 0}return 1&n[0]&&1&n[1]&&1&n[2]?1:1&n[0]||1&n[1]||1&n[2]?0:-1},this.refineTrim=function(e,t,i){var n=this.computeCurve(e,Math.floor(t),t),_=this.computeCurve(e,Math.floor(i),i);return this.splitEdge(n,_)>this.edge_thresh},this.initTrims=function(){this.ttloops=[],this.curveHash=[];var e=this.edge_thresh;this.edge_thresh=this.trim_thresh;for(var t=0;t<this.tloops.length;t++){var i=this.tloops[t];this.curveHash[t]=[],this.ttloops[t]=[];for(var n,_=[],r=0;r<i.length;r++){var o=i[r][2],s=1/(o[o.length-1]-o[0]);if(Math.abs(1-s)>1e-11)for(var a=0;a<o.length;a++)o[a]=o[a]*s;var p=o[0]-r;if(Math.abs(p)>1e-11)for(a=0;a<o.length;a++)o[a]=o[a]-p;var l=i[r][1],d=o[l];for(n=o[o.length-l-1];d<n;){for(this.ttloops[t].push(this.computeCurve(t,r,d)),_.push(d),l++;Math.abs(d-o[l])<1e-5;)l++;d=o[l]}}for(var c=this.ttloops[t],b=0;b<c.length;){var u=_[b],m=Math.floor(u),h=b+1;h==c.length&&(h=0);var f=_[h];if(i[m][1]>1&&this.refineTrim(t,u,f)){var g;0==h?(g=.5*(u+n),h=b+1):g=.5*(u+f);var C=this.computeCurve(t,m,g);c.splice(h,0,C),_.splice(h,0,g)}else{if(0==h)break;b=h}}c.push(c[0])}this.curveHash=null,this.edge_thresh=e},this.trimFinal=function(e){if(this.tloops){if(this.inOut(e)>=0)return void this.renderTrimmed(e);var t=.3,i=0;if(this.inOut([e[0],[e[0][0]+(e[1][0]-e[0][0])*t,e[0][1]+(e[1][1]-e[0][1])*t],[e[0][0]+(e[2][0]-e[0][0])*t,e[0][1]+(e[2][1]-e[0][1])*t]])<0&&i++,this.inOut([e[1],[e[1][0]+(e[0][0]-e[1][0])*t,e[1][1]+(e[0][1]-e[1][1])*t],[e[1][0]+(e[2][0]-e[1][0])*t,e[1][1]+(e[2][1]-e[1][1])*t]])<0&&i++,this.inOut([e[2],[e[2][0]+(e[1][0]-e[2][0])*t,e[2][1]+(e[1][1]-e[2][1])*t],[e[2][0]+(e[0][0]-e[2][0])*t,e[2][1]+(e[0][1]-e[2][1])*t]])<0&&i++,i>0)return}this.renderFinal(e)}}onmessage=function(t){e=t.data[11]?t.data[11]:new Map;var i=new n(t.data);if(t.data[12]&&t.data[12].length?i.deform():(i.adjustThresholds(t.data[8],t.data[9]),t.data[10]&&t.data[10].length?i.initTrims():i.tloops=null,i.tessellate()),i.have_transferables){for(var _=new Uint32Array(i.indices.length),r=0;r<i.indices.length;r++)_[r]=i.indices[r];postMessage(_.buffer,[_.buffer]);var o=new Float64Array(i.coordinates.length);for(r=0;r<i.coordinates.length;r++)o[r]=i.coordinates[r];postMessage(o.buffer,[o.buffer]);var s=new Float64Array(i.texcoords.length);for(r=0;r<i.texcoords.length;r++)s[r]=i.texcoords[r];postMessage(s.buffer,[s.buffer])}else postMessage([i.indices,i.coordinates,i.texcoords,e,i.uv,t.data[13]]);close()}}.toString()+")()"],{type:"application/javascript"}))}(),x3dom.WorkerPool=function(e){var t=this;this.taskQueue=[],this.workerQueue=[],this.poolSize=e,this.init=function(){for(var e=0;e<this.poolSize;e++)t.workerQueue.push(new x3dom.WorkerThread(t))},this.addWorkerTask=function(e){t.workerQueue.length>0?t.workerQueue.shift().run(e):t.taskQueue.push(e)},this.freeWorkerThread=function(e){if(t.taskQueue.length>0){var i=t.taskQueue.shift();if(i.discard)return this.freeWorkerThread(e);e.run(i)}else t.workerQueue.push(e)}},x3dom.WorkerThread=function(e){var t=this;this.workerPool=e,this.workerTask={},this.run=function(e){t.workerTask=e;var i=new Worker(e.script);i.caller=e.caller,i.onmessage=function(e){t.workerTask.callback(e),t.workerPool.freeWorkerThread(t)},i.postMessage(e.startMessage)}},x3dom.WorkerTask=function(e,t,i,n){this.script=e,this.caller=t,this.callback=i,this.startMessage=n},function(){var e=1;navigator.hardwareConcurrency&&(e=Math.max(1,navigator.hardwareConcurrency-1)),x3dom.tessWorkerPool=new x3dom.WorkerPool(e),x3dom.tessWorkerPool.init()}(),function(){var e,t,i,n,_,r,o,s,a,p,l,d,c,b=[],u=[],m=null,h=[],f=new x3dom.fields.SFVec3f,g=!1,C=[],S=!0,y=[],v=!1;function o(e,t){if(x3dom.isa(e._x3domNode,x3dom.nodeTypes.CollidableShape)){var i=new X3DCollidableShape;b.push(i),i.CollidableShape=e,i.createRigid=!0,i.RB_setup=!1,i.T_setup=!1,i.CC_setup=!1,i.isMotor=!1,i.torque=new x3dom.fields.SFVec3f(0,0,0),i.isInline=!1,i.inlineExternalTransform=null,i.Transform=e._x3domNode._cf.transform,t&&(i.isInline=!0,i.inlineExternalTransform=t)}if(x3dom.isa(e._x3domNode,x3dom.nodeTypes.RigidBodyCollection)){for(var n in e._x3domNode._cf.joints.nodes)if(x3dom.isa(e._x3domNode._cf.joints.nodes[n],x3dom.nodeTypes.BallJoint)||x3dom.isa(e._x3domNode._cf.joints.nodes[n],x3dom.nodeTypes.UniversalJoint)||x3dom.isa(e._x3domNode._cf.joints.nodes[n],x3dom.nodeTypes.SliderJoint)||x3dom.isa(e._x3domNode._cf.joints.nodes[n],x3dom.nodeTypes.MotorJoint)||x3dom.isa(e._x3domNode._cf.joints.nodes[n],x3dom.nodeTypes.SingleAxisHingeJoint)||x3dom.isa(e._x3domNode._cf.joints.nodes[n],x3dom.nodeTypes.DoubleAxisHingeJoint)){var _=new X3DJoint;_.createJoint=!0,_.Joint=e._x3domNode._cf.joints.nodes[n],u.push(_)}!0}if(v&&r(e),e.parentNode)for(var n in e.parentNode.children)if(e.parentNode&&e.parentNode.children.hasOwnProperty(n)&&e.parentNode.children[n])if(x3dom.isa(e.parentNode.children[n]._x3domNode,x3dom.nodeTypes.Group))for(var o in e.parentNode.children[n].childNodes)e.parentNode.children[n].childNodes.hasOwnProperty(o)&&e.parentNode.children[n].childNodes[o]&&r(e.parentNode.children[n].childNodes[o]);else r(e.parentNode.children[n])}function r(e){if(x3dom.isa(e._x3domNode,x3dom.nodeTypes.CollisionSensor))for(var t in e._x3domNode._cf.collider._x3domNode._cf.collidables.nodes)for(var i in b)b[i].CC_setup||b[i].CollidableShape._x3domNode._DEF!=e._x3domNode._cf.collider._x3domNode._cf.collidables.nodes[t]._DEF||(b[i].CC_setup=!0,b[i].CollisionCollection=e._x3domNode._cf.collider);if(x3dom.isa(e._x3domNode,x3dom.nodeTypes.CollisionCollection))for(var t in e._x3domNode._cf.collidables.nodes)for(var i in b)b[i].CC_setup||b[i].CollidableShape._x3domNode._DEF!=e._x3domNode._cf.collidables.nodes[t]._DEF||(b[i].CC_setup=!0,b[i].CollisionCollection=e._x3domNode._cf.collider);if(x3dom.isa(e._x3domNode,x3dom.nodeTypes.Transform))for(var i in b)!b[i].T_setup&&b[i].Transform._x3domNode&&b[i].Transform._x3domNode._DEF==e._x3domNode._DEF&&(b[i].T_setup=!0,b[i].inlineInternalTransform=null,C.push(e),!b[i].inlineInternalTransform&&b[i].isInline&&(b[i].inlineInternalTransform=e));if(x3dom.isa(e._x3domNode,x3dom.nodeTypes.RigidBodyCollection))for(var t in e._x3domNode._cf.bodies.nodes)for(var n in e._x3domNode._cf.bodies.nodes[t]._cf.geometry.nodes)for(var i in b)b[i].RB_setup||b[i].CollidableShape._x3domNode._DEF!=e._x3domNode._cf.bodies.nodes[t]._cf.geometry.nodes[n]._DEF||(b[i].RB_setup=!0,b[i].RigidBody=e._x3domNode._cf.bodies.nodes[t],b[i].RigidBodyCollection=e)}function s(e,t){x3dom.isa(e._x3domNode,x3dom.nodeTypes.Transform)&&(t.geometry.isInline?e==t.geometry.inlineExternalTransform&&t.geometry.inlineInternalTransform&&(t.geometry.inlineInternalTransform.translation=t.geometry.CollidableShape._x3domNode._vf.translation,t.geometry.inlineInternalTransform.rotation=t.geometry.CollidableShape._x3domNode._vf.rotation):t.geometry.Transform&&t.geometry.Transform._x3domNode._DEF==e._x3domNode._DEF&&(e.translation=t.geometry.CollidableShape._x3domNode._vf.translation,e.rotation=t.geometry.CollidableShape._x3domNode._vf.rotation))}function c(e,t){for(var i in e.children)o(e.children[i],t);t.translation=new x3dom.fields.SFVec3f(0,0,0)}t=function(){var t,i,n,_;new x3dom.fields.SFVec3f;t=new Ammo.btDefaultCollisionConfiguration,i=new Ammo.btCollisionDispatcher(t),n=new Ammo.btDbvtBroadphase,_=new Ammo.btSequentialImpulseConstraintSolver,(e=new Ammo.btDiscreteDynamicsWorld(i,n,_,t)).setGravity(new Ammo.btVector3(0,-9.81,0))},a=function(){var t,i,n,r,o,s,a,p,d,c,u,m,f,g,C;for(var y in S=!0,b)if(b[y].CC_setup&&b[y].T_setup&&b[y].RB_setup&&b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._xmlNode.nodeName&&1==b[y].createRigid)switch(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._xmlNode.nodeName.toLowerCase()){case"sphere":var v=b[y];t=!b[y].RigidBody._vf.enabled||b[y].RigidBody._vf.fixed?0:b[y].RigidBody._vf.mass,(i=new Ammo.btTransform).setIdentity(),i.setOrigin(new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x,b[y].CollidableShape._x3domNode._vf.translation.y,b[y].CollidableShape._x3domNode._vf.translation.z)),0==b[y].CollidableShape._x3domNode._vf.rotation.x&&0==b[y].CollidableShape._x3domNode._vf.rotation.y&&0==b[y].CollidableShape._x3domNode._vf.rotation.z&&1==b[y].CollidableShape._x3domNode._vf.rotation.w?i.setRotation(new Ammo.btQuaternion(0,0,1,0)):(b[y].Transform._x3domNode._vf.rotation=b[y].CollidableShape._x3domNode._vf.rotation,i.setRotation(new Ammo.btQuaternion(b[y].CollidableShape._x3domNode._vf.rotation.x,b[y].CollidableShape._x3domNode._vf.rotation.y,b[y].CollidableShape._x3domNode._vf.rotation.z,b[y].CollidableShape._x3domNode._vf.rotation.w))),p=null!=b[y].RigidBody._vf.centerOfMass?new Ammo.btTransform(i.getRotation(),new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x+b[y].RigidBody._vf.centerOfMass.x,b[y].CollidableShape._x3domNode._vf.translation.y+b[y].RigidBody._vf.centerOfMass.y,b[y].CollidableShape._x3domNode._vf.translation.z+b[y].RigidBody._vf.centerOfMass.z)):i,n=b[y].RigidBody._vf.inertia?b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2]==b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5]==b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]==1?new Ammo.btVector3(0,0,0):new Ammo.btVector3(b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2],b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5],b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]):new Ammo.btVector3(0,0,0),(r=new Ammo.btSphereShape(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.radius)).calculateLocalInertia(t,n),r.setMargin(b[y].RigidBodyCollection._x3domNode._vf.contactSurfaceThickness),d=new Ammo.btDefaultMotionState(i),(c=new Ammo.btRigidBodyConstructionInfo(t,d,r,n)).m_friction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.x,c.m_rollingFriction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y,u=new Ammo.btRigidBody(c),b[y].RigidBody._vf.autoDamp?u.setDamping(b[y].RigidBody._vf.linearDampingFactor,b[y].RigidBody._vf.angularDampingFactor):u.setDamping(0,0),u.setAngularVelocity(new Ammo.btVector3(b[y].RigidBody._vf.angularVelocity.x,b[y].RigidBody._vf.angularVelocity.y,b[y].RigidBody._vf.angularVelocity.z)),u.setLinearVelocity(new Ammo.btVector3(b[y].RigidBody._vf.linearVelocity.x,b[y].RigidBody._vf.linearVelocity.y,b[y].RigidBody._vf.linearVelocity.z)),null!=b[y].CollisionCollection._x3domNode._vf.bounce?u.setRestitution(b[y].CollisionCollection._x3domNode._vf.bounce):u.setRestitution(1),null!=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients?u.setFriction(b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y):u.setFriction(0),b[y].RigidBody._vf.disableLinearSpeed&&b[y].RigidBody._vf.disableAngularSpeed&&u.setSleepingThresholds(b[y].RigidBody._vf.disableLinearSpeed,b[y].RigidBody._vf.disableAngularSpeed),b[y].RigidBody._vf.useGlobalGravity?(u.setGravity(new Ammo.btVector3(b[y].RigidBodyCollection._x3domNode._vf.gravity.x,b[y].RigidBodyCollection._x3domNode._vf.gravity.y,b[y].RigidBodyCollection._x3domNode._vf.gravity.z)),u.setFlags(0)):u.setFlags(1),u.setCenterOfMassTransform(p),null!=l?(e.removeRigidBody(h[l]),e.addRigidBody(u),u.geometry=v,h.splice(l,1,u)):(e.addRigidBody(u),u.geometry=v,h.push(u));break;case"box":var x=b[y];t=!b[y].RigidBody._vf.enabled||b[y].RigidBody._vf.fixed?0:b[y].RigidBody._vf.mass,(i=new Ammo.btTransform).setIdentity(),i.setBasis(b[y].RigidBody._vf.inertia),i.setOrigin(new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x,b[y].CollidableShape._x3domNode._vf.translation.y,b[y].CollidableShape._x3domNode._vf.translation.z));new x3dom.fields.Quaternion(0,0,0,1);0==b[y].CollidableShape._x3domNode._vf.rotation.x&&0==b[y].CollidableShape._x3domNode._vf.rotation.y&&0==b[y].CollidableShape._x3domNode._vf.rotation.z&&1==b[y].CollidableShape._x3domNode._vf.rotation.w?i.setRotation(new Ammo.btQuaternion(0,0,1,0)):i.setRotation(new Ammo.btQuaternion(b[y].CollidableShape._x3domNode._vf.rotation.x,b[y].CollidableShape._x3domNode._vf.rotation.y,b[y].CollidableShape._x3domNode._vf.rotation.z,b[y].CollidableShape._x3domNode._vf.rotation.w)),p=null!=b[y].RigidBody._vf.centerOfMass?new Ammo.btTransform(i.getRotation(),new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x+b[y].RigidBody._vf.centerOfMass.x,b[y].CollidableShape._x3domNode._vf.translation.y+b[y].RigidBody._vf.centerOfMass.y,b[y].CollidableShape._x3domNode._vf.translation.z+b[y].RigidBody._vf.centerOfMass.z)):i,n=b[y].RigidBody._vf.inertia?b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2]==b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5]==b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]==1?new Ammo.btVector3(0,0,0):new Ammo.btVector3(b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2],b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5],b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]):new Ammo.btVector3(0,0,0),o=new Ammo.btBoxShape(new Ammo.btVector3(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.size.x/2,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.size.y/2,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.size.z/2)),n=new Ammo.btVector3(0,0,0),o.calculateLocalInertia(t,n),o.setMargin(b[y].RigidBodyCollection._x3domNode._vf.contactSurfaceThickness),d=new Ammo.btDefaultMotionState(i),(c=new Ammo.btRigidBodyConstructionInfo(t,d,o,n)).m_friction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.x,c.m_rollingFriction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y,m=new Ammo.btRigidBody(c),b[y].RigidBody._vf.autoDamp?m.setDamping(b[y].RigidBody._vf.linearDampingFactor,b[y].RigidBody._vf.angularDampingFactor):m.setDamping(0,0),m.setAngularVelocity(new Ammo.btVector3(b[y].RigidBody._vf.angularVelocity.x,b[y].RigidBody._vf.angularVelocity.y,b[y].RigidBody._vf.angularVelocity.z)),m.setLinearVelocity(new Ammo.btVector3(b[y].RigidBody._vf.linearVelocity.x,b[y].RigidBody._vf.linearVelocity.y,b[y].RigidBody._vf.linearVelocity.z)),null!=b[y].CollisionCollection._x3domNode._vf.bounce?m.setRestitution(b[y].CollisionCollection._x3domNode._vf.bounce):m.setRestitution(1),null!=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients?m.setFriction(b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y):m.setFriction(1),b[y].RigidBody._vf.disableLinearSpeed&&b[y].RigidBody._vf.disableAngularSpeed&&m.setSleepingThresholds(b[y].RigidBody._vf.disableLinearSpeed,b[y].RigidBody._vf.disableAngularSpeed),b[y].RigidBody._vf.useGlobalGravity?(m.setGravity(new Ammo.btVector3(b[y].RigidBodyCollection._x3domNode._vf.gravity.x,b[y].RigidBodyCollection._x3domNode._vf.gravity.y,b[y].RigidBodyCollection._x3domNode._vf.gravity.z)),m.setFlags(0)):m.setFlags(1),m.setCenterOfMassTransform(p),null!=l?(e.removeRigidBody(h[l]),e.addRigidBody(m),m.geometry=x,h.splice(l,1,m)):(e.addRigidBody(m),m.geometry=x,h.push(m));break;case"cylinder":var M=b[y];t=!b[y].RigidBody._vf.enabled||b[y].RigidBody._vf.fixed?0:b[y].RigidBody._vf.mass,(i=new Ammo.btTransform).setIdentity(),i.setBasis(b[y].RigidBody._vf.inertia),i.setOrigin(new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x,b[y].CollidableShape._x3domNode._vf.translation.y,b[y].CollidableShape._x3domNode._vf.translation.z)),0==b[y].CollidableShape._x3domNode._vf.rotation.x&&0==b[y].CollidableShape._x3domNode._vf.rotation.y&&0==b[y].CollidableShape._x3domNode._vf.rotation.z&&1==b[y].CollidableShape._x3domNode._vf.rotation.w?i.setRotation(new Ammo.btQuaternion(0,0,1,0)):(b[y].Transform._x3domNode._vf.rotation=b[y].CollidableShape._x3domNode._vf.rotation,i.setRotation(new Ammo.btQuaternion(b[y].CollidableShape._x3domNode._vf.rotation.x,b[y].CollidableShape._x3domNode._vf.rotation.y,b[y].CollidableShape._x3domNode._vf.rotation.z,b[y].CollidableShape._x3domNode._vf.rotation.w))),p=null!=b[y].RigidBody._vf.centerOfMass?new Ammo.btTransform(i.getRotation(),new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x+b[y].RigidBody._vf.centerOfMass.x,b[y].CollidableShape._x3domNode._vf.translation.y+b[y].RigidBody._vf.centerOfMass.y,b[y].CollidableShape._x3domNode._vf.translation.z+b[y].RigidBody._vf.centerOfMass.z)):i,n=b[y].RigidBody._vf.inertia?b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2]==b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5]==b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]==1?new Ammo.btVector3(0,0,0):new Ammo.btVector3(b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2],b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5],b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]):new Ammo.btVector3(0,0,0),(s=new Ammo.btCylinderShape(new Ammo.btVector3(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.radius,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.height/2,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.radius))).calculateLocalInertia(t,n),s.setMargin(b[y].RigidBodyCollection._x3domNode._vf.contactSurfaceThickness),d=new Ammo.btDefaultMotionState(i),(c=new Ammo.btRigidBodyConstructionInfo(t,d,s,n)).m_friction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.x,c.m_rollingFriction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y,f=new Ammo.btRigidBody(c),b[y].RigidBody._vf.autoDamp?f.setDamping(b[y].RigidBody._vf.linearDampingFactor,b[y].RigidBody._vf.angularDampingFactor):f.setDamping(0,0),f.setAngularVelocity(new Ammo.btVector3(b[y].RigidBody._vf.angularVelocity.x,b[y].RigidBody._vf.angularVelocity.y,b[y].RigidBody._vf.angularVelocity.z)),f.setLinearVelocity(new Ammo.btVector3(b[y].RigidBody._vf.linearVelocity.x,b[y].RigidBody._vf.linearVelocity.y,b[y].RigidBody._vf.linearVelocity.z)),null!=b[y].CollisionCollection._x3domNode._vf.bounce?f.setRestitution(b[y].CollisionCollection._x3domNode._vf.bounce):f.setRestitution(1),null!=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients?f.setFriction(b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y):f.setFriction(1),b[y].RigidBody._vf.disableLinearSpeed&&b[y].RigidBody._vf.disableAngularSpeed&&f.setSleepingThresholds(b[y].RigidBody._vf.disableLinearSpeed,b[y].RigidBody._vf.disableAngularSpeed),b[y].RigidBody._vf.useGlobalGravity?(f.setGravity(new Ammo.btVector3(b[y].RigidBodyCollection._x3domNode._vf.gravity.x,b[y].RigidBodyCollection._x3domNode._vf.gravity.y,b[y].RigidBodyCollection._x3domNode._vf.gravity.z)),f.setFlags(0)):f.setFlags(1),f.setCenterOfMassTransform(p),null!=l?(e.removeRigidBody(h[l]),e.addRigidBody(f),f.geometry=M,h.splice(l,1,f)):(e.addRigidBody(f),f.geometry=M,h.push(f));break;case"cone":var T=b[y];t=!b[y].RigidBody._vf.enabled||b[y].RigidBody._vf.fixed?0:b[y].RigidBody._vf.mass,(i=new Ammo.btTransform).setIdentity(),i.setBasis(b[y].RigidBody._vf.inertia),i.setOrigin(new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x,b[y].CollidableShape._x3domNode._vf.translation.y,b[y].CollidableShape._x3domNode._vf.translation.z)),0==b[y].CollidableShape._x3domNode._vf.rotation.x&&0==b[y].CollidableShape._x3domNode._vf.rotation.y&&0==b[y].CollidableShape._x3domNode._vf.rotation.z&&1==b[y].CollidableShape._x3domNode._vf.rotation.w?i.setRotation(new Ammo.btQuaternion(0,0,1,0)):(b[y].Transform._x3domNode._vf.rotation=b[y].CollidableShape._x3domNode._vf.rotation,i.setRotation(new Ammo.btQuaternion(b[y].CollidableShape._x3domNode._vf.rotation.x,b[y].CollidableShape._x3domNode._vf.rotation.y,b[y].CollidableShape._x3domNode._vf.rotation.z,b[y].CollidableShape._x3domNode._vf.rotation.w))),p=null!=b[y].RigidBody._vf.centerOfMass?new Ammo.btTransform(i.getRotation(),new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x+b[y].RigidBody._vf.centerOfMass.x,b[y].CollidableShape._x3domNode._vf.translation.y+b[y].RigidBody._vf.centerOfMass.y,b[y].CollidableShape._x3domNode._vf.translation.z+b[y].RigidBody._vf.centerOfMass.z)):i,n=b[y].RigidBody._vf.inertia?b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2]==b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5]==b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]==1?new Ammo.btVector3(0,0,0):new Ammo.btVector3(b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2],b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5],b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]):new Ammo.btVector3(0,0,0),(a=new Ammo.btConeShape(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.radius,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._vf.height)).setConeUpIndex(1),a.setMargin(b[y].RigidBodyCollection._x3domNode._vf.contactSurfaceThickness),a.calculateLocalInertia(t,n),d=new Ammo.btDefaultMotionState(i),(c=new Ammo.btRigidBodyConstructionInfo(t,d,a,n)).m_friction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.x,c.m_rollingFriction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y,g=new Ammo.btRigidBody(c),b[y].RigidBody._vf.autoDamp?g.setDamping(b[y].RigidBody._vf.linearDampingFactor,b[y].RigidBody._vf.angularDampingFactor):g.setDamping(0,0),g.setAngularVelocity(new Ammo.btVector3(b[y].RigidBody._vf.angularVelocity.x,b[y].RigidBody._vf.angularVelocity.y,b[y].RigidBody._vf.angularVelocity.z)),g.setLinearVelocity(new Ammo.btVector3(b[y].RigidBody._vf.linearVelocity.x,b[y].RigidBody._vf.linearVelocity.y,b[y].RigidBody._vf.linearVelocity.z)),null!=b[y].CollisionCollection._x3domNode._vf.bounce?g.setRestitution(b[y].CollisionCollection._x3domNode._vf.bounce):g.setRestitution(1),null!=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients?g.setFriction(b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y):g.setFriction(1),b[y].RigidBody._vf.disableLinearSpeed&&b[y].RigidBody._vf.disableAngularSpeed&&g.setSleepingThresholds(b[y].RigidBody._vf.disableLinearSpeed,b[y].RigidBody._vf.disableAngularSpeed),b[y].RigidBody._vf.useGlobalGravity?(g.setGravity(new Ammo.btVector3(b[y].RigidBodyCollection._x3domNode._vf.gravity.x,b[y].RigidBodyCollection._x3domNode._vf.gravity.y,b[y].RigidBodyCollection._x3domNode._vf.gravity.z)),g.setFlags(0)):g.setFlags(1),g.setCenterOfMassTransform(p),null!=l?(e.removeRigidBody(h[l]),e.addRigidBody(g),g.geometry=T,h.splice(l,1,g)):(e.addRigidBody(g),g.geometry=T,h.push(g));break;case"indexedfaceset":var D=b[y];t=!b[y].RigidBody._vf.enabled||b[y].RigidBody._vf.fixed?0:b[y].RigidBody._vf.mass,(i=new Ammo.btTransform).setIdentity(),i.setBasis(b[y].RigidBody._vf.inertia),i.setOrigin(new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x,b[y].CollidableShape._x3domNode._vf.translation.y,b[y].CollidableShape._x3domNode._vf.translation.z)),0==b[y].CollidableShape._x3domNode._vf.rotation.x&&0==b[y].CollidableShape._x3domNode._vf.rotation.y&&0==b[y].CollidableShape._x3domNode._vf.rotation.z&&1==b[y].CollidableShape._x3domNode._vf.rotation.w?i.setRotation(new Ammo.btQuaternion(0,0,1,0)):(b[y].Transform._x3domNode._vf.rotation=b[y].CollidableShape._x3domNode._vf.rotation,i.setRotation(new Ammo.btQuaternion(b[y].CollidableShape._x3domNode._vf.rotation.x,b[y].CollidableShape._x3domNode._vf.rotation.y,b[y].CollidableShape._x3domNode._vf.rotation.z,b[y].CollidableShape._x3domNode._vf.rotation.w))),p=null!=b[y].RigidBody._vf.centerOfMass?new Ammo.btTransform(i.getRotation(),new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x+b[y].RigidBody._vf.centerOfMass.x,b[y].CollidableShape._x3domNode._vf.translation.y+b[y].RigidBody._vf.centerOfMass.y,b[y].CollidableShape._x3domNode._vf.translation.z+b[y].RigidBody._vf.centerOfMass.z)):i,n=b[y].RigidBody._vf.inertia?b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2]==b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5]==b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]==1?new Ammo.btVector3(0,0,0):new Ammo.btVector3(b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2],b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5],b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]):new Ammo.btVector3(0,0,0);var P=new Ammo.btConvexHullShape;for(var w in b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point)P.addPoint(new Ammo.btVector3(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point[w].x,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point[w].y,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point[w].z),!0);(F=new Ammo.btCompoundShape).addChildShape(i,P),F.setMargin(b[y].RigidBodyCollection._x3domNode._vf.contactSurfaceThickness),F.createAabbTreeFromChildren(),F.updateChildTransform(0,new Ammo.btTransform(new Ammo.btQuaternion(0,0,0,1),new Ammo.btVector3(0,0,0)),!0),F.calculateLocalInertia(t,n),d=new Ammo.btDefaultMotionState(i),(c=new Ammo.btRigidBodyConstructionInfo(t,d,F,n)).m_friction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.x,c.m_rollingFriction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y,C=new Ammo.btRigidBody(c),b[y].RigidBody._vf.autoDamp?C.setDamping(b[y].RigidBody._vf.linearDampingFactor,b[y].RigidBody._vf.angularDampingFactor):C.setDamping(0,0),C.setAngularVelocity(new Ammo.btVector3(b[y].RigidBody._vf.angularVelocity.x,b[y].RigidBody._vf.angularVelocity.y,b[y].RigidBody._vf.angularVelocity.z)),C.setLinearVelocity(new Ammo.btVector3(b[y].RigidBody._vf.linearVelocity.x,b[y].RigidBody._vf.linearVelocity.y,b[y].RigidBody._vf.linearVelocity.z)),null!=b[y].CollisionCollection._x3domNode._vf.bounce?C.setRestitution(b[y].CollisionCollection._x3domNode._vf.bounce):C.setRestitution(1),null!=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients?C.setFriction(b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y):C.setFriction(1),b[y].RigidBody._vf.disableLinearSpeed&&b[y].RigidBody._vf.disableAngularSpeed&&C.setSleepingThresholds(b[y].RigidBody._vf.disableLinearSpeed,b[y].RigidBody._vf.disableAngularSpeed),b[y].RigidBody._vf.useGlobalGravity?(C.setGravity(new Ammo.btVector3(b[y].RigidBodyCollection._x3domNode._vf.gravity.x,b[y].RigidBodyCollection._x3domNode._vf.gravity.y,b[y].RigidBodyCollection._x3domNode._vf.gravity.z)),C.setFlags(0)):C.setFlags(1),C.setCenterOfMassTransform(p),null!=l?(e.removeRigidBody(h[l]),e.addRigidBody(C),C.geometry=D,h.splice(l,1,C)):(e.addRigidBody(C),C.geometry=D,h.push(C));break;case"indexedtriangleset":var A=b[y];t=!b[y].RigidBody._vf.enabled||b[y].RigidBody._vf.fixed?0:b[y].RigidBody._vf.mass,(i=new Ammo.btTransform).setIdentity(),i.setBasis(b[y].RigidBody._vf.inertia),i.setOrigin(new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x,b[y].CollidableShape._x3domNode._vf.translation.y,b[y].CollidableShape._x3domNode._vf.translation.z)),0==b[y].CollidableShape._x3domNode._vf.rotation.x&&0==b[y].CollidableShape._x3domNode._vf.rotation.y&&0==b[y].CollidableShape._x3domNode._vf.rotation.z&&1==b[y].CollidableShape._x3domNode._vf.rotation.w?i.setRotation(new Ammo.btQuaternion(0,0,1,0)):(b[y].Transform._x3domNode._vf.rotation=b[y].CollidableShape._x3domNode._vf.rotation,i.setRotation(new Ammo.btQuaternion(b[y].CollidableShape._x3domNode._vf.rotation.x,b[y].CollidableShape._x3domNode._vf.rotation.y,b[y].CollidableShape._x3domNode._vf.rotation.z,b[y].CollidableShape._x3domNode._vf.rotation.w))),p=null!=b[y].RigidBody._vf.centerOfMass?new Ammo.btTransform(i.getRotation(),new Ammo.btVector3(b[y].CollidableShape._x3domNode._vf.translation.x+b[y].RigidBody._vf.centerOfMass.x,b[y].CollidableShape._x3domNode._vf.translation.y+b[y].RigidBody._vf.centerOfMass.y,b[y].CollidableShape._x3domNode._vf.translation.z+b[y].RigidBody._vf.centerOfMass.z)):i,n=b[y].RigidBody._vf.inertia?b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2]==b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5]==b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]==1?new Ammo.btVector3(0,0,0):new Ammo.btVector3(b[y].RigidBody._vf.inertia[0]+b[y].RigidBody._vf.inertia[1]+b[y].RigidBody._vf.inertia[2],b[y].RigidBody._vf.inertia[3]+b[y].RigidBody._vf.inertia[4]+b[y].RigidBody._vf.inertia[5],b[y].RigidBody._vf.inertia[6]+b[y].RigidBody._vf.inertia[7]+b[y].RigidBody._vf.inertia[8]):new Ammo.btVector3(0,0,0);var F;P=new Ammo.btConvexHullShape;for(var w in b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point)P.addPoint(new Ammo.btVector3(b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point[w].x,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point[w].y,b[y].CollidableShape._x3domNode._cf.shape._x3domNode._cf.geometry.node._cf.coord.node._vf.point[w].z),!0);(F=new Ammo.btCompoundShape).addChildShape(i,P),F.setMargin(b[y].RigidBodyCollection._x3domNode._vf.contactSurfaceThickness),F.createAabbTreeFromChildren(),F.updateChildTransform(0,new Ammo.btTransform(new Ammo.btQuaternion(0,0,0,1),new Ammo.btVector3(0,0,0)),!0),F.calculateLocalInertia(t,n),d=new Ammo.btDefaultMotionState(i),(c=new Ammo.btRigidBodyConstructionInfo(t,d,F,n)).m_friction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.x,c.m_rollingFriction=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y;var R=new Ammo.btRigidBody(c);b[y].RigidBody._vf.autoDamp?R.setDamping(b[y].RigidBody._vf.linearDampingFactor,b[y].RigidBody._vf.angularDampingFactor):R.setDamping(0,0),R.setAngularVelocity(new Ammo.btVector3(b[y].RigidBody._vf.angularVelocity.x,b[y].RigidBody._vf.angularVelocity.y,b[y].RigidBody._vf.angularVelocity.z)),R.setLinearVelocity(new Ammo.btVector3(b[y].RigidBody._vf.linearVelocity.x,b[y].RigidBody._vf.linearVelocity.y,b[y].RigidBody._vf.linearVelocity.z)),null!=b[y].CollisionCollection._x3domNode._vf.bounce?R.setRestitution(b[y].CollisionCollection._x3domNode._vf.bounce):R.setRestitution(1),null!=b[y].CollisionCollection._x3domNode._vf.frictionCoefficients?R.setFriction(b[y].CollisionCollection._x3domNode._vf.frictionCoefficients.y):R.setFriction(1),b[y].RigidBody._vf.disableLinearSpeed&&b[y].RigidBody._vf.disableAngularSpeed&&R.setSleepingThresholds(b[y].RigidBody._vf.disableLinearSpeed,b[y].RigidBody._vf.disableAngularSpeed),b[y].RigidBody._vf.useGlobalGravity?(R.setGravity(new Ammo.btVector3(b[y].RigidBodyCollection._x3domNode._vf.gravity.x,b[y].RigidBodyCollection._x3domNode._vf.gravity.y,b[y].RigidBodyCollection._x3domNode._vf.gravity.z)),R.setFlags(0)):R.setFlags(1),R.setCenterOfMassTransform(p),null!=l?(e.removeRigidBody(h[l]),e.addRigidBody(R),R.geometry=A,h.splice(l,1,R)):(e.addRigidBody(R),R.geometry=A,h.push(R))}CreateJoints(),_()},CreateJoints=function(){var t;if(null!=l)for(t=e.getNumConstraints();t>=0;t--){var i=e.getConstraint(t);e.removeConstraint(i)}for(var n in u)if(u[n].Joint._xmlNode.nodeName)switch(u[n].Joint._xmlNode.nodeName.toLowerCase()){case"balljoint":for(var _ in h){if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body1.node._DEF)var r=h[_];if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body2.node._DEF)var o=h[_]}if(r&&o){var s=new Ammo.btPoint2PointConstraint(r,o,new Ammo.btVector3(u[n].Joint._vf.anchorPoint.x,u[n].Joint._vf.anchorPoint.y,u[n].Joint._vf.anchorPoint.z),new Ammo.btVector3(-u[n].Joint._vf.anchorPoint.x,-u[n].Joint._vf.anchorPoint.y,-u[n].Joint._vf.anchorPoint.z));e.addConstraint(s)}break;case"sliderjoint":for(_=0;_<h.length;_++){if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body1.node._DEF)r=h[_];if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body2.node._DEF)o=h[_]}if(r&&o){var a=new Ammo.btSliderConstraint(r,o,r.getWorldTransform(),o.getWorldTransform(),!0);a.setFrames(r.getWorldTransform(),o.getWorldTransform()),e.addConstraint(a)}break;case"universaljoint":for(_=0;_<h.length;_++){if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body1.node._DEF)r=h[_];if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body2.node._DEF)o=h[_]}if(r&&o){var p=new btUniversalConstraint(r,o,new Ammo.btVector3(u[n].Joint._vf.anchorPoint.x,u[n].Joint._vf.anchorPoint.y,u[n].Joint._vf.anchorPoint.z),new Ammo.btVector3(u[n].Joint._vf.axis1.x,u[n].Joint._vf.axis1.y,u[n].Joint._vf.axis1.z),new Ammo.btVector3(u[n].Joint._vf.axis2.x,u[n].Joint._vf.axis2.y,u[n].Joint._vf.axis2.z));e.addConstraint(p)}break;case"motorjoint":for(_=0;_<h.length;_++){if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body1.node._DEF){r=h[_];h[_].geometry.isMotor=!0,h[_].geometry.torque=new x3dom.fields.SFVec3f(u[n].Joint._vf.axis2Torque*u[n].Joint._vf.motor2Axis.x,u[n].Joint._vf.axis2Torque*u[n].Joint._vf.motor2Axis.y,u[n].Joint._vf.axis2Torque*u[n].Joint._vf.motor2Axis.z)}if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body2.node._DEF){o=h[_];h[_].geometry.isMotor=!0,h[_].geometry.torque=new x3dom.fields.SFVec3f(u[n].Joint._vf.axis3Torque*u[n].Joint._vf.motor3Axis.x,u[n].Joint._vf.axis3Torque*u[n].Joint._vf.motor3Axis.y,u[n].Joint._vf.axis3Torque*u[n].Joint._vf.motor3Axis.z)}}if(r&&o){var d=new btGeneric6DofConstraint(r,o,r.getWorldTransform(),o.getWorldTransform(),!0);0!=u[n].Joint._vf.motor3Axis.x?(d.getRotationalLimitMotor(0).m_enableMotor=!0,d.getRotationalLimitMotor(0).m_targetVelocity=u[n].Joint._vf.axis1Torque,d.getRotationalLimitMotor(0).m_maxMotorForce=100,d.getRotationalLimitMotor(0).m_loLimit=0,d.getRotationalLimitMotor(0).m_hiLimit=10):(d.getRotationalLimitMotor(0).m_enableMotor=!1,d.getRotationalLimitMotor(0).m_targetVelocity=0,d.getRotationalLimitMotor(0).m_maxMotorForce=0,d.getRotationalLimitMotor(0).m_loLimit=0,d.getRotationalLimitMotor(0).m_hiLimit=0),0!=u[n].Joint._vf.motor3Axis.y?(d.getRotationalLimitMotor(1).m_enableMotor=!0,d.getRotationalLimitMotor(1).m_targetVelocity=u[n].Joint._vf.axis2Torque,d.getRotationalLimitMotor(1).m_maxMotorForce=100,d.getRotationalLimitMotor(1).m_loLimit=0,d.getRotationalLimitMotor(1).m_hiLimit=10):(d.getRotationalLimitMotor(1).m_enableMotor=!1,d.getRotationalLimitMotor(1).m_targetVelocity=0,d.getRotationalLimitMotor(1).m_maxMotorForce=0,d.getRotationalLimitMotor(1).m_loLimit=0,d.getRotationalLimitMotor(1).m_hiLimit=0),0!=u[n].Joint._vf.motor3Axis.z?(d.getRotationalLimitMotor(2).m_enableMotor=!0,d.getRotationalLimitMotor(2).m_targetVelocity=u[n].Joint._vf.axis3Torque,d.getRotationalLimitMotor(2).m_maxMotorForce=100,d.getRotationalLimitMotor(2).m_loLimit=0,d.getRotationalLimitMotor(2).m_hiLimit=10):(d.getRotationalLimitMotor(2).m_enableMotor=!1,d.getRotationalLimitMotor(2).m_targetVelocity=0,d.getRotationalLimitMotor(2).m_maxMotorForce=0,d.getRotationalLimitMotor(2).m_loLimit=0,d.getRotationalLimitMotor(2).m_hiLimit=0),d.enableFeedback(!0),e.addConstraint(d,!0)}break;case"singleaxishingejoint":for(_=0;_<h.length;_++){if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body1.node._DEF)r=h[_];if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body2.node._DEF)o=h[_]}if(r&&o){var c=new btHingeConstraint(r,o,new Ammo.btVector3(u[n].Joint._vf.anchorPoint.x,u[n].Joint._vf.anchorPoint.y,u[n].Joint._vf.anchorPoint.z),new Ammo.btVector3(-u[n].Joint._vf.anchorPoint.x,-u[n].Joint._vf.anchorPoint.y,-u[n].Joint._vf.anchorPoint.z),new Ammo.btVector3(u[n].Joint._vf.axis.x,u[n].Joint._vf.axis.y,u[n].Joint._vf.axis.z),new Ammo.btVector3(u[n].Joint._vf.axis.x,u[n].Joint._vf.axis.y,u[n].Joint._vf.axis.z),!1);c.setLimit(u[n].Joint._vf.minAngle,u[n].Joint._vf.maxAngle,.9,.3,1),e.addConstraint(c)}break;case"doubleaxishingejoint":for(_=0;_<h.length;_++){if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body1.node._DEF)r=h[_];if(h[_].geometry.RigidBody._DEF&&h[_].geometry.RigidBody._DEF==u[n].Joint._cf.body2.node._DEF)o=h[_]}if(r&&o){var b=new btHingeConstraint(r,o,new Ammo.btVector3(u[n].Joint._vf.anchorPoint.x,u[n].Joint._vf.anchorPoint.y,u[n].Joint._vf.anchorPoint.z),new Ammo.btVector3(-u[n].Joint._vf.anchorPoint.x,-u[n].Joint._vf.anchorPoint.y,-u[n].Joint._vf.anchorPoint.z),new Ammo.btVector3(u[n].Joint._vf.axis1.x,u[n].Joint._vf.axis1.y,u[n].Joint._vf.axis1.z),new Ammo.btVector3(u[n].Joint._vf.axis2.x,u[n].Joint._vf.axis2.y,u[n].Joint._vf.axis2.z),!1);b.setLimit(u[n].Joint._vf.minAngle1,u[n].Joint._vf.maxAngle1,.9,.3,1),e.addConstraint(b,!0)}}},_=function(){for(var e=0;e<h.length;e++)!g&&h[e].geometry.createRigid&&(h[e].geometry.createRigid=!1);for(e=0;e<u.length;e++)!g&&u[e].createJoint&&(u[e].createJoint=!1);S=!1},CreateInteractiveObjects=function(){if(m)for(var e in m.parentElement.addEventListener("mouseup",MouseControlStop,!1),m.parentElement.addEventListener("mousedown",MouseControlStart,!1),m.parentElement.addEventListener("mousemove",MouseControlMove,!1),C)for(var t in b)b[t].Transform._x3domNode&&b[t].Transform._x3domNode._DEF==C[e]._x3domNode._DEF&&(b[t].RigidBody._vf.fixed||(C[e].addEventListener("mousedown",MouseControlStart,!1),C[e].addEventListener("mousemove",MouseControlMove,!1),new x3dom.Moveable(m.parentElement,C[e],null,0)))},UpdateConstraints=function(){if(g&&0==S){for(var e=0;e<h.length;e++)h[e].geometry.Transform&&h[e].geometry.Transform._x3domNode._DEF==p._DEF&&(l=e);a()}else clearInterval(d),a(),l=null,p=null},MouseControlMove=function(e){e.hitPnt&&(f=new x3dom.fields.SFVec3f.parse(e.hitPnt))},MouseControlStart=function(e){if(!g){if(g=!0,e.hitObject)for(var t in e.hitObject._x3domNode._parentNodes)x3dom.isa(e.hitObject._x3domNode._parentNodes[t],x3dom.nodeTypes.Transform)&&(p=e.hitObject._x3domNode._parentNodes[t]);if(p)for(var i in h)h[i]&&h[i].geometry.Transform._x3domNode._DEF==p._DEF&&(h[i].activate(!1),h[i].geometry.createRigid=!0,d=setInterval(UpdateConstraints,1));else g=!1,p=null}},MouseControlStop=function(e){g&&(g=!1)},n=function(){e.stepSimulation(1/60,100);var t,i=new Ammo.btTransform,n=new Ammo.btVector3,_=new Ammo.btQuaternion;for(t=0;t<h.length;t++){for(var r in h[t].geometry.createRigid?f&&(h[t].getMotionState().getWorldTransform(i),i.setOrigin(new Ammo.btVector3(f.x,f.y,f.z)),n=i.getOrigin(),h[t].geometry.CollidableShape._x3domNode._vf.translation.x=n.x(),h[t].geometry.CollidableShape._x3domNode._vf.translation.y=n.y(),h[t].geometry.CollidableShape._x3domNode._vf.translation.z=n.z()):(h[t].getMotionState().getWorldTransform(i),n=i.getOrigin(),h[t].geometry.CollidableShape._x3domNode._vf.translation.x=n.x(),h[t].geometry.CollidableShape._x3domNode._vf.translation.y=n.y(),h[t].geometry.CollidableShape._x3domNode._vf.translation.z=n.z(),_=i.getRotation(),h[t].geometry.CollidableShape._x3domNode._vf.rotation.x=_.x(),h[t].geometry.CollidableShape._x3domNode._vf.rotation.y=_.y(),h[t].geometry.CollidableShape._x3domNode._vf.rotation.z=_.z(),h[t].geometry.CollidableShape._x3domNode._vf.rotation.w=_.w()),m.children)if(m.children[r].nodeName&&"group"==m.children[r].nodeName.toLowerCase())for(var o in m.children[r].childNodes)m.children[r].childNodes.hasOwnProperty(o)&&null!=m.children[r].childNodes[o]&&s(m.children[r].childNodes[o],h[t]);else s(m.children[r],h[t]);if(1==h[t].geometry.isMotor&&h[t].applyTorque(new Ammo.btVector3(h[t].geometry.torque.x,h[t].geometry.torque.y,h[t].geometry.torque.z)),h[t].geometry.RigidBody._vf.torques.length>0)for(var a in h[t].geometry.RigidBody._vf.torques)h[t].applyTorque(new Ammo.btVector3(h[t].geometry.RigidBody._vf.torques[a].x,h[t].geometry.RigidBody._vf.torques[a].y,h[t].geometry.RigidBody._vf.torques[a].z))}},i=function e(){if(n(),window.requestAnimFrame(e),"complete"===document.readyState&&!v&&y.length)for(var t in y)y[t]._x3domNode._cf.children.nodes[0]._xmlNode._x3domNode._childNodes[0]&&(v=!0,c(y[t]._x3domNode._cf.children.nodes[0]._xmlNode._x3domNode._childNodes[0]._xmlNode,y[t]),a())},window.onload=function(){!function(){for(var e in x3dom.canvases)for(var t in x3dom.canvases[e].x3dElem.children)x3dom.isa(x3dom.canvases[e].x3dElem.children[t]._x3domNode,x3dom.nodeTypes.Scene)&&(m=x3dom.canvases[e].x3dElem.children[t]);if(m)for(var i in m.children){if(x3dom.isa(m.children[i]._x3domNode,x3dom.nodeTypes.Transform)&&x3dom.isa(m.children[i]._x3domNode._cf.children.nodes[0]._xmlNode._x3domNode,x3dom.nodeTypes.Inline))if(0==y.length)y.push(m.children[i]);else for(var n in y){if(y[n]._x3domNode._DEF.toString()==m.children[i]._x3domNode._DEF.toString())break;n==y.length-1&&y.push(m.children[i])}if(x3dom.isa(m.children[i]._x3domNode,x3dom.nodeTypes.Group))for(var _ in m.children[i].childNodes)o(m.children[i].childNodes[_],null);else o(m.children[i],null)}}(),t(),requestAnimFrame(i),y.length||a(),CreateInteractiveObjects()}}(),window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){window.setTimeout(e,1e3/60)},x3dom.registerNodeType("RigidBodyCollection","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.RigidBodyCollection.superClass.call(this,e),this.addField_SFBool(e,"autoDisable",!1),this.addField_SFFloat(e,"constantForceMix",1e-4),this.addField_SFFloat(e,"contactSurfaceThickness",0),this.addField_SFFloat(e,"disableAngularSpeed",0),this.addField_SFFloat(e,"disableLinearSpeed",0),this.addField_SFFloat(e,"disableTime",0),this.addField_SFBool(e,"enabled",!0),this.addField_SFFloat(e,"errorCorrection",.8),this.addField_SFVec3f(e,"gravity",0,-9.8,0),this.addField_SFInt32(e,"iterations",1),this.addField_SFFloat(e,"maxCorrectionSpeed",-1),this.addField_SFBool(e,"preferAccuracy",!1),this.addField_MFNode("bodies",x3dom.nodeTypes.RigidBody),this.addField_MFNode("joints",x3dom.nodeTypes.X3DRigidJointNode)}),{nodeChanged:function(){if(!this._cf.joints.nodes)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.X3DRigidJointNode)&&(this._cf.joints=this._xmlNode.children[e]);if(!this._cf.bodies.nodes)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.RigidBody)&&(this._cf.bodies=this._xmlNode.children[e])}})),x3dom.registerNodeType("RigidBody","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.RigidBody.superClass.call(this,e),this.addField_SFFloat(e,"angularDampingFactor",.001),this.addField_SFVec3f(e,"angularVelocity",0,0,0),this.addField_SFBool(e,"autoDamp",!1),this.addField_SFBool(e,"autoDisable",!1),this.addField_SFVec3f(e,"centerOfMass",0,0,0),this.addField_SFFloat(e,"disableAngularSpeed",0),this.addField_SFFloat(e,"disableLinearSpeed",0),this.addField_SFFloat(e,"disableTime",0),this.addField_SFBool(e,"enabled",!0),this.addField_SFVec3f(e,"finiteRotationAxis",0,0,0),this.addField_SFBool(e,"fixed",!1),this.addField_MFVec3f(e,"forces",[]),this.addField_MFFloat(e,"inertia",[1,0,0,0,1,0,0,0,1]),this.addField_SFFloat(e,"linearDampingFactor",.001),this.addField_SFVec3f(e,"linearVelocity",0,0,0),this.addField_SFFloat(e,"mass",1),this.addField_SFRotation(e,"orientation",0,0,1,0),this.addField_SFVec3f(e,"position",0,0,0),this.addField_MFVec3f(e,"torques",[]),this.addField_SFBool(e,"useFiniteRotation",!1),this.addField_SFBool(e,"useGlobalGravity",!0),this.addField_MFNode("massDensityModel",x3dom.nodeTypes.Shape),this.addField_MFNode("geometry",x3dom.nodeTypes.X3DNBodyCollidableNode)}),{nodeChanged:function(){if(!this._cf.geometry.nodes)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.X3DNBodyCollidableNode)&&(this._cf.geometry=this._xmlNode.children[e]);if(!this._cf.massDensityModel.nodes)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.Shape)&&(this._cf.massDensityModel=this._xmlNode.children[e])}})),x3dom.registerNodeType("X3DNBodyCollidableNode","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DBoundedObject,(function(e){x3dom.nodeTypes.X3DNBodyCollidableNode.superClass.call(this,e),this.addField_SFBool(e,"enabled",!0),this.addField_SFRotation(e,"rotation",0,0,1,0),this.addField_SFVec3f(e,"translation",0,0,0)}),{nodeChanged:function(){}})),x3dom.registerNodeType("CollidableShape","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DNBodyCollidableNode,(function(e){x3dom.nodeTypes.CollidableShape.superClass.call(this,e),this.addField_SFNode("transform",x3dom.nodeTypes.Transform),this.addField_SFNode("shape",x3dom.nodeTypes.Shape)}),{nodeChanged:function(){if(!this._cf.transform.node)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.Transform)&&(this._cf.transform=this._xmlNode.children[e]);if(!this._cf.shape.node)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.Shape)&&(this._cf.shape=this._xmlNode.children[e])}})),x3dom.registerNodeType("CollisionCollection","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DChildNode,(function(e){x3dom.nodeTypes.CollisionCollection.superClass.call(this,e),this.addField_SFFloat(e,"bounce",0),this.addField_SFBool(e,"enabled",!0),this.addField_SFVec2f(e,"frictionCoefficients",0,0),this.addField_SFFloat(e,"minBounceSpeed",.1),this.addField_SFVec2f(e,"slipFactors",0,0),this.addField_SFFloat(e,"softnessConstantForceMix",1e-4),this.addField_SFFloat(e,"softnessErrorCorrection",.8),this.addField_SFVec2f(e,"surfaceSpeed",0,0),this.addField_MFNode("collidables",x3dom.nodeTypes.X3DNBodyCollidableNode)}),{nodeChanged:function(){if(!this._cf.collidables.nodes)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.X3DNBodyCollidableNode)&&(this._cf.collidables=this._xmlNode.children[e])}})),x3dom.registerNodeType("CollisionSensor","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DSensorNode,(function(e){x3dom.nodeTypes.CollisionSensor.superClass.call(this,e),this.addField_SFNode("collider",x3dom.nodeTypes.CollisionCollection)}),{nodeChanged:function(){if(!this._cf.collider.node)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.CollisionCollection)&&(this._cf.collider=this._xmlNode.children[e])}})),x3dom.registerNodeType("X3DRigidJointNode","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DNode,(function(e){x3dom.nodeTypes.X3DRigidJointNode.superClass.call(this,e),this.addField_SFString(e,"forceOutput",""),this.addField_SFNode("body1",x3dom.nodeTypes.RigidBody),this.addField_SFNode("body2",x3dom.nodeTypes.RigidBody)}),{nodeChanged:function(){if(!this._cf.body1.node)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.RigidBody)&&(this._cf.body1=this._xmlNode.children[e]);if(!this._cf.body2.node)for(var e in this._xmlNode.children)x3dom.isa(this._xmlNode.children[e]._x3domNode,x3dom.nodeTypes.RigidBody)&&(this._cf.body2=this._xmlNode.children[e])}})),x3dom.registerNodeType("BallJoint","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DRigidJointNode,(function(e){x3dom.nodeTypes.BallJoint.superClass.call(this,e),this.addField_SFVec3f(e,"anchorPoint",0,0,0)}),{nodeChanged:function(){}})),x3dom.registerNodeType("MotorJoint","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DRigidJointNode,(function(e){x3dom.nodeTypes.MotorJoint.superClass.call(this,e),this.addField_SFFloat(e,"axis1Angle",0),this.addField_SFFloat(e,"axis1Torque",0),this.addField_SFFloat(e,"axis2Angle",0),this.addField_SFFloat(e,"axis2Torque",0),this.addField_SFFloat(e,"axis3Angle",0),this.addField_SFFloat(e,"axis3Torque",0),this.addField_SFInt32(e,"enabledAxes",1),this.addField_SFVec3f(e,"motor1Axis",0,0,0),this.addField_SFVec3f(e,"motor2Axis",0,0,0),this.addField_SFVec3f(e,"motor3Axis",0,0,0),this.addField_SFFloat(e,"stop1Bounce",0),this.addField_SFFloat(e,"stop1ErrorCorrection",.8),this.addField_SFFloat(e,"stop2Bounce",0),this.addField_SFFloat(e,"stop2ErrorCorrection",.8),this.addField_SFFloat(e,"stop3Bounce",0),this.addField_SFFloat(e,"stop3ErrorCorrection",.8)}),{nodeChanged:function(){}})),x3dom.registerNodeType("SliderJoint","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DRigidJointNode,(function(e){x3dom.nodeTypes.SliderJoint.superClass.call(this,e),this.addField_SFVec3f(e,"axis",0,1,0),this.addField_SFFloat(e,"maxSeparation",1),this.addField_SFFloat(e,"minSeparation",0),this.addField_SFFloat(e,"stopBounce",0),this.addField_SFFloat(e,"stopErrorCorrection",1)}),{nodeChanged:function(){}})),x3dom.registerNodeType("UniversalJoint","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DRigidJointNode,(function(e){x3dom.nodeTypes.UniversalJoint.superClass.call(this,e),this.addField_SFVec3f(e,"anchorPoint",0,0,0),this.addField_SFVec3f(e,"axis1",0,0,0),this.addField_SFVec3f(e,"axis2",0,0,0),this.addField_SFFloat(e,"stop1Bounce",0),this.addField_SFFloat(e,"stop1ErrorCorrection",.8),this.addField_SFFloat(e,"stop2Bounce",0),this.addField_SFFloat(e,"stop2ErrorCorrection",.8)}),{nodeChanged:function(){}})),x3dom.registerNodeType("SingleAxisHingeJoint","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DRigidJointNode,(function(e){x3dom.nodeTypes.SingleAxisHingeJoint.superClass.call(this,e),this.addField_SFVec3f(e,"anchorPoint",0,0,0),this.addField_SFVec3f(e,"axis",0,0,0),this.addField_SFFloat(e,"maxAngle",90),this.addField_SFFloat(e,"minAngle",-90),this.addField_SFFloat(e,"stopBounce",0),this.addField_SFFloat(e,"stopErrorCorrection",.8)}),{nodeChanged:function(){}})),x3dom.registerNodeType("DoubleAxisHingeJoint","RigidBodyPhysics",defineClass(x3dom.nodeTypes.X3DRigidJointNode,(function(e){x3dom.nodeTypes.DoubleAxisHingeJoint.superClass.call(this,e),this.addField_SFVec3f(e,"anchorPoint",0,0,0),this.addField_SFVec3f(e,"axis1",0,0,0),this.addField_SFVec3f(e,"axis2",0,0,0),this.addField_SFFloat(e,"desiredAngularVelocity1",0),this.addField_SFFloat(e,"desiredAngularVelocity2",0),this.addField_SFFloat(e,"maxAngle1",90),this.addField_SFFloat(e,"minAngle1",-90),this.addField_SFFloat(e,"maxTorque1",0),this.addField_SFFloat(e,"maxTorque2",0),this.addField_SFFloat(e,"stopBounce1",0),this.addField_SFFloat(e,"stopConstantForceMix1",.001),this.addField_SFFloat(e,"stopErrorCorrection1",.8),this.addField_SFFloat(e,"suspensionErrorCorrection",.8),this.addField_SFFloat(e,"suspensionForce",0)}),{nodeChanged:function(){}})),Module||(Module=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require,ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print=function(e){process.stdout.write(e+"\n")},Module.printErr=function(e){process.stderr.write(e+"\n")};var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,t){e=nodePath.normalize(e);var i=nodeFS.readFileSync(e);return i||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),i=nodeFS.readFileSync(e)),i&&!t&&(i=i.toString()),i},Module.readBinary=function(e){return Module.read(e,!0)},Module.load=function(e){globalEval(read(e))},Module.arguments=process.argv.slice(2),module.exports=Module}else if(ENVIRONMENT_IS_SHELL)Module.print=print,"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){return read(e,"binary")},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments),this.Module=Module;else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},"undefined"!=typeof arguments&&(Module.arguments=arguments),ENVIRONMENT_IS_WEB)Module.print=function(e){console.log(e)},Module.printErr=function(e){console.log(e)},this.Module=Module;else if(ENVIRONMENT_IS_WORKER){var TRY_USE_DUMP=!1;Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){},Module.load=importScripts}}function globalEval(e){eval.call(null,e)}for(var key in"undefined"==!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},forceAlign:function(e,t){if(1==(t=t||4))return e;if(isNumber(e)&&isNumber(t))return Math.ceil(e/t)*t;if(isNumber(t)&&isPowerOfTwo(t)){var i=log2(t);return"(((("+e+")+"+(t-1)+")>>"+i+")<<"+i+")"}return"Math.ceil(("+e+")/"+t+")*"+t},isNumberType:function(e){return e in Runtime.INT_TYPES||e in Runtime.FLOAT_TYPES},isPointerType:function(e){return"*"==e[e.length-1]},isStructType:function(e){return!isPointerType(e)&&(!!isArrayType(e)||(!!/<?{ ?[^}]* ?}>?/.test(e)||"%"==e[0]))},INT_TYPES:{i1:0,i8:0,i16:0,i32:0,i64:0},FLOAT_TYPES:{float:0,double:0},or64:function(e,t){return(0|e|t)+4294967296*(Math.round(e/4294967296)|Math.round(t/4294967296))},and64:function(e,t){return((0|e)&(0|t))+4294967296*(Math.round(e/4294967296)&Math.round(t/4294967296))},xor64:function(e,t){return((0|e)^(0|t))+4294967296*(Math.round(e/4294967296)^Math.round(t/4294967296))},getNativeTypeSize:function(e,t){if(1==Runtime.QUANTUM_SIZE)return 1;var i={"%i1":1,"%i8":1,"%i16":2,"%i32":4,"%i64":8,"%float":4,"%double":8}["%"+e];if(!i)if("*"==e.charAt(e.length-1))i=Runtime.QUANTUM_SIZE;else if("i"==e[0]){var n=parseInt(e.substr(1));assert(n%8==0),i=n/8}return i},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},dedup:function(e,t){var i={};return t?e.filter((function(e){return!i[e[t]]&&(i[e[t]]=!0,!0)})):e.filter((function(e){return!i[e]&&(i[e]=!0,!0)}))},set:function(){for(var e="object"==typeof arguments[0]?arguments[0]:arguments,t={},i=0;i<e.length;i++)t[e[i]]=0;return t},STACK_ALIGN:8,getAlignSize:function(e,t,i){return"i64"==e||"double"==e||i?8:e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8)},calculateStructAlignment:function(e){e.flatSize=0,e.alignSize=0;var t=[],i=-1;return e.flatIndexes=e.fields.map((function(n){var _,r;if(Runtime.isNumberType(n)||Runtime.isPointerType(n))_=Runtime.getNativeTypeSize(n),r=Runtime.getAlignSize(n,_);else if(Runtime.isStructType(n))"0"===n[1]?(_=0,r=e.alignSize||QUANTUM_SIZE):(_=Types.types[n].flatSize,r=Runtime.getAlignSize(null,Types.types[n].alignSize));else{if("b"!=n[0])throw"Unclear type in struct: "+n+", in "+e.name_+" :: "+dump(Types.types[e.name_]);_=0|n.substr(1),r=1}e.packed&&(r=1),e.alignSize=Math.max(e.alignSize,r);var o=Runtime.alignMemory(e.flatSize,r);return e.flatSize=o+_,i>=0&&t.push(o-i),i=o,o})),e.flatSize=Runtime.alignMemory(e.flatSize,e.alignSize),0==t.length?e.flatFactor=e.flatSize:1==Runtime.dedup(t).length&&(e.flatFactor=t[0]),e.needsFlattening=1!=e.flatFactor,e.flatIndexes},generateStructInfo:function(e,t,i){var n;if(t){if(i=i||0,!(_=("undefined"==typeof Types?Runtime.typeInfo:Types.types)[t]))return null;if(_.fields.length!=e.length)return printErr("Number of named fields must match the type for "+t+": possibly duplicate struct names. Cannot return structInfo"),null;n=_.flatIndexes}else{var _={fields:e.map((function(e){return e[0]}))};n=Runtime.calculateStructAlignment(_)}var r={__size__:_.flatSize};return t?e.forEach((function(e,t){if("string"==typeof e)r[e]=n[t]+i;else{var o;for(var s in e)o=s;r[o]=Runtime.generateStructInfo(e[o],_.fields[t],n[t])}})):e.forEach((function(e,t){r[e[1]]=n[t]})),r},dynCall:function(e,t,i){return i&&i.length?(i.splice||(i=Array.prototype.slice.call(i)),i.splice(0,0,t),Module["dynCall_"+e].apply(null,i)):Module["dynCall_"+e].call(null,t)},functionPointers:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],addFunction:function(e){for(var t=0;t<Runtime.functionPointers.length;t++)if(!Runtime.functionPointers[t])return Runtime.functionPointers[t]=e,2+2*t;throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,t){return assert(t),Runtime.funcWrappers[e]||(Runtime.funcWrappers[e]=function(){return Runtime.dynCall(t,e,arguments)}),Runtime.funcWrappers[e]},UTF8Processor:function(){var e=[],t=0;this.processCChar=function(i){if(i&=255,0==e.length)return 0==(128&i)?String.fromCharCode(i):(e.push(i),t=192==(224&i)?1:224==(240&i)?2:3,"");if(t&&(e.push(i),--t>0))return"";var n,_=e[0],r=e[1],o=e[2],s=e[3];if(2==e.length)n=String.fromCharCode((31&_)<<6|63&r);else if(3==e.length)n=String.fromCharCode((15&_)<<12|(63&r)<<6|63&o);else{var a=(7&_)<<18|(63&r)<<12|(63&o)<<6|63&s;n=String.fromCharCode(Math.floor((a-65536)/1024)+55296,(a-65536)%1024+56320)}return e.length=0,n},this.processJSString=function(e){e=unescape(encodeURIComponent(e));for(var t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));return t}},stackAlloc:function(e){var t=STACKTOP;return STACKTOP=(STACKTOP=STACKTOP+e|0)+7>>3<<3,t},staticAlloc:function(e){var t=STATICTOP;return STATICTOP=(STATICTOP=STATICTOP+e|0)+7>>3<<3,t},dynamicAlloc:function(e){var t=DYNAMICTOP;return(DYNAMICTOP=(DYNAMICTOP=DYNAMICTOP+e|0)+7>>3<<3)>=TOTAL_MEMORY&&enlargeMemory(),t},alignMemory:function(e,t){return e=Math.ceil(e/(t||8))*(t||8)},makeBigInt:function(e,t,i){return i?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};function jsCall(){var e=Array.prototype.slice.call(arguments);return Runtime.functionPointers[e[0]].apply(null,e.slice(1))}var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,t){e||abort("Assertion failed: "+t)}var globalScope=this;function ccall(e,t,i,n){return ccallFunc(getCFunc(e),t,i,n)}function getCFunc(ident){try{var func=Module["_"+ident];func||(func=eval("_"+ident))}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function ccallFunc(e,t,i,n){var _=0;var r,o,s=0,a=n?n.map((function(e){return function(e,t){var i;return"string"==t?null==e||0===e?0:(_||(_=Runtime.stackSave()),writeStringToMemory(e,i=Runtime.stackAlloc(e.length+1)),i):"array"==t?(_||(_=Runtime.stackSave()),writeArrayToMemory(e,i=Runtime.stackAlloc(e.length)),i):e}(e,i[s++])})):[],p=(r=e.apply(null,a),"string"==(o=t)?Pointer_stringify(r):(assert("array"!=o),r));return _&&Runtime.stackRestore(_),p}function cwrap(e,t,i){var n=getCFunc(e);return function(){return ccallFunc(n,t,i,Array.prototype.slice.call(arguments))}}function setValue(e,t,i,n){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":HEAP8[e]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math.abs(tempDouble)>=1?tempDouble>0?(0|Math.min(+Math.floor(tempDouble/4294967296),4294967295))>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+i)}}function getValue(e,t,i){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return HEAP8[e];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;function allocate(e,t,i,n){var _,r;"number"==typeof e?(_=!0,r=e):(_=!1,r=e.length);var o,s="string"==typeof t?t:null;if(o=i==ALLOC_NONE?n:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===i?ALLOC_STATIC:i](Math.max(r,s?1:t.length)),_){var a;n=o;for(assert(0==(3&o)),a=o+(-4&r);n<a;n+=4)HEAP32[n>>2]=0;for(a=o+r;n<a;)HEAP8[0|n++]=0;return o}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,o):HEAPU8.set(new Uint8Array(e),o),o;for(var p,l,d,c=0;c<r;){var b=e[c];"function"==typeof b&&(b=Runtime.getFunctionIndex(b)),0!==(p=s||t[c])?("i64"==p&&(p="i32"),setValue(o+c,b,p),d!==p&&(l=Runtime.getNativeTypeSize(p),d=p),c+=l):c++}return o}function Pointer_stringify(e,t){for(var i,n=!1,_=0;;){if((i=HEAPU8[e+_|0])>=128)n=!0;else if(0==i&&!t)break;if(_++,t&&_==t)break}t||(t=_);var r="";if(!n){for(var o;t>0;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,1024))),r=r?r+o:o,e+=1024,t-=1024;return r}var s=new Runtime.UTF8Processor;for(_=0;_<t;_++)i=HEAPU8[e+_|0],r+=s.processCChar(i);return r}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.Pointer_stringify=Pointer_stringify;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e+4095>>12<<12}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||67108864,FAST_MEMORY=Module.FAST_MEMORY||2097152;assert(!!(Int32Array&&Float64Array&&new Int32Array(1).subarray&&new Int32Array(1).set),"Cannot fallback to non-typed array case: Code is too specialized");var buffer=new ArrayBuffer(TOTAL_MEMORY);function callRuntimeCallbacks(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var i=t.func;"number"==typeof i?void 0===t.arg?Runtime.dynCall("v",i):Runtime.dynCall("vi",i,[t.arg]):i(void 0===t.arg?null:t.arg)}else t()}}HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,i){var n=(new Runtime.UTF8Processor).processJSString(e);return i&&(n.length=i),t||n.push(0),n}function intArrayToString(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n>255&&(n&=255),t.push(String.fromCharCode(n))}return t.join("")}function writeStringToMemory(e,t,i){for(var n=intArrayFromString(e,i),_=0;_<n.length;){var r=n[_];HEAP8[t+_|0]=r,_+=1}}function writeArrayToMemory(e,t){for(var i=0;i<e.length;i++)HEAP8[t+i|0]=e[i]}function unSign(e,t,i,n){return e>=0?e:t<=32?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e}function reSign(e,t,i,n){if(e<=0)return e;var _=t<=32?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=_&&(t<=32||e>_)&&(e=-2*_+e),e}Module.addOnPreRun=Module.addOnPreRun=addOnPreRun,Module.addOnInit=Module.addOnInit=addOnInit,Module.addOnPreMain=Module.addOnPreMain=addOnPreMain,Module.addOnExit=Module.addOnExit=addOnExit,Module.addOnPostRun=Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Math.imul||(Math.imul=function(e,t){var i=65535&e,n=65535&t;return i*n+((e>>>16)*n+i*(t>>>16)<<16)|0}),Math.imul=Math.imul;var runDependencies=0,runDependencyTracking={},calledInit=!1,calledRun=!1,runDependencyWatcher=null,___dso_handle,__ZTVN10__cxxabiv120__si_class_type_infoE,__ZTVN10__cxxabiv117__class_type_infoE;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),e?(assert(!runDependencyTracking[e]),runDependencyTracking[e]=1):Module.printErr("warning: run dependency added without ID")}function removeRunDependency(e){runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),e?(assert(runDependencyTracking[e]),delete runDependencyTracking[e]):Module.printErr("warning: run dependency removed without ID"),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),!calledRun&&shouldRunNow&&run())}function loadMemoryInitializer(e){function t(e){HEAPU8.set(e,STATIC_BASE)}addOnPreRun((function(){ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL?t(Module.readBinary(e)):Browser.asyncLoad(e,(function(e){t(e)}),(function(t){throw"could not load memory initializer "+e}))}))}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={},STATIC_BASE=8,STATICTOP=STATIC_BASE+44152,__ATINIT__.push({func:function(){runPostSets()}},{func:function(){__GLOBAL__I_a()}}),__ZTVN10__cxxabiv120__si_class_type_infoE=allocate([0,0,0,0,104,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_STATIC),__ZTVN10__cxxabiv117__class_type_infoE=allocate([0,0,0,0,120,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_STATIC),allocate([92,0,0,0,158,6,0,0,42,0,0,0,84,1,0,0,28,4,0,0,84,0,0,0,56,1,0,0,134,1,0,0,108,0,0,0,120,1,0,0,68,0,0,0,206,1,0,0,70,0,0,0,82,4,0,0,54,0,0,0,14,2,0,0,64,0,0,0,10,4,0,0,88,0,0,0,98,6,0,0,16,1,0,0,192,0,0,0,236,1,0,0,54,0,0,0,176,6,0,0,50,0,0,0,174,3,0,0,18,1,0,0,48,0,0,0,42,0,0,0,42,0,0,0,86,2,0,0,42,0,0,0,250,2,0,0,144,8,0,0,128,1,0,0,206,1,0,0,224,0,0,0,54,0,0,0,62,0,0,0,196,4,0,0,128,2,0,0,40,2,0,0,144,1,0,0,164,4,0,0,90,4,0,0,108,1,0,0,142,6,0,0,0,6,0,0,238,4,0,0,0,1,0,0,88,1,0,0,254,8,0,0,82,2,0,0,200,0,0,0,216,1,0,0,66,0,0,0,114,0,0,0,252,3,0,0,206,0,0,0,112,0,0,0,230,1,0,0,178,6,0,0,204,1,0,0,240,2,0,0,74,0,0,0,146,2,0,0,48,0,0,0,84,4,0,0,50,0,0,0,68,0,0,0,168,0,0,0,122,6,0,0,58,2,0,0,106,0,0,0,42,0,0,0,204,1,0,0,198,3,0,0,202,2,0,0,36,2,0,0,204,2,0,0,136,0,0,0,172,1,0,0,86,1,0,0,72,0,0,0,188,2,0,0,70,1,0,0,98,0,0,0,104,5,0,0,64,1,0,0,182,3,0,0,66,2,0,0,118,2,0,0,142,0,0,0,132,0,0,0,230,5,0,0,184,0,0,0,36,6,0,0,46,0,0,0,52,1,0,0,74,0,0,0,172,5,0,0,110,0,0,0,162,0,0,0,136,4,0,0,178,0,0,0,66,0,0,0,96,10,0,0,214,4,0,0,68,0,0,0,98,3,0,0,44,0,0,0,130,1,0,0,124,0,0,0,138,5,0,0,196,1,0,0,70,0,0,0,46,5,0,0,238,5,0,0,68,10,0,0,72,1,0,0,222,0,0,0,76,0,0,0,94,4,0,0,196,0,0,0,234,3,0,0,46,9,0,0,52,0,0,0,32,3,0,0,166,0,0,0,108,0,0,0,92,7,0,0,68,0,0,0,126,5,0,0,10,2,0,0,200,0,0,0,36,3,0,0,204,9,0,0,144,0,0,0,86,0,0,0,112,0,0,0,98,0,0,0,190,0,0,0,42,5,0,0,18,1,0,0,204,1,0,0,10,3,0,0,38,1,0,0,58,0,0,0,146,1,0,0,70,0,0,0,52,1,0,0,216,1,0,0,56,0,0,0,252,2,0,0,36,2,0,0,224,5,0,0,24,5,0,0,88,0,0,0,46,0,0,0,64,5,0,0,142,0,0,0,80,1,0,0,2,3,0,0,220,9,0,0,98,0,0,0,242,3,0,0,236,4,0,0,170,1,0,0,232,0,0,0,28,8,0,0,48,8,0,0,122,5,0,0,68,4,0,0,18,5,0,0,18,9,0,0,216,5,0,0,100,4,0,0,60,1,0,0,84,6,0,0,0,3,0,0,120,4,0,0,84,1,0,0,56,10,0,0,98,0,0,0,120,0,0,0,50,0,0,0,218,7,0,0,112,6,0,0,158,1,0,0,210,4,0,0,144,6,0,0,154,2,0,0,192,0,0,0,150,2,0,0,186,1,0,0,132,5,0,0,196,0,0,0,38,2,0,0,132,4,0,0,192,1,0,0,42,3,0,0,122,0,0,0,106,0,0,0,230,3,0,0,58,0,0,0,194,3,0,0,116,0,0,0,138,2,0,0,234,5,0,0,48,1,0,0,148,5,0,0,140,0,0,0,44,5,0,0,196,4,0,0,12,5,0,0,68,1,0,0,138,0,0,0,120,5,0,0,214,1,0,0,90,2,0,0,176,0,0,0,132,10,0,0,24,3,0,0,96,2,0,0,210,1,0,0,140,0,0,0,50,0,0,0,178,1,0,0,40,1,0,0,8,5,0,0,106,0,0,0,34,4,0,0,40,5,0,0,172,0,0,0,230,0,0,0,220,10,0,0,172,9,0,0,220,1,0,0,246,3,0,0,36,4,0,0,56,1,0,0,64,1,0,0,60,0,0,0,228,0,0,0,170,7,0,0,108,4,0,0,254,3,0,0,208,0,0,0,222,7,0,0,232,0,0,0,82,7,0,0,44,0,0,0,172,3,0,0,72,0,0,0,152,5,0,0,44,0,0,0,174,1,0,0,86,0,0,0,192,3,0,0,224,0,0,0,244,0,0,0,12,8,0,0,120,1,0,0,60,0,0,0,82,1,0,0,222,3,0,0,40,7,0,0,168,4,0,0,186,0,0,0,174,7,0,0,238,0,0,0,238,0,0,0,28,2,0,0,114,0,0,0,110,2,0,0,242,7,0,0,42,0,0,0,126,7,0,0,166,7,0,0,6,1,0,0,230,8,0,0,112,6,0,0,2,3,0,0,222,1,0,0,92,1,0,0,4,2,0,0,44,0,0,0,126,0,0,0,122,1,0,0,90,1,0,0,250,3,0,0,88,0,0,0,86,10,0,0,118,0,0,0,188,0,0,0,198,6,0,0,198,0,0,0,16,1,0,0,56,4,0,0,74,7,0,0,88,0,0,0,64,0,0,0,122,10,0,0,50,3,0,0,130,10,0,0,108,3,0,0,50,1,0,0,94,0,0,0,46,0,0,0,114,0,0,0,136,3,0,0,48,1,0,0,196,1,0,0,224,0,0,0,196,0,0,0,62,0,0,0,42,0,0,0,98,1,0,0,222,0,0,0,174,2,0,0,144,0,0,0,154,0,0,0,170,0,0,0,64,3,0,0,44,4,0,0,80,0,0,0,56,3,0,0,44,0,0,0,52,0,0,0,44,0,0,0,42,0,0,0,8,3,0,0,82,2,0,0,164,1,0,0,42,1,0,0,0,2,0,0,62,3,0,0,20,1,0,0,106,9,0,0,132,0,0,0,116,3,0,0,0,9,0,0,164,0,0,0,66,3,0,0,64,2,0,0,152,0,0,0,140,4,0,0,218,0,0,0,34,3,0,0,148,1,0,0,42,0,0,0,14,10,0,0,130,3,0,0,232,1,0,0,228,3,0,0,134,0,0,0,78,0,0,0,48,0,0,0,120,0,0,0,54,1,0,0,224,1,0,0,90,0,0,0,206,4,0,0,236,0,0,0,132,0,0,0,154,5,0,0,130,0,0,0,74,0,0,0,50,0,0,0,62,0,0,0,64,0,0,0,144,1,0,0,76,1,0,0,48,0,0,0,34,2,0,0,66,0,0,0,226,0,0,0,48,0,0,0,80,7,0,0,166,9,0,0,126,3,0,0,122,0,0,0,124,9,0,0,246,2,0,0,156,2,0,0,94,1,0,0,30,5,0,0,242,0,0,0,194,5,0,0,90,4,0,0,68,0,0,0,42,0,0,0,50,1,0,0,62,0,0,0,174,6,0,0,170,1,0,0,194,0,0,0,134,1,0,0,98,2,0,0,92,0,0,0,198,3,0,0,226,3,0,0,66,0,0,0,114,1,0,0,250,9,0,0,120,2,0,0,172,0,0,0,42,5,0,0,18,1,0,0,6,1,0,0,104,0,0,0,132,5,0,0,22,9,0,0,96,5,0,0,120,0,0,0,92,0,0,0,120,2,0,0,80,0,0,0,6,5,0,0,54,9,0,0,208,3,0,0,22,3,0,0,220,0,0,0,124,8,0,0,232,5,0,0,42,1,0,0,96,0,0,0,164,1,0,0,50,1,0,0,222,9,0,0,74,1,0,0,34,6,0,0,76,0,0,0,150,1,0,0,218,1,0,0,80,0,0,0,68,1,0,0,234,2,0,0,156,2,0,0,24,4,0,0,242,1,0,0,192,0,0,0,0,1,0,0,98,0,0,0,198,0,0,0,80,2,0,0,56,0,0,0,150,1,0,0,200,4,0,0,208,0,0,0,10,1,0,0,208,10,0,0,84,0,0,0,94,6,0,0,2,1,0,0,110,0,0,0,38,3,0,0,56,1,0,0,110,3,0,0,210,4,0,0,156,10,0,0,134,6,0,0,38,1,0,0,240,1,0,0,90,0,0,0,194,6,0,0,18,6,0,0,56,0,0,0,62,7,0,0,226,7,0,0,140,2,0,0,240,0,0,0,68,3,0,0,216,6,0,0,152,3,0,0,80,0,0,0,2,2,0,0,70,1,0,0,94,3,0,0,76,0,0,0,220,7,0,0,206,4,0,0,112,1,0,0,76,8,0,0,130,4,0,0,80,0,0,0,110,2,0,0,26,2,0,0,28,1,0,0,86,0,0,0,38,2,0,0,44,4,0,0,86,0,0,0,206,9,0,0,236,0,0,0,192,5,0,0,112,0,0,0,196,0,0,0,102,4,0,0,32,1,0,0,124,1,0,0,36,2,0,0,100,1,0,0,82,5,0,0,112,1,0,0,216,1,0,0,12,4,0,0,86,1,0,0,216,3,0,0,238,2,0,0,136,0,0,0,54,0,0,0,88,4,0,0,102,2,0,0,166,1,0,0,122,0,0,0,54,1,0,0,28,1,0,0,16,1,0,0,20,6,0,0,76,0,0,0,60,3,0,0,234,3,0,0,36,5,0,0,68,6,0,0,168,0,0,0,242,2,0,0,44,0,0,0,42,0,0,0,42,0,0,0,40,3,0,0,250,8,0,0,174,2,0,0,174,3,0,0,128,0,0,0,168,10,0,0,66,1,0,0,24,1,0,0,50,0,0,0,22,6,0,0,110,2,0,0,80,0,0,0,58,0,0,0,174,2,0,0,42,0,0,0,180,0,0,0,182,1,0,0,80,2,0,0,128,0,0,0,142,1,0,0,32,2,0,0,190,1,0,0,140,6,0,0,186,4,0,0,202,0,0,0,192,0,0,0,128,3,0,0,4,9,0,0,182,5,0,0,94,0,0,0,52,0,0,0,50,4,0,0,164,3,0,0,136,0,0,0,68,0,0,0,100,1,0,0,82,3,0,0,218,1,0,0,52,1,0,0,98,0,0,0,74,1,0,0,46,0,0,0,50,7,0,0,50,9,0,0,126,9,0,0,94,1,0,0,32,3,0,0,88,0,0,0,88,0,0,0,42,0,0,0,174,6,0,0,114,5,0,0,60,1,0,0,62,6,0,0,180,4,0,0,72,1,0,0,148,2,0,0,92,6,0,0,152,0,0,0,174,5,0,0,6,6,0,0,22,3,0,0,140,7,0,0,64,6,0,0,6,1,0,0,22,2,0,0,216,0,0,0,174,1,0,0,96,6,0,0,132,0,0,0,150,4,0,0,126,6,0,0,246,0,0,0,2,5,0,0,128,1,0,0,72,0,0,0,226,0,0,0,54,5,0,0,162,7,0,0,152,0,0,0,90,0,0,0,210,0,0,0,160,1,0,0,42,0,0,0,46,0,0,0,170,5,0,0,192,1,0,0,44,0,0,0,56,0,0,0,228,2,0,0,46,0,0,0,60,0,0,0,246,1,0,0,52,0,0,0,56,5,0,0,94,1,0,0,156,2,0,0,110,5,0,0,98,9,0,0,48,4,0,0,78,0,0,0,222,1,0,0,138,1,0,0,88,2,0,0,186,1,0,0,176,2,0,0,188,6,0,0,84,0,0,0,240,0,0,0,170,0,0,0,78,0,0,0,210,1,0,0,58,0,0,0,18,2,0,0,84,0,0,0,106,10,0,0,122,4,0,0,100,0,0,0,180,6,0,0,46,2,0,0,206,0,0,0,44,0,0,0,26,5,0,0,172,10,0,0,168,7,0,0,102,2,0,0,208,0,0,0,82,1,0,0,170,2,0,0,252,0,0,0,44,0,0,0,160,1,0,0,60,0,0,0,106,3,0,0,142,2,0,0,62,4,0,0,80,0,0,0,118,9,0,0,120,0,0,0,108,6,0,0,122,3,0,0,58,7,0,0,124,0,0,0,132,2,0,0,244,0,0,0,92,2,0,0,208,1,0,0,114,2,0,0,160,0,0,0,122,2,0,0,108,1,0,0,160,6,0,0,134,0,0,0,148,2,0,0,236,7,0,0,148,5,0,0,160,1,0,0,150,2,0,0,138,3,0,0,140,4,0,0,12,5,0,0,52,5,0,0,174,8,0,0,54,2,0,0,186,5,0,0,52,0,0,0,26,4,0,0,42,0,0,0,42,0,0,0,148,1,0,0,34,4,0,0,56,0,0,0,132,1,0,0,10,7,0,0,158,0,0,0,42,1,0,0,104,1,0,0,54,6,0,0,236,0,0,0,82,1,0,0,14,1,0,0,156,3,0,0,52,0,0,0,148,8,0,0,110,3,0,0,242,8,0,0,218,1,0,0,104,0,0,0,150,4,0,0,122,8,0,0,180,1,0,0,200,6,0,0,104,2,0,0,98,0,0,0,158,7,0,0,92,2,0,0,84,0,0,0,142,1,0,0,200,3,0,0,138,2,0,0,140,3,0,0,2,5,0,0,182,1,0,0,148,6,0,0,202,0,0,0,74,0,0,0,62,0,0,0,106,5,0,0,208,2,0,0,222,0,0,0,86,0,0,0,102,0,0,0,128,3,0,0,52,3,0,0,216,7,0,0,130,1,0,0,42,0,0,0,126,1,0,0,172,0,0,0,222,0,0,0,44,8,0,0,144,10,0,0,184,1,0,0,202,0,0,0,148,0,0,0,50,3,0,0,88,4,0,0,46,3,0,0,176,2,0,0,180,2,0,0,254,2,0,0,50,8,0,0,72,5,0,0,100,7,0,0,28,6,0,0,188,9,0,0,30,1,0,0,132,3,0,0,52,5,0,0,238,2,0,0,88,0,0,0,160,0,0,0,186,0,0,0,112,0,0,0,192,9,0,0,156,5,0,0,62,3,0,0,190,5,0,0,232,1,0,0,194,6,0,0,80,5,0,0,174,1,0,0,176,1,0,0,236,0,0,0,52,0,0,0,228,6,0,0,238,1,0,0,206,3,0,0,88,0,0,0,164,2,0,0,98,1,0,0,200,6,0,0,42,4,0,0,180,1,0,0,40,1,0,0,100,1,0,0,170,1,0,0,148,10,0,0,96,5,0,0,50,0,0,0,92,5,0,0,50,0,0,0,170,0,0,0,64,4,0,0,224,0,0,0,60,2,0,0,66,6,0,0,86,5,0,0,206,0,0,0,96,1,0,0,172,2,0,0,140,0,0,0,60,0,0,0,50,0,0,0,98,1,0,0,200,1,0,0,96,0,0,0,160,1,0,0,104,4,0,0,46,0,0,0,82,0,0,0,194,0,0,0,138,10,0,0,136,0,0,0,50,2,0,0,58,0,0,0,226,1,0,0,106,0,0,0,230,1,0,0,94,0,0,0,44,2,0,0,0,1,0,0,178,2,0,0,16,5,0,0,62,0,0,0,188,10,0,0,158,0,0,0,58,0,0,0,128,0,0,0,90,3,0,0,22,3,0,0,96,0,0,0,252,2,0,0,80,0,0,0,252,1,0,0,42,8,0,0,164,7,0,0,90,0,0,0,58,0,0,0,50,0,0,0,46,0,0,0,202,2,0,0,240,3,0,0,50,1,0,0,124,1,0,0,70,5,0,0,168,1,0,0,216,8,0,0,138,0,0,0,14,2,0,0,190,3,0,0,62,6,0,0,132,7,0,0,6,5,0,0,142,5,0,0,76,0,0,0,4,1,0,0,226,1,0,0,162,0,0,0,46,0,0,0,120,0,0,0,104,0,0,0,76,0,0,0,200,1,0,0,100,3,0,0,128,0,0,0,114,10,0,0,28,1,0,0,168,4,0,0,50,0,0,0,12,10,0,0,4,3,0,0,62,2,0,0,28,3,0,0,106,0,0,0,38,1,0,0,214,1,0,0,168,9,0,0,144,0,0,0,224,8,0,0,128,0,0,0,218,3,0,0,246,0,0,0,242,0,0,0,168,3,0,0,204,0,0,0,174,0,0,0,192,1,0,0,70,0,0,0,204,5,0,0,180,10,0,0,154,0,0,0,108,7,0,0,182,2,0,0,102,2,0,0,140,0,0,0,230,1,0,0,10,4,0,0,58,6,0,0,50,1,0,0,2,2,0,0,90,1,0,0,156,4,0,0,146,0,0,0,26,3,0,0,188,2,0,0,96,0,0,0,244,1,0,0,160,9,0,0,242,0,0,0,82,0,0,0,234,8,0,0,68,2,0,0,158,1,0,0,48,0,0,0,42,0,0,0,44,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,44,0,0,0,42,0,0,0,178,0,0,0,210,8,0,0,46,0,0,0,126,0,0,0,104,0,0,0,44,0,0,0,42,0,0,0,28,1,0,0,78,0,0,0,60,6,0,0,42,0,0,0,42,0,0,0,42,0,0,0,232,2,0,0,48,0,0,0,24,2,0,0,82,2,0,0,200,0,0,0,186,0,0,0,124,0,0,0,8,5,0,0,144,6,0,0,66,3,0,0,84,2,0,0,106,3,0,0,134,5,0,0,146,1,0,0,98,0,0,0,86,0,0,0,138,3,0,0,86,0,0,0,186,0,0,0,110,1,0,0,116,1,0,0,148,0,0,0,252,8,0,0,202,1,0,0,116,0,0,0,152,2,0,0,178,3,0,0,124,4,0,0,32,3,0,0,154,6,0,0,78,0,0,0,102,1,0,0,18,1,0,0,28,1,0,0,40,10,0,0,216,0,0,0,52,0,0,0,152,5,0,0,50,3,0,0,98,5,0,0,176,0,0,0,126,2,0,0,148,0,0,0,158,2,0,0,232,2,0,0,142,0,0,0,224,2,0,0,46,0,0,0,182,0,0,0,170,1,0,0,208,1,0,0,32,4,0,0,126,5,0,0,172,4,0,0,112,4,0,0,52,0,0,0,158,0,0,0,116,0,0,0,44,0,0,0,140,1,0,0,132,6,0,0,96,0,0,0,50,6,0,0,200,5,0,0,144,1,0,0,120,1,0,0,16,9,0,0,158,4,0,0,252,2,0,0,108,3,0,0,72,2,0,0,192,5,0,0,102,6,0,0,44,9,0,0,38,4,0,0,188,1,0,0,146,3,0,0,102,3,0,0,0,5,0,0,100,0,0,0,154,1,0,0,220,2,0,0,102,6,0,0,196,5,0,0,20,3,0,0,26,1,0,0,104,2,0,0,204,6,0,0,216,1,0,0,192,4,0,0,128,1,0,0,94,0,0,0,60,0,0,0,12,1,0,0,20,4,0,0,210,0,0,0,34,1,0,0,80,1,0,0,110,0,0,0,68,0,0,0,56,2,0,0,106,1,0,0,234,4,0,0,114,0,0,0,90,0,0,0,100,1,0,0,90,0,0,0,152,4,0,0,36,10,0,0,100,0,0,0,92,3,0,0,80,0,0,0,52,0,0,0,44,0,0,0,44,0,0,0,60,7,0,0,44,0,0,0,154,1,0,0,134,0,0,0,86,1,0,0,156,0,0,0,108,1,0,0,106,0,0,0,72,0,0,0,108,0,0,0,220,2,0,0,162,0,0,0,4,1,0,0,48,0,0,0,212,1,0,0,50,0,0,0,198,2,0,0,162,1,0,0,94,5,0,0,80,1,0,0,48,0,0,0,146,0,0,0,82,1,0,0,138,0,0,0,100,0,0,0,10,3,0,0,106,2,0,0,84,0,0,0,156,0,0,0,22,4,0,0,12,3,0,0,226,9,0,0,72,2,0,0,218,3,0,0,170,9,0,0,122,7,0,0,162,2,0,0,202,3,0,0,16,4,0,0,208,2,0,0,60,5,0,0,206,1,0,0,0,1,0,0,148,2,0,0,86,0,0,0,162,4,0,0,10,3,0,0,192,3,0,0,224,4,0,0,252,6,0,0,86,0,0,0,74,4,0,0,114,1,0,0,168,1,0,0,240,5,0,0,116,1,0,0,22,2,0,0,170,4,0,0,44,0,0,0,36,1,0,0,0,1,0,0,88,0,0,0,108,0,0,0,178,4,0,0,202,0,0,0,156,4,0,0,50,4,0,0,108,0,0,0,50,0,0,0,42,0,0,0,158,0,0,0,212,1,0,0,244,0,0,0,166,0,0,0,68,9,0,0,214,0,0,0,140,5,0,0,86,4,0,0,68,0,0,0,216,2,0,0,186,4,0,0,150,0,0,0,4,5,0,0,196,0,0,0,102,8,0,0,52,0,0,0,46,0,0,0,50,0,0,0,240,4,0,0,108,5,0,0,208,6,0,0,204,1,0,0,232,1,0,0,68,5,0,0,94,5,0,0,124,1,0,0,214,10,0,0,206,0,0,0,178,3,0,0,42,0,0,0,146,1,0,0,58,2,0,0,64,3,0,0,154,0,0,0,48,6,0,0,184,1,0,0,236,5,0,0,92,5,0,0,38,8,0,0,166,3,0,0,246,0,0,0,252,0,0,0,102,0,0,0,40,5,0,0,108,0,0,0,72,0,0,0,106,0,0,0,78,0,0,0,48,0,0,0,126,4,0,0,76,4,0,0,54,0,0,0,178,0,0,0,66,0,0,0,142,1,0,0,4,6,0,0,26,5,0,0,112,1,0,0,100,6,0,0,148,1,0,0,178,2,0,0,166,0,0,0,166,0,0,0,58,1,0,0,32,1,0,0,242,1,0,0,84,0,0,0,160,3,0,0,220,1,0,0,146,5,0,0,156,1,0,0,100,0,0,0,188,4,0,0,144,0,0,0,88,0,0,0,222,0,0,0,230,0,0,0,210,1,0,0,56,0,0,0,238,0,0,0,174,0,0,0,174,0,0,0,62,0,0,0,56,0,0,0,46,0,0,0,44,0,0,0,42,0,0,0,148,0,0,0,154,1,0,0,252,1,0,0,58,0,0,0,40,4,0,0,68,0,0,0,44,0,0,0,218,1,0,0,154,0,0,0,156,0,0,0,234,6,0,0,44,0,0,0,42,0,0,0,160,3,0,0,202,0,0,0,214,3,0,0,82,10,0,0,66,0,0,0,42,10,0,0,78,5,0,0,146,0,0,0,246,4,0,0,188,2,0,0,56,0,0,0,102,0,0,0,208,8,0,0,90,2,0,0,82,0,0,0,12,1,0,0,26,1,0,0,88,0,0,0,118,1,0,0,254,1,0,0,46,0,0,0,186,0,0,0,180,0,0,0,52,0,0,0,42,0,0,0,42,0,0,0,140,6,0,0,128,5,0,0,58,0,0,0,18,1,0,0,46,7,0,0,20,3,0,0,124,1,0,0,2,1,0,0,112,0,0,0,48,0,0,0,48,0,0,0,126,6,0,0,22,1,0,0,126,0,0,0,56,3,0,0,28,7,0,0,118,5,0,0,74,0,0,0,54,0,0,0,42,0,0,0,212,9,0,0,78,1,0,0,82,0,0,0,8,2,0,0,50,10,0,0,14,3,0,0,224,1,0,0,150,0,0,0,236,6,0,0,100,1,0,0,64,3,0,0,62,0,0,0,54,0,0,0,48,0,0,0,60,0,0,0,48,0,0,0,46,0,0,0,194,10,0,0,176,3,0,0,50,0,0,0,186,2,0,0,246,1,0,0,128,0,0,0,230,2,0,0,230,2,0,0,164,6,0,0,184,1,0,0,12,1,0,0,78,2,0,0,78,2,0,0,82,0,0,0,114,0,0,0,42,0,0,0,250,1,0,0,254,1,0,0,42,0,0,0,152,1,0,0,144,0,0,0,124,0,0,0,106,1,0,0,10,1,0,0,56,0,0,0,142,3,0,0,156,8,0,0,94,4,0,0,64,0,0,0,116,1,0,0,216,0,0,0,12,2,0,0,14,6,0,0,138,1,0,0,14,1,0,0,70,0,0,0,58,1,0,0,140,1,0,0,198,1,0,0,88,0,0,0,74,1,0,0,180,0,0,0,254,0,0,0,72,1,0,0,112,1,0,0,104,0,0,0,238,1,0,0,146,9,0,0,248,0,0,0,56,1,0,0,52,1,0,0,238,1,0,0,112,0,0,0,64,0,0,0,172,4,0,0,90,0,0,0,128,0,0,0,166,1,0,0,254,0,0,0,126,4,0,0,44,3,0,0,76,10,0,0,84,0,0,0,64,1,0,0,214,1,0,0,54,0,0,0,106,4,0,0,242,1,0,0,154,0,0,0,106,1,0,0,204,0,0,0,158,0,0,0,178,4,0,0,210,0,0,0,234,1,0,0,76,0,0,0,242,4,0,0,30,2,0,0,250,5,0,0,222,2,0,0,42,2,0,0,10,1,0,0,104,1,0,0,174,0,0,0,216,4,0,0,54,7,0,0,86,1,0,0,144,1,0,0,182,1,0,0,100,9,0,0,50,0,0,0,98,0,0,0,158,1,0,0,58,0,0,0,172,0,0,0,62,0,0,0,118,1,0,0,218,9,0,0,70,0,0,0,244,7,0,0,226,0,0,0,250,5,0,0,64,0,0,0,164,0,0,0,112,4,0,0,208,1,0,0,110,5,0,0,20,1,0,0,140,1,0,0,212,0,0,0,46,0,0,0,44,3,0,0,224,9,0,0,244,0,0,0,0,1,0,0,42,0,0,0,16,4,0,0,212,0,0,0,158,1,0,0,82,0,0,0,52,2,0,0,238,0,0,0,134,4,0,0,230,1,0,0,174,5,0,0,66,2,0,0,64,0,0,0,192,1,0,0,220,4,0,0,56,6,0,0,32,10,0,0,218,2,0,0,242,2,0,0,202,0,0,0,202,5,0,0,54,0,0,0,42,3,0,0,132,1,0,0,214,2,0,0,38,2,0,0,86,0,0,0,24,9,0,0,78,5,0,0,152,2,0,0,82,0,0,0,184,1,0,0,162,1,0,0,200,0,0,0,164,5,0,0,128,1,0,0,224,0,0,0,170,8,0,0,20,9,0,0,110,0,0,0,80,4,0,0,222,0,0,0,8,10,0,0,114,0,0,0,68,1,0,0,0,5,0,0,48,5,0,0,34,1,0,0,42,0,0,0,42,0,0,0,188,3,0,0,136,0,0,0,160,4,0,0,164,6,0,0,128,2,0,0,80,10,0,0,200,2,0,0,14,7,0,0,44,0,0,0,44,0,0,0,6,2,0,0,62,1,0,0,92,0,0,0,214,1,0,0,254,0,0,0,224,0,0,0,158,8,0,0,124,5,0,0,120,6,0,0,150,6,0,0,104,0,0,0,172,8,0,0,92,1,0,0,136,7,0,0,226,8,0,0,176,8,0,0,180,4,0,0,102,2,0,0,128,0,0,0,54,5,0,0,74,3,0,0,74,0,0,0,188,1,0,0,52,1,0,0,18,2,0,0,182,0,0,0,122,1,0,0,80,5,0,0,216,3,0,0,246,0,0,0,124,10,0,0,76,0,0,0,100,0,0,0,142,10,0,0,178,8,0,0,126,2,0,0,24,2,0,0,66,5,0,0,130,1,0,0,162,2,0,0,226,4,0,0,70,0,0,0,98,4,0,0,230,0,0,0,124,6,0,0,98,3,0,0,48,4,0,0,104,4,0,0,120,0,0,0,30,4,0,0,58,1,0,0,202,6,0,0,82,8,0,0,54,10,0,0,236,2,0,0,10,1,0,0,68,2,0,0,94,1,0,0,158,0,0,0,142,4,0,0,236,3,0,0,60,1,0,0,184,3,0,0,16,2,0,0,174,1,0,0,72,3,0,0,24,2,0,0,208,5,0,0,34,5,0,0,104,1,0,0,208,1,0,0,80,3,0,0,250,0,0,0,236,0,0,0,160,2,0,0,172,0,0,0,240,0,0,0,88,1,0,0,218,0,0,0,204,4,0,0,196,3,0,0,218,2,0,0,66,0,0,0,50,0,0,0,56,0,0,0,238,8,0,0,48,6,0,0,118,4,0,0,54,1,0,0,48,5,0,0,116,0,0,0,54,6,0,0,14,5,0,0,74,0,0,0,248,5,0,0,226,5,0,0,42,0,0,0,218,2,0,0,220,0,0,0,234,0,0,0,50,0,0,0,44,0,0,0,46,0,0,0,44,1,0,0,30,7,0,0,110,4,0,0,166,1,0,0,180,3,0,0,0,10,0,0,214,0,0,0,16,2,0,0,122,1,0,0,224,1,0,0,60,2,0,0,74,1,0,0,46,0,0,0,222,10,0,0,134,0,0,0,192,4,0,0,106,0,0,0,178,1,0,0,98,1,0,0,46,0,0,0,42,6,0,0,162,0,0,0,12,1,0,0,108,0,0,0,52,0,0,0,72,0,0,0,174,4,0,0,66,1,0,0,154,7,0,0,78,0,0,0,116,0,0,0,144,0,0,0,186,2,0,0,252,0,0,0,68,1,0,0,64,0,0,0,212,5,0,0,110,6,0,0,170,0,0,0,184,6,0,0,102,0,0,0,70,2,0,0,50,0,0,0,52,2,0,0,132,3,0,0,96,1,0,0,46,1,0,0,8,1,0,0,118,3,0,0,102,1,0,0,114,7,0,0,84,0,0,0,206,1,0,0,196,6,0,0,112,2,0,0,46,0,0,0,76,0,0,0,46,6,0,0,100,2,0,0,6,6,0,0,112,1,0,0,216,0,0,0,44,1,0,0,226,0,0,0,106,0,0,0,114,2,0,0,120,0,0,0,158,1,0,0,40,1,0,0,210,2,0,0,244,0,0,0,252,1,0,0,70,0,0,0,162,2,0,0,48,2,0,0,14,2,0,0,192,2,0,0,104,1,0,0,202,1,0,0,218,0,0,0,132,0,0,0,40,1,0,0,140,0,0,0,196,0,0,0,186,7,0,0,118,0,0,0,10,2,0,0,226,2,0,0,196,1,0,0,36,1,0,0,32,1,0,0,20,1,0,0,196,2,0,0,206,8,0,0,216,1,0,0,46,1,0,0,190,0,0,0,174,0,0,0,186,1,0,0,166,0,0,0,136,0,0,0,20,2,0,0,216,4,0,0,98,2,0,0,224,0,0,0,176,0,0,0,84,5,0,0,250,0,0,0,120,1,0,0,164,2,0,0,116,0,0,0,92,0,0,0,126,2,0,0,202,1,0,0,158,3,0,0,66,0,0,0,188,8,0,0,32,1,0,0,166,2,0,0,172,6,0,0,172,1,0,0,80,1,0,0,200,1,0,0,104,1,0,0,140,0,0,0,238,3,0,0,114,4,0,0,240,9,0,0,180,0,0,0,234,1,0,0,82,1,0,0,236,3,0,0,242,1,0,0,8,1,0,0,252,2,0,0,24,8,0,0,94,0,0,0,206,7,0,0,234,5,0,0,204,0,0,0,104,6,0,0,58,3,0,0,126,0,0,0,208,9,0,0,178,1,0,0,236,0,0,0,108,0,0,0,108,2,0,0,138,3,0,0,136,0,0,0,68,2,0,0,192,0,0,0,150,0,0,0,146,10,0,0,232,2,0,0,54,2,0,0,194,0,0,0,86,1,0,0,208,6,0,0,100,0,0,0,66,0,0,0,118,3,0,0,44,1,0,0,52,0,0,0,116,0,0,0,138,6,0,0,74,0,0,0,246,8,0,0,72,10,0,0,56,0,0,0,114,6,0,0,232,0,0,0,12,1,0,0,116,3,0,0,136,2,0,0,120,10,0,0,150,2,0,0,72,0,0,0,80,0,0,0,212,8,0,0,242,9,0,0,104,0,0,0,8,4,0,0,54,0,0,0,78,3,0,0,250,0,0,0,50,5,0,0,70,9,0,0,44,2,0,0,44,0,0,0,42,4,0,0,50,0,0,0,62,0,0,0,124,3,0,0,78,0,0,0,248,5,0,0,142,0,0,0,46,0,0,0,60,4,0,0,60,8,0,0,90,7,0,0,204,5,0,0,232,0,0,0,242,0,0,0,238,0,0,0,188,5,0,0,46,1,0,0,60,0,0,0,58,1,0,0,194,1,0,0,134,2,0,0,76,0,0,0,252,0,0,0,60,3,0,0,162,0,0,0,228,0,0,0,50,1,0,0,170,0,0,0,136,1,0,0,128,1,0,0,58,0,0,0,116,0,0,0,222,2,0,0,32,6,0,0,58,1,0,0,128,4,0,0,6,1,0,0,172,1,0,0,230,1,0,0,30,2,0,0,70,0,0,0,74,0,0,0,198,1,0,0,112,5,0,0,222,5,0,0,82,0,0,0,52,0,0,0,164,0,0,0,216,1,0,0,48,1,0,0,44,1,0,0,96,1,0,0,60,0,0,0,82,6,0,0,184,8,0,0,98,0,0,0,60,0,0,0,238,1,0,0,58,0,0,0,2,6,0,0,94,2,0,0,58,0,0,0,180,7,0,0,54,4,0,0,240,8,0,0,72,0,0,0,44,0,0,0,42,6,0,0,44,2,0,0,254,0,0,0,144,1,0,0,66,0,0,0,70,0,0,0,38,9,0,0,234,0,0,0,218,0,0,0,40,2,0,0,162,1,0,0,86,0,0,0,108,0,0,0,214,1,0,0,52,0,0,0,62,0,0,0,232,0,0,0,46,4,0,0,60,4,0,0,160,1,0,0,32,1,0,0,30,6,0,0,70,0,0,0,90,1,0,0,74,3,0,0,128,8,0,0,126,0,0,0,24,4,0,0,174,0,0,0,144,0,0,0,248,0,0,0,28,2,0,0,74,2,0,0,74,2,0,0,4,2,0,0,30,1,0,0,168,0,0,0,210,1,0,0,226,1,0,0,8,9,0,0,64,0,0,0,64,0,0,0,248,1,0,0,126,1,0,0,120,3,0,0,12,6,0,0,156,9,0,0,50,0,0,0,210,2,0,0,238,6,0,0,102,1,0,0,204,7,0,0,168,1,0,0,202,5,0,0,76,5,0,0,164,0,0,0,118,3,0,0,234,0,0,0,38,5,0,0,84,2,0,0,32,9,0,0,248,0,0,0,218,10,0,0,22,6,0,0,234,2,0,0,18,5,0,0,216,0,0,0,54,1,0,0,24,2,0,0,6,2,0,0,44,0,0,0,68,8,0,0,182,0,0,0,24,7,0,0,90,6,0,0,46,0,0,0,68,0,0,0,52,0,0,0,178,0,0,0,8,6,0,0,16,2,0,0,34,1,0,0,90,0,0,0,104,0,0,0,130,9,0,0,176,1,0,0,244,4,0,0,184,0,0,0,64,8,0,0,212,1,0,0,192,0,0,0,46,0,0,0,44,0,0,0,86,0,0,0,140,0,0,0,184,6,0,0,170,0,0,0,128,1,0,0,88,3,0,0,176,1,0,0,180,0,0,0,82,0,0,0,112,0,0,0,34,1,0,0,18,10,0,0,54,2,0,0,230,3,0,0,212,4,0,0,252,0,0,0,166,8,0,0,128,3,0,0,210,0,0,0,250,1,0,0,110,0,0,0,200,2,0,0,144,4,0,0,106,2,0,0,168,2,0,0,114,6,0,0,150,2,0,0,38,3,0,0,58,2,0,0,164,0,0,0,252,4,0,0,46,3,0,0,192,1,0,0,188,1,0,0,4,1,0,0,156,0,0,0,20,1,0,0,122,0,0,0,46,0,0,0,42,0,0,0,130,0,0,0,92,1,0,0,50,0,0,0,116,4,0,0,78,0,0,0,84,1,0,0,62,0,0,0,50,2,0,0,86,0,0,0,250,1,0,0,42,0,0,0,74,2,0,0,194,2,0,0,152,2,0,0,90,2,0,0,62,0,0,0,128,2,0,0,62,1,0,0,206,2,0,0,4,1,0,0,54,0,0,0,38,4,0,0,72,0,0,0,160,0,0,0,58,5,0,0,252,0,0,0,158,1,0,0,100,1,0,0,44,0,0,0,230,0,0,0,152,0,0,0,222,4,0,0,170,10,0,0,146,0,0,0,42,0,0,0,130,0,0,0,128,0,0,0,200,1,0,0,46,10,0,0,76,0,0,0,56,5,0,0,118,0,0,0,244,6,0,0,156,1,0,0,60,6,0,0,228,2,0,0,198,0,0,0,204,2,0,0,120,0,0,0,134,4,0,0,80,0,0,0,92,0,0,0,168,1,0,0,84,0,0,0,152,10,0,0,42,0,0,0,46,2,0,0,134,9,0,0,210,1,0,0,26,1,0,0,48,0,0,0,80,0,0,0,178,0,0,0,112,0,0,0,76,3,0,0,214,5,0,0,206,0,0,0,58,0,0,0,172,2,0,0,160,2,0,0,70,0,0,0,110,0,0,0,40,2,0,0,226,6,0,0,52,8,0,0,202,6,0,0,186,9,0,0,202,1,0,0,48,0,0,0,48,0,0,0,210,0,0,0,152,1,0,0,40,2,0,0,58,0,0,0,76,4,0,0,132,1,0,0,122,1,0,0,36,2,0,0,130,0,0,0,90,9,0,0,78,1,0,0,10,5,0,0,116,9,0,0,16,1,0,0,190,0,0,0,8,1,0,0,236,8,0,0,152,9,0,0,130,1,0,0,126,1,0,0,138,1,0,0,154,0,0,0,76,1,0,0,228,0,0,0,54,0,0,0,190,6,0,0,128,9,0,0,36,8,0,0,30,10,0,0,242,2,0,0,104,0,0,0,44,10,0,0,182,5,0,0,230,0,0,0,62,9,0,0,144,1,0,0,146,2,0,0,104,1,0,0,80,8,0,0,72,0,0,0,38,3,0,0,60,3,0,0,194,0,0,0,2,2,0,0,70,0,0,0,112,9,0,0,118,7,0,0,194,2,0,0,54,1,0,0,246,5,0,0,38,1,0,0,198,0,0,0,8,3,0,0,250,1,0,0,12,3,0,0,116,1,0,0,188,0,0,0,94,0,0,0,38,2,0,0,64,1,0,0,222,8,0,0,88,0,0,0,114,1,0,0,64,0,0,0,102,0,0,0,198,7,0,0,154,1,0,0,26,8,0,0,60,1,0,0,144,0,0,0,162,2,0,0,52,7,0,0,94,10,0,0,42,0,0,0,46,6,0,0,236,1,0,0,84,0,0,0,108,8,0,0,214,9,0,0,204,10,0,0,14,2,0,0,56,7,0,0,218,8,0,0,124,1,0,0,94,1,0,0,72,2,0,0,222,1,0,0,132,0,0,0,94,8,0,0,68,2,0,0,104,0,0,0,248,0,0,0,96,0,0,0,46,0,0,0,208,2,0,0,30,5,0,0,158,0,0,0,54,0,0,0,164,5,0,0,228,8,0,0,60,3,0,0,120,0,0,0,92,0,0,0,2,8,0,0,160,1,0,0,210,2,0,0,208,0,0,0,142,5,0,0,136,1,0,0,128,6,0,0,46,0,0,0,42,0,0,0,42,2,0,0,82,0,0,0,102,0,0,0,100,0,0,0,94,0,0,0,134,0,0,0,166,1,0,0,122,0,0,0,132,0,0,0,82,1,0,0,16,2,0,0,2,1,0,0,54,1,0,0,252,0,0,0,82,0,0,0,46,0,0,0,44,0,0,0,86,0,0,0,76,2,0,0,124,1,0,0,106,6,0,0,128,2,0,0,140,0,0,0,132,8,0,0,26,7,0,0,202,4,0,0,126,2,0,0,176,0,0,0,254,2,0,0,78,1,0,0,108,6,0,0,186,0,0,0,122,0,0,0,184,5,0,0,80,2,0,0,236,0,0,0,4,1,0,0,52,0,0,0,238,7,0,0,58,8,0,0,90,1,0,0,82,0,0,0,16,3,0,0,82,0,0,0,4,7,0,0,74,8,0,0,212,0,0,0,52,10,0,0,20,3,0,0,10,2,0,0,50,0,0,0,106,5,0,0,124,0,0,0,138,1,0,0,92,3,0,0,56,0,0,0,34,2,0,0,44,0,0,0,94,7,0,0,158,3,0,0,78,8,0,0,210,9,0,0,206,1,0,0,176,0,0,0,94,0,0,0,244,3,0,0,126,1,0,0,176,1,0,0,106,1,0,0,200,4,0,0,102,1,0,0,112,3,0,0,42,0,0,0,158,4,0,0,208,2,0,0,42,3,0,0,22,5,0,0,254,7,0,0,226,4,0,0,146,4,0,0,244,1,0,0,18,8,0,0,0,7,0,0,232,3,0,0,48,7,0,0,186,1,0,0,188,5,0,0,152,6,0,0,62,0,0,0,72,1,0,0,14,5,0,0,112,1,0,0,166,1,0,0,162,5,0,0,244,1,0,0,36,3,0,0,64,7,0,0,82,5,0,0,100,8,0,0,134,8,0,0,124,0,0,0,244,3,0,0,104,6,0,0,250,4,0,0,46,0,0,0,110,10,0,0,86,8,0,0,138,1,0,0,234,1,0,0,214,1,0,0,76,0,0,0,188,0,0,0,34,10,0,0,236,5,0,0,20,2,0,0,74,2,0,0,42,0,0,0,218,0,0,0,70,2,0,0,104,0,0,0,160,2,0,0,218,4,0,0,118,2,0,0,38,6,0,0,64,0,0,0,108,3,0,0,78,6,0,0,82,9,0,0,210,3,0,0,46,3,0,0,28,5,0,0,212,1,0,0,202,4,0,0,82,0,0,0,28,2,0,0,250,0,0,0,86,0,0,0,102,0,0,0,126,0,0,0,180,1,0,0,214,3,0,0,234,0,0,0,48,1,0,0,200,10,0,0,82,1,0,0,126,1,0,0,208,3,0,0,44,0,0,0,56,0,0,0,252,7,0,0,124,6,0,0,50,1,0,0,76,1,0,0,84,4,0,0,78,0,0,0,232,1,0,0,104,0,0,0,0,8,0,0,82,0,0,0,168,5,0,0,228,0,0,0,192,2,0,0,142,0,0,0,94,0,0,0,24,6,0,0,48,0,0,0,48,0,0,0,44,0,0,0,40,6,0,0,176,5,0,0,118,0,0,0,44,6,0,0,18,3,0,0,90,3,0,0,218,5,0,0,14,1,0,0,48,0,0,0,110,8,0,0,88,2,0,0,194,5,0,0,240,7,0,0,54,0,0,0,120,9,0,0,138,0,0,0,206,1,0,0,166,1,0,0,74,1,0,0,50,2,0,0,60,0,0,0,116,0,0,0,250,0,0,0,138,0,0,0,206,5,0,0,134,1,0,0,170,0,0,0,70,0,0,0,34,7,0,0,128,4,0,0,96,0,0,0,110,1,0,0,40,1,0,0,30,3,0,0,26,10,0,0,208,7,0,0,230,4,0,0,98,1,0,0,138,4,0,0,100,5,0,0,184,0,0,0,62,1,0,0,100,0,0,0,154,9,0,0,236,1,0,0,184,4,0,0,162,3,0,0,104,1,0,0,254,3,0,0,62,1,0,0,36,1,0,0,50,5,0,0,236,9,0,0,208,0,0,0,206,5,0,0,194,1,0,0,86,3,0,0,134,0,0,0,224,4,0,0,130,0,0,0,50,3,0,0,122,2,0,0,132,0,0,0,46,0,0,0,198,2,0,0,182,4,0,0,96,0,0,0,72,5,0,0,112,0,0,0,50,0,0,0,42,0,0,0,42,0,0,0,220,0,0,0,240,2,0,0,144,2,0,0,64,9,0,0,190,1,0,0,76,3,0,0,60,0,0,0,156,1,0,0,16,6,0,0,74,0,0,0,6,9,0,0,182,0,0,0,228,4,0,0,14,4,0,0,186,2,0,0,50,0,0,0,136,1,0,0,142,4,0,0,44,0,0,0,68,0,0,0,150,0,0,0,110,0,0,0,20,5,0,0,66,0,0,0,166,0,0,0,122,0,0,0,40,6,0,0,142,0,0,0,190,0,0,0,76,2,0,0,166,0,0,0,114,5,0,0,132,2,0,0,100,10,0,0,20,1,0,0,38,1,0,0,136,10,0,0,32,2,0,0,8,7,0,0,34,1,0,0,72,6,0,0,118,2,0,0,216,0,0,0,92,0,0,0,102,4,0,0,182,7,0,0,226,5,0,0,58,10,0,0,28,3,0,0,8,4,0,0,168,1,0,0,240,1,0,0,190,7,0,0,130,0,0,0,76,3,0,0,138,2,0,0,136,3,0,0,222,0,0,0,20,8,0,0,56,0,0,0,30,1,0,0,18,6,0,0,254,1,0,0,52,0,0,0,110,0,0,0,76,1,0,0,130,0,0,0,220,1,0,0,212,2,0,0,8,1,0,0,162,10,0,0,66,8,0,0,142,7,0,0,58,0,0,0,68,2,0,0,218,4,0,0,102,9,0,0,12,6,0,0,76,0,0,0,56,4,0,0,238,0,0,0,48,0,0,0,162,8,0,0,198,5,0,0,150,5,0,0,156,0,0,0,52,3,0,0,102,0,0,0,188,0,0,0,82,3,0,0,54,1,0,0,160,8,0,0,52,2,0,0,96,1,0,0,94,0,0,0,94,0,0,0,204,1,0,0,172,6,0,0,232,1,0,0,176,7,0,0,2,1,0,0,218,1,0,0,122,0,0,0,212,3,0,0,66,0,0,0,154,3,0,0,168,5,0,0,102,1,0,0,20,4,0,0,178,7,0,0,218,0,0,0,22,8,0,0,248,0,0,0,162,4,0,0,182,3,0,0,146,8,0,0,134,5,0,0,70,0,0,0,58,0,0,0,114,0,0,0,226,0,0,0,50,0,0,0,86,0,0,0,198,10,0,0,240,1,0,0,174,1,0,0,22,10,0,0,232,0,0,0,76,0,0,0,150,0,0,0,212,0,0,0,174,0,0,0,50,6,0,0,126,0,0,0,84,5,0,0,8,1,0,0,228,1,0,0,180,3,0,0,108,0,0,0,80,0,0,0,58,0,0,0,42,0,0,0,42,0,0,0,8,6,0,0,30,3,0,0,74,0,0,0,18,2,0,0,58,0,0,0,98,2,0,0,96,1,0,0,42,0,0,0,42,0,0,0,120,2,0,0,176,3,0,0,148,0,0,0,210,3,0,0,170,4,0,0,96,0,0,0,118,0,0,0,174,1,0,0,68,1,0,0,246,1,0,0,70,7,0,0,148,0,0,0,34,9,0,0,156,1,0,0,188,6,0,0].concat([200,2,0,0,98,0,0,0,26,2,0,0,98,0,0,0,222,0,0,0,172,3,0,0,196,7,0,0,104,9,0,0,240,4,0,0,152,1,0,0,70,2,0,0,156,1,0,0,242,0,0,0,14,6,0,0,178,0,0,0,30,2,0,0,160,0,0,0,86,1,0,0,104,3,0,0,214,0,0,0,74,6,0,0,140,1,0,0,52,0,0,0,44,0,0,0,240,0,0,0,66,1,0,0,232,6,0,0,62,0,0,0,100,2,0,0,238,0,0,0,44,0,0,0,80,4,0,0,168,3,0,0,198,4,0,0,56,2,0,0,114,0,0,0,240,1,0,0,196,10,0,0,2,10,0,0,160,5,0,0,146,0,0,0,22,7,0,0,188,3,0,0,134,3,0,0,64,0,0,0,160,0,0,0,72,1,0,0,150,5,0,0,168,2,0,0,232,0,0,0,164,10,0,0,6,2,0,0,98,5,0,0,226,2,0,0,114,0,0,0,96,4,0,0,156,6,0,0,230,0,0,0,136,1,0,0,150,0,0,0,250,4,0,0,238,4,0,0,96,1,0,0,180,1,0,0,54,4,0,0,48,0,0,0,42,0,0,0,28,2,0,0,108,0,0,0,42,2,0,0,254,0,0,0,58,3,0,0,24,3,0,0,214,0,0,0,90,10,0,0,6,4,0,0,224,6,0,0,78,1,0,0,208,0,0,0,70,1,0,0,68,6,0,0,200,8,0,0,102,0,0,0,86,3,0,0,140,1,0,0,92,0,0,0,66,0,0,0,244,2,0,0,244,5,0,0,36,1,0,0,246,6,0,0,182,2,0,0,90,1,0,0,10,2,0,0,144,4,0,0,194,0,0,0,64,10,0,0,158,2,0,0,126,0,0,0,108,9,0,0,92,0,0,0,164,0,0,0,226,1,0,0,162,1,0,0,50,0,0,0,78,7,0,0,230,6,0,0,64,2,0,0,232,0,0,0,60,2,0,0,196,3,0,0,44,2,0,0,118,0,0,0,138,0,0,0,118,1,0,0,254,5,0,0,236,1,0,0,120,3,0,0,110,6,0,0,102,0,0,0,102,1,0,0,56,1,0,0,48,2,0,0,64,0,0,0,22,2,0,0,110,1,0,0,16,1,0,0,74,5,0,0,100,0,0,0,26,9,0,0,254,9,0,0,208,5,0,0,140,1,0,0,48,3,0,0,64,0,0,0,22,1,0,0,2,9,0,0,88,8,0,0,14,2,0,0,94,3,0,0,154,5,0,0,34,2,0,0,158,1,0,0,204,4,0,0,220,0,0,0,234,0,0,0,134,0,0,0,46,0,0,0,136,9,0,0,200,1,0,0,68,3,0,0,176,6,0,0,178,2,0,0,84,2,0,0,48,1,0,0,54,2,0,0,104,7,0,0,166,2,0,0,136,0,0,0,186,5,0,0,142,0,0,0,144,2,0,0,94,0,0,0,138,0,0,0,86,5,0,0,88,6,0,0,10,3,0,0,176,4,0,0,152,3,0,0,122,6,0,0,62,5,0,0,116,2,0,0,246,5,0,0,160,0,0,0,102,5,0,0,178,1,0,0,186,6,0,0,234,1,0,0,80,2,0,0,220,0,0,0,58,4,0,0,10,6,0,0,200,7,0,0,210,1,0,0,42,0,0,0,150,1,0,0,230,0,0,0,108,10,0,0,158,1,0,0,130,4,0,0,128,6,0,0,174,9,0,0,184,0,0,0,8,8,0,0,166,3,0,0,24,1,0,0,80,0,0,0,54,3,0,0,140,8,0,0,154,10,0,0,16,8,0,0,254,2,0,0,74,1,0,0,204,0,0,0,194,3,0,0,2,4,0,0,24,2,0,0,64,0,0,0,134,0,0,0,22,1,0,0,136,2,0,0,56,0,0,0,76,6,0,0,32,7,0,0,154,3,0,0,30,2,0,0,144,0,0,0,154,1,0,0,66,7,0,0,126,10,0,0,98,0,0,0,148,1,0,0,168,0,0,0,32,8,0,0,82,0,0,0,82,2,0,0,180,0,0,0,70,0,0,0,138,0,0,0,170,2,0,0,194,0,0,0,148,4,0,0,58,6,0,0,116,4,0,0,118,10,0,0,252,5,0,0,198,5,0,0,152,0,0,0,46,0,0,0,74,10,0,0,14,9,0,0,4,8,0,0,178,10,0,0,212,0,0,0,76,1,0,0,44,7,0,0,188,7,0,0,54,0,0,0,138,0,0,0,8,2,0,0,236,1,0,0,106,1,0,0,8,3,0,0,218,5,0,0,130,1,0,0,96,0,0,0,46,0,0,0,254,1,0,0,136,5,0,0,178,5,0,0,146,4,0,0,56,0,0,0,48,9,0,0,44,0,0,0,184,3,0,0,178,5,0,0,42,0,0,0,42,0,0,0,148,7,0,0,244,1,0,0,94,0,0,0,100,0,0,0,244,2,0,0,232,4,0,0,110,1,0,0,136,6,0,0,136,5,0,0,180,0,0,0,212,1,0,0,52,0,0,0,10,1,0,0,184,2,0,0,174,2,0,0,22,1,0,0,142,6,0,0,70,3,0,0,146,7,0,0,176,1,0,0,58,4,0,0,134,0,0,0,160,1,0,0,46,1,0,0,114,3,0,0,74,1,0,0,92,0,0,0,200,9,0,0,214,4,0,0,212,2,0,0,104,3,0,0,124,1,0,0,56,2,0,0,48,1,0,0,44,0,0,0,48,0,0,0,76,5,0,0,84,1,0,0,42,0,0,0,52,0,0,0,112,7,0,0,12,3,0,0,64,0,0,0,102,0,0,0,66,2,0,0,166,5,0,0,116,5,0,0,46,1,0,0,248,0,0,0,90,0,0,0,116,6,0,0,108,0,0,0,98,4,0,0,200,2,0,0,132,0,0,0,108,2,0,0,56,0,0,0,26,3,0,0,206,3,0,0,172,2,0,0,150,9,0,0,134,0,0,0,78,10,0,0,122,1,0,0,50,2,0,0,116,5,0,0,120,5,0,0,52,2,0,0,162,6,0,0,168,6,0,0,180,5,0,0,78,0,0,0,36,1,0,0,70,0,0,0,104,3,0,0,56,1,0,0,162,1,0,0,106,0,0,0,62,3,0,0,94,0,0,0,144,1,0,0,224,3,0,0,196,0,0,0,64,1,0,0,154,2,0,0,160,0,0,0,74,0,0,0,220,5,0,0,26,1,0,0,146,2,0,0,232,7,0,0,190,0,0,0,124,2,0,0,248,1,0,0,84,0,0,0,180,1,0,0,162,1,0,0,156,2,0,0,214,0,0,0,96,2,0,0,44,0,0,0,44,0,0,0,44,0,0,0,108,1,0,0,210,0,0,0,226,3,0,0,58,0,0,0,66,3,0,0,0,1,0,0,186,6,0,0,136,1,0,0,198,9,0,0,206,3,0,0,222,2,0,0,18,1,0,0,16,7,0,0,96,6,0,0,62,4,0,0,48,1,0,0,146,1,0,0,26,2,0,0,148,0,0,0,228,1,0,0,132,1,0,0,172,3,0,0,198,1,0,0,246,3,0,0,42,1,0,0,188,2,0,0,10,6,0,0,228,5,0,0,138,9,0,0,82,0,0,0,120,6,0,0,60,2,0,0,86,3,0,0,116,1,0,0,78,4,0,0,118,0,0,0,164,1,0,0,36,1,0,0,64,5,0,0,212,10,0,0,132,3,0,0,198,2,0,0,148,9,0,0,64,2,0,0,60,0,0,0,52,9,0,0,218,1,0,0,2,1,0,0,92,0,0,0,60,0,0,0,142,3,0,0,182,0,0,0,164,0,0,0,184,10,0,0,192,8,0,0,92,9,0,0,14,1,0,0,202,0,0,0,122,0,0,0,4,6,0,0,246,0,0,0,70,5,0,0,42,9,0,0,64,6,0,0,244,3,0,0,4,5,0,0,152,6,0,0,62,1,0,0,222,1,0,0,86,2,0,0,190,10,0,0,78,0,0,0,144,7,0,0,42,7,0,0,234,0,0,0,74,6,0,0,24,10,0,0,254,0,0,0,180,2,0,0,12,1,0,0,244,1,0,0,136,1,0,0,48,0,0,0,188,0,0,0,6,3,0,0,8,3,0,0,84,0,0,0,140,0,0,0,120,2,0,0,242,4,0,0,162,6,0,0,70,3,0,0,16,3,0,0,206,0,0,0,132,0,0,0,66,0,0,0,30,4,0,0,54,0,0,0,116,0,0,0,128,7,0,0,232,4,0,0,234,0,0,0,128,0,0,0,62,1,0,0,34,3,0,0,60,2,0,0,100,0,0,0,92,0,0,0,170,6,0,0,166,4,0,0,194,7,0,0,134,10,0,0,104,5,0,0,94,0,0,0,192,6,0,0,118,5,0,0,222,1,0,0,232,8,0,0,136,2,0,0,18,2,0,0,146,0,0,0,52,0,0,0,40,9,0,0,104,2,0,0,94,9,0,0,134,1,0,0,206,0,0,0,24,3,0,0,242,2,0,0,240,0,0,0,234,2,0,0,72,4,0,0,16,2,0,0,218,2,0,0,28,1,0,0,220,1,0,0,184,0,0,0,16,1,0,0,226,0,0,0,40,3,0,0,12,2,0,0,122,2,0,0,56,3,0,0,170,1,0,0,84,7,0,0,6,1,0,0,246,2,0,0,122,0,0,0,200,0,0,0,238,2,0,0,246,0,0,0,160,4,0,0,42,0,0,0,92,1,0,0,228,9,0,0,12,2,0,0,182,0,0,0,204,0,0,0,240,2,0,0,70,2,0,0,98,1,0,0,22,3,0,0,240,1,0,0,108,4,0,0,64,2,0,0,2,3,0,0,162,3,0,0,164,0,0,0,28,1,0,0,38,2,0,0,216,0,0,0,50,2,0,0,170,1,0,0,68,0,0,0,100,2,0,0,58,0,0,0,44,0,0,0,4,3,0,0,116,1,0,0,248,0,0,0,148,1,0,0,92,0,0,0,50,0,0,0,204,3,0,0,136,0,0,0,154,0,0,0,26,3,0,0,4,1,0,0,62,2,0,0,176,1,0,0,130,0,0,0,2,1,0,0,130,5,0,0,168,0,0,0,190,1,0,0,38,1,0,0,140,0,0,0,234,1,0,0,216,3,0,0,20,2,0,0,130,1,0,0,118,4,0,0,234,1,0,0,130,0,0,0,242,5,0,0,194,2,0,0,168,0,0,0,108,1,0,0,124,3,0,0,60,0,0,0,200,1,0,0,130,1,0,0,132,1,0,0,68,4,0,0,24,1,0,0,46,0,0,0,80,1,0,0,156,1,0,0,122,1,0,0,6,3,0,0,176,2,0,0,92,2,0,0,12,1,0,0,140,0,0,0,62,1,0,0,174,1,0,0,96,0,0,0,78,2,0,0,12,9,0,0,204,3,0,0,114,2,0,0,52,6,0,0,10,1,0,0,222,5,0,0,202,7,0,0,38,5,0,0,240,6,0,0,120,0,0,0,56,0,0,0,64,0,0,0,42,0,0,0,126,3,0,0,84,3,0,0,126,0,0,0,70,4,0,0,40,3,0,0,52,1,0,0,170,5,0,0,150,8,0,0,48,3,0,0,124,1,0,0,14,3,0,0,126,8,0,0,16,3,0,0,220,0,0,0,112,10,0,0,242,1,0,0,32,4,0,0,54,3,0,0,162,1,0,0,54,0,0,0,220,2,0,0,230,7,0,0,46,0,0,0,106,2,0,0,214,1,0,0,124,0,0,0,142,0,0,0,154,1,0,0,26,2,0,0,90,0,0,0,96,0,0,0,42,0,0,0,48,10,0,0,72,8,0,0,52,3,0,0,232,1,0,0,248,3,0,0,246,7,0,0,38,10,0,0,90,1,0,0,30,2,0,0,112,2,0,0,70,6,0,0,128,0,0,0,84,10,0,0,56,6,0,0,78,9,0,0,178,6,0,0,0,2,0,0,118,6,0,0,62,2,0,0,2,4,0,0,120,1,0,0,196,0,0,0,226,2,0,0,88,3,0,0,36,7,0,0,88,2,0,0,72,0,0,0,86,0,0,0,64,4,0,0,92,4,0,0,32,5,0,0,100,1,0,0,94,6,0,0,84,9,0,0,18,7,0,0,154,6,0,0,190,1,0,0,188,1,0,0,108,0,0,0,152,4,0,0,176,4,0,0,64,3,0,0,142,0,0,0,36,2,0,0,180,9,0,0,40,8,0,0,202,0,0,0,236,2,0,0,38,1,0,0,72,4,0,0,46,0,0,0,50,0,0,0,96,4,0,0,212,0,0,0,184,0,0,0,4,2,0,0,76,9,0,0,144,5,0,0,170,6,0,0,94,0,0,0,72,2,0,0,62,0,0,0,160,10,0,0,50,0,0,0,54,0,0,0,182,1,0,0,188,4,0,0,130,2,0,0,70,8,0,0,92,1,0,0,64,0,0,0,50,0,0,0,246,9,0,0,152,1,0,0,134,1,0,0,124,5,0,0,72,0,0,0,90,2,0,0,64,0,0,0,246,2,0,0,46,8,0,0,110,0,0,0,102,0,0,0,114,4,0,0,30,1,0,0,120,0,0,0,60,9,0,0,74,0,0,0,202,3,0,0,160,5,0,0,48,2,0,0,118,8,0,0,182,6,0,0,216,0,0,0,104,10,0,0,252,4,0,0,50,2,0,0,190,2,0,0,224,5,0,0,160,7,0,0,176,5,0,0,22,4,0,0,92,0,0,0,24,2,0,0,52,0,0,0,138,6,0,0,40,2,0,0,6,1,0,0,214,7,0,0,76,1,0,0,48,0,0,0,88,1,0,0,212,2,0,0,210,5,0,0,74,0,0,0,54,2,0,0,254,1,0,0,126,0,0,0,56,9,0,0,150,1,0,0,198,1,0,0,114,3,0,0,0,1,0,0,116,8,0,0,150,10,0,0,70,10,0,0,46,2,0,0,234,1,0,0,66,4,0,0,182,8,0,0,254,5,0,0,194,1,0,0,164,3,0,0,140,5,0,0,6,1,0,0,206,2,0,0,186,1,0,0,68,0,0,0,146,3,0,0,190,4,0,0,156,7,0,0,212,6,0,0,18,1,0,0,78,0,0,0,0,4,0,0,84,8,0,0,174,1,0,0,176,10,0,0,178,0,0,0,18,3,0,0,20,1,0,0,200,3,0,0,102,0,0,0,150,1,0,0,78,0,0,0,56,2,0,0,212,7,0,0,22,2,0,0,92,0,0,0,112,2,0,0,178,9,0,0,194,8,0,0,184,5,0,0,208,4,0,0,130,2,0,0,152,3,0,0,12,4,0,0,86,0,0,0,244,4,0,0,34,6,0,0,230,5,0,0,190,9,0,0,222,0,0,0,142,2,0,0,46,0,0,0,90,1,0,0,68,0,0,0,244,9,0,0,68,0,0,0,246,4,0,0,116,7,0,0,202,10,0,0,220,3,0,0,88,5,0,0,66,6,0,0,222,1,0,0,176,0,0,0,24,6,0,0,218,0,0,0,154,8,0,0,184,4,0,0,136,3,0,0,186,1,0,0,170,2,0,0,44,0,0,0,140,1,0,0,42,0,0,0,124,2,0,0,188,0,0,0,106,0,0,0,70,0,0,0,166,5,0,0,212,4,0,0,6,2,0,0,74,2,0,0,72,0,0,0,184,2,0,0,48,0,0,0,130,7,0,0,78,6,0,0,96,2,0,0,72,9,0,0,248,2,0,0,48,0,0,0,60,0,0,0,74,0,0,0,166,2,0,0,134,2,0,0,4,1,0,0,222,4,0,0,46,0,0,0,164,1,0,0,122,3,0,0,78,0,0,0,108,1,0,0,246,1,0,0,182,9,0,0,134,0,0,0,244,5,0,0,118,6,0,0,190,3,0,0,146,2,0,0,224,7,0,0,156,6,0,0,76,1,0,0,82,4,0,0,76,0,0,0,144,3,0,0,156,1,0,0,194,0,0,0,208,1,0,0,66,1,0,0,144,5,0,0,138,5,0,0,160,1,0,0,8,2,0,0,220,1,0,0,216,0,0,0,194,1,0,0,56,0,0,0,216,5,0,0,48,0,0,0,44,0,0,0,242,5,0,0,184,2,0,0,48,0,0,0,176,3,0,0,130,8,0,0,200,0,0,0,66,0,0,0,74,0,0,0,194,0,0,0,6,3,0,0,122,4,0,0,214,8,0,0,82,0,0,0,52,0,0,0,198,6,0,0,194,0,0,0,180,5,0,0,204,6,0,0,164,1,0,0,196,2,0,0,196,1,0,0,72,6,0,0,124,3,0,0,92,6,0,0,236,4,0,0,60,0,0,0,48,0,0,0,52,0,0,0,88,10,0,0,54,0,0,0,244,8,0,0,46,0,0,0,134,7,0,0,220,8,0,0,10,2,0,0,134,3,0,0,248,8,0,0,180,2,0,0,156,3,0,0,168,2,0,0,208,3,0,0,62,2,0,0,248,1,0,0,20,1,0,0,18,3,0,0,242,6,0,0,198,1,0,0,134,1,0,0,48,0,0,0,56,0,0,0,200,5,0,0,70,1,0,0,214,2,0,0,182,4,0,0,88,0,0,0,14,8,0,0,136,0,0,0,50,0,0,0,130,3,0,0,94,3,0,0,160,6,0,0,0,1,0,0,52,2,0,0,146,0,0,0,114,1,0,0,110,0,0,0,34,8,0,0,52,0,0,0,46,0,0,0,238,9,0,0,62,5,0,0,132,1,0,0,114,0,0,0,44,0,0,0,146,1,0,0,106,4,0,0,42,0,0,0,186,10,0,0,92,1,0,0,56,1,0,0,216,2,0,0,118,1,0,0,190,0,0,0,150,1,0,0,154,0,0,0,150,0,0,0,212,3,0,0,22,2,0,0,214,0,0,0,4,2,0,0,226,2,0,0,118,0,0,0,68,0,0,0,136,4,0,0,222,3,0,0,84,2,0,0,54,0,0,0,72,0,0,0,248,9,0,0,204,0,0,0,176,0,0,0,78,3,0,0,4,2,0,0,92,0,0,0,154,0,0,0,206,1,0,0,120,8,0,0,8,1,0,0,20,5,0,0,124,2,0,0,56,2,0,0,242,1,0,0,222,6,0,0,142,0,0,0,216,2,0,0,76,6,0,0,166,0,0,0,106,1,0,0,214,0,0,0,152,8,0,0,90,0,0,0,168,8,0,0,110,7,0,0,158,9,0,0,224,3,0,0,34,1,0,0,198,1,0,0,84,0,0,0,62,0,0,0,44,1,0,0,212,0,0,0,180,6,0,0,68,0,0,0,138,7,0,0,142,2,0,0,2,7,0,0,188,1,0,0,126,0,0,0,32,1,0,0,188,0,0,0,202,9,0,0,42,1,0,0,30,9,0,0,2,2,0,0,24,1,0,0,84,0,0,0,96,0,0,0,84,6,0,0,6,2,0,0,254,6,0,0,62,0,0,0,100,6,0,0,80,6,0,0,56,0,0,0,98,8,0,0,128,5,0,0,176,1,0,0,92,1,0,0,252,0,0,0,68,1,0,0,236,0,0,0,242,0,0,0,20,6,0,0,96,1,0,0,250,0,0,0,116,1,0,0,194,9,0,0,44,0,0,0,220,1,0,0,168,0,0,0,42,0,0,0,88,2,0,0,122,9,0,0,6,7,0,0,48,0,0,0,28,4,0,0,96,9,0,0,42,0,0,0,168,0,0,0,100,3,0,0,98,0,0,0,232,5,0,0,200,0,0,0,242,0,0,0,62,8,0,0,50,0,0,0,152,0,0,0,166,10,0,0,32,5,0,0,190,2,0,0,60,1,0,0,60,5,0,0,196,5,0,0,248,1,0,0,150,7,0,0,136,1,0,0,24,1,0,0,182,6,0,0,46,2,0,0,172,0,0,0,134,0,0,0,60,0,0,0,34,2,0,0,60,10,0,0,42,0,0,0,74,9,0,0,190,8,0,0,94,1,0,0,210,0,0,0,212,0,0,0,80,3,0,0,122,5,0,0,142,8,0,0,196,2,0,0,10,4,0,0,82,2,0,0,104,8,0,0,104,0,0,0,252,1,0,0,16,1,0,0,32,1,0,0,72,0,0,0,156,5,0,0,92,8,0,0,182,1,0,0,166,6,0,0,192,1,0,0,114,0,0,0,118,0,0,0,164,2,0,0,64,0,0,0,142,1,0,0,60,1,0,0,82,1,0,0,62,0,0,0,128,10,0,0,80,0,0,0,68,7,0,0,122,0,0,0,10,5,0,0,198,0,0,0,42,0,0,0,132,0,0,0,62,0,0,0,44,0,0,0,52,0,0,0,54,0,0,0,46,0,0,0,42,0,0,0,42,0,0,0,62,0,0,0,66,1,0,0,90,0,0,0,80,1,0,0,60,1,0,0,64,1,0,0,210,2,0,0,96,0,0,0,66,3,0,0,202,1,0,0,18,3,0,0,4,1,0,0,244,2,0,0,132,2,0,0,92,0,0,0,110,0,0,0,236,2,0,0,14,1,0,0,196,6,0,0,80,9,0,0,178,0,0,0,82,6,0,0,198,0,0,0,88,0,0,0,94,2,0,0,54,0,0,0,140,10,0,0,248,2,0,0,78,0,0,0,240,5,0,0,228,1,0,0,214,0,0,0,162,0,0,0,172,1,0,0,56,2,0,0,190,0,0,0,88,0,0,0,74,5,0,0,164,1,0,0,48,0,0,0,248,1,0,0,192,7,0,0,28,1,0,0,88,1,0,0,110,1,0,0,36,9,0,0,182,2,0,0,0,2,0,0,24,1,0,0,230,1,0,0,34,1,0,0,196,9,0,0,144,0,0,0,166,0,0,0,0,3,0,0,30,1,0,0,78,0,0,0,66,9,0,0,64,2,0,0,196,1,0,0,118,0,0,0,0,3,0,0,206,6,0,0,110,1,0,0,76,0,0,0,224,2,0,0,146,0,0,0,44,0,0,0,44,1,0,0,150,0,0,0,8,1,0,0,168,6,0,0,124,7,0,0,116,10,0,0,252,3,0,0,42,2,0,0,228,7,0,0,58,5,0,0,228,4,0,0,180,0,0,0,88,1,0,0,226,1,0,0,18,2,0,0,54,1,0,0,198,8,0,0,250,3,0,0,138,1,0,0,24,5,0,0,32,2,0,0,106,1,0,0,22,1,0,0,36,5,0,0,164,1,0,0,58,1,0,0,70,0,0,0,52,0,0,0,250,3,0,0,166,6,0,0,42,1,0,0,138,8,0,0,92,10,0,0,198,2,0,0,130,6,0,0,66,0,0,0,176,9,0,0,46,3,0,0,140,2,0,0,70,4,0,0,32,1,0,0,254,4,0,0,152,1,0,0,96,3,0,0,6,4,0,0,134,2,0,0,46,0,0,0,154,4,0,0,146,0,0,0,126,0,0,0,206,10,0,0,198,1,0,0,196,1,0,0,0,2,0,0,158,10,0,0,204,0,0,0,10,8,0,0,138,0,0,0,96,8,0,0,148,6,0,0,102,7,0,0,132,0,0,0,158,2,0,0,192,0,0,0,28,9,0,0,98,1,0,0,224,2,0,0,10,10,0,0,198,4,0,0,54,8,0,0,144,2,0,0,48,2,0,0,56,0,0,0,140,2,0,0,226,3,0,0,66,5,0,0,116,2,0,0,30,3,0,0,152,1,0,0,206,6,0,0,84,1,0,0,58,0,0,0,70,0,0,0,178,1,0,0,86,4,0,0,26,2,0,0,228,3,0,0,24,3,0,0,58,3,0,0,154,4,0,0,204,2,0,0,6,4,0,0,70,1,0,0,34,2,0,0,44,0,0,0,72,0,0,0,14,1,0,0,234,2,0,0,130,2,0,0,150,1,0,0,74,2,0,0,236,1,0,0,14,3,0,0,150,1,0,0,80,6,0,0,4,10,0,0,16,10,0,0,186,3,0,0,212,1,0,0,42,0,0,0,204,2,0,0,224,1,0,0,8,2,0,0,20,7,0,0,232,9,0,0,210,10,0,0,42,0,0,0,74,1,0,0,68,0,0,0,162,1,0,0,70,1,0,0,2,1,0,0,62,0,0,0,60,0,0,0,54,0,0,0,40,4,0,0,86,0,0,0,176,1,0,0,60,0,0,0,10,1,0,0,172,0,0,0,84,0,0,0,52,0,0,0,98,1,0,0,44,0,0,0,108,2,0,0,194,1,0,0,86,2,0,0,190,0,0,0,12,1,0,0,8,2,0,0,144,1,0,0,178,1,0,0,12,1,0,0,190,4,0,0,42,0,0,0,68,0,0,0,66,0,0,0,186,8,0,0,140,1,0,0,172,5,0,0,152,0,0,0,48,0,0,0,172,7,0,0,16,5,0,0,248,4,0,0,88,2,0,0,46,1,0,0,38,6,0,0,164,8,0,0,74,4,0,0,54,0,0,0,76,2,0,0,4,3,0,0,60,2,0,0,118,1,0,0,190,1,0,0,50,0,0,0,30,1,0,0,182,10,0,0,192,2,0,0,72,3,0,0,228,0,0,0,76,0,0,0,244,0,0,0,148,3,0,0,42,0,0,0,224,1,0,0,234,9,0,0,68,3,0,0,168,2,0,0,70,2,0,0,8,4,0,0,114,0,0,0,228,2,0,0,76,1,0,0,246,1,0,0,42,0,0,0,106,7,0,0,150,3,0,0,192,1,0,0,236,3,0,0,238,0,0,0,110,0,0,0,170,3,0,0,152,1,0,0,88,0,0,0,124,0,0,0,216,9,0,0,130,0,0,0,48,3,0,0,136,0,0,0,192,0,0,0,132,1,0,0,128,0,0,0,224,1,0,0,2,2,0,0,6,1,0,0,228,2,0,0,112,0,0,0,190,6,0,0,18,4,0,0,118,0,0,0,84,0,0,0,90,5,0,0,246,2,0,0,124,4,0,0,80,1,0,0,34,3,0,0,188,1,0,0,100,5,0,0,188,0,0,0,114,1,0,0,54,0,0,0,68,0,0,0,186,1,0,0,100,0,0,0,156,1,0,0,0,0,0,0,10,215,163,60,0,0,0,0,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0,67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0,0,0,0,0,82,111,111,116,0,0,0,0,46,46,47,46,46,47,115,114,99,47,66,117,108,108,101,116,67,111,108,108,105,115,105,111,110,47,78,97,114,114,111,119,80,104,97,115,101,67,111,108,108,105,115,105,111,110,47,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,116,97,99,116,67,108,105,112,112,105,110,103,46,99,112,112,0,0,99,111,110,118,101,120,83,119,101,101,112,67,111,109,112,111,117,110,100,0,0,0,0,0,85,110,105,102,111,114,109,83,99,97,108,105,110,103,83,104,97,112,101,0,0,0,0,0,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,0,105,110,116,101,103,114,97,116,101,84,114,97,110,115,102,111,114,109,115,0,0,0,0,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,0,100,105,115,112,97,116,99,104,65,108,108,67,111,108,108,105,115,105,111,110,80,97,105,114,115,0,0,0,0,0,0,0,105,115,108,97,110,100,85,110,105,111,110,70,105,110,100,65,110,100,81,117,105,99,107,83,111,114,116,0,0,0,0,0,98,116,83,99,97,108,101,100,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,0,0,99,97,108,99,117,108,97,116,101,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,115,0,0,0,0,0,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,0,0,0,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,99,97,108,99,117,108,97,116,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,0,0,0,0,0,0,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,0,0,0,0,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,0,72,69,73,71,72,84,70,73,69,76,68,0,0,0,0,0,69,109,112,116,121,0,0,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,0,112,101,114,102,111,114,109,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,105,111,110,0,0,0,0,0,0,0,67,121,108,105,110,100,101,114,90,0,0,0,0,0,0,0,117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0,0,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,0,0,0,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,0,0,0,0,0,0,0,67,121,108,105,110,100,101,114,89,0,0,0,0,0,0,0,117,112,100,97,116,101,65,97,98,98,115,0,0,0,0,0,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,79,118,101,114,102,108,111,119,32,105,110,32,65,65,66,66,44,32,111,98,106,101,99,116,32,114,101,109,111,118,101,100,32,102,114,111,109,32,115,105,109,117,108,97,116,105,111,110,0,0,0,0,0,0,0,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,0,0,0,117,112,100,97,116,101,65,99,116,105,111,110,115,0,0,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,67,97,112,115,117,108,101,88,0,0,0,0,0,0,0,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,0,0,0,0,0,0,84,104,97,110,107,115,46,10,0,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,105,110,116,101,114,110,97,108,83,105,110,103,108,101,83,116,101,112,83,105,109,117,108,97,116,105,111,110,0,0,0,0,100,49,62,61,48,46,48,102,0,0,0,0,0,0,0,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,83,101,116,117,112,0,0,0,0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,0,100,101,98,117,103,68,114,97,119,87,111,114,108,100,0,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,0,0,0,77,117,108,116,105,83,112,104,101,114,101,0,0,0,0,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,0,0,0,0,67,111,110,118,101,120,0,0,67,111,109,112,111,117,110,100,0,0,0,0,0,0,0,0,80,108,101,97,115,101,32,105,110,99,108,117,100,101,32,97,98,111,118,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,121,111,117,114,32,80,108,97,116,102,111,114,109,44,32,118,101,114,115,105,111,110,32,111,102,32,79,83,46,10,0,0,0,0,0,0,0,0,116,111,105,32,61,32,37,102,10,0,0,0,0,0,0,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,0,0,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,0,0,0,0,0,115,111,108,118,101,71,114,111,117,112,0,0,0,0,0,0,115,116,101,112,83,105,109,117,108,97,116,105,111,110,0,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,0,0,100,48,62,61,48,46,48,102,0,0,0,0,0,0,0,0,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0,0,0,0,0,0,0,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,0,0,0,0,0,83,84,65,84,73,67,80,76,65,78,69,0,0,0,0,0,83,80,72,69,82,69,0,0,112,114,111,99,101,115,115,73,115,108,97,110,100,115,0,0,83,67,65,76,69,68,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,84,114,105,97,110,103,108,101,0,0,0,0,0,0,0,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,0,67,121,108,105,110,100,101,114,88,0,0,0,0,0,0,0,67,111,110,118,101,120,84,114,105,109,101,115,104,0,0,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,0,0,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,0,0,67,111,110,101,0,0,0,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,0,0,0,0,73,102,32,121,111,117,32,99,97,110,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,44,32,112,108,101,97,115,101,32,101,109,97,105,108,32,98,117,103,115,64,99,111,110,116,105,110,117,111,117,115,112,104,121,115,105,99,115,46,99,111,109,10,0,0,0,0,0,67,97,112,115,117,108,101,90,0,0,0,0,0,0,0,0,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,66,111,120,0,0,0,0,0,115,121,110,99,104,114,111,110,105,122,101,77,111,116,105,111,110,83,116,97,116,101,115,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,73,116,101,114,97,116,105,111,110,115,0,0,0,0,0,0,0,112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,0,0,0,0,0,0,0,115,101,97,114,99,104,32,115,112,101,99,117,108,97,116,105,118,101,32,99,111,110,116,97,99,116,115,0,0,0,0,0,97,100,100,83,112,101,99,117,108,97,116,105,118,101,67,111,110,116,97,99,116,115,0,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,0,0,0,0,98,111,111,108,32,84,101,115,116,83,101,112,65,120,105,115,40,99,111,110,115,116,32,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,32,38,44,32,99,111,110,115,116,32,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,32,38,44,32,99,111,110,115,116,32,98,116,84,114,97,110,115,102,111,114,109,32,38,44,32,99,111,110,115,116,32,98,116,84,114,97,110,115,102,111,114,109,32,38,44,32,99,111,110,115,116,32,98,116,86,101,99,116,111,114,51,32,38,44,32,102,108,111,97,116,32,38,41,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,208,132,0,0,120,0,0,0,2,4,0,0,72,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,132,0,0,196,1,0,0,228,3,0,0,184,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,132,0,0,112,0,0,0,186,3,0,0,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,0,0,144,3,0,0,210,0,0,0,118,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,133,0,0,194,1,0,0,196,2,0,0,176,0,0,0,54,0,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,133,0,0,192,3,0,0,34,3,0,0,62,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,133,0,0,86,2,0,0,228,1,0,0,204,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,133,0,0,30,4,0,0,14,4,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,133,0,0,120,1,0,0,212,3,0,0,112,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,133,0,0,132,1,0,0,94,2,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,133,0,0,4,4,0,0,220,0,0,0,120,1,0,0,102,1,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,133,0,0,180,0,0,0,34,1,0,0,78,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,133,0,0,182,2,0,0,228,0,0,0,122,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,133,0,0,18,2,0,0,54,0,0,0,166,1,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,133,0,0,88,3,0,0,58,0,0,0,166,1,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,133,0,0,182,0,0,0,200,3,0,0,230,1,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,133,0,0,88,1,0,0,138,0,0,0,238,0,0,0,26,3,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,133,0,0,116,2,0,0,140,2,0,0,122,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,133,0,0,134,2,0,0,156,0,0,0,122,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,0,0,236,2,0,0,160,0,0,0,86,1,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,134,0,0,104,0,0,0,66,0,0,0,220,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,134,0,0,206,2,0,0,126,1,0,0,186,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,134,0,0,164,2,0,0,148,2,0,0,66,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,134,0,0,18,4,0,0,186,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,134,0,0,32,2,0,0,6,1,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,134,0,0,172,0,0,0,166,1,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,134,0,0,76,2,0,0,254,2,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,134,0,0,0,4,0,0,70,1,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,134,0,0,176,2,0,0,102,3,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,134,0,0,108,1,0,0,4,3,0,0,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,134,0,0,224,3,0,0,42,3,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,134,0,0,248,0,0,0,174,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,134,0,0,22,2,0,0,206,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,135,0,0,60,0,0,0,32,3,0,0,180,1,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,135,0,0,4,2,0,0,202,2,0,0,148,1,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,135,0,0,190,2,0,0,70,3,0,0,148,1,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,135,0,0,172,1,0,0,0,4,0,0,182,1,0,0,96,0,0,0,94,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,135,0,0,0,2,0,0,144,0,0,0,82,0,0,0,232,1,0,0,174,0,0,0,70,0,0,0,112,0,0,0,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,135,0,0,238,1,0,0,190,0,0,0,204,0,0,0,46,0,0,0,250,1,0,0,158,2,0,0,52,0,0,0,42,0,0,0,44,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,0,0,136,0,0,0,2,1,0,0,90,0,0,0,66,0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,135,0,0,232,2,0,0,248,3,0,0,52,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,0,0,64,0,0,0,116,3,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,135,0,0,106,3,0,0,238,3,0,0,118,0,0,0,50,0,0,0,146,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,0,0,188,3,0,0,72,0,0,0,56,0,0,0,62,0,0,0,132,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,136,0,0,112,2,0,0,44,1,0,0,174,10,0,0,144,3,0,0,86,9,0,0,4,1,0,0,234,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,136,0,0,28,4,0,0,146,3,0,0,128,0,0,0,44,0,0,0,192,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,136,0,0,208,0,0,0,118,1,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,136,0,0,74,3,0,0,126,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,136,0,0,196,0,0,0,166,3,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,3,0,0,56,0,0,0,62,0,0,0,98,0,0,0,6,10,0,0,242,0,0,0,132,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,0,0,154,2,0,0,84,1,0,0,240,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,136,0,0,52,2,0,0,68,3,0,0,20,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,70,6,0,0,250,7,0,0,106,0,0,0,112,8,0,0,92,1,0,0,72,2,0,0,56,8,0,0,210,0,0,0,154,1,0,0,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,136,0,0,124,2,0,0,212,0,0,0,124,0,0,0,94,0,0,0,84,1,0,0,162,5,0,0,32,6,0,0,98,7,0,0,246,0,0,0,86,7,0,0,118,1,0,0,248,2,0,0,208,0,0,0,234,0,0,0,96,7,0,0,112,5,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,136,0,0,92,2,0,0,242,3,0,0,130,0,0,0,60,0,0,0,108,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,136,0,0,96,2,0,0,212,2,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,136,0,0,16,4,0,0,58,2,0,0,106,0,0,0,48,0,0,0,58,0,0,0,92,4,0,0,28,6,0,0,26,6,0,0,204,3,0,0,194,4,0,0,202,8,0,0,98,0,0,0,24,1,0,0,142,9,0,0,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,136,0,0,14,3,0,0,170,3,0,0,80,0,0,0,56,0,0,0,154,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,137,0,0]).concat([184,2,0,0,234,3,0,0,148,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,137,0,0,226,0,0,0,2,2,0,0,114,1,0,0,190,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,137,0,0,198,3,0,0,26,1,0,0,152,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,6,0,0,110,9,0,0,82,0,0,0,210,6,0,0,92,1,0,0,72,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,78,2,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,137,0,0,216,1,0,0,142,3,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,137,0,0,172,1,0,0,244,1,0,0,202,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,52,4,0,0,140,9,0,0,94,0,0,0,30,8,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,46,0,0,0,110,1,0,0,58,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,4,4,0,0,228,1,0,0,228,1,0,0,124,0,0,0,214,5,0,0,70,1,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,137,0,0,142,0,0,0,210,3,0,0,168,1,0,0,44,5,0,0,186,3,0,0,246,1,0,0,42,2,0,0,168,1,0,0,180,1,0,0,236,0,0,0,112,3,0,0,242,3,0,0,52,0,0,0,190,1,0,0,54,3,0,0,90,3,0,0,140,3,0,0,4,4,0,0,130,6,0,0,134,0,0,0,198,0,0,0,66,2,0,0,190,1,0,0,228,5,0,0,214,2,0,0,162,9,0,0,212,1,0,0,222,1,0,0,16,6,0,0,90,1,0,0,164,4,0,0,88,0,0,0,58,2,0,0,116,2,0,0,48,2,0,0,90,0,0,0,228,1,0,0,94,0,0,0,12,2,0,0,114,1,0,0,46,2,0,0,62,2,0,0,238,5,0,0,62,1,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,137,0,0,250,2,0,0,84,2,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,137,0,0,114,3,0,0,186,2,0,0,36,1,0,0,186,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,137,0,0,46,1,0,0,12,2,0,0,106,1,0,0,220,3,0,0,58,9,0,0,244,0,0,0,232,3,0,0,14,1,0,0,76,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,137,0,0,224,2,0,0,252,3,0,0,136,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,137,0,0,124,0,0,0,80,3,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,137,0,0,54,3,0,0,202,3,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,224,1,0,0,76,7,0,0,94,0,0,0,42,0,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,112,0,0,0,44,1,0,0,188,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,137,0,0,122,2,0,0,144,2,0,0,44,3,0,0,68,0,0,0,254,3,0,0,98,6,0,0,56,0,0,0,66,0,0,0,66,0,0,0,240,3,0,0,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,0,0,184,3,0,0,8,2,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,4,0,0,56,0,0,0,62,0,0,0,98,0,0,0,102,10,0,0,252,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,138,0,0,246,3,0,0,118,2,0,0,168,1,0,0,44,5,0,0,186,3,0,0,246,1,0,0,42,2,0,0,168,1,0,0,180,1,0,0,236,0,0,0,112,3,0,0,242,3,0,0,52,0,0,0,190,1,0,0,54,3,0,0,90,3,0,0,140,3,0,0,4,4,0,0,130,6,0,0,134,0,0,0,198,0,0,0,66,2,0,0,190,1,0,0,228,5,0,0,214,2,0,0,162,9,0,0,212,1,0,0,222,1,0,0,138,4,0,0,90,1,0,0,164,4,0,0,88,0,0,0,58,2,0,0,116,2,0,0,48,2,0,0,90,0,0,0,228,1,0,0,94,0,0,0,12,2,0,0,10,1,0,0,46,2,0,0,62,2,0,0,238,5,0,0,62,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,138,0,0,240,3,0,0,78,2,0,0,100,0,0,0,52,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,138,0,0,42,2,0,0,196,3,0,0,168,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,138,0,0,20,3,0,0,184,0,0,0,36,1,0,0,186,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,138,0,0,102,0,0,0,96,3,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,138,0,0,214,3,0,0,98,2,0,0,238,0,0,0,158,5,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,138,0,0,162,3,0,0,72,1,0,0,182,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,72,1,0,0,166,4,0,0,120,0,0,0,98,10,0,0,92,1,0,0,72,2,0,0,84,3,0,0,148,0,0,0,154,1,0,0,210,1,0,0,66,0,0,0,200,0,0,0,58,1,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,138,0,0,180,3,0,0,148,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,138,0,0,36,3,0,0,204,1,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,4,0,0,56,0,0,0,62,0,0,0,98,0,0,0,102,10,0,0,252,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,138,0,0,24,4,0,0,92,3,0,0,198,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,22,5,0,0,106,6,0,0,102,0,0,0,132,4,0,0,110,0,0,0,214,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,126,1,0,0,56,1,0,0,122,1,0,0,16,2,0,0,66,1,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,138,0,0,130,3,0,0,190,3,0,0,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,138,0,0,182,3,0,0,110,0,0,0,80,2,0,0,44,5,0,0,186,3,0,0,222,2,0,0,42,2,0,0,168,1,0,0,194,1,0,0,66,2,0,0,112,3,0,0,160,3,0,0,48,0,0,0,232,0,0,0,90,6,0,0,28,5,0,0,30,6,0,0,2,6,0,0,192,2,0,0,218,3,0,0,212,5,0,0,14,2,0,0,206,2,0,0,18,4,0,0,20,4,0,0,94,2,0,0,112,1,0,0,120,0,0,0,226,1,0,0,182,1,0,0,248,4,0,0,130,5,0,0,86,6,0,0,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,139,0,0,158,0,0,0,110,3,0,0,38,3,0,0,68,0,0,0,88,6,0,0,66,4,0,0,66,0,0,0,60,0,0,0,62,0,0,0,12,7,0,0,74,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,139,0,0,222,3,0,0,30,3,0,0,48,0,0,0,220,0,0,0,254,0,0,0,220,4,0,0,62,0,0,0,250,0,0,0,34,2,0,0,192,10,0,0,184,1,0,0,144,9,0,0,164,3,0,0,210,7,0,0,40,1,0,0,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,139,0,0,16,3,0,0,252,1,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,139,0,0,172,2,0,0,6,2,0,0,210,5,0,0,96,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,139,0,0,146,0,0,0,100,3,0,0,42,0,0,0,42,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,139,0,0,242,0,0,0,250,1,0,0,46,0,0,0,74,0,0,0,88,0,0,0,86,2,0,0,64,0,0,0,234,0,0,0,64,1,0,0,120,7,0,0,180,8,0,0,22,1,0,0,208,4,0,0,230,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,139,0,0,26,2,0,0,236,1,0,0,54,0,0,0,52,1,0,0,72,0,0,0,230,0,0,0,54,0,0,0,192,1,0,0,150,3,0,0,130,2,0,0,248,6,0,0,172,1,0,0,112,3,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,139,0,0,98,3,0,0,180,1,0,0,238,0,0,0,254,4,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,139,0,0,70,2,0,0,22,1,0,0,182,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,88,5,0,0,166,4,0,0,120,0,0,0,0,6,0,0,92,1,0,0,72,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,190,1,0,0,66,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,139,0,0,100,1,0,0,142,2,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,139,0,0,176,0,0,0,140,3,0,0,78,0,0,0,74,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,139,0,0,156,3,0,0,100,2,0,0,238,0,0,0,188,0,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,139,0,0,218,1,0,0,102,1,0,0,156,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,44,3,0,0,44,6,0,0,112,0,0,0,114,9,0,0,92,1,0,0,72,2,0,0,248,7,0,0,224,0,0,0,154,1,0,0,78,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,139,0,0,132,2,0,0,178,1,0,0,152,2,0,0,68,0,0,0,146,1,0,0,238,3,0,0,56,0,0,0,42,0,0,0,58,0,0,0,250,2,0,0,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,139,0,0,136,2,0,0,12,4,0,0,56,0,0,0,218,0,0,0,64,0,0,0,252,1,0,0,90,0,0,0,94,1,0,0,174,4,0,0,88,7,0,0,218,6,0,0,20,1,0,0,44,0,0,0,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,140,0,0,66,1,0,0,254,1,0,0,126,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,158,6,0,0,76,7,0,0,46,0,0,0,100,4,0,0,172,0,0,0,58,2,0,0,88,9,0,0,226,0,0,0,154,1,0,0,112,0,0,0,184,0,0,0,44,2,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,140,0,0,158,3,0,0,50,1,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,3,0,0,56,0,0,0,62,0,0,0,98,0,0,0,6,10,0,0,242,0,0,0,132,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,140,0,0,44,2,0,0,178,3,0,0,182,0,0,0,172,1,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,140,0,0,230,3,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,140,0,0,130,0,0,0,78,3,0,0,152,2,0,0,68,0,0,0,42,0,0,0,42,0,0,0,56,0,0,0,42,0,0,0,42,0,0,0,34,5,0,0,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,140,0,0,48,0,0,0,30,1,0,0,40,3,0,0,68,0,0,0,102,5,0,0,230,2,0,0,56,0,0,0,64,0,0,0,50,0,0,0,184,7,0,0,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,140,0,0,216,2,0,0,232,3,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,140,0,0,58,3,0,0,154,3,0,0,202,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,116,6,0,0,76,7,0,0,94,0,0,0,152,7,0,0,172,0,0,0,58,2,0,0,230,9,0,0,152,0,0,0,154,1,0,0,248,0,0,0,254,0,0,0,142,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,190,5,0,0,170,0,0,0,100,0,0,0,40,1,0,0,132,9,0,0,40,2,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,140,0,0,46,1,0,0,110,2,0,0,0,3,0,0,220,3,0,0,58,9,0,0,244,0,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,140,0,0,240,0,0,0,146,1,0,0,54,0,0,0,52,1,0,0,72,0,0,0,230,0,0,0,54,0,0,0,192,1,0,0,150,3,0,0,130,2,0,0,248,6,0,0,172,1,0,0,112,3,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,140,0,0,6,3,0,0,142,1,0,0,178,1,0,0,218,0,0,0,252,255,255,255,184,140,0,0,118,0,0,0,72,3,0,0,54,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,140,0,0,84,3,0,0,36,2,0,0,42,0,0,0,46,4,0,0,78,1,0,0,86,1,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,140,0,0,14,1,0,0,148,3,0,0,8,1,0,0,142,1,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,140,0,0,10,1,0,0,26,4,0,0,36,1,0,0,186,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,141,0,0,106,0,0,0,114,1,0,0,138,0,0,0,46,0,0,0,230,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,141,0,0,78,0,0,0,28,3,0,0,58,0,0,0,46,1,0,0,124,0,0,0,130,1,0,0,78,0,0,0,68,0,0,0,246,0,0,0,252,9,0,0,20,2,0,0,138,1,0,0,146,5,0,0,52,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,141,0,0,80,1,0,0,78,1,0,0,12,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,106,2,0,0,76,7,0,0,72,0,0,0,216,10,0,0,32,2,0,0,58,2,0,0,224,10,0,0,246,0,0,0,154,1,0,0,80,0,0,0,42,0,0,0,248,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,68,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,141,0,0,76,0,0,0,194,2,0,0,12,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,106,2,0,0,76,7,0,0,72,0,0,0,184,9,0,0,32,2,0,0,58,2,0,0,224,10,0,0,246,0,0,0,154,1,0,0,80,0,0,0,42,1,0,0,160,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,141,0,0,114,0,0,0,250,0,0,0,168,1,0,0,44,5,0,0,186,3,0,0,84,0,0,0,42,2,0,0,168,1,0,0,194,1,0,0,46,5,0,0,112,3,0,0,160,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,141,0,0,150,3,0,0,244,2,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,141,0,0,220,3,0,0,40,1,0,0,70,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,90,5,0,0,76,7,0,0,94,0,0,0,62,10,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,112,0,0,0,44,1,0,0,188,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,20,10,0,0,194,4,0,0,164,0,0,0,96,0,0,0,164,9,0,0,0,2,0,0,56,0,0,0,208,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,141,0,0,116,1,0,0,116,0,0,0,168,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,224,1,0,0,76,7,0,0,54,0,0,0,108,2,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,112,0,0,0,96,1,0,0,18,1,0,0,120,1,0,0,248,3,0,0,108,1,0,0,90,8,0,0,52,4,0,0,106,8,0,0,98,0,0,0,194,1,0,0,52,6,0,0,162,0,0,0,48,0,0,0,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,141,0,0,48,3,0,0,120,3,0,0,156,0,0,0,46,0,0,0,220,0,0,0,38,7,0,0,68,5,0,0,200,0,0,0,170,0,0,0,244,0,0,0,134,1,0,0,26,6,0,0,228,0,0,0,116,0,0,0,146,6,0,0,90,0,0,0,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,141,0,0,82,3,0,0,114,2,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,141,0,0,204,0,0,0,104,2,0,0,12,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,106,2,0,0,76,7,0,0,72,0,0,0,158,5,0,0,32,2,0,0,58,2,0,0,224,10,0,0,246,0,0,0,154,1,0,0,80,0,0,0,170,1,0,0,88,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,141,0,0,202,1,0,0,122,0,0,0,26,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,182,1,0,0,142,1,0,0,100,0,0,0,10,9,0,0,184,1,0,0,170,2,0,0,120,4,0,0,240,0,0,0,154,1,0,0,124,0,0,0,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,141,0,0,66,2,0,0,240,2,0,0,200,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,26,4,0,0,76,7,0,0,50,0,0,0,28,10,0,0,196,1,0,0,58,2,0,0,174,3,0,0,186,0,0,0,154,1,0,0,112,0,0,0,26,1,0,0,244,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,141,0,0,226,1,0,0,42,1,0,0,200,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,26,4,0,0,76,7,0,0,50,0,0,0,72,7,0,0,196,1,0,0,58,2,0,0,174,3,0,0,186,0,0,0,154,1,0,0,112,0,0,0,26,1,0,0,244,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,141,0,0,72,2,0,0,62,3,0,0,106,0,0,0,48,0,0,0,58,0,0,0,92,4,0,0,28,6,0,0,26,6,0,0,134,6,0,0,102,3,0,0,202,8,0,0,98,0,0,0,24,1,0,0,142,9,0,0,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,142,0,0,68,0,0,0,200,1,0,0,72,0,0,0,60,0,0,0,202,0,0,0,170,3,0,0,252,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,142,0,0,38,2,0,0,126,3,0,0,72,0,0,0,60,0,0,0,202,0,0,0,170,3,0,0,252,5,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,142,0,0,180,2,0,0,168,3,0,0,200,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,26,4,0,0,76,7,0,0,50,0,0,0,136,8,0,0,196,1,0,0,58,2,0,0,174,3,0,0,186,0,0,0,154,1,0,0,112,0,0,0,26,1,0,0,244,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,142,0,0,62,0,0,0,248,2,0,0,66,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,224,1,0,0,76,7,0,0,136,0,0,0,250,6,0,0,108,0,0,0,28,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,16,1,0,0,68,1,0,0,110,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,142,0,0,46,1,0,0,56,3,0,0,170,1,0,0,220,3,0,0,58,9,0,0,244,0,0,0,232,3,0,0,2,1,0,0,52,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,142,0,0,28,2,0,0,178,0,0,0,64,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,14,4,0,0,114,8,0,0,90,0,0,0,150,6,0,0,92,1,0,0,72,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,142,0,0,160,2,0,0,134,3,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,3,0,0,76,7,0,0,76,0,0,0,234,4,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,58,1,0,0,60,1,0,0,84,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,142,0,0,122,3,0,0,220,2,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,3,0,0,76,7,0,0,76,0,0,0,234,4,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,58,1,0,0,60,1,0,0,84,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,142,0,0,194,3,0,0,46,2,0,0,46,0,0,0,74,0,0,0,88,0,0,0,86,2,0,0,64,0,0,0,234,0,0,0,64,1,0,0,120,7,0,0,180,8,0,0,22,1,0,0,208,4,0,0,230,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,142,0,0,184,0,0,0,198,0,0,0,208,1,0,0,220,3,0,0,196,8,0,0,208,0,0,0,68,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,142,0,0,30,2,0,0,148,1,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,3,0,0,76,7,0,0,76,0,0,0,234,4,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,58,1,0,0,60,1,0,0,84,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,142,0,0,104,1,0,0,166,2,0,0,138,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,220,5,0,0,76,7,0,0,56,0,0,0,6,8,0,0,26,1,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,214,0,0,0,60,0,0,0,134,1,0,0,120,1,0,0,214,6,0,0,146,1,0,0,90,8,0,0,204,8,0,0,136,6,0,0,238,1,0,0,38,1,0,0,78,4,0,0,250,0,0,0,72,0,0,0,188,1,0,0,0,0,0,0,0,0,0,0,90,78,75,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,51,49,99,97,108,99,117,108,97,116,101,80,114,105,110,99,105,112,97,108,65,120,105,115,84,114,97,110,115,102,111,114,109,69,82,49,49,98,116,84,114,97,110,115,102,111,114,109,82,57,98,116,86,101,99,116,111,114,51,82,102,69,49,53,73,110,101,114,116,105,97,67,97,108,108,98,97,99,107,95,48,0,90,78,75,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,51,49,99,97,108,99,117,108,97,116,101,80,114,105,110,99,105,112,97,108,65,120,105,115,84,114,97,110,115,102,111,114,109,69,82,49,49,98,116,84,114,97,110,115,102,111,114,109,82,57,98,116,86,101,99,116,111,114,51,82,102,69,49,52,67,101,110,116,101,114,67,97,108,108,98,97,99,107,0,0,0,0,90,78,75,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,90,78,75,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,49,54,70,105,108,116,101,114,101,100,67,97,108,108,98,97,99,107,0,0,0,90,78,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,49,50,99,97,108,99,80,101,110,68,101,112,116,104,69,82,50,50,98,116,86,111,114,111,110,111,105,83,105,109,112,108,101,120,83,111,108,118,101,114,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,83,52,95,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,55,95,82,57,98,116,86,101,99,116,111,114,51,83,57,95,83,57,95,80,49,50,98,116,73,68,101,98,117,103,68,114,97,119,80,49,50,98,116,83,116,97,99,107,65,108,108,111,99,69,50,48,98,116,73,110,116,101,114,109,101,100,105,97,116,101,82,101,115,117,108,116,0,0,0,0,0,0,0,90,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,50,49,99,97,108,99,117,108,97,116,101,84,105,109,101,79,102,73,109,112,97,99,116,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,51,49,76,111,99,97,108,84,114,105,97,110,103,108,101,83,112,104,101,114,101,67,97,115,116,67,97,108,108,98,97,99,107,0,0,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,51,55,114,101,109,111,118,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,67,111,110,116,97,105,110,105,110,103,80,114,111,120,121,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,56,82,101,109,111,118,101,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,49,57,99,108,101,97,110,80,114,111,120,121,70,114,111,109,80,97,105,114,115,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,55,67,108,101,97,110,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,90,78,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,50,51,99,97,108,99,117,108,97,116,101,65,97,98,98,66,114,117,116,101,70,111,114,99,101,69,82,57,98,116,86,101,99,116,111,114,51,83,49,95,69,50,51,65,97,98,98,67,97,108,99,117,108,97,116,105,111,110,67,97,108,108,98,97,99,107,0,0,0,90,78,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,49,54,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,69,82,49,57,98,116,67,111,110,116,97,99,116,83,111,108,118,101,114,73,110,102,111,69,50,55,73,110,112,108,97,99,101,83,111,108,118,101,114,73,115,108,97,110,100,67,97,108,108,98,97,99,107,0,0,0,0,0,0,90,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,54,112,114,111,99,101,115,115,67,111,108,108,105,115,105,111,110,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,49,51,98,116,68,117,109,109,121,82,101,115,117,108,116,0,0,0,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,55,112,101,114,102,111,114,109,67,111,110,118,101,120,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,83,52,95,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,52,112,101,114,102,111,114,109,82,97,121,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,49,52,76,111,99,97,108,73,110,102,111,65,100,100,101,114,95,49,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,57,82,97,121,84,101,115,116,101,114,95,49,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,0,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,49,53,76,111,99,97,108,73,110,102,111,65,100,100,101,114,50,0,0,0,0,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,57,81,117,97,110,116,105,122,101,100,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,48,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,95,48,0,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,83,116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,0,0,0,0,0,78,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,54,82,101,115,117,108,116,69,0,78,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,78,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,0,78,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,78,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,78,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,49,52,73,115,108,97,110,100,67,97,108,108,98,97,99,107,69,0,0,0,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,55,67,108,111,115,101,115,116,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,67,108,111,115,101,115,116,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,65,108,108,72,105,116,115,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,50,98,116,67,111,110,118,101,120,67,97,115,116,49,48,67,97,115,116,82,101,115,117,108,116,69,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,0,0,51,53,98,116,83,101,113,117,101,110,116,105,97,108,73,109,112,117,108,115,101,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,0,0,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,51,52,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0,0,0,0,51,52,98,116,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,0,0,0,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,0,0,0,0,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,0,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116]).concat([104,109,0,0,0,0,0,0,51,50,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0,0,0,0,0,0,51,49,98,116,73,110,116,101,114,110,97,108,84,114,105,97,110,103,108,101,73,110,100,101,120,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,51,49,98,116,68,101,102,97,117,108,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,0,0,0,0,0,0,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,51,48,98,116,71,106,107,69,112,97,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,0,0,0,0,0,0,0,51,48,98,116,67,111,110,118,101,120,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,0,0,0,0,0,0,0,51,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,67,114,101,97,116,101,70,117,110,99,0,0,0,0,0,0,0,0,51,48,98,116,65,99,116,105,118,97,116,105,110,103,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,0,50,57,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,0,50,57,67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,50,56,98,116,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,0,50,56,98,116,83,99,97,108,101,100,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,0,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,50,55,98,116,67,111,110,116,105,110,117,111,117,115,67,111,110,118,101,120,67,111,108,108,105,115,105,111,110,0,0,0,50,54,98,116,84,114,105,97,110,103,108,101,73,110,100,101,120,86,101,114,116,101,120,65,114,114,97,121,0,0,0,0,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,50,54,76,111,99,97,108,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,0,0,0,50,53,98,116,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,0,0,0,0,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,0,0,0,0,0,50,53,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,0,0,50,53,98,116,72,101,105,103,104,116,102,105,101,108,100,84,101,114,114,97,105,110,83,104,97,112,101,0,0,0,0,0,50,53,98,116,68,101,102,97,117,108,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,0,0,0,0,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,0,0,50,53,98,116,67,111,110,116,105,110,117,111,117,115,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,50,52,98,116,83,99,97,108,101,100,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,0,0,50,52,98,116,80,101,114,116,117,114,98,101,100,67,111,110,116,97,99,116,82,101,115,117,108,116,0,0,0,0,0,0,50,52,98,116,80,97,105,114,67,97,99,104,105,110,103,71,104,111,115,116,79,98,106,101,99,116,0,0,0,0,0,0,50,52,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,0,0,50,52,98,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,0,0,0,0,0,50,52,98,116,66,114,111,97,100,112,104,97,115,101,65,97,98,98,67,97,108,108,98,97,99,107,0,0,0,0,0,0,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,0,0,0,0,0,0,0,50,51,98,116,83,105,110,103,108,101,67,111,110,116,97,99,116,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,50,51,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,83,104,97,112,101,0,0,0,0,0,0,0,50,51,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,0,0,50,51,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,0,0,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,0,0,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,50,51,98,116,67,111,108,108,105,115,105,111,110,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,50,51,98,116,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,50,51,98,116,66,114,105,100,103,101,100,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,0,0,0,0,0,0,50,50,98,116,83,117,98,115,105,109,112,108,101,120,67,111,110,118,101,120,67,97,115,116,0,0,0,0,0,0,0,0,50,50,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,0,0,0,0,0,0,0,50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,0,0,0,0,0,50,50,83,112,104,101,114,101,84,114,105,97,110,103,108,101,68,101,116,101,99,116,111,114,0,0,0,0,0,0,0,0,50,49,98,116,85,110,105,118,101,114,115,97,108,67,111,110,115,116,114,97,105,110,116,0,50,49,98,116,85,110,105,102,111,114,109,83,99,97,108,105,110,103,83,104,97,112,101,0,50,49,98,116,83,105,110,103,108,101,83,119,101,101,112,67,97,108,108,98,97,99,107,0,50,49,98,116,83,105,109,112,108,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0,50,49,98,116,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,50,49,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,0,50,49,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,0,50,49,98,116,67,111,108,108,105,115,105,111,110,68,105,115,112,97,116,99,104,101,114,0,50,49,98,116,66,114,111,97,100,112,104,97,115,101,73,110,116,101,114,102,97,99,101,0,50,49,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0,0,50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,116,69,0,0,0,0,0,0,0,50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,106,69,0,0,0,0,0,0,0,50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0,0,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,49,57,98,116,71,104,111,115,116,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0,0,0,49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,0,0,0,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0,0,0,0,49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0,0,0,0,49,56,98,116,83,105,109,112,108,101,66,114,111,97,100,112,104,97,115,101,0,0,0,0,49,56,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,0,0,0,0,49,56,98,116,72,105,110,103,101,50,67,111,110,115,116,114,97,105,110,116,0,0,0,0,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0,0,0,0,49,56,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,0,0,0,0,49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,0,0,0,49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,0,0,49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0,0,0,0,0,49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0,0,0,0,0,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0,0,0,0,0,49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0,0,0,0,0,49,55,98,116,51,50,66,105,116,65,120,105,115,83,119,101,101,112,51,0,0,0,0,0,49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0,0,0,0,0,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,0,0,0,0,0,49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,0,0,0,0,0,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,0,0,0,0,0,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0,0,0,0,0,0,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0,0,0,0,0,0,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,0,0,0,0,0,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0,0,0,0,0,0,49,54,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0,0,0,0,0,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0,0,0,0,0,0,0,49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0,0,0,0,0,0,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0,0,0,0,0,0,0,49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,0,0,49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0,0,0,0,0,0,0,49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0,0,0,0,0,0,0,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0,0,0,0,0,0,0,0,49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,0,0,0,0,0,0,0,49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0,49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0,49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0,49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0,49,50,98,116,69,109,112,116,121,83,104,97,112,101,0,0,49,50,98,116,68,105,115,112,97,116,99,104,101,114,0,0,49,50,98,116,67,111,110,118,101,120,67,97,115,116,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,90,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,88,0,0,49,50,98,116,65,120,105,115,83,119,101,101,112,51,0,0,49,49,98,116,82,105,103,105,100,66,111,100,121,0,0,0,49,49,98,116,67,111,110,101,83,104,97,112,101,0,0,0,49,48,98,116,66,111,120,83,104,97,112,101,0,0,0,0,0,0,0,0,216,102,0,0,32,136,0,0,0,0,0,0,0,0,0,0,72,103,0,0,32,136,0,0,0,0,0,0,0,0,0,0,184,103,0,0,240,138,0,0,0,0,0,0,0,0,0,0,40,104,0,0,32,136,0,0,0,0,0,0,0,0,0,0,144,104,0,0,88,134,0,0,0,0,0,0,0,0,0,0,80,105,0,0,208,139,0,0,0,0,0,0,0,0,0,0,240,105,0,0,96,140,0,0,0,0,0,0,0,0,0,0,120,106,0,0,96,140,0,0,0,0,0,0,0,0,0,0,232,106,0,0,32,136,0,0,0,0,0,0,0,0,0,0,72,107,0,0,224,134,0,0,0,0,0,0,0,0,0,0,176,107,0,0,88,134,0,0,0,0,0,0,0,0,0,0,48,108,0,0,240,138,0,0,0,0,0,0,0,0,0,0,168,108,0,0,240,138,0,0,0,0,0,0,0,0,0,0,16,109,0,0,152,136,0,0,0,0,0,0,0,0,0,0,200,109,0,0,152,136,0,0,0,0,0,0,0,0,0,0,128,110,0,0,64,135,0,0,0,0,0,0,0,0,0,0,40,111,0,0,80,134,0,0,0,0,0,0,0,0,0,0,176,111,0,0,24,137,0,0,0,0,0,0,0,0,0,0,80,112,0,0,24,137,0,0,0,0,0,0,0,0,0,0,240,112,0,0,72,135,0,0,0,0,0,0,0,0,0,0,128,113,0,0,32,136,0,0,0,0,0,0,0,0,0,0,232,113,0,0,32,136,0,0,0,0,0,0,0,0,0,0,72,114,0,0,0,0,0,0,88,114,0,0,0,0,0,0,104,114,0,0,56,134,0,0,0,0,0,0,0,0,0,0,120,114,0,0,0,0,0,0,144,114,0,0,0,0,0,0,192,114,0,0,96,136,0,0,0,0,0,0,0,0,0,0,248,114,0,0,96,136,0,0,0,0,0,0,0,0,0,0,56,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,112,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,168,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,216,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,16,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,64,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,112,116,0,0,0,0,0,0,160,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,200,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,240,116,0,0,64,135,0,0,0,0,0,0,0,0,0,0,40,117,0,0,72,135,0,0,0,0,0,0,0,0,0,0,88,117,0,0,72,135,0,0,0,0,0,0,0,0,0,0,136,117,0,0,0,0,0,0,184,117,0,0,0,0,0,0,232,117,0,0,0,0,0,0,16,118,0,0,0,0,0,0,48,118,0,0,120,135,0,0,0,0,0,0,0,0,0,0,88,118,0,0,120,135,0,0,0,0,0,0,0,0,0,0,128,118,0,0,136,135,0,0,0,0,0,0,0,0,0,0,168,118,0,0,48,134,0,0,0,0,0,0,0,0,0,0,208,118,0,0,0,0,0,0,248,118,0,0,64,140,0,0,0,0,0,0,0,0,0,0,32,119,0,0,104,136,0,0,0,0,0,0,0,0,0,0,72,119,0,0,224,137,0,0,0,0,0,0,0,0,0,0,112,119,0,0,8,135,0,0,0,0,0,0,0,0,0,0,152,119,0,0,88,136,0,0,0,0,0,0,0,0,0,0,192,119,0,0,104,136,0,0,0,0,0,0,0,0,0,0,232,119,0,0,104,136,0,0,0,0,0,0,0,0,0,0,16,120,0,0,248,138,0,0,0,0,0,0,0,0,0,0,56,120,0,0,0,0,0,0,96,120,0,0,184,137,0,0,0,0,0,0,0,0,0,0,136,120,0,0,80,139,0,0,0,0,0,0,0,0,0,0,176,120,0,0,88,136,0,0,0,0,0,0,0,0,0,0,216,120,0,0,0,0,0,0,0,121,0,0,0,0,0,0,40,121,0,0,80,139,0,0,0,0,0,0,0,0,0,0,80,121,0,0,0,138,0,0,0,0,0,0,0,0,0,0,112,121,0,0,56,135,0,0,0,0,0,0,0,0,0,0,144,121,0,0,208,139,0,0,0,0,0,0,0,0,0,0,176,121,0,0,32,142,0,0,0,0,0,0,0,0,0,0,208,121,0,0,112,138,0,0,0,0,0,0,0,0,0,0,240,121,0,0,104,136,0,0,0,0,0,0,0,0,0,0,16,122,0,0,152,142,0,0,0,0,0,0,0,0,0,0,48,122,0,0,200,137,0,0,0,0,0,0,0,0,0,0,80,122,0,0,104,136,0,0,0,0,0,0,0,0,0,0,112,122,0,0,32,136,0,0,0,0,0,0,0,0,0,0,144,122,0,0,208,139,0,0,0,0,0,0,0,0,0,0,176,122,0,0,0,0,0,0,208,122,0,0,0,0,0,0,240,122,0,0,32,142,0,0,0,0,0,0,0,0,0,0,16,123,0,0,200,139,0,0,0,0,0,0,0,0,0,0,48,123,0,0,192,135,0,0,0,0,0,0,0,0,0,0,80,123,0,0,16,138,0,0,0,0,0,0,0,0,0,0,112,123,0,0,208,139,0,0,0,0,0,0,0,0,0,0,144,123,0,0,248,140,0,0,0,0,0,0,0,0,0,0,176,123,0,0,96,142,0,0,0,0,0,0,0,0,0,0,208,123,0,0,208,139,0,0,0,0,0,0,0,0,0,0,240,123,0,0,0,0,0,0,16,124,0,0,0,0,0,0,48,124,0,0,0,0,0,0,80,124,0,0,192,137,0,0,0,0,0,0,0,0,0,0,112,124,0,0,248,138,0,0,0,0,0,0,0,0,0,0,144,124,0,0,72,140,0,0,0,0,0,0,0,0,0,0,176,124,0,0,72,140,0,0,0,0,0,0,0,0,0,0,208,124,0,0,168,141,0,0,0,0,0,0,0,0,0,0,240,124,0,0,104,136,0,0,0,0,0,0,0,0,0,0,16,125,0,0,96,140,0,0,0,0,0,0,0,0,0,0,48,125,0,0,192,137,0,0,0,0,0,0,0,0,0,0,80,125,0,0,248,140,0,0,0,0,0,0,0,0,0,0,112,125,0,0,152,142,0,0,0,0,0,0,0,0,0,0,144,125,0,0,48,137,0,0,0,0,0,0,0,0,0,0,176,125,0,0,80,134,0,0,0,0,0,0,0,0,0,0,208,125,0,0,136,139,0,0,0,0,0,0,0,0,0,0,240,125,0,0,152,135,0,0,0,0,0,0,0,0,0,0,16,126,0,0,0,138,0,0,0,0,0,0,0,0,0,0,40,126,0,0,112,142,0,0,0,0,0,0,0,0,0,0,64,126,0,0,64,138,0,0,0,0,0,0,0,0,0,0,88,126,0,0,168,141,0,0,0,0,0,0,0,0,0,0,112,126,0,0,0,0,0,0,136,126,0,0,112,142,0,0,0,0,0,0,0,0,0,0,160,126,0,0,72,140,0,0,0,0,0,0,0,0,0,0,184,126,0,0,144,142,0,0,0,0,0,0,0,0,0,0,208,126,0,0,0,0,0,0,232,126,0,0,208,139,0,0,0,0,0,0,0,0,0,0,0,127,0,0,88,142,0,0,0,0,0,0,0,0,0,0,24,127,0,0,0,0,0,0,48,127,0,0,40,139,0,0,0,0,0,0,0,0,0,0,80,127,0,0,40,139,0,0,0,0,0,0,0,0,0,0,112,127,0,0,80,134,0,0,0,0,0,0,0,0,0,0,136,127,0,0,32,142,0,0,0,0,0,0,0,0,0,0,160,127,0,0,64,138,0,0,0,0,0,0,0,0,0,0,184,127,0,0,48,137,0,0,0,0,0,0,0,0,0,0,208,127,0,0,80,134,0,0,0,0,0,0,0,0,0,0,232,127,0,0,0,0,0,0,0,128,0,0,0,0,0,0,24,128,0,0,32,142,0,0,0,0,0,0,0,0,0,0,48,128,0,0,72,140,0,0,0,0,0,0,0,0,0,0,72,128,0,0,40,139,0,0,0,0,0,0,0,0,0,0,96,128,0,0,16,136,0,0,0,0,0,0,0,0,0,0,120,128,0,0,120,136,0,0,0,0,0,0,0,0,0,0,144,128,0,0,80,134,0,0,0,0,0,0,0,0,0,0,168,128,0,0,0,0,0,0,192,128,0,0,128,76,0,0,216,128,0,0,0,0,0,0,1,0,0,0,64,142,0,0,2,4,0,0,0,0,0,0,240,128,0,0,0,0,0,0,8,129,0,0,72,140,0,0,0,0,0,0,0,0,0,0,32,129,0,0,152,135,0,0,0,0,0,0,0,0,0,0,56,129,0,0,192,135,0,0,0,0,0,0,0,0,0,0,80,129,0,0,0,0,0,0,104,129,0,0,0,0,0,0,128,129,0,0,104,139,0,0,0,0,0,0,128,76,0,0,152,129,0,0,0,0,0,0,2,0,0,0,208,139,0,0,2,0,0,0,32,136,0,0,2,4,0,0,0,0,0,0,176,129,0,0,160,140,0,0,0,0,0,0,0,0,0,0,200,129,0,0,88,134,0,0,0,0,0,0,0,0,0,0,224,129,0,0,88,134,0,0,0,0,0,0,0,0,0,0,248,129,0,0,80,139,0,0,0,0,0,0,0,0,0,0,16,130,0,0,40,139,0,0,0,0,0,0,0,0,0,0,40,130,0,0,184,141,0,0,0,0,0,0,0,0,0,0,64,130,0,0,184,141,0,0,0,0,0,0,0,0,0,0,88,130,0,0,0,0,0,0,112,130,0,0,0,0,0,0,136,130,0,0,152,135,0,0,0,0,0,0,0,0,0,0,160,130,0,0,192,135,0,0,0,0,0,0,0,0,0,0,184,130,0,0,224,137,0,0,0,0,0,0,0,0,0,0,208,130,0,0,112,138,0,0,0,0,0,0,0,0,0,0,232,130,0,0,152,142,0,0,0,0,0,0,0,0,0,0,0,131,0,0,72,141,0,0,0,0,0,0,0,0,0,0,24,131,0,0,248,138,0,0,0,0,0,0,0,0,0,0,48,131,0,0,80,141,0,0,0,0,0,0,0,0,0,0,72,131,0,0,48,142,0,0,0,0,0,0,0,0,0,0,96,131,0,0,48,142,0,0,0,0,0,0,0,0,0,0,120,131,0,0,232,136,0,0,0,0,0,0,0,0,0,0,144,131,0,0,0,0,0,0,168,131,0,0,8,142,0,0,0,0,0,0,0,0,0,0,192,131,0,0,80,141,0,0,0,0,0,0,0,0,0,0,216,131,0,0,248,138,0,0,0,0,0,0,0,0,0,0,240,131,0,0,0,0,0,0,0,132,0,0,248,138,0,0,0,0,0,0,0,0,0,0,16,132,0,0,0,0,0,0,32,132,0,0,152,140,0,0,0,0,0,0,0,0,0,0,48,132,0,0,80,141,0,0,0,0,0,0,0,0,0,0,64,132,0,0,32,142,0,0,0,0,0,0,0,0,0,0,80,132,0,0,0,0,0,0,96,132,0,0,0,0,0,0,112,132,0,0,224,142,0,0,0,0,0,0,0,0,0,0,128,132,0,0,224,142,0,0,0,0,0,0,0,0,0,0,144,132,0,0,88,139,0,0,0,0,0,0,0,0,0,0,160,132,0,0,152,140,0,0,0,0,0,0,0,0,0,0,176,132,0,0,248,138,0,0,0,0,0,0,0,0,0,0,192,132,0,0,224,137,0,0,0,0,0,0,160,167,0,0,0,0,0,0]),"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function ___gxx_personality_v0(){}function ___cxa_guard_acquire(e){return HEAP8[e]?0:(HEAP8[e]=1,1)}function ___cxa_guard_abort(){}function ___cxa_guard_release(){}assert(tempDoublePtr%8==0),Module._memcpy=_memcpy;var _llvm_memcpy_p0i8_p0i8_i32=_memcpy;function __exit(e){Module.print("exit("+e+") called"),Module.exit(e)}function _exit(e){__exit(e)}function __ZSt9terminatev(){_exit(-1234)}function __ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback(){Module.printErr("missing function: _ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback"),abort(-1)}function __ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback(){Module.printErr("missing function: _ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback"),abort(-1)}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}var _sqrtf=Math.sqrt,_acosf=Math.acos,_sinf=Math.sin,_cosf=Math.cos,_llvm_pow_f32=Math.pow;function _fmod(e,t){return e%t}var _fmodf=_fmod,_fabsf=Math.abs,_asinf=Math.asin,_atan2f=Math.atan2;Module._memset=_memset;var _llvm_memset_p0i8_i64=_memset;function _llvm_lifetime_start(){}function _llvm_lifetime_end(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:35,EIDRM:36,ECHRNG:37,EL2NSYNC:38,EL3HLT:39,EL3RST:40,ELNRNG:41,EUNATCH:42,ENOCSI:43,EL2HLT:44,EDEADLK:45,ENOLCK:46,EBADE:50,EBADR:51,EXFULL:52,ENOANO:53,EBADRQC:54,EBADSLT:55,EDEADLOCK:56,EBFONT:57,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:74,EDOTDOT:76,EBADMSG:77,ENOTUNIQ:80,EBADFD:81,EREMCHG:82,ELIBACC:83,ELIBBAD:84,ELIBSCN:85,ELIBMAX:86,ELIBEXEC:87,ENOSYS:88,ENOTEMPTY:90,ENAMETOOLONG:91,ELOOP:92,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:106,EPROTOTYPE:107,ENOTSOCK:108,ENOPROTOOPT:109,ESHUTDOWN:110,ECONNREFUSED:111,EADDRINUSE:112,ECONNABORTED:113,ENETUNREACH:114,ENETDOWN:115,ETIMEDOUT:116,EHOSTDOWN:117,EHOSTUNREACH:118,EINPROGRESS:119,EALREADY:120,EDESTADDRREQ:121,EMSGSIZE:122,EPROTONOSUPPORT:123,ESOCKTNOSUPPORT:124,EADDRNOTAVAIL:125,ENETRESET:126,EISCONN:127,ENOTCONN:128,ETOOMANYREFS:129,EUSERS:131,EDQUOT:132,ESTALE:133,ENOTSUP:134,ENOMEDIUM:135,EILSEQ:138,EOVERFLOW:139,ECANCELED:140,ENOTRECOVERABLE:141,EOWNERDEAD:142,ESTRPIPE:143},ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"No message of desired type",36:"Identifier removed",37:"Channel number out of range",38:"Level 2 not synchronized",39:"Level 3 halted",40:"Level 3 reset",41:"Link number out of range",42:"Protocol driver not attached",43:"No CSI structure available",44:"Level 2 halted",45:"Deadlock condition",46:"No record locks available",50:"Invalid exchange",51:"Invalid request descriptor",52:"Exchange full",53:"No anode",54:"Invalid request code",55:"Invalid slot",56:"File locking deadlock error",57:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",74:"Multihop attempted",76:"Cross mount point (not really error)",77:"Trying to read unreadable message",80:"Given log. name not unique",81:"f.d. invalid for this operation",82:"Remote address changed",83:"Can access a needed shared lib",84:"Accessing a corrupted shared lib",85:".lib section in a.out corrupted",86:"Attempting to link in too many libs",87:"Attempting to exec a shared library",88:"Function not implemented",90:"Directory not empty",91:"File or path name too long",92:"Too many symbolic links",95:"Operation not supported on transport endpoint",96:"Protocol family not supported",104:"Connection reset by peer",105:"No buffer space available",106:"Address family not supported by protocol family",107:"Protocol wrong type for socket",108:"Socket operation on non-socket",109:"Protocol not available",110:"Can't send after socket shutdown",111:"Connection refused",112:"Address already in use",113:"Connection aborted",114:"Network is unreachable",115:"Network interface is not configured",116:"Connection timed out",117:"Host is down",118:"Host is unreachable",119:"Connection already in progress",120:"Socket already connected",121:"Destination address required",122:"Message too long",123:"Unknown protocol",124:"Socket type not supported",125:"Address not available",126:"Connection reset by network",127:"Socket is already connected",128:"Socket is not connected",129:"Too many references",131:"Too many users",132:"Quota exceeded",133:"Stale file handle",134:"Not supported",135:"No medium (in tape drive)",138:"Illegal byte sequence",139:"Value too large for defined data type",140:"Operation canceled",141:"State not recoverable",142:"Previous owner died",143:"Streams pipe error"},___errno_state=0;function ___setErrNo(e){return HEAP32[___errno_state>>2]=e,e}var VFS=void 0,PATH={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var i=0,n=e.length-1;n>=0;n--){var _=e[n];"."===_?e.splice(n,1):".."===_?(e.splice(n,1),i++):i&&(e.splice(n,1),i--)}if(t)for(;i--;i)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),i="/"===e.substr(-1);return(e=PATH.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&i&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=PATH.splitPath(e),i=t[0],n=t[1];return i||n?(n&&(n=n.substr(0,n.length-1)),i+n):"."},basename:function(e,t){if("/"===e)return"/";var i=PATH.splitPath(e)[2];return t&&i.substr(-1*t.length)===t&&(i=i.substr(0,i.length-t.length)),i},join:function(){var e=Array.prototype.slice.call(arguments,0);return PATH.normalize(e.filter((function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},resolve:function(){for(var e="",t=!1,i=arguments.length-1;i>=-1&&!t;i--){var n=i>=0?arguments[i]:FS.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return(t?"/":"")+(e=PATH.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function i(e){for(var t=0;t<e.length&&""===e[t];t++);for(var i=e.length-1;i>=0&&""===e[i];i--);return t>i?[]:e.slice(t,i-t+1)}e=PATH.resolve(e).substr(1),t=PATH.resolve(t).substr(1);for(var n=i(e.split("/")),_=i(t.split("/")),r=Math.min(n.length,_.length),o=r,s=0;s<r;s++)if(n[s]!==_[s]){o=s;break}var a=[];for(s=o;s<n.length;s++)a.push("..");return(a=a.concat(_.slice(o))).join("/")}},TTY={ttys:[],register:function(e,t){TTY.ttys[e]={input:[],output:[],ops:t},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open:function(e){TTY.utf8||(TTY.utf8=new Runtime.UTF8Processor);var t=TTY.ttys[e.node.rdev];if(!t)throw new FS.ErrnoError(ERRNO_CODES.ENODEV);e.tty=t,e.seekable=!1},close:function(e){e.tty.output.length&&e.tty.ops.put_char(e.tty,10)},read:function(e,t,i,n,_){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(ERRNO_CODES.ENXIO);for(var r=0,o=0;o<n;o++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(void 0===s&&0===r)throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);if(null==s)break;r++,t[i+o]=s}return r&&(e.node.timestamp=Date.now()),r},write:function(e,t,i,n,_){if(!e.tty||!e.tty.ops.put_char)throw new FS.ErrnoError(ERRNO_CODES.ENXIO);for(var r=0;r<n;r++)try{e.tty.ops.put_char(e.tty,t[i+r])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return n&&(e.node.timestamp=Date.now()),r}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(ENVIRONMENT_IS_NODE){if(process.stdin.destroyed)return;t=process.stdin.read()}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=intArrayFromString(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(Module.print(e.output.join("")),e.output=[]):e.output.push(TTY.utf8.processCChar(t))}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(Module.printErr(e.output.join("")),e.output=[]):e.output.push(TTY.utf8.processCChar(t))}}},MEMFS={CONTENT_OWNING:1,CONTENT_FLEXIBLE:2,CONTENT_FIXED:3,ensureFlexible:function(e){if(e.contentMode!==MEMFS.CONTENT_FLEXIBLE){var t=e.contents;e.contents=Array.prototype.slice.call(t),e.contentMode===MEMFS.CONTENT_OWNING&&(assert(t.byteOffset),Module._free(t.byteOffset)),e.contentMode=MEMFS.CONTENT_FLEXIBLE}},mount:function(e){return MEMFS.create_node(null,"/",16895,0)},create_node:function(e,t,i,n){if(FS.isBlkdev(i)||FS.isFIFO(i))throw new FS.ErrnoError(ERRNO_CODES.EPERM);var _=FS.createNode(e,t,i,n);return FS.isDir(_.mode)?(_.node_ops={getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},_.stream_ops={llseek:MEMFS.stream_ops.llseek},_.contents={}):FS.isFile(_.mode)?(_.node_ops={getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},_.stream_ops={llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap},_.contents=[],_.contentMode=MEMFS.CONTENT_FLEXIBLE):FS.isLink(_.mode)?(_.node_ops={getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},_.stream_ops={}):FS.isChrdev(_.mode)&&(_.node_ops={getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},_.stream_ops=FS.chrdev_stream_ops),_.timestamp=Date.now(),e&&(e.contents[t]=_),_},node_ops:{getattr:function(e){var t={};return t.dev=FS.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,FS.isDir(e.mode)?t.size=4096:FS.isFile(e.mode)?t.size=e.contents.length:FS.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){if(void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size){MEMFS.ensureFlexible(e);var i=e.contents;if(t.size<i.length)i.length=t.size;else for(;t.size>i.length;)i.push(0)}},lookup:function(e,t){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)},mknod:function(e,t,i,n){return MEMFS.create_node(e,t,i,n)},rename:function(e,t,i){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(t,i)}catch(e){}if(n)for(var _ in n.contents)throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete e.parent.contents[e.name],e.name=i,t.contents[i]=e},unlink:function(e,t){delete e.contents[t]},rmdir:function(e,t){var i=FS.lookupNode(e,t);for(var n in i.contents)throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);delete e.contents[t]},readdir:function(e){var t=[".",".."];for(var i in e.contents)e.contents.hasOwnProperty(i)&&t.push(i);return t},symlink:function(e,t,i){var n=MEMFS.create_node(e,t,41471,0);return n.link=i,n},readlink:function(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return e.link}},stream_ops:{read:function(e,t,i,n,_){var r=e.node.contents,o=Math.min(r.length-_,n);if(o>8&&r.subarray)t.set(r.subarray(_,_+o),i);else for(var s=0;s<o;s++)t[i+s]=r[_+s];return o},write:function(e,t,i,n,_,r){var o=e.node;o.timestamp=Date.now();var s=o.contents;if(n&&0===s.length&&0===_&&t.subarray)return assert(t.length),r&&t.buffer===HEAP8.buffer&&0===i?(o.contents=t,o.contentMode=MEMFS.CONTENT_OWNING):(o.contents=new Uint8Array(t.subarray(i,i+n)),o.contentMode=MEMFS.CONTENT_FIXED),n;MEMFS.ensureFlexible(o);for(s=o.contents;s.length<_;)s.push(0);for(var a=0;a<n;a++)s[_+a]=t[i+a];return n},llseek:function(e,t,i){var n=t;if(1===i?n+=e.position:2===i&&FS.isFile(e.node.mode)&&(n+=e.node.contents.length),n<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return e.ungotten=[],e.position=n,n},allocate:function(e,t,i){MEMFS.ensureFlexible(e.node);for(var n=e.node.contents,_=t+i;_>n.length;)n.push(0)},mmap:function(e,t,i,n,_,r,o){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(ERRNO_CODES.ENODEV);var s,a,p=e.node.contents;if(2&o||p.buffer!==t&&p.buffer!==t.buffer){if((_>0||_+n<p.length)&&(p=p.subarray?p.subarray(_,_+n):Array.prototype.slice.call(p,_,_+n)),a=!0,!(s=_malloc(n)))throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);t.set(p,s)}else a=!1,s=p.byteOffset;return{ptr:s,allocated:a}}}},_stdin=allocate(1,"i32*",ALLOC_STATIC),_stdout=allocate(1,"i32*",ALLOC_STATIC),_stderr=allocate(1,"i32*",ALLOC_STATIC);function _fflush(e){}var FS={root:null,nodes:[null],devices:[null],streams:[null],nextInode:1,name_table:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:function(e){for(var t in this.errno=e,ERRNO_CODES)if(ERRNO_CODES[t]===e){this.code=t;break}this.message=ERRNO_MESSAGES[e]},handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+(new Error).stack;return ___setErrNo(e.errno)},hashName:function(e,t){for(var i=0,n=0;n<t.length;n++)i=(i<<5)-i+t.charCodeAt(n)|0;return(e+i>>>0)%FS.name_table.length},hashAddNode:function(e){var t=FS.hashName(e.parent.id,e.name);e.name_next=FS.name_table[t],FS.name_table[t]=e},hashRemoveNode:function(e){var t=FS.hashName(e.parent.id,e.name);if(FS.name_table[t]===e)FS.name_table[t]=e.name_next;else for(var i=FS.name_table[t];i;){if(i.name_next===e){i.name_next=e.name_next;break}i=i.name_next}},lookupNode:function(e,t){var i=FS.mayLookup(e);if(i)throw new FS.ErrnoError(i);for(var n=FS.hashName(e.id,t),_=FS.name_table[n];_;_=_.name_next)if(_.parent.id===e.id&&_.name===t)return _;return FS.lookup(e,t)},createNode:function(e,t,i,n){var _={id:FS.nextInode++,name:t,mode:i,node_ops:{},stream_ops:{},rdev:n,parent:null,mount:null};e||(e=_),_.parent=e,_.mount=e.mount;return Object.defineProperties(_,{read:{get:function(){return 365==(365&_.mode)},set:function(e){e?_.mode|=365:_.mode&=-366}},write:{get:function(){return 146==(146&_.mode)},set:function(e){e?_.mode|=146:_.mode&=-147}},isFolder:{get:function(){return FS.isDir(_.mode)}},isDevice:{get:function(){return FS.isChrdev(_.mode)}}}),FS.hashAddNode(_),_},destroyNode:function(e){FS.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},cwd:function(){return FS.currentPath},lookupPath:function(e,t){if(e=PATH.resolve(FS.currentPath,e),(t=t||{recurse_count:0}).recurse_count>8)throw new FS.ErrnoError(ERRNO_CODES.ELOOP);for(var i=PATH.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),n=FS.root,_="/",r=0;r<i.length;r++){var o=r===i.length-1;if(o&&t.parent)break;if(n=FS.lookupNode(n,i[r]),_=PATH.join(_,i[r]),FS.isMountpoint(n)&&(n=n.mount.root),!o||t.follow)for(var s=0;FS.isLink(n.mode);){var a=FS.readlink(_);if(_=PATH.resolve(PATH.dirname(_),a),n=FS.lookupPath(_,{recurse_count:t.recurse_count}).node,s++>40)throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}return{path:_,node:n}},getPath:function(e){for(var t;;){if(FS.isRoot(e))return t?PATH.join(e.mount.mountpoint,t):e.mount.mountpoint;t=t?PATH.join(e.name,t):e.name,e=e.parent}},flagModes:{r:0,rs:8192,"r+":2,w:1537,wx:3585,xw:3585,"w+":1538,"wx+":3586,"xw+":3586,a:521,ax:2569,xa:2569,"a+":522,"ax+":2570,"xa+":2570},modeStringToFlags:function(e){var t=FS.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 1024&e&&(t+="w"),t},nodePermissions:function(e,t){return FS.ignorePermissions||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:ERRNO_CODES.EACCES},mayLookup:function(e){return FS.nodePermissions(e,"x")},mayMknod:function(e){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:return 0;default:return ERRNO_CODES.EINVAL}},mayCreate:function(e,t){try{FS.lookupNode(e,t);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(e,"wx")},mayDelete:function(e,t,i){var n;try{n=FS.lookupNode(e,t)}catch(e){return e.errno}var _=FS.nodePermissions(e,"wx");if(_)return _;if(i){if(!FS.isDir(n.mode))return ERRNO_CODES.ENOTDIR;if(FS.isRoot(n)||FS.getPath(n)===FS.currentPath)return ERRNO_CODES.EBUSY}else if(FS.isDir(n.mode))return ERRNO_CODES.EISDIR;return 0},mayOpen:function(e,t){return e?FS.isLink(e.mode)?ERRNO_CODES.ELOOP:FS.isDir(e.mode)&&(0!=(3&t)||1024&t)?ERRNO_CODES.EISDIR:FS.nodePermissions(e,FS.flagsToPermissionString(t)):ERRNO_CODES.ENOENT},chrdev_stream_ops:{open:function(e){var t=FS.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){FS.devices[e]={stream_ops:t}},getDevice:function(e){return FS.devices[e]},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||1,t=t||FS.MAX_OPEN_FDS;for(var i=e;i<=t;i++)if(!FS.streams[i])return i;throw new FS.ErrnoError(ERRNO_CODES.EMFILE)},getStream:function(e){return FS.streams[e]},createStream:function(e,t,i){var n=FS.nextfd(t,i);return e.fd=n,Object.defineProperties(e,{object:{get:function(){return e.node},set:function(t){e.node=t}},isRead:{get:function(){return 1!=(3&e.flags)}},isWrite:{get:function(){return 0!=(3&e.flags)}},isAppend:{get:function(){return 8&e.flags}}}),FS.streams[n]=e,e},closeStream:function(e){FS.streams[e]=null},getMode:function(e,t){var i=0;return e&&(i|=365),t&&(i|=146),i},joinPath:function(e,t){var i=PATH.join.apply(null,e);return t&&"/"==i[0]&&(i=i.substr(1)),i},absolutePath:function(e,t){return PATH.resolve(t,e)},standardizePath:function(e){return PATH.normalize(e)},findObject:function(e,t){var i=FS.analyzePath(e,t);return i.exists?i.object:(___setErrNo(i.error),null)},analyzePath:function(e,t){try{e=(n=FS.lookupPath(e,{follow:!t})).path}catch(e){}var i={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=FS.lookupPath(e,{parent:!0});i.parentExists=!0,i.parentPath=n.path,i.parentObject=n.node,i.name=PATH.basename(e),n=FS.lookupPath(e,{follow:!t}),i.exists=!0,i.path=n.path,i.object=n.node,i.name=n.node.name,i.isRoot="/"===n.path}catch(e){i.error=e.errno}return i},createFolder:function(e,t,i,n){var _=PATH.join("string"==typeof e?e:FS.getPath(e),t),r=FS.getMode(i,n);return FS.mkdir(_,r)},createPath:function(e,t,i,n){e="string"==typeof e?e:FS.getPath(e);for(var _=t.split("/").reverse();_.length;){var r=_.pop();if(r){var o=PATH.join(e,r);try{FS.mkdir(o,511)}catch(e){}e=o}}return o},createFile:function(e,t,i,n,_){var r=PATH.join("string"==typeof e?e:FS.getPath(e),t),o=FS.getMode(n,_);return FS.create(r,o)},createDataFile:function(e,t,i,n,_,r){var o=PATH.join("string"==typeof e?e:FS.getPath(e),t),s=FS.getMode(n,_),a=FS.create(o,s);if(i){if("string"==typeof i){for(var p=new Array(i.length),l=0,d=i.length;l<d;++l)p[l]=i.charCodeAt(l);i=p}FS.chmod(o,146|s);var c=FS.open(o,"w");FS.write(c,i,0,i.length,0,r),FS.close(c),FS.chmod(o,s)}return a},createDevice:function(e,t,i,n){var _=PATH.join("string"==typeof e?e:FS.getPath(e),t),r=i&&n?511:i?219:365;FS.createDevice.major||(FS.createDevice.major=64);var o=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(o,{open:function(e){e.seekable=!1},close:function(e){n&&n.buffer&&n.buffer.length&&n(10)},read:function(e,t,n,_,r){for(var o=0,s=0;s<_;s++){var a;try{a=i()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(void 0===a&&0===o)throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);if(null==a)break;o++,t[n+s]=a}return o&&(e.node.timestamp=Date.now()),o},write:function(e,t,i,_,r){for(var o=0;o<_;o++)try{n(t[i+o])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return _&&(e.node.timestamp=Date.now()),o}}),FS.mkdev(_,r,o)},createLink:function(e,t,i,n,_){var r=PATH.join("string"==typeof e?e:FS.getPath(e),t);return FS.symlink(i,r)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;var t=!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!Module.read)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=intArrayFromString(Module.read(e.url),!0)}catch(e){t=!1}return t||___setErrNo(ERRNO_CODES.EIO),t},createLazyFile:function(e,t,i,n,_){if("undefined"!=typeof XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var r=function(){this.lengthKnown=!1,this.chunks=[]};r.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,i=Math.floor(e/this.chunkSize);return this.getter(i)[t]}},r.prototype.setDataGetter=function(e){this.getter=e},r.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",i,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+i+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),_=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,r=1048576;_||(r=n);var o=this;o.setDataGetter((function(e){var t=e*r,_=(e+1)*r-1;if(_=Math.min(_,n-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var _=new XMLHttpRequest;if(_.open("GET",i,!1),n!==r&&_.setRequestHeader("Range","bytes="+e+"-"+t),"undefined"!=typeof Uint8Array&&(_.responseType="arraybuffer"),_.overrideMimeType&&_.overrideMimeType("text/plain; charset=x-user-defined"),_.send(null),!(_.status>=200&&_.status<300||304===_.status))throw new Error("Couldn't load "+i+". Status: "+_.status);return void 0!==_.response?new Uint8Array(_.response||[]):intArrayFromString(_.responseText||"",!0)}(t,_)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),this._length=n,this._chunkSize=r,this.lengthKnown=!0};var o=new r;Object.defineProperty(o,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(o,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var s={isDevice:!1,contents:o}}else s={isDevice:!1,url:i};var a=FS.createFile(e,t,s,n,_);s.contents?a.contents=s.contents:s.url&&(a.contents=null,a.url=s.url);var p={};return Object.keys(a.stream_ops).forEach((function(e){var t=a.stream_ops[e];p[e]=function(){if(!FS.forceLoadFile(a))throw new FS.ErrnoError(ERRNO_CODES.EIO);return t.apply(null,arguments)}})),p.read=function(e,t,i,n,_){if(!FS.forceLoadFile(a))throw new FS.ErrnoError(ERRNO_CODES.EIO);var r=e.node.contents,o=Math.min(r.length-_,n);if(r.slice)for(var s=0;s<o;s++)t[i+s]=r[_+s];else for(s=0;s<o;s++)t[i+s]=r.get(_+s);return o},a.stream_ops=p,a},createPreloadedFile:function(e,t,i,n,_,r,o,s,a){Browser.init();var p=PATH.resolve(PATH.join(e,t));function l(i){function l(i){s||FS.createDataFile(e,t,i,n,_,a),r&&r(),removeRunDependency("cp "+p)}var d=!1;Module.preloadPlugins.forEach((function(e){d||e.canHandle(p)&&(e.handle(i,p,l,(function(){o&&o(),removeRunDependency("cp "+p)})),d=!0)})),d||l(i)}addRunDependency("cp "+p),"string"==typeof i?Browser.asyncLoad(i,(function(e){l(e)}),o):l(i)},createDefaultDirectories:function(){FS.mkdir("/tmp",511)},createDefaultDevices:function(){FS.mkdir("/dev",511),FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(){return 0}}),FS.mkdev("/dev/null",438,FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",438,FS.makedev(5,0)),FS.mkdev("/dev/tty1",438,FS.makedev(6,0)),FS.mkdir("/dev/shm",511),FS.mkdir("/dev/shm/tmp",511)},createStandardStreams:function(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");var e=FS.open("/dev/stdin","r");HEAP32[_stdin>>2]=e.fd,assert(1===e.fd,"invalid handle for stdin ("+e.fd+")");var t=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=t.fd,assert(2===t.fd,"invalid handle for stdout ("+t.fd+")");var i=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=i.fd,assert(3===i.fd,"invalid handle for stderr ("+i.fd+")")},staticInit:function(){FS.name_table=new Array(4096),FS.root=FS.createNode(null,"/",16895,0),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices()},init:function(e,t,i){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),FS.init.initialized=!0,Module.stdin=e||Module.stdin,Module.stdout=t||Module.stdout,Module.stderr=i||Module.stderr,FS.createStandardStreams()},quit:function(){FS.init.initialized=!1;for(var e=0;e<FS.streams.length;e++){var t=FS.streams[e];t&&FS.close(t)}},mount:function(e,t,i){var n,_={type:e,opts:t,mountpoint:i,root:null};i&&(n=FS.lookupPath(i,{follow:!1}));var r=e.mount(_);return r.mount=_,_.root=r,n&&(n.node.mount=_,n.node.mounted=!0,"/"===i&&(FS.root=_.root)),r},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,i){var n=FS.lookupPath(e,{parent:!0}).node,_=PATH.basename(e),r=FS.mayCreate(n,_);if(r)throw new FS.ErrnoError(r);if(!n.node_ops.mknod)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return n.node_ops.mknod(n,_,t,i)},create:function(e,t){return t&=4095,t|=32768,FS.mknod(e,t,0)},mkdir:function(e,t){return t&=1023,t|=16384,FS.mknod(e,t,0)},mkdev:function(e,t,i){return t|=8192,FS.mknod(e,t,i)},symlink:function(e,t){var i=FS.lookupPath(t,{parent:!0}).node,n=PATH.basename(t),_=FS.mayCreate(i,n);if(_)throw new FS.ErrnoError(_);if(!i.node_ops.symlink)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return i.node_ops.symlink(i,n,e)},rename:function(e,t){var i,n,_=PATH.dirname(e),r=PATH.dirname(t),o=PATH.basename(e),s=PATH.basename(t);try{i=FS.lookupPath(e,{parent:!0}).node,n=FS.lookupPath(t,{parent:!0}).node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(i.mount!==n.mount)throw new FS.ErrnoError(ERRNO_CODES.EXDEV);var a,p=FS.lookupNode(i,o),l=PATH.relative(e,r);if("."!==l.charAt(0))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if("."!==(l=PATH.relative(t,_)).charAt(0))throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);try{a=FS.lookupNode(n,s)}catch(e){}if(p!==a){var d=FS.isDir(p.mode),c=FS.mayDelete(i,o,d);if(c)throw new FS.ErrnoError(c);if(c=a?FS.mayDelete(n,s,d):FS.mayCreate(n,s))throw new FS.ErrnoError(c);if(!i.node_ops.rename)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isMountpoint(p)||a&&FS.isMountpoint(a))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);if(n!==i&&(c=FS.nodePermissions(i,"w")))throw new FS.ErrnoError(c);FS.hashRemoveNode(p);try{i.node_ops.rename(p,n,s)}catch(e){throw e}finally{FS.hashAddNode(p)}}},rmdir:function(e){var t=FS.lookupPath(e,{parent:!0}).node,i=PATH.basename(e),n=FS.lookupNode(t,i),_=FS.mayDelete(t,i,!0);if(_)throw new FS.ErrnoError(_);if(!t.node_ops.rmdir)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isMountpoint(n))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);t.node_ops.rmdir(t,i),FS.destroyNode(n)},readdir:function(e){var t=FS.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);return t.node_ops.readdir(t)},unlink:function(e){var t=FS.lookupPath(e,{parent:!0}).node,i=PATH.basename(e),n=FS.lookupNode(t,i),_=FS.mayDelete(t,i,!1);if(_)throw _===ERRNO_CODES.EISDIR&&(_=ERRNO_CODES.EPERM),new FS.ErrnoError(_);if(!t.node_ops.unlink)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isMountpoint(n))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);t.node_ops.unlink(t,i),FS.destroyNode(n)},readlink:function(e){var t=FS.lookupPath(e,{follow:!1}).node;if(!t.node_ops.readlink)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return t.node_ops.readlink(t)},stat:function(e,t){var i=FS.lookupPath(e,{follow:!t}).node;if(!i.node_ops.getattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return i.node_ops.getattr(i)},lstat:function(e){return FS.stat(e,!0)},chmod:function(e,t,i){var n;"string"==typeof e?n=FS.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,t){FS.chmod(e,t,!0)},fchmod:function(e,t){var i=FS.getStream(e);if(!i)throw new FS.ErrnoError(ERRNO_CODES.EBADF);FS.chmod(i.node,t)},chown:function(e,t,i,n){var _;"string"==typeof e?_=FS.lookupPath(e,{follow:!n}).node:_=e;if(!_.node_ops.setattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);_.node_ops.setattr(_,{timestamp:Date.now()})},lchown:function(e,t,i){FS.chown(e,t,i,!0)},fchown:function(e,t,i){var n=FS.getStream(e);if(!n)throw new FS.ErrnoError(ERRNO_CODES.EBADF);FS.chown(n.node,t,i)},truncate:function(e,t){if(t<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var i;"string"==typeof e?i=FS.lookupPath(e,{follow:!0}).node:i=e;if(!i.node_ops.setattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isDir(i.mode))throw new FS.ErrnoError(ERRNO_CODES.EISDIR);if(!FS.isFile(i.mode))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var n=FS.nodePermissions(i,"w");if(n)throw new FS.ErrnoError(n);i.node_ops.setattr(i,{size:t,timestamp:Date.now()})},ftruncate:function(e,t){var i=FS.getStream(e);if(!i)throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(0==(3&i.flags))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);FS.truncate(i.node,t)},utime:function(e,t,i){var n=FS.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,i)})},open:function(e,t,i,n,_){var r;e=PATH.normalize(e),i=void 0===i?438:i,i=512&(t="string"==typeof t?FS.modeStringToFlags(t):t)?4095&i|32768:0;try{var o=FS.lookupPath(e,{follow:!(65536&t)});r=o.node,e=o.path}catch(e){}if(512&t)if(r){if(2048&t)throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}else r=FS.mknod(e,i,0);if(!r)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);FS.isChrdev(r.mode)&&(t&=-1025);var s=FS.mayOpen(r,t);if(s)throw new FS.ErrnoError(s);1024&t&&FS.truncate(r,0);var a=FS.createStream({path:e,node:r,flags:t,seekable:!0,position:0,stream_ops:r.stream_ops,ungotten:[],error:!1},n,_);return a.stream_ops.open&&a.stream_ops.open(a),a},close:function(e){try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{FS.closeStream(e.fd)}},llseek:function(e,t,i){if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);return e.stream_ops.llseek(e,t,i)},read:function(e,t,i,n,_){if(n<0||_<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(1==(3&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(ERRNO_CODES.EISDIR);if(!e.stream_ops.read)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var r=!0;if(void 0===_)_=e.position,r=!1;else if(!e.seekable)throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);var o=e.stream_ops.read(e,t,i,n,_);return r||(e.position+=o),o},write:function(e,t,i,n,_,r){if(n<0||_<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(0==(3&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(ERRNO_CODES.EISDIR);if(!e.stream_ops.write)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var o=!0;if(void 0===_)_=e.position,o=!1;else if(!e.seekable)throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);8&e.flags&&FS.llseek(e,0,2);var s=e.stream_ops.write(e,t,i,n,_,r);return o||(e.position+=s),s},allocate:function(e,t,i){if(t<0||i<=0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(0==(3&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(!FS.isFile(e.node.mode)&&!FS.isDir(node.mode))throw new FS.ErrnoError(ERRNO_CODES.ENODEV);if(!e.stream_ops.allocate)throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);e.stream_ops.allocate(e,t,i)},mmap:function(e,t,i,n,_,r,o){if(1==(3&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EACCES);if(!e.stream_ops.mmap)throw new FS.errnoError(ERRNO_CODES.ENODEV);return e.stream_ops.mmap(e,t,i,n,_,r,o)}};function _send(e,t,i,n){var _=FS.getStream(e);return _?_.socket.readyState===WebSocket.CLOSING||_.socket.readyState===WebSocket.CLOSED?(___setErrNo(ERRNO_CODES.ENOTCONN),-1):_.socket.readyState===WebSocket.CONNECTING?(___setErrNo(ERRNO_CODES.EAGAIN),-1):(_.sender(HEAPU8.subarray(t,t+i)),i):(___setErrNo(ERRNO_CODES.EBADF),-1)}function _pwrite(e,t,i,n){var _=FS.getStream(e);if(!_)return ___setErrNo(ERRNO_CODES.EBADF),-1;try{var r=HEAP8;return FS.write(_,r,t,i,n)}catch(e){return FS.handleFSError(e),-1}}function _write(e,t,i){var n=FS.getStream(e);if(!n)return ___setErrNo(ERRNO_CODES.EBADF),-1;if(n&&"socket"in n)return _send(e,t,i,0);try{var _=HEAP8;return FS.write(n,_,t,i)}catch(e){return FS.handleFSError(e),-1}}function _fwrite(e,t,i,n){var _=i*t;if(0==_)return 0;var r=_write(n,e,_);if(-1==r){var o=FS.getStream(n);return o&&(o.error=!0),0}return Math.floor(r/t)}function __reallyNegative(e){return e<0||0===e&&1/e==-1/0}function __formatString(e,t){var i=e,n=0;function _(e){var i;return"double"===e?i=HEAPF64[t+n>>3]:"i64"==e?(i=[HEAP32[t+n>>2],HEAP32[t+(n+8)>>2]],n+=8):(e="i32",i=HEAP32[t+n>>2]),n+=Math.max(Runtime.getNativeFieldSize(e),Runtime.getAlignSize(e,null,!0)),i}for(var r,o,s=[];;){var a=i;if(0===(r=HEAP8[i]))break;if(o=HEAP8[i+1|0],37==r){var p=!1,l=!1,d=!1,c=!1;e:for(;;){switch(o){case 43:p=!0;break;case 45:l=!0;break;case 35:d=!0;break;case 48:if(c)break e;c=!0;break;default:break e}i++,o=HEAP8[i+1|0]}var b=0;if(42==o)b=_("i32"),i++,o=HEAP8[i+1|0];else for(;o>=48&&o<=57;)b=10*b+(o-48),i++,o=HEAP8[i+1|0];var u,m=!1;if(46==o){var h=0;if(m=!0,i++,42==(o=HEAP8[i+1|0]))h=_("i32"),i++;else for(;;){var f=HEAP8[i+1|0];if(f<48||f>57)break;h=10*h+(f-48),i++}o=HEAP8[i+1|0]}else h=6;switch(String.fromCharCode(o)){case"h":104==HEAP8[i+2|0]?(i++,u=1):u=2;break;case"l":108==HEAP8[i+2|0]?(i++,u=8):u=4;break;case"L":case"q":case"j":u=8;break;case"z":case"t":case"I":u=4;break;default:u=null}switch(u&&i++,o=HEAP8[i+1|0],String.fromCharCode(o)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var g=100==o||105==o,C=_("i"+8*(u=u||4));if(8==u&&(C=Runtime.makeBigInt(C[0],C[1],117==o)),u<=4)C=(g?reSign:unSign)(C&Math.pow(256,u)-1,8*u);var S=Math.abs(C),y="";if(100==o||105==o)M=reSign(C,8*u,1).toString(10);else if(117==o)M=unSign(C,8*u,1).toString(10),C=Math.abs(C);else if(111==o)M=(d?"0":"")+S.toString(8);else if(120==o||88==o){if(y=d&&0!=C?"0x":"",C<0){C=-C,M=(S-1).toString(16);for(var v=[],x=0;x<M.length;x++)v.push((15-parseInt(M[x],16)).toString(16));for(M=v.join("");M.length<2*u;)M="f"+M}else M=S.toString(16);88==o&&(y=y.toUpperCase(),M=M.toUpperCase())}else 112==o&&(0===S?M="(nil)":(y="0x",M=S.toString(16)));if(m)for(;M.length<h;)M="0"+M;for(p&&(y=C<0?"-"+y:"+"+y);y.length+M.length<b;)l?M+=" ":c?M="0"+M:y=" "+y;(M=y+M).split("").forEach((function(e){s.push(e.charCodeAt(0))}));break;case"f":case"F":case"e":case"E":case"g":case"G":var M;C=_("double");if(isNaN(C))M="nan",c=!1;else if(isFinite(C)){var T=!1,D=Math.min(h,20);if(103==o||71==o){T=!0,h=h||1;var P=parseInt(C.toExponential(D).split("e")[1],10);h>P&&P>=-4?(o=(103==o?"f":"F").charCodeAt(0),h-=P+1):(o=(103==o?"e":"E").charCodeAt(0),h--),D=Math.min(h,20)}101==o||69==o?(M=C.toExponential(D),/[eE][-+]\d$/.test(M)&&(M=M.slice(0,-1)+"0"+M.slice(-1))):102!=o&&70!=o||(M=C.toFixed(D),0===C&&__reallyNegative(C)&&(M="-"+M));var w=M.split("e");if(T&&!d)for(;w[0].length>1&&-1!=w[0].indexOf(".")&&("0"==w[0].slice(-1)||"."==w[0].slice(-1));)w[0]=w[0].slice(0,-1);else for(d&&-1==M.indexOf(".")&&(w[0]+=".");h>D++;)w[0]+="0";M=w[0]+(w.length>1?"e"+w[1]:""),69==o&&(M=M.toUpperCase()),p&&C>=0&&(M="+"+M)}else M=(C<0?"-":"")+"inf",c=!1;for(;M.length<b;)l?M+=" ":M=!c||"-"!=M[0]&&"+"!=M[0]?(c?"0":" ")+M:M[0]+"0"+M.slice(1);o<97&&(M=M.toUpperCase()),M.split("").forEach((function(e){s.push(e.charCodeAt(0))}));break;case"s":var A=_("i8*"),F=A?_strlen(A):"(null)".length;if(m&&(F=Math.min(F,h)),!l)for(;F<b--;)s.push(32);if(A)for(x=0;x<F;x++)s.push(HEAPU8[0|A++]);else s=s.concat(intArrayFromString("(null)".substr(0,F),!0));if(l)for(;F<b--;)s.push(32);break;case"c":for(l&&s.push(_("i8"));--b>0;)s.push(32);l||s.push(_("i8"));break;case"n":var R=_("i32*");HEAP32[R>>2]=s.length;break;case"%":s.push(r);break;default:for(x=a;x<i+2;x++)s.push(HEAP8[x])}i+=2}else s.push(r),i+=1}return s}function _fprintf(e,t,i){var n=__formatString(t,i),_=Runtime.stackSave(),r=_fwrite(allocate(n,"i8",ALLOC_STACK),1,n.length,e);return Runtime.stackRestore(_),r}function _printf(e,t){return _fprintf(HEAP32[_stdout>>2],e,t)}function _atexit(e,t){__ATEXIT__.unshift({func:e,arg:t})}Module._strlen=_strlen;var ___cxa_atexit=_atexit,_llvm_memset_p0i8_i32=_memset;function _llvm_umul_with_overflow_i32(e,t){return e>>>=0,t>>>=0,0|(asm.setTempRet0(e*t>4294967295),e*t>>>0)}function _llvm_bswap_i16(e){return(255&e)<<8|e>>8&255}function _llvm_bswap_i32(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24}function ___assert_func(e,t,i,n){throw"Assertion failed: "+(n?Pointer_stringify(n):"unknown condition")+", at: "+[e?Pointer_stringify(e):"unknown filename",t,i?Pointer_stringify(i):"unknown function"]+" at "+(new Error).stack}function _gettimeofday(e){var t=Date.now();return HEAP32[e>>2]=Math.floor(t/1e3),HEAP32[e+4>>2]=Math.floor(1e3*(t-1e3*Math.floor(t/1e3))),0}function _abort(){Module.abort()}function ___errno_location(){return ___errno_state}Module._llvm_uadd_with_overflow_i64=_llvm_uadd_with_overflow_i64;var ___errno=___errno_location;function _sbrk(e){var t=_sbrk;t.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),t.called=!0,assert(Runtime.dynamicAlloc),t.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var i=DYNAMICTOP;return 0!=e&&t.alloc(e),i}function _sysconf(e){switch(e){case 8:return PAGE_SIZE;case 54:case 56:case 21:case 61:case 63:case 22:case 67:case 23:case 24:case 25:case 26:case 27:case 69:case 28:case 101:case 70:case 71:case 29:case 30:case 199:case 75:case 76:case 32:case 43:case 44:case 80:case 46:case 47:case 45:case 48:case 49:case 42:case 82:case 33:case 7:case 108:case 109:case 107:case 112:case 119:case 121:return 200809;case 13:case 104:case 94:case 95:case 34:case 35:case 77:case 81:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 94:case 95:case 110:case 111:case 113:case 114:case 115:case 116:case 117:case 118:case 120:case 40:case 16:case 79:case 19:return-1;case 92:case 93:case 5:case 72:case 6:case 74:case 92:case 93:case 96:case 97:case 98:case 99:case 102:case 103:case 105:return 1;case 38:case 66:case 50:case 51:case 4:return 1024;case 15:case 64:case 41:return 32;case 55:case 37:case 17:return 2147483647;case 18:case 1:return 47839;case 59:case 57:return 99;case 68:case 58:return 2048;case 0:return 2097152;case 3:return 65536;case 14:return 32768;case 73:return 32767;case 39:return 16384;case 60:return 1e3;case 106:return 700;case 52:return 256;case 62:return 255;case 2:return 100;case 65:return 64;case 36:return 20;case 100:return 16;case 20:return 6;case 53:return 4;case 10:return 1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function _time(e){var t=Math.floor(Date.now()/1e3);return e&&(HEAP32[e>>2]=t),t}function ___cxa_allocate_exception(e){return _malloc(e)}function _llvm_eh_exception(){return HEAP32[_llvm_eh_exception.buf>>2]}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_is_number_type(e){var t=!1;try{e==__ZTIi&&(t=!0)}catch(e){}try{e==__ZTIj&&(t=!0)}catch(e){}try{e==__ZTIl&&(t=!0)}catch(e){}try{e==__ZTIm&&(t=!0)}catch(e){}try{e==__ZTIx&&(t=!0)}catch(e){}try{e==__ZTIy&&(t=!0)}catch(e){}try{e==__ZTIf&&(t=!0)}catch(e){}try{e==__ZTId&&(t=!0)}catch(e){}try{e==__ZTIe&&(t=!0)}catch(e){}try{e==__ZTIc&&(t=!0)}catch(e){}try{e==__ZTIa&&(t=!0)}catch(e){}try{e==__ZTIh&&(t=!0)}catch(e){}try{e==__ZTIs&&(t=!0)}catch(e){}try{e==__ZTIt&&(t=!0)}catch(e){}return t}function ___cxa_does_inherit(e,t,i){if(0==i)return!1;if(0==t||t==e)return!0;var n;if(___cxa_is_number_type(t))n=t;else{var _=HEAP32[t>>2]-8;n=HEAP32[_>>2]}switch(n){case 0:var r=HEAP32[e>>2]-8;return 0==HEAP32[r>>2]&&___cxa_does_inherit(HEAP32[e+8>>2],HEAP32[t+8>>2],i);case 1:return!1;case 2:return ___cxa_does_inherit(e,HEAP32[t+8>>2],i);default:return!1}}function ___resumeException(e){throw 0==HEAP32[_llvm_eh_exception.buf>>2]&&(HEAP32[_llvm_eh_exception.buf>>2]=e),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(e,t){-1==e&&(e=HEAP32[_llvm_eh_exception.buf>>2]),-1==t&&(t=HEAP32[_llvm_eh_exception.buf+4>>2]);var i=Array.prototype.slice.call(arguments,2);if(0!=t&&!___cxa_is_number_type(t)){var n=HEAP32[t>>2]-8,_=HEAP32[n>>2];0==_&&(e=HEAP32[e>>2])}for(var r=0;r<i.length;r++)if(___cxa_does_inherit(i[r],t,e))return 0|(asm.setTempRet0(i[r]),e);return 0|(asm.setTempRet0(t),e)}function ___cxa_throw(e,t,i){if(!___cxa_throw.initialized){try{HEAP32[__ZTVN10__cxxabiv119__pointer_type_infoE>>2]=0}catch(e){}try{HEAP32[__ZTVN10__cxxabiv117__class_type_infoE>>2]=1}catch(e){}try{HEAP32[__ZTVN10__cxxabiv120__si_class_type_infoE>>2]=2}catch(e){}___cxa_throw.initialized=!0}throw HEAP32[_llvm_eh_exception.buf>>2]=e,HEAP32[_llvm_eh_exception.buf+4>>2]=t,HEAP32[_llvm_eh_exception.buf+8>>2]=i,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_call_unexpected(e){throw Module.printErr("Unexpected exception thrown, this is not properly supported - aborting"),ABORT=!0,e}Module._memmove=_memmove;var _llvm_memmove_p0i8_p0i8_i32=_memmove,Browser={mainLoop:{scheduler:null,shouldPause:!1,paused:!1,queue:[],pause:function(){Browser.mainLoop.shouldPause=!0},resume:function(){Browser.mainLoop.paused&&(Browser.mainLoop.paused=!1,Browser.mainLoop.scheduler()),Browser.mainLoop.shouldPause=!1},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",t=Browser.mainLoop.remainingBlockers,i=Browser.mainLoop.expectedBlockers;t?t<i?Module.setStatus(e+" ("+(i-t)+"/"+i+")"):Module.setStatus(e):Module.setStatus("")}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),!Browser.initted&&!ENVIRONMENT_IS_WORKER){Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch(e){Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,Module.noImageDecoding||void 0!==Browser.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var e={canHandle:function(e){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,i,n){var _=null;if(Browser.hasBlobConstructor)try{(_=new Blob([e],{type:Browser.getMimetype(t)})).size!==e.length&&(_=new Blob([new Uint8Array(e).buffer],{type:Browser.getMimetype(t)}))}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!_){var r=new Browser.BlobBuilder;r.append(new Uint8Array(e).buffer),_=r.getBlob()}var o=Browser.URLObject.createObjectURL(_),s=new Image;s.onload=function(){assert(s.complete,"Image "+t+" could not be decoded");var n=document.createElement("canvas");n.width=s.width,n.height=s.height,n.getContext("2d").drawImage(s,0,0),Module.preloadedImages[t]=n,Browser.URLObject.revokeObjectURL(o),i&&i(e)},s.onerror=function(e){console.log("Image "+o+" could not be decoded"),n&&n()},s.src=o}};Module.preloadPlugins.push(e);var t={canHandle:function(e){return!Module.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,i,n){var _=!1;function r(n){_||(_=!0,Module.preloadedAudios[t]=n,i&&i(e))}function o(){_||(_=!0,Module.preloadedAudios[t]=new Audio,n&&n())}if(!Browser.hasBlobConstructor)return o();try{var s=new Blob([e],{type:Browser.getMimetype(t)})}catch(e){return o()}var a=Browser.URLObject.createObjectURL(s),p=new Audio;p.addEventListener("canplaythrough",(function(){r(p)}),!1),p.onerror=function(i){_||(console.log("warning: browser could not fully decode audio "+t+", trying slower base64 approach"),p.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i="",n=0,_=0,r=0;r<e.length;r++)for(n=n<<8|e[r],_+=8;_>=6;){var o=n>>_-6&63;_-=6,i+=t[o]}return 2==_?(i+=t[(3&n)<<4],i+="=="):4==_&&(i+=t[(15&n)<<2],i+="="),i}(e),r(p))},p.src=a,Browser.safeSetTimeout((function(){r(p)}),1e4)}};Module.preloadPlugins.push(t);var i=Module.canvas;i.requestPointerLock=i.requestPointerLock||i.mozRequestPointerLock||i.webkitRequestPointerLock,i.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||function(){},i.exitPointerLock=i.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",n,!1),document.addEventListener("mozpointerlockchange",n,!1),document.addEventListener("webkitpointerlockchange",n,!1),Module.elementPointerLock&&i.addEventListener("click",(function(e){!Browser.pointerLock&&i.requestPointerLock&&(i.requestPointerLock(),e.preventDefault())}),!1)}function n(){Browser.pointerLock=document.pointerLockElement===i||document.mozPointerLockElement===i||document.webkitPointerLockElement===i}},createContext:function(e,t,i){var n;try{if(!(n=t?e.getContext("experimental-webgl",{alpha:!1}):e.getContext("2d")))throw":("}catch(e){return Module.print("Could not create canvas - "+e),null}return t&&(e.style.backgroundColor="black",e.addEventListener("webglcontextlost",(function(e){alert("WebGL context lost. You will need to reload the page.")}),!1)),i&&(Module.ctx=n,Module.useWebGL=t,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n},destroyContext:function(e,t,i){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,t){Browser.lockPointer=e,Browser.resizeCanvas=t,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1);var i=Module.canvas;function n(){Browser.isFullScreen=!1,(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement)===i?(i.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen,i.cancelFullScreen=i.cancelFullScreen.bind(document),Browser.lockPointer&&i.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):Browser.resizeCanvas&&Browser.setWindowedCanvasSize(),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1)),i.requestFullScreen=i.requestFullScreen||i.mozRequestFullScreen||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullScreen()},requestAnimationFrame:function(e){window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||window.setTimeout),window.requestAnimationFrame(e)},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||e()}))},safeSetTimeout:function(e,t){return setTimeout((function(){ABORT||e()}),t)},safeSetInterval:function(e,t){return setInterval((function(){ABORT||e()}),t)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var t,i,n=Module.canvas.getBoundingClientRect();if("touchstart"==e.type||"touchend"==e.type||"touchmove"==e.type){var _=e.touches.item(0);if(!_)return;t=_.pageX-(window.scrollX+n.left),i=_.pageY-(window.scrollY+n.top)}else t=e.pageX-(window.scrollX+n.left),i=e.pageY-(window.scrollY+n.top);var r=Module.canvas.width,o=Module.canvas.height;t*=r/n.width,i*=o/n.height,Browser.mouseMovementX=t-Browser.mouseX,Browser.mouseMovementY=i-Browser.mouseY,Browser.mouseX=t,Browser.mouseY=i}},xhrLoad:function(e,t,i){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):i()},n.onerror=i,n.send(null)},asyncLoad:function(e,t,i,n){Browser.xhrLoad(e,(function(i){assert(i,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(i)),n||removeRunDependency("al "+e)}),(function(t){if(!i)throw'Loading data file "'+e+'" failed.';i()})),n||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(t){t(e.width,e.height)}))},setCanvasSize:function(e,t,i){var n=Module.canvas;n.width=e,n.height=t,i||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){var e=Module.canvas;if(this.windowedWidth=e.width,this.windowedHeight=e.height,e.width=screen.width,e.height=screen.height,"undefined"!=typeof SDL){var t=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];t|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){var e=Module.canvas;if(e.width=this.windowedWidth,e.height=this.windowedHeight,"undefined"!=typeof SDL){var t=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];t&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=t}Browser.updateResizeListeners()}};FS.staticInit(),__ATINIT__.unshift({func:function(){Module.noFSInit||FS.init.initialized||FS.init()}}),__ATMAIN__.push({func:function(){FS.ignorePermissions=!1}}),__ATEXIT__.push({func:function(){FS.quit()}}),Module.FS_createFolder=FS.createFolder,Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createLink=FS.createLink,Module.FS_createDevice=FS.createDevice,___errno_state=Runtime.staticAlloc(4),HEAP32[___errno_state>>2]=0,_llvm_eh_exception.buf=allocate(12,"void*",ALLOC_STATIC),Module.requestFullScreen=function(e,t){Browser.requestFullScreen(e,t)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,t,i){Browser.setCanvasSize(e,t,i)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+5242880,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE<TOTAL_MEMORY);var Math_min=Math.min;function invoke_viiiii(e,t,i,n,_,r){try{Module.dynCall_viiiii(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiif(e,t,i,n,_,r,o){try{return Module.dynCall_iiiiiif(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vif(e,t,i){try{Module.dynCall_vif(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viifii(e,t,i,n,_,r){try{Module.dynCall_viifii(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiifffffif(e,t,i,n,_,r,o,s,a,p,l,d){try{Module.dynCall_viiiifffffif(e,t,i,n,_,r,o,s,a,p,l,d)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,t){try{Module.dynCall_vi(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiffii(e,t,i,n,_,r,o,s,a){try{return Module.dynCall_iiiiiffii(e,t,i,n,_,r,o,s,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vii(e,t,i){try{Module.dynCall_vii(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiifii(e,t,i,n,_,r,o){try{Module.dynCall_viiifii(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ifffffffff(e,t,i,n,_,r,o,s,a,p){try{return Module.dynCall_ifffffffff(e,t,i,n,_,r,o,s,a,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiif(e,t,i,n,_,r){try{Module.dynCall_viiiif(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiffffii(e,t,i,n,_,r,o,s,a,p,l){try{Module.dynCall_viiiiffffii(e,t,i,n,_,r,o,s,a,p,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,t){try{return Module.dynCall_ii(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiifif(e,t,i,n,_,r,o,s,a,p){try{return Module.dynCall_iiiiiiifif(e,t,i,n,_,r,o,s,a,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vifffi(e,t,i,n,_,r){try{Module.dynCall_vifffi(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ifiii(e,t,i,n,_){try{return Module.dynCall_ifiii(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viifi(e,t,i,n,_){try{Module.dynCall_viifi(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiii(e,t,i,n,_,r,o,s,a,p){try{Module.dynCall_viiiiiiiii(e,t,i,n,_,r,o,s,a,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiff(e,t,i,n,_,r,o,s,a){try{Module.dynCall_viiiiiiff(e,t,i,n,_,r,o,s,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiifiii(e,t,i,n,_,r,o,s){try{return Module.dynCall_iiiifiii(e,t,i,n,_,r,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d,c,b){try{return Module.dynCall_iiiiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d,c,b)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viffff(e,t,i,n,_,r){try{Module.dynCall_viffff(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viffiii(e,t,i,n,_,r,o){try{Module.dynCall_viffiii(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d){try{return Module.dynCall_iiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fififii(e,t,i,n,_,r,o){try{return Module.dynCall_fififii(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d){try{return Module.dynCall_fiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiifii(e,t,i,n,_,r){try{return Module.dynCall_fiifii(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ifff(e,t,i,n){try{return Module.dynCall_ifff(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiff(e,t,i,n,_){try{Module.dynCall_viiff(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iifi(e,t,i,n){try{return Module.dynCall_iifi(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,t,i,n){try{return Module.dynCall_iiii(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiifffffi(e,t,i,n,_,r,o,s,a,p,l){try{Module.dynCall_viiiifffffi(e,t,i,n,_,r,o,s,a,p,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fif(e,t,i){try{return Module.dynCall_fif(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiff(e,t,i,n,_,r){try{return Module.dynCall_iiiiff(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viff(e,t,i,n){try{Module.dynCall_viff(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vifi(e,t,i,n){try{Module.dynCall_vifi(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiif(e,t,i,n,_,r,o){try{Module.dynCall_viiiiif(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vifff(e,t,i,n,_){try{Module.dynCall_vifff(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiii(e,t,i,n,_,r,o){try{Module.dynCall_viiiiii(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiiff(e,t,i,n,_){try{return Module.dynCall_fiiff(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiif(e,t,i,n){try{return Module.dynCall_iiif(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiii(e,t,i,n,_,r,o,s){try{return Module.dynCall_iiiiiiii(e,t,i,n,_,r,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiii(e,t,i,n,_,r,o,s,a){try{Module.dynCall_viiiiiiii(e,t,i,n,_,r,o,s,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viffffff(e,t,i,n,_,r,o,s){try{Module.dynCall_viffffff(e,t,i,n,_,r,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiii(e,t,i,n){try{return Module.dynCall_fiii(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiii(e,t,i,n,_,r,o,s,a,p){try{return Module.dynCall_iiiiiiiiii(e,t,i,n,_,r,o,s,a,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiif(e,t,i,n){try{return Module.dynCall_fiif(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l){try{return Module.dynCall_fiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ifii(e,t,i,n){try{return Module.dynCall_ifii(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiffiiiiiii(e,t,i,n,_,r,o,s,a,p,l){try{return Module.dynCall_fiffiiiiiii(e,t,i,n,_,r,o,s,a,p,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d,c){try{return Module.dynCall_iiiiiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l,d,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiiiii(e,t,i,n,_,r){try{return Module.dynCall_fiiiii(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iif(e,t,i){try{return Module.dynCall_iif(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_if(e,t){try{return Module.dynCall_if(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vifffff(e,t,i,n,_,r,o){try{Module.dynCall_vifffff(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiif(e,t,i,n,_,r,o,s,a,p){try{Module.dynCall_viiiiiiiif(e,t,i,n,_,r,o,s,a,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vifii(e,t,i,n,_){try{Module.dynCall_vifii(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fi(e,t){try{return Module.dynCall_fi(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l){try{Module.dynCall_viiiiiiiiii(e,t,i,n,_,r,o,s,a,p,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iii(e,t,i){try{return Module.dynCall_iii(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,t,i,n,_,r){try{return Module.dynCall_iiiiii(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,t,i,n,_,r,o){try{return Module.dynCall_iiiiiii(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiif(e,t,i,n,_,r,o,s,a){try{Module.dynCall_viiiiiiif(e,t,i,n,_,r,o,s,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fii(e,t,i){try{return Module.dynCall_fii(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vifffffffff(e,t,i,n,_,r,o,s,a,p,l){try{Module.dynCall_vifffffffff(e,t,i,n,_,r,o,s,a,p,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiiiiiiii(e,t,i,n,_,r,o,s,a){try{return Module.dynCall_fiiiiiiii(e,t,i,n,_,r,o,s,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iifif(e,t,i,n,_){try{return Module.dynCall_iifif(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iffff(e,t,i,n,_){try{return Module.dynCall_iffff(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiffffiif(e,t,i,n,_,r,o,s,a,p,l,d){try{Module.dynCall_viiiiffffiif(e,t,i,n,_,r,o,s,a,p,l,d)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiif(e,t,i,n,_,r){try{return Module.dynCall_iiiiif(e,t,i,n,_,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiff(e,t,i,n){try{return Module.dynCall_iiff(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiif(e,t,i,n,_){try{Module.dynCall_viiif(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_i(e){try{return Module.dynCall_i(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiifii(e,t,i,n,_,r,o,s){try{Module.dynCall_viiiifii(e,t,i,n,_,r,o,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiifffiii(e,t,i,n,_,r,o,s,a,p){try{return Module.dynCall_iiiifffiii(e,t,i,n,_,r,o,s,a,p)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viii(e,t,i,n){try{Module.dynCall_viii(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iff(e,t,i){try{return Module.dynCall_iff(e,t,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiii(e,t,i,n,_,r,o,s,a){try{return Module.dynCall_iiiiiiiii(e,t,i,n,_,r,o,s,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,t,i,n,_){try{return Module.dynCall_iiiii(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viif(e,t,i,n){try{Module.dynCall_viif(e,t,i,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiif(e,t,i,n,_){try{return Module.dynCall_iiiif(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_fiiifii(e,t,i,n,_,r,o){try{return Module.dynCall_fiiifii(e,t,i,n,_,r,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,t,i,n,_){try{Module.dynCall_viiii(e,t,i,n,_)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function asmPrintInt(e,t){Module.print("int "+e+","+t)}function asmPrintFloat(e,t){Module.print("float "+e+","+t)}var asm=function(e,t,i){"use asm";var n=new e.Int8Array(i);var _=new e.Int16Array(i);var r=new e.Int32Array(i);var o=new e.Uint8Array(i);var s=new e.Uint16Array(i);var a=new e.Uint32Array(i);var p=new e.Float32Array(i);var l=new e.Float64Array(i);var d=t.STACKTOP|0;var c=t.STACK_MAX|0;var b=t.tempDoublePtr|0;var u=t.ABORT|0;var m=t.__ZTVN10__cxxabiv117__class_type_infoE|0;var h=t.__ZTVN10__cxxabiv120__si_class_type_infoE|0;var f=t.___dso_handle|0;var g=+t.NaN;var C=+t.Infinity;var S=0;var y=0;var v=0;var x=0;var M=0,T=0,D=0,P=0,w=0.0,A=0,F=0,R=0,I=0.0;var B=0;var V=0;var E=0;var N=0;var k=0;var O=0;var L=0;var U=0;var G=0;var W=0;var z=e.Math.floor;var H=e.Math.abs;var j=e.Math.sqrt;var X=e.Math.pow;var Z=e.Math.cos;var Q=e.Math.sin;var q=e.Math.tan;var Y=e.Math.acos;var J=e.Math.asin;var K=e.Math.atan;var $=e.Math.atan2;var ee=e.Math.exp;var te=e.Math.log;var ie=e.Math.ceil;var ne=e.Math.imul;var _e=t.abort;var re=t.assert;var oe=t.asmPrintInt;var se=t.asmPrintFloat;var ae=t.min;var pe=t.jsCall;var le=t.invoke_viiiii;var de=t.invoke_iiiiiif;var ce=t.invoke_vif;var be=t.invoke_viifii;var ue=t.invoke_viiiifffffif;var me=t.invoke_vi;var he=t.invoke_iiiiiffii;var fe=t.invoke_vii;var ge=t.invoke_viiifii;var Ce=t.invoke_ifffffffff;var Se=t.invoke_viiiif;var ye=t.invoke_viiiiffffii;var ve=t.invoke_ii;var xe=t.invoke_iiiiiiifif;var Me=t.invoke_vifffi;var Te=t.invoke_ifiii;var De=t.invoke_viifi;var Pe=t.invoke_viiiiiiiii;var we=t.invoke_viiiiiiff;var Ae=t.invoke_iiiifiii;var Fe=t.invoke_iiiiiiiiiiiiii;var Re=t.invoke_viffff;var Ie=t.invoke_viffiii;var Be=t.invoke_iiiiiiiiiiii;var Ve=t.invoke_fififii;var Ee=t.invoke_fiiiiiiiiiii;var Ne=t.invoke_fiifii;var ke=t.invoke_ifff;var Oe=t.invoke_viiff;var Le=t.invoke_iifi;var Ue=t.invoke_iiii;var Ge=t.invoke_viiiifffffi;var We=t.invoke_fif;var ze=t.invoke_iiiiff;var He=t.invoke_viff;var je=t.invoke_vifi;var Xe=t.invoke_viiiiif;var Ze=t.invoke_vifff;var Qe=t.invoke_viiiiii;var qe=t.invoke_fiiff;var Ye=t.invoke_iiif;var Je=t.invoke_iiiiiiii;var Ke=t.invoke_viiiiiiii;var $e=t.invoke_viffffff;var et=t.invoke_fiii;var tt=t.invoke_iiiiiiiiii;var it=t.invoke_fiif;var nt=t.invoke_fiiiiiiiiii;var _t=t.invoke_ifii;var rt=t.invoke_fiffiiiiiii;var ot=t.invoke_iiiiiiiiiiiii;var st=t.invoke_fiiiii;var at=t.invoke_iif;var pt=t.invoke_if;var lt=t.invoke_vifffff;var dt=t.invoke_viiiiiiiif;var ct=t.invoke_vifii;var bt=t.invoke_fi;var ut=t.invoke_viiiiiiiiii;var mt=t.invoke_iii;var ht=t.invoke_iiiiii;var ft=t.invoke_iiiiiii;var gt=t.invoke_viiiiiiif;var Ct=t.invoke_fii;var St=t.invoke_vifffffffff;var yt=t.invoke_fiiiiiiii;var vt=t.invoke_iifif;var xt=t.invoke_iffff;var Mt=t.invoke_viiiiffffiif;var Tt=t.invoke_iiiiif;var Dt=t.invoke_iiff;var Pt=t.invoke_viiif;var wt=t.invoke_i;var At=t.invoke_viiiifii;var Ft=t.invoke_iiiifffiii;var Rt=t.invoke_viii;var It=t.invoke_iff;var Bt=t.invoke_v;var Vt=t.invoke_iiiiiiiii;var Et=t.invoke_iiiii;var Nt=t.invoke_viif;var kt=t.invoke_iiiif;var Ot=t.invoke_fiiifii;var Lt=t.invoke_viiii;var Ut=t._llvm_lifetime_end;var Gt=t._cosf;var Wt=t._fabsf;var zt=t._sysconf;var Ht=t.___cxa_throw;var jt=t._atexit;var Xt=t._abort;var Zt=t._fprintf;var Qt=t._llvm_eh_exception;var qt=t._printf;var Yt=t._acosf;var Jt=t._fflush;var Kt=t._sqrtf;var $t=t._write;var ei=t.___setErrNo;var ti=t._fwrite;var ii=t._send;var ni=t._llvm_pow_f32;var _i=t._llvm_umul_with_overflow_i32;var ri=t._exit;var oi=t._atan2f;var si=t.___cxa_pure_virtual;var ai=t._llvm_bswap_i16;var pi=t.__formatString;var li=t.__reallyNegative;var di=t._time;var ci=t._asinf;var bi=t.___cxa_does_inherit;var ui=t.___cxa_guard_acquire;var mi=t.__ZSt9terminatev;var hi=t._gettimeofday;var fi=t.___cxa_find_matching_catch;var gi=t._sinf;var Ci=t.__ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback;var Si=t.___assert_func;var yi=t.__ZSt18uncaught_exceptionv;var vi=t._pwrite;var xi=t.___cxa_call_unexpected;var Mi=t._sbrk;var Ti=t.___cxa_guard_abort;var Di=t.___cxa_allocate_exception;var Pi=t.___errno_location;var wi=t.___gxx_personality_v0;var Ai=t.__ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback;var Fi=t._llvm_lifetime_start;var Ri=t.___cxa_is_number_type;var Ii=t._llvm_bswap_i32;var Bi=t._fmod;var Vi=t.___cxa_guard_release;var Ei=t.__exit;var Ni=t.___resumeException;function ki(e){e=e|0;var t=0;t=d;d=d+e|0;d=d+7>>3<<3;return t|0}function Oi(){return d|0}function Li(e){e=e|0;d=e}function Ui(e,t){e=e|0;t=t|0;if((S|0)==0){S=e;y=t}}function Gi(e){e=e|0;n[b]=n[e];n[b+1|0]=n[e+1|0];n[b+2|0]=n[e+2|0];n[b+3|0]=n[e+3|0]}function Wi(e){e=e|0;n[b]=n[e];n[b+1|0]=n[e+1|0];n[b+2|0]=n[e+2|0];n[b+3|0]=n[e+3|0];n[b+4|0]=n[e+4|0];n[b+5|0]=n[e+5|0];n[b+6|0]=n[e+6|0];n[b+7|0]=n[e+7|0]}function zi(e){e=e|0;B=e}function Hi(e){e=e|0;V=e}function ji(e){e=e|0;E=e}function Xi(e){e=e|0;N=e}function Zi(e){e=e|0;k=e}function Qi(e){e=e|0;O=e}function qi(e){e=e|0;L=e}function Yi(e){e=e|0;U=e}function Ji(e){e=e|0;G=e}function Ki(e){e=e|0;W=e}function $i(){r[h+8>>2]=512;r[h+12>>2]=384;r[h+16>>2]=82;r[h+20>>2]=488;r[h+24>>2]=174;r[h+28>>2]=80;r[h+32>>2]=104;r[h+36>>2]=224;r[m+8>>2]=512;r[m+12>>2]=440;r[m+16>>2]=82;r[m+20>>2]=488;r[m+24>>2]=174;r[m+28>>2]=52;r[m+32>>2]=96;r[m+36>>2]=544;r[8500]=h+8;r[8504]=h+8;r[8508]=h+8;r[8512]=h+8;r[8516]=h+8;r[8520]=h+8;r[8524]=h+8;r[8528]=h+8;r[8532]=h+8;r[8536]=h+8;r[8540]=h+8;r[8544]=h+8;r[8548]=h+8;r[8552]=h+8;r[8556]=h+8;r[8560]=h+8;r[8564]=h+8;r[8568]=h+8;r[8572]=h+8;r[8576]=h+8;r[8580]=h+8;r[8584]=h+8;r[8588]=m+8;r[8590]=m+8;r[8592]=h+8;r[8596]=m+8;r[8598]=m+8;r[8600]=h+8;r[8604]=h+8;r[8608]=h+8;r[8612]=h+8;r[8616]=h+8;r[8620]=h+8;r[8624]=h+8;r[8628]=h+8;r[8632]=m+8;r[8634]=h+8;r[8638]=h+8;r[8642]=h+8;r[8646]=h+8;r[8650]=h+8;r[8654]=m+8;r[8656]=m+8;r[8658]=m+8;r[8660]=m+8;r[8662]=h+8;r[8666]=h+8;r[8670]=h+8;r[8674]=h+8;r[8678]=m+8;r[8680]=h+8;r[8684]=h+8;r[8688]=h+8;r[8692]=h+8;r[8696]=h+8;r[8700]=h+8;r[8704]=h+8;r[8708]=h+8;r[8712]=m+8;r[8714]=h+8;r[8718]=h+8;r[8722]=h+8;r[8726]=m+8;r[8728]=m+8;r[8730]=h+8;r[8734]=h+8;r[8738]=h+8;r[8742]=h+8;r[8746]=h+8;r[8750]=h+8;r[8754]=h+8;r[8758]=h+8;r[8762]=h+8;r[8766]=h+8;r[8770]=h+8;r[8774]=h+8;r[8778]=m+8;r[8780]=m+8;r[8782]=h+8;r[8786]=h+8;r[8790]=h+8;r[8794]=h+8;r[8798]=h+8;r[8802]=h+8;r[8806]=h+8;r[8810]=h+8;r[8814]=m+8;r[8816]=m+8;r[8818]=m+8;r[8820]=h+8;r[8824]=h+8;r[8828]=h+8;r[8832]=h+8;r[8836]=h+8;r[8840]=h+8;r[8844]=h+8;r[8848]=h+8;r[8852]=h+8;r[8856]=h+8;r[8860]=h+8;r[8864]=h+8;r[8868]=h+8;r[8872]=h+8;r[8876]=h+8;r[8880]=h+8;r[8884]=h+8;r[8888]=h+8;r[8892]=m+8;r[8894]=h+8;r[8898]=h+8;r[8902]=h+8;r[8906]=m+8;r[8908]=h+8;r[8912]=h+8;r[8916]=m+8;r[8918]=h+8;r[8922]=h+8;r[8926]=h+8;r[8930]=h+8;r[8934]=h+8;r[8938]=h+8;r[8942]=h+8;r[8946]=m+8;r[8948]=m+8;r[8950]=h+8;r[8954]=h+8;r[8958]=h+8;r[8962]=h+8;r[8966]=h+8;r[8970]=h+8;r[8974]=m+8;r[8976]=m+8;r[8984]=m+8;r[8986]=h+8;r[8990]=h+8;r[8994]=h+8;r[8998]=m+8;r[9e3]=m+8;r[9002]=h+8;r[9014]=h+8;r[9018]=h+8;r[9022]=h+8;r[9026]=h+8;r[9030]=h+8;r[9034]=h+8;r[9038]=h+8;r[9042]=m+8;r[9044]=m+8;r[9046]=h+8;r[9050]=h+8;r[9054]=h+8;r[9058]=h+8;r[9062]=h+8;r[9066]=h+8;r[9070]=h+8;r[9074]=h+8;r[9078]=h+8;r[9082]=h+8;r[9086]=h+8;r[9090]=m+8;r[9092]=h+8;r[9096]=h+8;r[9100]=h+8;r[9104]=m+8;r[9106]=h+8;r[9110]=m+8;r[9112]=h+8;r[9116]=h+8;r[9120]=h+8;r[9124]=m+8;r[9126]=m+8;r[9128]=h+8;r[9132]=h+8;r[9136]=h+8;r[9140]=h+8;r[9144]=h+8;r[9148]=h+8}function en(e){e=e|0;return 44}function tn(e,t,i,n,_,r,o,s,a,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;l=l|0;var d=0,c=0;d=e+48|0;c=e|0;do{c=c+16|0}while((c|0)!=(d|0));p[e>>2]=+p[t>>2];p[e+4>>2]=+p[i>>2];p[e+8>>2]=+p[n>>2];p[e+12>>2]=0.0;p[e+16>>2]=+p[_>>2];p[e+20>>2]=+p[r>>2];p[e+24>>2]=+p[o>>2];p[e+28>>2]=0.0;p[e+32>>2]=+p[s>>2];p[e+36>>2]=+p[a>>2];p[e+40>>2]=+p[l>>2];p[e+44>>2]=0.0;return}function nn(e,t){e=e|0;t=t|0;var i=0,n=0;i=0;while(1){if((i|0)<3){n=0}else{break}while(1){if((n|0)>=4){break}p[t+(i<<4)+(n<<2)>>2]=+p[e+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}return}function _n(e,t){e=e|0;t=t|0;var i=0,n=0;i=0;while(1){if((i|0)<3){n=0}else{break}while(1){if((n|0)>=4){break}p[e+(i<<4)+(n<<2)>>2]=+l[t+(i<<5)+(n<<3)>>3];n=n+1|0}i=i+1|0}return}function rn(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,r=0,o=0.0,s=0,a=0.0,l=0,d=0.0,c=0,b=0.0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0;i=e|0;n=e+4|0;_=+p[n>>2]-+p[t+4>>2];r=e+8|0;o=+p[r>>2]-+p[t+8>>2];s=e+16|0;a=+p[s>>2]-+p[t+16>>2];l=e+20|0;d=+p[l>>2]-+p[t+20>>2];c=e+24|0;b=+p[c>>2]-+p[t+24>>2];u=e+32|0;m=+p[u>>2]-+p[t+32>>2];h=e+36|0;f=+p[h>>2]-+p[t+36>>2];g=e+40|0;C=+p[g>>2]-+p[t+40>>2];p[i>>2]=+p[i>>2]-+p[t>>2];p[n>>2]=_;p[r>>2]=o;p[e+12>>2]=0.0;p[s>>2]=a;p[l>>2]=d;p[c>>2]=b;p[e+28>>2]=0.0;p[u>>2]=m;p[h>>2]=f;p[g>>2]=C;p[e+44>>2]=0.0;return e|0}function on(e,t){e=e|0;t=t|0;return+(+p[e+8>>2]*+p[t>>2]+ +p[e+24>>2]*+p[t+4>>2]+ +p[e+40>>2]*+p[t+8>>2])}function sn(e,t){e=e|0;t=t|0;var i=0,n=0;i=0;while(1){if((i|0)<3){n=0}else{break}while(1){if((n|0)>=4){break}p[t+(i<<4)+(n<<2)>>2]=+p[e+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}return}function an(e,t){e=e|0;t=t|0;return+(+p[e>>2]*+p[t>>2]+ +p[e+16>>2]*+p[t+4>>2]+ +p[e+32>>2]*+p[t+8>>2])}function pn(e,t){e=e|0;t=t|0;return+(+p[e+4>>2]*+p[t>>2]+ +p[e+20>>2]*+p[t+4>>2]+ +p[e+36>>2]*+p[t+8>>2])}function ln(e,t){e=e|0;t=t|0;var i=0.0,_=0.0;do{if((n[43976]|0)==0){if((ui(43976)|0)==0){break}}}while(0);i=+p[e+16+(t<<2)>>2];_=+p[e+32+(t<<2)>>2];p[9778]=+p[e+(t<<2)>>2];p[9779]=i;p[9780]=_;p[9781]=0.0;return 39112}function dn(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0;i=d;d=d+120|0;_=i|0;o=i+8|0;s=i+16|0;a=i+24|0;l=i+32|0;c=i+40|0;b=i+48|0;u=i+56|0;m=i+64|0;h=i+72|0;do{if((n[44104]|0)==0){if((ui(44104)|0)==0){break}else{f=39064}do{f=f+16|0}while((f|0)!=39112)}}while(0);g=+p[t>>2];p[_>>2]=+p[e>>2]*g;C=+p[t+4>>2];p[o>>2]=+p[e+4>>2]*C;S=+p[t+8>>2];p[s>>2]=+p[e+8>>2]*S;p[a>>2]=+p[e+16>>2]*g;p[l>>2]=+p[e+20>>2]*C;p[c>>2]=+p[e+24>>2]*S;p[b>>2]=+p[e+32>>2]*g;p[u>>2]=+p[e+36>>2]*C;p[m>>2]=+p[e+40>>2]*S;tn(h,_,o,s,a,l,c,b,u,m);m=h;r[9766]=r[m>>2];r[9767]=r[m+4>>2];r[9768]=r[m+8>>2];r[9769]=r[m+12>>2];m=h+16|0;r[9770]=r[m>>2];r[39084>>2]=r[m+4>>2];r[39088>>2]=r[m+8>>2];r[39092>>2]=r[m+12>>2];m=h+32|0;r[9774]=r[m>>2];r[39100>>2]=r[m+4>>2];r[39104>>2]=r[m+8>>2];r[39108>>2]=r[m+12>>2];d=i;return 39064}function cn(e,t){e=e|0;t=t|0;var i=0,_=0,o=0;i=d;d=d+48|0;_=i|0;do{if((n[43888]|0)==0){if((ui(43888)|0)==0){break}else{o=38264}do{o=o+16|0}while((o|0)!=38312)}}while(0);bn(_,e,t);t=_;r[9566]=r[t>>2];r[9567]=r[t+4>>2];r[9568]=r[t+8>>2];r[9569]=r[t+12>>2];t=_+16|0;r[9570]=r[t>>2];r[38284>>2]=r[t+4>>2];r[38288>>2]=r[t+8>>2];r[38292>>2]=r[t+12>>2];t=_+32|0;r[9574]=r[t>>2];r[38300>>2]=r[t+4>>2];r[38304>>2]=r[t+8>>2];r[38308>>2]=r[t+12>>2];d=i;return 38264}function bn(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,r=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0;n=d;d=d+72|0;_=n|0;r=n+8|0;o=n+16|0;s=n+24|0;a=n+32|0;l=n+40|0;c=n+48|0;b=n+56|0;u=n+64|0;m=+p[t>>2];h=+p[i>>2];f=+p[t+16>>2];g=+p[i+16>>2];C=+p[t+32>>2];S=+p[i+32>>2];p[_>>2]=m*h+f*g+C*S;y=+p[i+4>>2];v=+p[i+20>>2];x=+p[i+36>>2];p[r>>2]=m*y+f*v+C*x;M=+p[i+8>>2];T=+p[i+24>>2];D=+p[i+40>>2];p[o>>2]=m*M+f*T+C*D;C=+p[t+4>>2];f=+p[t+20>>2];m=+p[t+36>>2];p[s>>2]=C*h+f*g+m*S;p[a>>2]=C*y+f*v+m*x;p[l>>2]=C*M+f*T+m*D;m=+p[t+8>>2];f=+p[t+24>>2];C=+p[t+40>>2];p[c>>2]=m*h+f*g+C*S;p[b>>2]=m*y+f*v+C*x;p[u>>2]=m*M+f*T+C*D;tn(e,_,r,o,s,a,l,c,b,u);d=n;return}function un(e,t){e=e|0;t=t|0;mn(e,t);return}function mn(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0;i=d;d=d+16|0;n=i|0;_=+p[e>>2];r=+p[e+20>>2];o=+p[e+40>>2];s=_+r+o;if(s>0.0){a=+j(+(s+1.0));s=a*.5;p[n+12>>2]=s;l=.5/a;a=(+p[e+36>>2]-+p[e+24>>2])*l;p[n>>2]=a;c=(+p[e+8>>2]-+p[e+32>>2])*l;p[n+4>>2]=c;b=(+p[e+16>>2]-+p[e+4>>2])*l;p[n+8>>2]=b;u=a;m=c;h=b;f=s;g=t|0;p[g>>2]=u;C=t+4|0;p[C>>2]=m;S=t+8|0;p[S>>2]=h;y=t+12|0;p[y>>2]=f;d=i;return}if(_<r){v=r<o?2:1}else{v=_<o?2:0}x=((v+1|0)>>>0)%3|0;M=((v+2|0)>>>0)%3|0;o=+j(+(+p[e+(v<<4)+(v<<2)>>2]-+p[e+(x<<4)+(x<<2)>>2]-+p[e+(M<<4)+(M<<2)>>2]+1.0));p[n+(v<<2)>>2]=o*.5;_=.5/o;T=n+12|0;p[T>>2]=(+p[e+(M<<4)+(x<<2)>>2]-+p[e+(x<<4)+(M<<2)>>2])*_;p[n+(x<<2)>>2]=(+p[e+(x<<4)+(v<<2)>>2]+ +p[e+(v<<4)+(x<<2)>>2])*_;p[n+(M<<2)>>2]=(+p[e+(M<<4)+(v<<2)>>2]+ +p[e+(v<<4)+(M<<2)>>2])*_;u=+p[n>>2];m=+p[n+4>>2];h=+p[n+8>>2];f=+p[T>>2];g=t|0;p[g>>2]=u;C=t+4|0;p[C>>2]=m;S=t+8|0;p[S>>2]=h;y=t+12|0;p[y>>2]=f;d=i;return}function hn(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;t=d;d=d+120|0;i=t|0;_=t+8|0;o=t+16|0;s=t+24|0;a=t+32|0;l=t+40|0;c=t+48|0;b=t+56|0;u=t+64|0;m=t+72|0;do{if((n[44032]|0)==0){if((ui(44032)|0)==0){break}else{h=38056}do{h=h+16|0}while((h|0)!=38104)}}while(0);p[i>>2]=+H(+ +p[e>>2]);p[_>>2]=+H(+ +p[e+4>>2]);p[o>>2]=+H(+ +p[e+8>>2]);p[s>>2]=+H(+ +p[e+16>>2]);p[a>>2]=+H(+ +p[e+20>>2]);p[l>>2]=+H(+ +p[e+24>>2]);p[c>>2]=+H(+ +p[e+32>>2]);p[b>>2]=+H(+ +p[e+36>>2]);p[u>>2]=+H(+ +p[e+40>>2]);tn(m,i,_,o,s,a,l,c,b,u);u=m;r[9514]=r[u>>2];r[9515]=r[u+4>>2];r[9516]=r[u+8>>2];r[9517]=r[u+12>>2];u=m+16|0;r[9518]=r[u>>2];r[38076>>2]=r[u+4>>2];r[38080>>2]=r[u+8>>2];r[38084>>2]=r[u+12>>2];u=m+32|0;r[9522]=r[u>>2];r[38092>>2]=r[u+4>>2];r[38096>>2]=r[u+8>>2];r[38100>>2]=r[u+12>>2];d=t;return 38056}function fn(){var e=0,t=0,i=0,n=0;while(1){e=hBe(48)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=65;break}prt[t&63]()}if((i|0)==65){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=e;t=e+48|0;n=e;do{n=n+16|0}while((n|0)!=(t|0));return i|0}function gn(e){e=e|0;var t=0,i=0,n=0,_=0;while(1){t=hBe(48)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){n=79;break}prt[i&63]()}if((n|0)==79){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}n=t;i=t+48|0;_=t;do{_=_+16|0}while((_|0)!=(i|0));Tn(n,e);return n|0}function Cn(e,t,i,n,_,o,s,a,l){e=+e;t=+t;i=+i;n=+n;_=+_;o=+o;s=+s;a=+a;l=+l;var c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;c=d;d=d+72|0;b=c|0;u=c+8|0;m=c+16|0;h=c+24|0;f=c+32|0;g=c+40|0;C=c+48|0;S=c+56|0;y=c+64|0;p[b>>2]=e;p[u>>2]=t;p[m>>2]=i;p[h>>2]=n;p[f>>2]=_;p[g>>2]=o;p[C>>2]=s;p[S>>2]=a;p[y>>2]=l;while(1){v=hBe(48)|0;if((v|0)!=0){x=96;break}M=(R=r[10744]|0,r[10744]=R+0,R);if((M|0)==0){break}prt[M&63]()}if((x|0)==96){x=v;tn(x,b,u,m,h,f,g,C,S,y);d=c;return x|0}x=Di(4)|0;r[x>>2]=19096;Ht(x|0,34368,676);return 0}function Sn(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+(+p[e+(t<<4)+(i<<2)>>2]*+p[e+(n<<4)+(_<<2)>>2]-+p[e+(t<<4)+(_<<2)>>2]*+p[e+(n<<4)+(i<<2)>>2])}function yn(e,t){e=e|0;t=t|0;var i=0,n=0;i=0;while(1){if((i|0)<3){n=0}else{break}while(1){if((n|0)>=4){break}p[e+(i<<4)+(n<<2)>>2]=+p[t+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}return}function vn(e,t){e=e|0;t=t|0;return e+(t<<4)|0}function xn(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,r=0,o=0.0,s=0,a=0.0,l=0,d=0.0,c=0,b=0.0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0;i=e|0;n=e+4|0;_=+p[n>>2]+ +p[t+4>>2];r=e+8|0;o=+p[r>>2]+ +p[t+8>>2];s=e+16|0;a=+p[s>>2]+ +p[t+16>>2];l=e+20|0;d=+p[l>>2]+ +p[t+20>>2];c=e+24|0;b=+p[c>>2]+ +p[t+24>>2];u=e+32|0;m=+p[u>>2]+ +p[t+32>>2];h=e+36|0;f=+p[h>>2]+ +p[t+36>>2];g=e+40|0;C=+p[g>>2]+ +p[t+40>>2];p[i>>2]=+p[i>>2]+ +p[t>>2];p[n>>2]=_;p[r>>2]=o;p[e+12>>2]=0.0;p[s>>2]=a;p[l>>2]=d;p[c>>2]=b;p[e+28>>2]=0.0;p[u>>2]=m;p[h>>2]=f;p[g>>2]=C;p[e+44>>2]=0.0;return e|0}function Mn(e,t){e=e|0;t=t|0;var i=0.0,n=0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0;i=+p[t>>2];n=e|0;_=+p[n>>2];r=+p[t+16>>2];o=+p[e+4>>2];s=+p[t+32>>2];a=+p[e+8>>2];l=+p[t+4>>2];d=+p[t+20>>2];c=+p[t+36>>2];b=+p[t+8>>2];u=+p[t+24>>2];m=+p[t+40>>2];h=+p[e+16>>2];f=+p[e+20>>2];g=+p[e+24>>2];C=+p[e+32>>2];S=+p[e+36>>2];y=+p[e+40>>2];p[n>>2]=i*_+r*o+s*a;p[e+4>>2]=l*_+d*o+c*a;p[e+8>>2]=b*_+u*o+m*a;p[e+12>>2]=0.0;p[e+16>>2]=i*h+r*f+s*g;p[e+20>>2]=l*h+d*f+c*g;p[e+24>>2]=b*h+u*f+m*g;p[e+28>>2]=0.0;p[e+32>>2]=i*C+r*S+s*y;p[e+36>>2]=l*C+d*S+c*y;p[e+40>>2]=b*C+u*S+m*y;p[e+44>>2]=0.0;return e|0}function Tn(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0;i=+p[t>>2];n=+p[t+4>>2];_=+p[t+8>>2];r=+p[t+12>>2];o=2.0/(i*i+n*n+_*_+r*r);s=i*o;a=n*o;l=_*o;o=r*s;d=r*a;c=r*l;r=i*s;s=i*a;b=i*l;i=n*a;a=n*l;n=_*l;p[e>>2]=1.0-(i+n);p[e+4>>2]=s-c;p[e+8>>2]=b+d;p[e+12>>2]=0.0;p[e+16>>2]=s+c;p[e+20>>2]=1.0-(r+n);p[e+24>>2]=a-o;p[e+28>>2]=0.0;p[e+32>>2]=b-d;p[e+36>>2]=a+o;p[e+40>>2]=1.0-(r+i);p[e+44>>2]=0.0;return}function Dn(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0.0,r=0.0,o=0.0;t=+p[e+20>>2];i=+p[e+40>>2];n=+p[e+24>>2];_=+p[e+36>>2];r=+p[e+32>>2];o=+p[e+16>>2];return+(+p[e>>2]*(t*i-n*_)+ +p[e+4>>2]*(n*r-o*i)+ +p[e+8>>2]*(o*_-t*r))}function Pn(e,t,i,n,_,r,o,s,a,l){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;l=+l;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=0.0;p[e+16>>2]=_;p[e+20>>2]=r;p[e+24>>2]=o;p[e+28>>2]=0.0;p[e+32>>2]=s;p[e+36>>2]=a;p[e+40>>2]=l;p[e+44>>2]=0.0;return}function wn(e){e=e|0;var t=0,i=0,_=0;t=d;d=d+48|0;i=t|0;do{if((n[44056]|0)==0){if((ui(44056)|0)==0){break}else{_=37848}do{_=_+16|0}while((_|0)!=37896)}}while(0);An(i,e);e=i;r[9462]=r[e>>2];r[9463]=r[e+4>>2];r[9464]=r[e+8>>2];r[9465]=r[e+12>>2];e=i+16|0;r[9466]=r[e>>2];r[37868>>2]=r[e+4>>2];r[37872>>2]=r[e+8>>2];r[37876>>2]=r[e+12>>2];e=i+32|0;r[9470]=r[e>>2];r[37884>>2]=r[e+4>>2];r[37888>>2]=r[e+8>>2];r[37892>>2]=r[e+12>>2];d=t;return 37848}function An(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,r=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0;i=d;d=d+72|0;n=i|0;_=i+8|0;r=i+16|0;o=i+24|0;s=i+32|0;a=i+40|0;l=i+48|0;c=i+56|0;b=i+64|0;u=+p[t+20>>2];m=+p[t+40>>2];h=+p[t+24>>2];f=+p[t+36>>2];g=u*m-h*f;C=+p[t+32>>2];S=+p[t+16>>2];y=h*C-S*m;v=S*f-u*C;x=+p[t>>2];M=+p[t+4>>2];T=+p[t+8>>2];D=1.0/(x*g+M*y+T*v);p[n>>2]=g*D;p[_>>2]=(T*f-M*m)*D;p[r>>2]=(M*h-T*u)*D;p[o>>2]=y*D;p[s>>2]=(x*m-T*C)*D;p[a>>2]=(T*S-x*h)*D;p[l>>2]=v*D;p[c>>2]=(M*C-x*f)*D;p[b>>2]=(x*u-M*S)*D;tn(e,n,_,r,o,s,a,l,c,b);d=i;return}function Fn(){Rn();return 42816}function Rn(){var e=0,t=0,i=0,_=0,r=0,o=0,s=0,a=0,l=0,c=0;e=d;d=d+72|0;t=e|0;i=e+8|0;_=e+16|0;r=e+24|0;o=e+32|0;s=e+40|0;a=e+48|0;l=e+56|0;c=e+64|0;if((n[43048]|0)!=0){d=e;return}if((ui(43048)|0)==0){d=e;return}p[t>>2]=1.0;p[i>>2]=0.0;p[_>>2]=0.0;p[r>>2]=0.0;p[o>>2]=1.0;p[s>>2]=0.0;p[a>>2]=0.0;p[l>>2]=0.0;p[c>>2]=1.0;tn(42816,t,i,_,r,o,s,a,l,c);d=e;return}function In(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0;t=d;d=d+120|0;i=t|0;_=t+8|0;o=t+16|0;s=t+24|0;a=t+32|0;l=t+40|0;c=t+48|0;b=t+56|0;u=t+64|0;m=t+72|0;do{if((n[44064]|0)==0){if((ui(44064)|0)==0){break}else{h=37640}do{h=h+16|0}while((h|0)!=37688)}}while(0);f=+p[e+20>>2];g=+p[e+40>>2];C=+p[e+24>>2];S=+p[e+36>>2];p[i>>2]=f*g-C*S;y=+p[e+8>>2];v=+p[e+4>>2];p[_>>2]=y*S-v*g;p[o>>2]=v*C-y*f;x=+p[e+32>>2];M=+p[e+16>>2];p[s>>2]=C*x-M*g;T=+p[e>>2];p[a>>2]=T*g-y*x;p[l>>2]=y*M-T*C;p[c>>2]=M*S-f*x;p[b>>2]=v*x-T*S;p[u>>2]=T*f-v*M;tn(m,i,_,o,s,a,l,c,b,u);u=m;r[9410]=r[u>>2];r[9411]=r[u+4>>2];r[9412]=r[u+8>>2];r[9413]=r[u+12>>2];u=m+16|0;r[9414]=r[u>>2];r[37660>>2]=r[u+4>>2];r[37664>>2]=r[u+8>>2];r[37668>>2]=r[u+12>>2];u=m+32|0;r[9418]=r[u>>2];r[37676>>2]=r[u+4>>2];r[37680>>2]=r[u+8>>2];r[37684>>2]=r[u+12>>2];d=t;return 37640}function Bn(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;Vn(e,t,i,n);return}function Vn(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;var _=0,r=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0.0,u=0.0,m=0.0,h=0,f=0,g=0,C=0.0,S=0,y=0,v=0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0;p[t>>2]=1.0;vBe(t+4|0,0,16);p[t+20>>2]=1.0;vBe(t+24|0,0,16);p[t+40>>2]=1.0;p[t+44>>2]=0.0;_=e+4|0;r=e+8|0;o=e+24|0;s=e|0;a=e+20|0;l=e+40|0;d=n;while(1){if((d|0)<=0){c=147;break}b=+H(+ +p[_>>2]);u=+H(+ +p[r>>2]);n=u>b;m=n?u:b;b=+H(+ +p[o>>2]);if(b>m){h=1;f=2;g=0;C=b}else{h=0;f=n?2:1;g=n?1:2;C=m}m=+H(+ +p[s>>2]);b=m+ +H(+ +p[a>>2]);m=(b+ +H(+ +p[l>>2]))*i;if(C>m){S=d}else{if(C>m*1.1920928955078125e-7){S=1}else{c=148;break}}n=e+(h<<4)+(f<<2)|0;m=+p[n>>2];y=e+(f<<4)+(f<<2)|0;v=e+(h<<4)+(h<<2)|0;b=(+p[y>>2]-+p[v>>2])/(m*2.0);u=b*b;if(u*u<83886080.0){x=+j(+(u+1.0));if(b<0.0){M=b-x}else{M=b+x}x=1.0/M;T=1.0/+j(+(x*x+1.0));D=T*x;P=T;w=x}else{x=1.0/(b*(.5/u+2.0));u=1.0-x*.5*x;D=u*x;P=u;w=x}p[e+(f<<4)+(h<<2)>>2]=0.0;p[n>>2]=0.0;x=w*m;p[v>>2]=+p[v>>2]-x;p[y>>2]=+p[y>>2]+x;y=e+(g<<4)+(h<<2)|0;x=+p[y>>2];v=e+(g<<4)+(f<<2)|0;m=+p[v>>2];u=P*x-D*m;p[e+(h<<4)+(g<<2)>>2]=u;p[y>>2]=u;u=P*m+D*x;p[e+(f<<4)+(g<<2)>>2]=u;p[v>>2]=u;v=0;while(1){if((v|0)>=3){break}u=+p[t+(v<<4)+(h<<2)>>2];x=+p[t+(v<<4)+(f<<2)>>2];p[t+(v<<4)+(h<<2)>>2]=P*u-D*x;p[t+(v<<4)+(f<<2)>>2]=P*x+D*u;v=v+1|0}d=S-1|0}if((c|0)==147){return}else if((c|0)==148){return}}function En(e,t){e=e|0;t=t|0;Tn(e,t);return}function Nn(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;kn(e,t,i,n);return}function kn(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;_=+Z(+t);r=+Z(+i);o=+Z(+n);s=+Q(+t);t=+Q(+i);i=+Q(+n);n=_*o;a=_*i;l=s*o;d=s*i;p[e>>2]=r*o;p[e+4>>2]=t*l-a;p[e+8>>2]=t*n+d;p[e+12>>2]=0.0;p[e+16>>2]=r*i;p[e+20>>2]=t*d+n;p[e+24>>2]=t*a-l;p[e+28>>2]=0.0;p[e+32>>2]=-0.0-t;p[e+36>>2]=r*s;p[e+40>>2]=r*_;p[e+44>>2]=0.0;return}function On(e){e=e|0;p[e>>2]=1.0;vBe(e+4|0,0,16);p[e+20>>2]=1.0;vBe(e+24|0,0,16);p[e+40>>2]=1.0;p[e+44>>2]=0.0;return}function Ln(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+16|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+32|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return e|0}function Un(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0,r=0,o=0,s=0;_=d;d=d+24|0;r=_|0;o=_+8|0;s=_+16|0;p[r>>2]=t;p[o>>2]=i;p[s>>2]=n;Gn(e,r,o,s,1);d=_;return}function Gn(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0;r=+p[e+32>>2];if(+H(+r)<1.0){do{if(r<-1.0){o=-1.0}else{if(r<=1.0){o=r;break}o=1.0}}while(0);s=+J(+o);o=-0.0-s;a=s+3.1415927410125732;s=+p[e+36>>2];l=+Z(+o);d=+p[e+40>>2];c=+$(+(s/l),+(d/l));b=+Z(+a);u=+$(+(s/b),+(d/b));d=+p[e+16>>2];s=+p[e>>2];m=+$(+(d/l),+(s/l));h=c;f=+$(+(d/b),+(s/b));g=a;C=u;S=m;y=o}else{o=+$(+ +p[e>>2],+ +p[e+8>>2])+1.5707963705062866;m=r>0.0?1.5707963705062866:-1.5707963705062866;h=o;f=0.0;g=m;C=o;S=0.0;y=m}e=(_|0)==1;p[t>>2]=e?S:f;p[i>>2]=e?y:g;p[n>>2]=e?h:C;return}function Wn(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;var r=0,o=0,s=0,a=0;r=d;d=d+24|0;o=r|0;s=r+8|0;a=r+16|0;p[o>>2]=t;p[s>>2]=i;p[a>>2]=n;Gn(e,o,s,a,_);d=r;return}function zn(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;kn(e,n,i,t);return}function Hn(e,t){e=e|0;t=t|0;var i=0,n=0;i=0;while(1){if((i|0)<3){n=0}else{break}while(1){if((n|0)>=4){break}p[e+(i<<4)+(n<<2)>>2]=+p[t+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}return}function jn(e,t){e=e|0;t=t|0;return e+(t<<4)|0}function Xn(e,t){e=e|0;t=t|0;n[e+24|0]=t&1;return}function Zn(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function Qn(e){e=e|0;return+ +p[e+12>>2]}function qn(e){e=e|0;return r[e+4>>2]|0}function Yn(e){e=e|0;return(n[e+26|0]&1)!=0|0}function Jn(e){e=e|0;return(n[e+16|0]&1)!=0|0}function Kn(e,t){e=e|0;t=t|0;n[e+16|0]=t&1;return}function $n(e){e=e|0;return r[e+8>>2]|0}function e_(e,t){e=e|0;t=t|0;r[e+40>>2]=t;return}function t_(e){e=e|0;return r[e+40>>2]|0}function i_(e){e=e|0;return+ +p[e>>2]}function n_(e){e=e|0;return+ +p[e+36>>2]}function __(e){e=e|0;return(n[e+24|0]&1)!=0|0}function r_(e,t){e=e|0;t=+t;p[e+28>>2]=t;return}function o_(e,t){e=e|0;t=+t;p[e>>2]=t;return}function s_(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function a_(e,t){e=e|0;t=t|0;n[e+32|0]=t&1;return}function p_(e){e=e|0;return(n[e+32|0]&1)!=0|0}function l_(e){e=e|0;return+ +p[e+28>>2]}function d_(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function c_(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function b_(e){e=e|0;return(n[e+25|0]&1)!=0|0}function u_(e,t){e=e|0;t=t|0;n[e+25|0]=t&1;return}function m_(e,t){e=e|0;t=t|0;n[e+26|0]=t&1;return}function h_(e){e=e|0;return(r[e+4>>2]|0)==31|0}function f_(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function g_(e){e=e|0;return r[e+52>>2]|0}function C_(e){e=e|0;return(r[e+4>>2]|0)<7|0}function S_(e){e=e|0;return+ +p[e+28+((((r[e+52>>2]|0)+2|0)%3|0)<<2)>>2]}function y_(e){e=e|0;return+ +p[e+28+(r[e+52>>2]<<2)>>2]}function v_(e){e=e|0;return e+12|0}function x_(e){e=e|0;return+ +p[e+44>>2]}function M_(e){e=e|0;return(r[e+4>>2]|0)<20|0}function T_(e){e=e|0;return(r[e+4>>2]|0)==28|0}function D_(e){e=e|0;return r[e+8>>2]|0}function P_(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function w_(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function A_(e){e=e|0;return(r[e+4>>2]|0)==32|0}function F_(e){e=e|0;return e+28|0}function R_(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function I_(e){e=e|0;var t=0,i=0,_=0;t=d;d=d+48|0;i=t|0;do{if((n[43968]|0)==0){if((ui(43968)|0)==0){break}else{_=37432}do{_=_+16|0}while((_|0)!=37480)}}while(0);tn(i,e|0,e+16|0,e+32|0,e+4|0,e+20|0,e+36|0,e+8|0,e+24|0,e+40|0);e=i;r[9358]=r[e>>2];r[9359]=r[e+4>>2];r[9360]=r[e+8>>2];r[9361]=r[e+12>>2];e=i+16|0;r[9362]=r[e>>2];r[37452>>2]=r[e+4>>2];r[37456>>2]=r[e+8>>2];r[37460>>2]=r[e+12>>2];e=i+32|0;r[9366]=r[e>>2];r[37468>>2]=r[e+4>>2];r[37472>>2]=r[e+8>>2];r[37476>>2]=r[e+12>>2];d=t;return 37432}function B_(e){e=e|0;if((e|0)==0){return}SBe(e);return}function V_(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0;i=d;d=d+120|0;_=i|0;o=i+8|0;s=i+16|0;a=i+24|0;l=i+32|0;c=i+40|0;b=i+48|0;u=i+56|0;m=i+64|0;h=i+72|0;do{if((n[43896]|0)==0){if((ui(43896)|0)==0){break}else{f=37224}do{f=f+16|0}while((f|0)!=37272)}}while(0);g=+p[e>>2];C=+p[t>>2];S=+p[e+4>>2];y=+p[t+4>>2];v=+p[e+8>>2];x=+p[t+8>>2];p[_>>2]=g*C+S*y+v*x;M=+p[t+16>>2];T=+p[t+20>>2];D=+p[t+24>>2];p[o>>2]=g*M+S*T+v*D;P=+p[t+32>>2];w=+p[t+36>>2];A=+p[t+40>>2];p[s>>2]=g*P+S*w+v*A;v=+p[e+16>>2];S=+p[e+20>>2];g=+p[e+24>>2];p[a>>2]=v*C+S*y+g*x;p[l>>2]=v*M+S*T+g*D;p[c>>2]=v*P+S*w+g*A;g=+p[e+32>>2];S=+p[e+36>>2];v=+p[e+40>>2];p[b>>2]=g*C+S*y+v*x;p[u>>2]=g*M+S*T+v*D;p[m>>2]=g*P+S*w+v*A;tn(h,_,o,s,a,l,c,b,u,m);m=h;r[9306]=r[m>>2];r[9307]=r[m+4>>2];r[9308]=r[m+8>>2];r[9309]=r[m+12>>2];m=h+16|0;r[9310]=r[m>>2];r[37244>>2]=r[m+4>>2];r[37248>>2]=r[m+8>>2];r[37252>>2]=r[m+12>>2];m=h+32|0;r[9314]=r[m>>2];r[37260>>2]=r[m+4>>2];r[37264>>2]=r[m+8>>2];r[37268>>2]=r[m+12>>2];d=i;return 37224}function E_(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0.0;n=+p[e+32>>2];do{if(n>1.0){_=-1.0}else{if(n>=-1.0){_=-0.0-n;break}_=1.0}}while(0);+H(+ +J(+_));return}function N_(e){e=e|0;if((e|0)==0){return}SBe(e);return}function k_(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function O_(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43720]|0)==0){if((ui(43720)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9262]=r[t>>2];r[9263]=r[t+4>>2];r[9264]=r[t+8>>2];r[9265]=r[t+12>>2];d=i;return 37048}function L_(e,t){e=+e;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(75)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;p[n+44>>2]=.03999999910593033;r[n>>2]=25424;r[n+4>>2]=10;r[n+52>>2]=1;p[n+28>>2]=e;p[n+32>>2]=t*.5;p[n+36>>2]=e;p[n+40>>2]=0.0;return n|0}function U_(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function G_(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function W_(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function z_(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function H_(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function j_(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function X_(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43256]|0)==0){if((ui(43256)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9218]=r[t>>2];r[9219]=r[t+4>>2];r[9220]=r[t+8>>2];r[9221]=r[t+12>>2];d=i;return 36872}function Z_(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43416]|0)==0){if((ui(43416)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9762]=r[t>>2];r[9763]=r[t+4>>2];r[9764]=r[t+8>>2];r[9765]=r[t+12>>2];d=i;return 39048}function Q_(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function q_(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function Y_(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43576]|0)==0){if((ui(43576)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9718]=r[t>>2];r[9719]=r[t+4>>2];r[9720]=r[t+8>>2];r[9721]=r[t+12>>2];d=i;return 38872}function J_(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function K_(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function $_(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function er(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function tr(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function ir(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 0:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function nr(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function _r(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function rr(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function or(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function sr(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function ar(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function pr(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function lr(){var e=0,t=0,i=0;while(1){e=hBe(44)|0;if((e|0)!=0){t=299;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==299){p[e>>2]=0.0;r[e+4>>2]=0;r[e+8>>2]=1;p[e+12>>2]=1.0;n[e+16|0]=1;r[e+20>>2]=0;n[e+24|0]=0;n[e+25|0]=1;n[e+26|0]=1;p[e+28>>2]=.03999999910593033;n[e+32|0]=0;p[e+36>>2]=0.0;r[e+40>>2]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function dr(e){e=e|0;return r[e+4>>2]|0}function cr(e){e=e|0;return(r[e+4>>2]|0)<20|0}function br(e){e=e|0;return(r[e+4>>2]|0)<7|0}function ur(e){e=e|0;return r[e+104>>2]|0}function mr(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function hr(e){e=e|0;return e+12|0}function fr(e){e=e|0;return+ +p[e+44>>2]}function gr(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Cr(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Sr(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function yr(e){e=e|0;return r[e+8>>2]|0}function vr(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function xr(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Mr(e){e=e|0;return r[e+104>>2]|0}function Tr(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function Dr(e){e=e|0;return Knt[r[(r[e>>2]|0)+104>>2]&4095](e)|0}function Pr(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43632]|0)==0){if((ui(43632)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9674]=r[t>>2];r[9675]=r[t+4>>2];r[9676]=r[t+8>>2];r[9677]=r[t+12>>2];d=i;return 38696}function wr(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Ar(e,t){e=e|0;t=t|0;var i=0,_=0.0,o=0.0;do{if((n[43840]|0)==0){if((ui(43840)|0)==0){break}}}while(0);i=r[e+104>>2]|0;_=+p[i+(t<<4)+4>>2]*+p[e+16>>2];o=+p[i+(t<<4)+8>>2]*+p[e+20>>2];p[9630]=+p[i+(t<<4)>>2]*+p[e+12>>2];p[9631]=_;p[9632]=o;p[9633]=0.0;return 38520}function Fr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+96>>2]&1023](e,t,i,n);return}function Rr(e){e=e|0;return Knt[r[(r[e>>2]|0)+88>>2]&4095](e)|0}function Ir(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function Br(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function Vr(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+100>>2]&511](e,t,i);return}function Er(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function Nr(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function kr(e){e=e|0;return Knt[r[(r[e>>2]|0)+92>>2]&4095](e)|0}function Or(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Lr(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(131)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}i=t;Exe(i,0,0,16);return i|0}function Ur(e){e=e|0;var t=0,i=0,n=0;r[9806]=(r[9806]|0)+1;t=hBe(131)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}n=i;Exe(n,e,0,16);return n|0}function Gr(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(131)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}_=n;Exe(_,e,t,16);return _|0}function Wr(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;r[9806]=(r[9806]|0)+1;n=hBe(131)|0;if((n|0)==0){_=0}else{o=-(n+4|0)&15;r[n+o>>2]=n;_=n+(o+4)|0}o=_;Exe(o,e,t,i);return o|0}function zr(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43160]|0)==0){if((ui(43160)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9598]=r[t>>2];r[9599]=r[t+4>>2];r[9600]=r[t+8>>2];r[9601]=r[t+12>>2];d=i;return 38392}function Hr(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function jr(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Xr(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function Zr(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43472]|0)==0){if((ui(43472)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9594]=r[t>>2];r[9595]=r[t+4>>2];r[9596]=r[t+8>>2];r[9597]=r[t+12>>2];d=i;return 38376}function Qr(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function qr(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;i=e+96|0;_=r[i>>2]|0;o=e+100|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<4|4)+15|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[i>>2]|0}b=e+104|0;if((l|0)>0){d=0;do{u=p+(d<<4)|0;if((u|0)!=0){m=u;u=(r[b>>2]|0)+(d<<4)|0;r[m>>2]=r[u>>2];r[m+4>>2]=r[u+4>>2];r[m+8>>2]=r[u+8>>2];r[m+12>>2]=r[u+12>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=e+108|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-16+12>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[i>>2]|0}else{a=_}}while(0);_=(r[e+104>>2]|0)+(a<<4)|0;if((_|0)==0){h=a;f=h+1|0;r[i>>2]=f;g=e|0;dwe(g);return}a=_;_=t;r[a>>2]=r[_>>2];r[a+4>>2]=r[_+4>>2];r[a+8>>2]=r[_+8>>2];r[a+12>>2]=r[_+12>>2];h=r[i>>2]|0;f=h+1|0;r[i>>2]=f;g=e|0;dwe(g);return}function Yr(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function Jr(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Kr(e){e=e|0;dwe(e|0);return}function $r(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function eo(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function to(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;io(e|0,t,i,n,_);return}function io(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;var r=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0;r=d;d=d+120|0;o=r|0;s=r+8|0;a=r+16|0;l=r+24|0;c=r+32|0;b=r+40|0;u=r+48|0;m=r+56|0;h=r+64|0;f=r+72|0;g=+p[e+72>>2];C=+p[e+56>>2];S=+p[e+76>>2];y=+p[e+60>>2];v=+p[e+80>>2];x=+p[e+64>>2];M=(g-C)*.5+_;T=(S-y)*.5+_;D=(v-x)*.5+_;_=(g+C)*.5;C=(S+y)*.5;y=(v+x)*.5;e=t|0;p[o>>2]=+H(+ +p[e>>2]);P=t+4|0;p[s>>2]=+H(+ +p[P>>2]);w=t+8|0;p[a>>2]=+H(+ +p[w>>2]);A=t+16|0;p[l>>2]=+H(+ +p[A>>2]);F=t+20|0;p[c>>2]=+H(+ +p[F>>2]);R=t+24|0;p[b>>2]=+H(+ +p[R>>2]);I=t+32|0;p[u>>2]=+H(+ +p[I>>2]);B=t+36|0;p[m>>2]=+H(+ +p[B>>2]);V=t+40|0;p[h>>2]=+H(+ +p[V>>2]);tn(f,o,s,a,l,c,b,u,m,h);x=+p[e>>2]*_+ +p[P>>2]*C+ +p[w>>2]*y+ +p[t+48>>2];v=+p[A>>2]*_+ +p[F>>2]*C+ +p[R>>2]*y+ +p[t+52>>2];S=+p[I>>2]*_+ +p[B>>2]*C+ +p[V>>2]*y+ +p[t+56>>2];y=+p[f>>2]*M+ +p[f+4>>2]*T+ +p[f+8>>2]*D;C=+p[f+16>>2]*M+ +p[f+20>>2]*T+ +p[f+24>>2]*D;_=+p[f+32>>2]*M+ +p[f+36>>2]*T+ +p[f+40>>2]*D;p[i>>2]=x-y;p[i+4>>2]=v-C;p[i+8>>2]=S-_;p[i+12>>2]=0.0;p[n>>2]=x+y;p[n+4>>2]=v+C;p[n+8>>2]=S+_;p[n+12>>2]=0.0;d=r;return}function no(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43336]|0)==0){if((ui(43336)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9590]=r[t>>2];r[9591]=r[t+4>>2];r[9592]=r[t+8>>2];r[9593]=r[t+12>>2];d=i;return 38360}function _o(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 5:case 4:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function ro(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function oo(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function so(e){e=e|0;return e+28|0}function ao(e){e=e|0;return(r[e+4>>2]|0)==31|0}function po(e){e=e|0;return r[e+52>>2]|0}function lo(e){e=e|0;return r[e+4>>2]|0}function co(e){e=e|0;return r[e+96>>2]|0}function bo(e){e=e|0;return r[e>>2]|0}function uo(e){e=e|0;return r[e>>2]|0}function mo(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function ho(e){e=e|0;return r[e+12>>2]|0}function fo(e){e=e|0;return r[e+16>>2]|0}function go(e,t){e=e|0;t=t|0;r[e+24>>2]=t;return}function Co(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function So(e){e=e|0;return r[e+28>>2]|0}function yo(e){e=e|0;return r[e+20>>2]|0}function vo(e){e=e|0;return r[e>>2]|0}function xo(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function Mo(e,t){e=e|0;t=t|0;r[e+28>>2]=t;return}function To(e){e=e|0;return r[e+24>>2]|0}function Do(e,t){e=e|0;t=t|0;r[e+16>>2]=t;return}function Po(e){e=e|0;return r[e+4>>2]|0}function wo(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Ao(e,t){e=e|0;t=t|0;r[e+20>>2]=t;return}function Fo(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function Ro(e){e=e|0;return r[e+8>>2]|0}function Io(e){e=e|0;return+ +p[e+224>>2]}function Bo(e,t){e=e|0;t=+t;p[e+184>>2]=t;return}function Vo(e){e=e|0;return+ +p[e+220>>2]}function Eo(e,t){e=e|0;t=+t;p[e+224>>2]=t;return}function No(e,t){e=e|0;t=t|0;r[e+196>>2]=t;return}function ko(e){e=e|0;var t=0;if((r[e+204>>2]&3|0)!=0){return}t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function Oo(e,t){e=e|0;t=t|0;do{if(!t){if((r[e+204>>2]&3|0)==0){break}return}}while(0);t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function Lo(e){e=e|0;return e+132|0}function Uo(e){e=e|0;return(r[e+204>>2]&7|0)==0|0}function Go(e,t){e=e|0;t=+t;p[e+248>>2]=t;return}function Wo(e){e=e|0;return r[e+208>>2]|0}function zo(e,t){e=e|0;t=t|0;r[e+212>>2]=t;return}function Ho(e){e=e|0;return+ +p[e+248>>2]}function jo(e,t){e=e|0;t=t|0;r[e+236>>2]=t;return}function Xo(e){e=e|0;return e+164|0}function Zo(e){e=e|0;return e+148|0}function Qo(e,t){e=e|0;t=t|0;r[e+216>>2]=t;return}function qo(e){e=e|0;return e+68|0}function Yo(e,t){e=e|0;t=t|0;r[e+208>>2]=t;return}function Jo(e,t){e=e|0;t=+t;p[e+240>>2]=t;return}function Ko(e){e=e|0;return r[e+204>>2]|0}function $o(e){e=e|0;return(r[e+204>>2]&1|0)!=0|0}function es(e){e=e|0;return r[e+192>>2]|0}function ts(e){e=e|0;return r[e+188>>2]|0}function is(e){e=e|0;return+ +p[e+228>>2]}function ns(e){e=e|0;return r[e+236>>2]|0}function _s(e,t){e=e|0;t=+t;p[e+244>>2]=t;return}function rs(e){e=e|0;return e+4|0}function os(e){e=e|0;var t=0.0;t=+p[e+248>>2];return+(t*t)}function ss(e,t){e=e|0;t=t|0;r[e+192>>2]=t;return}function as(e){e=e|0;return r[e+212>>2]|0}function ps(e){e=e|0;var t=0;t=r[e+216>>2]|0;return((t|0)==2?0:(t|0)!=5)|0}function ls(e){e=e|0;return r[e+232>>2]|0}function ds(e){e=e|0;return r[e+216>>2]|0}function cs(e){e=e|0;return(r[e+204>>2]&4|0)==0|0}function bs(e,t){e=e|0;t=t|0;var i=0;i=e+216|0;if(((r[i>>2]|0)-4|0)>>>0<2){return}r[i>>2]=t;return}function us(e){e=e|0;return r[e+200>>2]|0}function ms(e){e=e|0;return+ +p[e+184>>2]}function hs(e){e=e|0;return+ +p[e+240>>2]}function fs(e){e=e|0;return+ +p[e+244>>2]}function gs(e,t){e=e|0;t=+t;p[e+220>>2]=t;return}function Cs(e){e=e|0;return r[e+196>>2]|0}function Ss(e,t){e=e|0;t=t|0;r[e+204>>2]=t;return}function ys(e){e=e|0;return(r[e+204>>2]&3|0)!=0|0}function vs(e,t){e=e|0;t=+t;p[e+228>>2]=t;return}function xs(e){e=e|0;return(r[e+180>>2]|0)!=0|0}function Ms(e,t){e=e|0;t=t|0;r[e+188>>2]=t;return}function Ts(e){e=e|0;return(r[e+204>>2]&2|0)!=0|0}function Ds(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Ps(e){e=e|0;return r[e+92>>2]|0}function ws(e){e=e|0;return(r[e+4>>2]|0)<7|0}function As(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Fs(e,t,i){e=e|0;t=t|0;i=+i;return D_t[r[(r[e>>2]|0)+112>>2]&127](e,t,i)|0}function Rs(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Is(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function Bs(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+108>>2]&1023](e,t,i,n);return}function Vs(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Es(e){e=e|0;return Knt[r[(r[e>>2]|0)+84>>2]&4095](e|0)|0}function Ns(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ks(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-32+28>>2]|0);return}function Os(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(51)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t+24>>2]=2;r[t+28>>2]=0;return t|0}function Ls(e,t){e=e|0;t=t|0;var i=0;i=e+132|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Us(e,t){e=e|0;t=t|0;var i=0;i=e+148|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Gs(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+20>>2]&511](e,t,i)|0}function Ws(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+68|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+84|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+100|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+116|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function zs(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(275)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t>>2]=23736;p[t+164>>2]=1.0;p[t+168>>2]=1.0;p[t+172>>2]=1.0;p[t+176>>2]=0.0;r[t+180>>2]=0;p[t+184>>2]=999999984306749400.0;vBe(t+188|0,0,16);r[t+204>>2]=1;r[t+208>>2]=-1;r[t+212>>2]=-1;r[t+216>>2]=1;p[t+220>>2]=0.0;p[t+224>>2]=.5;p[t+228>>2]=0.0;r[t+232>>2]=1;r[t+236>>2]=0;p[t+240>>2]=1.0;p[t+244>>2]=0.0;p[t+248>>2]=0.0;r[t+252>>2]=0;p[t+4>>2]=1.0;vBe(t+8|0,0,16);p[t+24>>2]=1.0;vBe(t+28|0,0,16);p[t+44>>2]=1.0;vBe(t+48|0,0,20);return t|0}function Hs(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function js(e,t){e=e|0;t=t|0;var i=0;if((r[e+252>>2]|0)==0){i=1;return i|0}i=j_t[r[r[e>>2]>>2]&511](e,t)|0;return i|0}function Xs(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0}function Zs(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Qs(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+164|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];do{if(+p[t>>2]!=1.0){_=1}else{if(+p[t+4>>2]!=1.0){_=1;break}_=+p[t+8>>2]!=1.0|0}}while(0);r[e+180>>2]=_;return}function qs(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function Ys(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+4|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+20|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+36|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+52|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function Js(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function Ks(e){e=e|0;return Knt[r[(r[e>>2]|0)+104>>2]&4095](e)|0}function $s(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43448]|0)==0){if((ui(43448)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9586]=r[t>>2];r[9587]=r[t+4>>2];r[9588]=r[t+8>>2];r[9589]=r[t+12>>2];d=i;return 38344}function ea(e,t,i){e=e|0;t=t|0;i=+i;return D_t[r[(r[e>>2]|0)+112>>2]&127](e,t,i)|0}function ta(e){e=e|0;return Knt[r[(r[e>>2]|0)+88>>2]&4095](e)|0}function ia(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function na(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+100>>2]&511](e,t,i);return}function _a(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(4)|0;if((t|0)!=0){i=578;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){break}prt[n&63]()}if((i|0)==578){r[t>>2]=e;return t|0}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}function ra(e){e=e|0;return e+12|0}function oa(e){e=e|0;return+ +p[e+44>>2]}function sa(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function aa(e){e=e|0;return(r[e+4>>2]|0)<20|0}function pa(e){e=e|0;return(r[e+4>>2]|0)==28|0}function la(e){e=e|0;return r[e+8>>2]|0}function da(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function ca(e){e=e|0;return(r[e+4>>2]|0)==32|0}function ba(e){e=e|0;return e+28|0}function ua(e){e=e|0;return(r[e+4>>2]|0)==31|0}function ma(e){e=e|0;return r[e+52>>2]|0}function ha(e){e=e|0;return r[e+4>>2]|0}function fa(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function ga(e){e=e|0;return+ +p[e+20>>2]}function Ca(e){e=e|0;var t=0,i=0,_=0;r[9806]=(r[9806]|0)+1;t=hBe(115)|0;if((t|0)==0){i=0}else{_=-(t+4|0)&15;r[t+_>>2]=t;i=t+(_+4)|0}r[i+8>>2]=0;p[i+12>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;p[i+44>>2]=.03999999910593033;r[i+52>>2]=0;p[i+56>>2]=1.0;p[i+60>>2]=1.0;p[i+64>>2]=1.0;p[i+68>>2]=0.0;p[i+72>>2]=-1.0;p[i+76>>2]=-1.0;p[i+80>>2]=-1.0;p[i+84>>2]=0.0;n[i+88|0]=0;r[i>>2]=20672;r[i+92>>2]=e;r[i+4>>2]=3;dwe(i);return i|0}function Sa(e,t){e=e|0;t=t|0;var i=0,_=0,o=0;r[9806]=(r[9806]|0)+1;i=hBe(115)|0;if((i|0)==0){_=0}else{o=-(i+4|0)&15;r[i+o>>2]=i;_=i+(o+4)|0}o=_;r[_+8>>2]=0;p[_+12>>2]=1.0;p[_+16>>2]=1.0;p[_+20>>2]=1.0;p[_+24>>2]=0.0;p[_+44>>2]=.03999999910593033;r[_+52>>2]=0;p[_+56>>2]=1.0;p[_+60>>2]=1.0;p[_+64>>2]=1.0;p[_+68>>2]=0.0;p[_+72>>2]=-1.0;p[_+76>>2]=-1.0;p[_+80>>2]=-1.0;p[_+84>>2]=0.0;n[_+88|0]=0;r[_>>2]=20672;r[_+92>>2]=e;r[_+4>>2]=3;if(!t){return o|0}dwe(_);return o|0}function ya(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43280]|0)==0){if((ui(43280)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9582]=r[t>>2];r[9583]=r[t+4>>2];r[9584]=r[t+8>>2];r[9585]=r[t+12>>2];d=i;return 38328}function va(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function xa(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function Ma(e){e=e|0;return Knt[r[(r[e>>2]|0)+92>>2]&4095](e)|0}function Ta(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Da(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+96>>2]&1023](e,t,i,n);return}function Pa(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43088]|0)==0){if((ui(43088)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9578]=r[t>>2];r[9579]=r[t+4>>2];r[9580]=r[t+8>>2];r[9581]=r[t+12>>2];d=i;return 38312}function wa(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Aa(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Fa(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function Ra(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function Ia(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Ba(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Va(e){e=e|0;dwe(e|0);return}function Ea(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function Na(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function ka(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;io(e|0,t,i,n,_);return}function Oa(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43152]|0)==0){if((ui(43152)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9562]=r[t>>2];r[9563]=r[t+4>>2];r[9564]=r[t+8>>2];r[9565]=r[t+12>>2];d=i;return 38248}function La(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 13:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function Ua(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Ga(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function Wa(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function za(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Ha(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function ja(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function Xa(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+108>>2]&1023](e,t,i,n);return}function Za(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Qa(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0;o=d;d=d+168|0;s=o|0;a=o+48|0;l=o+64|0;c=o+80|0;b=o+152|0;r[s>>2]=18392;n[s+4|0]=1;u=s+8|0;vBe(u|0,0,36);m=a|0;p[m>>2]=999999984306749400.0;h=a+4|0;p[h>>2]=999999984306749400.0;f=a+8|0;p[f>>2]=999999984306749400.0;p[a+12>>2]=0.0;g=e+92|0;e=r[g>>2]|0;C=r[(r[e>>2]|0)+8>>2]|0;p[l>>2]=-999999984306749400.0;p[l+4>>2]=-999999984306749400.0;p[l+8>>2]=-999999984306749400.0;p[l+12>>2]=0.0;mrt[C&1023](e,s|0,l,a);_=+p[s+40>>2];if(_>0.0){S=1.0/_;y=S*+p[s+24>>2];v=S*+p[s+28>>2];x=S*+p[s+32>>2];M=0.0}else{y=+p[u>>2];v=+p[s+12>>2];x=+p[s+16>>2];M=+p[s+20>>2]}p[t+48>>2]=y;p[t+52>>2]=v;p[t+56>>2]=x;p[t+60>>2]=M;r[c>>2]=18360;vBe(c+4|0,0,48);p[c+52>>2]=y;p[c+56>>2]=v;p[c+60>>2]=x;p[c+64>>2]=M;s=r[g>>2]|0;g=r[(r[s>>2]|0)+8>>2]|0;M=-0.0-+p[h>>2];x=-0.0-+p[f>>2];p[b>>2]=-0.0-+p[m>>2];p[b+4>>2]=M;p[b+8>>2]=x;p[b+12>>2]=0.0;mrt[g&1023](s,c|0,b,a);a=c+4|0;Vn(a,t|0,9999999747378752.0e-21,20);x=+p[a>>2];M=+p[c+24>>2];v=+p[c+44>>2];p[i+12>>2]=0.0;y=1.0/(_*.1666666716337204);p[i>>2]=y*x;p[i+4>>2]=y*M;p[i+8>>2]=y*v;d=o;return}function qa(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function Ya(e){e=e|0;return Knt[r[(r[e>>2]|0)+84>>2]&4095](e|0)|0}function Ja(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(o|0,0,16);vBe(s|0,0,16);M_t[a&127](e,t,i,n,o,s);d=_;return}function Ka(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;o=d;d=d+16|0;s=o|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(s|0,0,16);M_t[a&127](e,t,i,n,_,s);d=o;return}function $a(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;M_t[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n,_,o);return}function ep(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+16>>2]&255](e,t,i,n,_);return}function tp(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function ip(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+48>>2]&2047](e,t);return}function np(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e,t);return}function _p(e){e=e|0;jnt[r[(r[e>>2]|0)+52>>2]&2047](e);return}function rp(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+20>>2]&1023](e,t,i,n);return}function op(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e,t,i,n);return}function sp(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;return R_t[r[(r[e>>2]|0)+8>>2]&63](e,t,i,n,_,o,s,a,p)|0}function ap(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function pp(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e,t,i);return}function lp(e){e=e|0;return+(+p[e+20>>2]*+p[e+24>>2])}function dp(e){e=e|0;return(n[e+28|0]&1)!=0|0}function cp(e){e=e|0;return+ +p[e+12>>2]}function bp(e){e=e|0;return+ +p[e+24>>2]}function up(e){e=e|0;return+ +p[e+8>>2]}function mp(e){e=e|0;return+ +p[e+4>>2]}function hp(e){e=e|0;return+ +p[e+16>>2]}function fp(e){e=e|0;var t=0;t=r[e+40>>2]|0;r[t+16>>2]=3;r[t+20>>2]=3;return}function gp(e,t){e=e|0;t=t|0;var i=0;i=r[e+40>>2]|0;r[i+16>>2]=t;r[i+20>>2]=3;return}function Cp(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=r[e+40>>2]|0;r[n+16>>2]=t;r[n+20>>2]=i;return}function Sp(e,t){e=e|0;t=t|0;_[e+4>>1]=t;return}function yp(e,t){e=e|0;t=t|0;_[e+6>>1]=t;return}function vp(e){e=e|0;return _[e+6>>1]|0}function xp(e){e=e|0;return _[e+4>>1]|0}function Mp(e,t){e=e|0;t=+t;var i=0,n=0;i=d;d=d+8|0;n=i|0;p[n>>2]=t;Age(e,n);d=i;return}function Tp(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Dp(e,t,i){e=e|0;t=+t;i=+i;var n=0.0,_=0.0;n=(i-t)*.5;p[e+4>>2]=n;i=+Bi(+(n+t),6.2831854820251465);do{if(i<-3.1415927410125732){_=i+6.2831854820251465}else{if(i<=3.1415927410125732){_=i;break}_=i-6.2831854820251465}}while(0);p[e>>2]=_;p[e+8>>2]=.8999999761581421;p[e+12>>2]=.30000001192092896;p[e+16>>2]=1.0;return}function Pp(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0.0,r=0.0;_=(i-t)*.5;p[e+4>>2]=_;i=+Bi(+(_+t),6.2831854820251465);do{if(i<-3.1415927410125732){r=i+6.2831854820251465}else{if(i<=3.1415927410125732){r=i;break}r=i-6.2831854820251465}}while(0);p[e>>2]=r;p[e+8>>2]=n;p[e+12>>2]=.30000001192092896;p[e+16>>2]=1.0;return}function wp(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;var r=0.0,o=0.0;r=(i-t)*.5;p[e+4>>2]=r;i=+Bi(+(r+t),6.2831854820251465);do{if(i<-3.1415927410125732){o=i+6.2831854820251465}else{if(i<=3.1415927410125732){o=i;break}o=i-6.2831854820251465}}while(0);p[e>>2]=o;p[e+8>>2]=n;p[e+12>>2]=_;p[e+16>>2]=1.0;return}function Ap(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;var o=0.0,s=0.0;o=(i-t)*.5;p[e+4>>2]=o;i=+Bi(+(o+t),6.2831854820251465);do{if(i<-3.1415927410125732){s=i+6.2831854820251465}else{if(i<=3.1415927410125732){s=i;break}s=i-6.2831854820251465}}while(0);p[e>>2]=s;p[e+8>>2]=n;p[e+12>>2]=_;p[e+16>>2]=r;return}function Fp(e){e=e|0;var t=0.0,i=0.0;t=+Bi(+(+p[e>>2]+ +p[e+4>>2]),6.2831854820251465);if(t<-3.1415927410125732){i=t+6.2831854820251465;return+i}if(t<=3.1415927410125732){i=t;return+i}i=t-6.2831854820251465;return+i}function Rp(e,t){e=e|0;t=+t;var i=0,_=0,r=0,o=0,s=0.0,a=0.0;i=e+20|0;p[i>>2]=0.0;_=e+24|0;p[_>>2]=0.0;r=e+28|0;n[r]=0;o=e+4|0;if(+p[o>>2]<0.0){return}s=+Bi(+(t-+p[e>>2]),6.2831854820251465);do{if(s<-3.1415927410125732){a=s+6.2831854820251465}else{if(s<=3.1415927410125732){a=s;break}a=s-6.2831854820251465}}while(0);s=+p[o>>2];if(a<-0.0-s){n[r]=1;p[i>>2]=-0.0-(a+s);p[_>>2]=1.0;return}if(a<=s){return}n[r]=1;p[i>>2]=s-a;p[_>>2]=-1.0;return}function Ip(e){e=e|0;var t=0.0,i=0.0;t=+Bi(+(+p[e>>2]-+p[e+4>>2]),6.2831854820251465);if(t<-3.1415927410125732){i=t+6.2831854820251465;return+i}if(t<=3.1415927410125732){i=t;return+i}i=t-6.2831854820251465;return+i}function Bp(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Vp(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0}function Ep(e){e=e|0;return Knt[r[(r[e>>2]|0)+8>>2]&4095](e)|0}function Np(e){e=e|0;return Knt[r[(r[e>>2]|0)+24>>2]&4095](e)|0}function kp(e){e=e|0;return Knt[r[(r[e>>2]|0)+12>>2]&4095](e)|0}function Op(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+20>>2]&511](e,t,i)|0}function Lp(e,t,i,n,_,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;return+ +J_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a)}function Up(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e,t)|0}function Gp(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function Wp(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+ +k_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n,_)}function zp(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+8>>2]&255](e,t,i,n,_);return}function Hp(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function jp(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Xp(){var e=0,t=0,i=0;while(1){e=hBe(32)|0;if((e|0)!=0){t=792;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==792){p[e>>2]=0.0;p[e+4>>2]=-1.0;p[e+8>>2]=.8999999761581421;p[e+12>>2]=.30000001192092896;p[e+16>>2]=1.0;p[e+20>>2]=0.0;p[e+24>>2]=0.0;n[e+28|0]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function Zp(){var e=0,t=0,i=0,n=0,_=0;e=d;d=d+32|0;t=e|0;while(1){i=hBe(88)|0;if((i|0)!=0){n=804;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==804){n=i;r[t>>2]=0;r[t+4>>2]=0;r[t+8>>2]=0;r[t+12>>2]=4096;r[t+16>>2]=4096;r[t+20>>2]=0;r[t+24>>2]=0;r[t+28>>2]=1;FTe(n,t);d=e;return n|0}n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}function Qp(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(88)|0;if((t|0)!=0){i=816;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){break}prt[n&63]()}if((i|0)==816){i=t;FTe(i,e);return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function qp(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(16)|0;if((t|0)!=0){i=828;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){break}prt[n&63]()}if((i|0)==828){i=t;r[i>>2]=22536;r[t+4>>2]=r[e>>2];r[i>>2]=19832;return t|0}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}function Yp(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0;while(1){o=hBe(16)|0;if((o|0)!=0){break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){a=837;break}prt[s&63]()}if((a|0)==837){a=Di(4)|0;r[a>>2]=19096;Ht(a|0,34368,676);return 0}a=o;s=o;r[s>>2]=22536;p=r[t>>2]|0;r[o+4>>2]=p;r[s>>2]=19832;s=o+8|0;n[s]=0;t=o+12|0;r[t>>2]=e;if((e|0)!=0){return a|0}r[t>>2]=h_t[r[(r[p>>2]|0)+12>>2]&511](p,i,_)|0;n[s]=1;return a|0}function Jp(){var e=0,t=0,i=0;while(1){e=hBe(40)|0;if((e|0)!=0){t=856;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){t=853;break}prt[i&63]()}if((t|0)==853){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}else if((t|0)==856){t=e;sAe(t,16384,0);return t|0}return 0}function Kp(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(40)|0;if((t|0)!=0){i=870;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){i=867;break}prt[n&63]()}if((i|0)==867){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}else if((i|0)==870){i=t;sAe(i,e,0);return i|0}return 0}function $p(e,t){e=e|0;t=t|0;return}function el(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;if(+p[t+16>>2]>+p[i+32>>2]){n=0;return n|0}if(+p[i+16>>2]>+p[t+32>>2]){n=0;return n|0}if(+p[t+20>>2]>+p[i+36>>2]){n=0;return n|0}if(+p[i+20>>2]>+p[t+36>>2]){n=0;return n|0}if(+p[t+24>>2]>+p[i+40>>2]){n=0;return n|0}n=+p[i+24>>2]<=+p[t+40>>2];return n|0}function tl(e,t){e=e|0;t=t|0;var i=0;if(+p[e+16>>2]>+p[t+32>>2]){i=0;return i|0}if(+p[t+16>>2]>+p[e+32>>2]){i=0;return i|0}if(+p[e+20>>2]>+p[t+36>>2]){i=0;return i|0}if(+p[t+20>>2]>+p[e+36>>2]){i=0;return i|0}if(+p[e+24>>2]>+p[t+40>>2]){i=0;return i|0}i=+p[t+24>>2]<=+p[e+40>>2];return i|0}function il(e){e=e|0;return r[e+1116>>2]|0}function nl(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function _l(e){e=e|0;return r[e+1112>>2]|0}function rl(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0;i=+p[t+80>>2];if((r[t+144>>2]|0)>1){n=+p[e+1120>>2];_=i<=n;return _|0}else{n=+p[e+1124>>2];_=i<=n;return _|0}return 0}function ol(e){e=e|0;return r[e>>2]|0}function sl(e,t){e=e|0;t=t|0;r[e+1136>>2]=t;return}function al(e,t){e=e|0;t=t|0;var i=0.0,n=0,_=0,o=0.0,s=0.0,a=0.0,l=0,d=0.0,c=0.0,b=0.0,u=0.0,m=0,h=0,f=0;i=+p[e+1120>>2];n=r[e+1116>>2]|0;if((n|0)<=0){_=-1;return _|0}o=+p[t>>2];s=+p[t+4>>2];a=+p[t+8>>2];t=0;l=-1;d=i*i;while(1){i=+p[e+4+(t*276|0)>>2]-o;c=+p[e+4+(t*276|0)+4>>2]-s;b=+p[e+4+(t*276|0)+8>>2]-a;u=i*i+c*c+b*b;m=u<d;h=m?t:l;f=t+1|0;if((f|0)<(n|0)){t=f;l=h;d=m?u:d}else{_=h;break}}return _|0}function pl(e){e=e|0;return r[e>>2]|0}function ll(e,t){e=e|0;t=t|0;return e+4+(t*276|0)|0}function dl(e){e=e|0;return+ +p[e+1120>>2]}function cl(e){e=e|0;var t=0,i=0;t=e+1116|0;e=r[t>>2]|0;i=0;while(1){if((i|0)>=(e|0)){break}i=i+1|0}r[t>>2]=0;return}function bl(e){e=e|0;return r[e+1108>>2]|0}function ul(e,t,i){e=e|0;t=t|0;i=i|0;r[e+1108>>2]=t;r[e+1112>>2]=i;return}function ml(e){e=e|0;return r[e+1136>>2]|0}function hl(e){e=e|0;return+ +p[e+1124>>2]}function fl(e){e=e|0;return r[e+1132>>2]|0}function gl(e){e=e|0;return r[e+1128>>2]|0}function Cl(e,t){e=e|0;t=t|0;r[e+1132>>2]=t;return}function Sl(e,t){e=e|0;t=t|0;r[e+1128>>2]=t;return}function yl(e){e=e|0;return r[e+64>>2]|0}function vl(e){e=e|0;return(r[e+4>>2]|0)<20|0}function xl(e){e=e|0;return r[e+68>>2]|0}function Ml(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+16>>2]&255](e,t,i,n,_);return}function Tl(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Dl(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(o|0,0,16);vBe(s|0,0,16);M_t[a&127](e,t,i,n,o,s);d=_;return}function Pl(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;o=d;d=d+16|0;s=o|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(s|0,0,16);M_t[a&127](e,t,i,n,_,s);d=o;return}function wl(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;M_t[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n,_,o);return}function Al(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e,t);return}function Fl(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+20>>2]&1023](e,t,i,n);return}function Rl(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e,t,i,n);return}function Il(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;return R_t[r[(r[e>>2]|0)+8>>2]&63](e,t,i,n,_,o,s,a,p)|0}function Bl(e){e=e|0;jnt[r[(r[e>>2]|0)+52>>2]&2047](e);return}function Vl(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function El(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e,t,i);return}function Nl(e){e=e|0;return Knt[r[(r[e>>2]|0)+8>>2]&4095](e)|0}function kl(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0}function Ol(e){e=e|0;return Knt[r[(r[e>>2]|0)+12>>2]&4095](e)|0}function Ll(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+20>>2]&511](e,t,i)|0}function Ul(e,t,i){e=e|0;t=t|0;i=i|0;nwe(e,t,i);return}function Gl(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(1159)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t>>2]=1025;r[t+112>>2]=0;p[t+116>>2]=0.0;n[t+120|0]=0;vBe(t+124|0,0,28);r[t+388>>2]=0;p[t+392>>2]=0.0;n[t+396|0]=0;vBe(t+400|0,0,28);r[t+664>>2]=0;p[t+668>>2]=0.0;n[t+672|0]=0;vBe(t+676|0,0,28);r[t+940>>2]=0;p[t+944>>2]=0.0;n[t+948|0]=0;vBe(t+952|0,0,28);r[t+1108>>2]=0;r[t+1112>>2]=0;r[t+1116>>2]=0;r[t+1136>>2]=0;return t|0}function Wl(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=+_;o=+o;var s=0,a=0,l=0;r[9806]=(r[9806]|0)+1;i=hBe(1159)|0;s=-(i+4|0)&15;r[i+s>>2]=i;a=i+(s+4)|0;r[a>>2]=1025;s=a+1108|0;i=a+4|0;while(1){r[i+108>>2]=0;p[i+112>>2]=0.0;n[i+116|0]=0;l=i+276|0;vBe(i+120|0,0,28);if((l|0)==(s|0)){break}else{i=l}}r[a+1108>>2]=e;r[a+1112>>2]=t;r[a+1116>>2]=0;p[a+1120>>2]=_;p[a+1124>>2]=o;return a|0}function zl(e,t){e=e|0;t=t|0;return iwe(e,t)|0}function Hl(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0;i=e+1116|0;_=r[i>>2]|0;o=_-1|0;if((o|0)==(t|0)){s=_;a=s-1|0;r[i>>2]=a;return}_=e+4+(t*276|0)|0;t=e+4+(o*276|0)|0;yBe(_|0,t|0,276)|0;r[e+4+(o*276|0)+108>>2]=0;p[e+4+(o*276|0)+208>>2]=0.0;p[e+4+(o*276|0)+240>>2]=0.0;p[e+4+(o*276|0)+272>>2]=0.0;p[e+4+(o*276|0)+112>>2]=0.0;n[e+4+(o*276|0)+116|0]=0;p[e+4+(o*276|0)+120>>2]=0.0;p[e+4+(o*276|0)+124>>2]=0.0;r[e+4+(o*276|0)+144>>2]=0;s=r[i>>2]|0;a=s-1|0;r[i>>2]=a;return}function jl(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-1140+1136>>2]|0);return}function Xl(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0,a=0,l=0.0,d=0,c=0.0,b=0,u=0,m=0,h=0;n=e+4+(i*276|0)+144|0;_=r[n>>2]|0;o=e+4+(i*276|0)+208|0;s=+p[o>>2];a=e+4+(i*276|0)+240|0;l=+p[a>>2];d=e+4+(i*276|0)+272|0;c=+p[d>>2];b=e+4+(i*276|0)+108|0;u=r[b>>2]|0;m=e+4+(i*276|0)|0;h=t;yBe(m|0,h|0,276)|0;r[b>>2]=u;p[e+4+(i*276|0)+112>>2]=s;p[e+4+(i*276|0)+120>>2]=l;p[e+4+(i*276|0)+124>>2]=c;p[o>>2]=s;p[a>>2]=l;p[d>>2]=c;r[n>>2]=_;return}function Zl(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+8>>2]&511](e,t,i);return}function Ql(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function ql(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function Yl(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function Jl(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0;t=d;d=d+48|0;i=t|0;_=t+16|0;o=i;s=_;a=e+64|0;if((r[a>>2]|0)!=0){d=t;return}r[9806]=(r[9806]|0)+1;p=hBe(59)|0;do{if((p|0)==0){l=0}else{c=-(p+4|0)&15;b=p+(c+4)|0;r[p+c>>2]=p;if((b|0)==0){l=0;break}n[p+(c+40)|0]=1;r[p+(c+36)>>2]=0;r[p+(c+28)>>2]=0;r[p+(c|32)>>2]=0;r[b>>2]=0;r[p+(c+8)>>2]=0;r[p+(c+12)>>2]=-1;r[p+(c|16)>>2]=0;r[p+(c+20)>>2]=0;l=b}}while(0);r[a>>2]=l;l=e+16|0;if((r[l>>2]|0)<=0){d=t;return}p=e+24|0;e=_+16|0;b=_|0;_=0;do{c=r[p>>2]|0;u=r[c+(_*80|0)+64>>2]|0;mrt[r[(r[u>>2]|0)+8>>2]&1023](u,c+(_*80|0)|0,b,i);r[e>>2]=r[o>>2];r[e+4>>2]=r[o+4>>2];r[e+8>>2]=r[o+8>>2];r[e+12>>2]=r[o+12>>2];u=r[a>>2]|0;m=u+4|0;h=r[m>>2]|0;do{if((h|0)==0){r[9806]=(r[9806]|0)+1;f=hBe(63)|0;if((f|0)==0){g=0;break}C=-(f+4|0)&15;S=f+(C+4)|0;r[f+C>>2]=f;if((S|0)==0){g=0;break}vBe(S|0,0,44);g=S}else{r[m>>2]=0;g=h}}while(0);r[g+32>>2]=0;r[g+36>>2]=_;r[g+40>>2]=0;h=g;yBe(h|0,s|0,32)|0;KMe(u,r[u>>2]|0,g);h=u+12|0;r[h>>2]=(r[h>>2]|0)+1;r[c+(_*80|0)+76>>2]=g;_=_+1|0}while((_|0)<(r[l>>2]|0));d=t;return}function Kl(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(111)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}i=t;Gve(i,1);return i|0}function $l(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;while(1){i=hBe(40)|0;if((i|0)!=0){n=1008;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){n=1005;break}prt[_&63]()}if((n|0)==1005){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}else if((n|0)==1008){n=i;sAe(n,e,t);return n|0}return 0}function ed(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function td(e){e=e|0;return(r[e+4>>2]|0)==31|0}function id(e){e=e|0;return(r[e+4>>2]|0)<7|0}function nd(e,t){e=e|0;t=t|0;return r[(r[e+24>>2]|0)+(t*80|0)+64>>2]|0}function _d(e){e=e|0;return(r[e+4>>2]|0)==28|0}function rd(e,t){e=e|0;t=t|0;return(r[e+24>>2]|0)+(t*80|0)|0}function od(e){e=e|0;return r[e+8>>2]|0}function sd(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function ad(e){e=e|0;return r[e+24>>2]|0}function pd(e){e=e|0;return r[e+16>>2]|0}function ld(e){e=e|0;return(r[e+4>>2]|0)==32|0}function dd(e){e=e|0;var t=0,i=0,n=0;r[9806]=(r[9806]|0)+1;t=hBe(111)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}n=i;Gve(n,e);return n|0}function cd(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function bd(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function ud(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function md(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function hd(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function fd(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0.0,S=0.0,y=0,v=0,x=0,M=0,T=0,D=0,P=0;_=d;d=d+128|0;o=_+64|0;s=_+80|0;a=_+96|0;l=_|0;c=_+16|0;b=_+32|0;u=_+48|0;m=o;h=s;f=a;g=e+68|0;r[g>>2]=(r[g>>2]|0)+1;g=t;r[l>>2]=r[g>>2];r[l+4>>2]=r[g+4>>2];r[l+8>>2]=r[g+8>>2];r[l+12>>2]=r[g+12>>2];g=t+16|0;r[c>>2]=r[g>>2];r[c+4>>2]=r[g+4>>2];r[c+8>>2]=r[g+8>>2];r[c+12>>2]=r[g+12>>2];g=t+32|0;r[b>>2]=r[g>>2];r[b+4>>2]=r[g+4>>2];r[b+8>>2]=r[g+8>>2];r[b+12>>2]=r[g+12>>2];g=t+48|0;r[u>>2]=r[g>>2];r[u+4>>2]=r[g+4>>2];r[u+8>>2]=r[g+8>>2];r[u+12>>2]=r[g+12>>2];g=r[i+4>>2]|0;C=+z_t[r[(r[i>>2]|0)+44>>2]&1023](i);mrt[r[(r[i>>2]|0)+8>>2]&1023](i,t,o,s);t=e+32|0;S=+p[o>>2];if(+p[t>>2]>S){p[t>>2]=S}t=e+48|0;S=+p[s>>2];if(+p[t>>2]<S){p[t>>2]=S}t=e+36|0;S=+p[o+4>>2];if(+p[t>>2]>S){p[t>>2]=S}t=e+52|0;S=+p[s+4>>2];if(+p[t>>2]<S){p[t>>2]=S}t=e+40|0;S=+p[o+8>>2];if(+p[t>>2]>S){p[t>>2]=S}t=e+56|0;S=+p[s+8>>2];if(+p[t>>2]<S){p[t>>2]=S}t=r[e+64>>2]|0;if((t|0)==0){y=0;v=e+16|0}else{r[f>>2]=r[m>>2];r[f+4>>2]=r[m+4>>2];r[f+8>>2]=r[m+8>>2];r[f+12>>2]=r[m+12>>2];m=a+16|0;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];h=e+16|0;m=r[h>>2]|0;a=t+4|0;s=r[a>>2]|0;do{if((s|0)==0){r[9806]=(r[9806]|0)+1;o=hBe(63)|0;if((o|0)==0){x=0;break}M=-(o+4|0)&15;T=o+(M+4)|0;r[o+M>>2]=o;if((T|0)==0){x=0;break}vBe(T|0,0,44);x=T}else{r[a>>2]=0;x=s}}while(0);r[x+32>>2]=0;r[x+36>>2]=m;r[x+40>>2]=0;m=x;yBe(m|0,f|0,32)|0;KMe(t,r[t>>2]|0,x);f=t+12|0;r[f>>2]=(r[f>>2]|0)+1;y=x;v=h}h=r[v>>2]|0;x=e+20|0;do{if((h|0)==(r[x>>2]|0)){f=(h|0)==0?1:h<<1;if((h|0)>=(f|0)){D=h;break}do{if((f|0)==0){P=0}else{r[9806]=(r[9806]|0)+1;t=hBe((f*80|0|4)+15|0)|0;if((t|0)==0){P=0;break}m=-(t+4|0)&15;r[t+m>>2]=t;P=t+(m+4)|0}}while(0);m=r[e+16>>2]|0;t=e+24|0;if((m|0)>0){s=0;do{a=r[t>>2]|0;T=P+(s*80|0)|0;o=a+(s*80|0)|0;r[T>>2]=r[o>>2];r[T+4>>2]=r[o+4>>2];r[T+8>>2]=r[o+8>>2];r[T+12>>2]=r[o+12>>2];o=P+(s*80|0)+16|0;T=a+(s*80|0)+16|0;r[o>>2]=r[T>>2];r[o+4>>2]=r[T+4>>2];r[o+8>>2]=r[T+8>>2];r[o+12>>2]=r[T+12>>2];T=P+(s*80|0)+32|0;o=a+(s*80|0)+32|0;r[T>>2]=r[o>>2];r[T+4>>2]=r[o+4>>2];r[T+8>>2]=r[o+8>>2];r[T+12>>2]=r[o+12>>2];o=P+(s*80|0)+48|0;T=a+(s*80|0)+48|0;r[o>>2]=r[T>>2];r[o+4>>2]=r[T+4>>2];r[o+8>>2]=r[T+8>>2];r[o+12>>2]=r[T+12>>2];r[P+(s*80|0)+64>>2]=r[a+(s*80|0)+64>>2];r[P+(s*80|0)+68>>2]=r[a+(s*80|0)+68>>2];p[P+(s*80|0)+72>>2]=+p[a+(s*80|0)+72>>2];r[P+(s*80|0)+76>>2]=r[a+(s*80|0)+76>>2];s=s+1|0}while((s|0)<(m|0))}m=r[t>>2]|0;s=e+28|0;if((m|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-80+76>>2]|0)}r[t>>2]=0}n[s]=1;r[t>>2]=P;r[x>>2]=f;D=r[v>>2]|0}else{D=h}}while(0);h=r[e+24>>2]|0;e=h+(D*80|0)|0;r[e>>2]=r[l>>2];r[e+4>>2]=r[l+4>>2];r[e+8>>2]=r[l+8>>2];r[e+12>>2]=r[l+12>>2];l=h+(D*80|0)+16|0;r[l>>2]=r[c>>2];r[l+4>>2]=r[c+4>>2];r[l+8>>2]=r[c+8>>2];r[l+12>>2]=r[c+12>>2];c=h+(D*80|0)+32|0;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];b=h+(D*80|0)+48|0;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];r[h+(D*80|0)+64>>2]=i;r[h+(D*80|0)+68>>2]=g;p[h+(D*80|0)+72>>2]=C;r[h+(D*80|0)+76>>2]=y;r[v>>2]=(r[v>>2]|0)+1;d=_;return}function gd(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function Cd(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function Sd(e,t){e=e|0;t=t|0;Hve(e,t);return}function yd(e){e=e|0;jnt[r[(r[e>>2]|0)+64>>2]&2047](e);return}function vd(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function xd(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=_;a=o;p=e+24|0;l=r[p>>2]|0;c=l+(t*80|0)|0;b=i;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];b=l+(t*80|0)+16|0;c=i+16|0;r[b>>2]=r[c>>2];r[b+4>>2]=r[c+4>>2];r[b+8>>2]=r[c+8>>2];r[b+12>>2]=r[c+12>>2];c=l+(t*80|0)+32|0;b=i+32|0;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];b=l+(t*80|0)+48|0;l=i+48|0;r[b>>2]=r[l>>2];r[b+4>>2]=r[l+4>>2];r[b+8>>2]=r[l+8>>2];r[b+12>>2]=r[l+12>>2];l=e+64|0;if((r[l>>2]|0)==0){u=e;m=r[u>>2]|0;h=m+64|0;f=r[h>>2]|0;jnt[f&2047](e);d=n;return}b=r[(r[p>>2]|0)+(t*80|0)+64>>2]|0;mrt[r[(r[b>>2]|0)+8>>2]&1023](b,i,o|0,_);_=o+16|0;r[_>>2]=r[s>>2];r[_+4>>2]=r[s+4>>2];r[_+8>>2]=r[s+8>>2];r[_+12>>2]=r[s+12>>2];s=r[l>>2]|0;l=r[(r[p>>2]|0)+(t*80|0)+76>>2]|0;t=$Me(s,l)|0;e:do{if((t|0)==0){g=0}else{p=r[s+8>>2]|0;if((p|0)>-1){C=0;S=t}else{g=r[s>>2]|0;break}while(1){if((C|0)>=(p|0)){g=S;break e}_=r[S+32>>2]|0;if((_|0)==0){g=S;break}else{C=C+1|0;S=_}}}}while(0);S=l;yBe(S|0,a|0,32)|0;KMe(s,g,l);u=e;m=r[u>>2]|0;h=m+64|0;f=r[h>>2]|0;jnt[f&2047](e);d=n;return}function Md(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0;_=d;d=d+48|0;o=_|0;s=_+16|0;a=o;p=s;l=e+24|0;c=r[l>>2]|0;b=c+(t*80|0)|0;u=i;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];u=c+(t*80|0)+16|0;b=i+16|0;r[u>>2]=r[b>>2];r[u+4>>2]=r[b+4>>2];r[u+8>>2]=r[b+8>>2];r[u+12>>2]=r[b+12>>2];b=c+(t*80|0)+32|0;u=i+32|0;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];u=c+(t*80|0)+48|0;c=i+48|0;r[u>>2]=r[c>>2];r[u+4>>2]=r[c+4>>2];r[u+8>>2]=r[c+8>>2];r[u+12>>2]=r[c+12>>2];c=e+64|0;if((r[c>>2]|0)!=0){u=r[(r[l>>2]|0)+(t*80|0)+64>>2]|0;mrt[r[(r[u>>2]|0)+8>>2]&1023](u,i,s|0,o);o=s+16|0;r[o>>2]=r[a>>2];r[o+4>>2]=r[a+4>>2];r[o+8>>2]=r[a+8>>2];r[o+12>>2]=r[a+12>>2];a=r[c>>2]|0;c=r[(r[l>>2]|0)+(t*80|0)+76>>2]|0;t=$Me(a,c)|0;e:do{if((t|0)==0){m=0}else{l=r[a+8>>2]|0;if((l|0)>-1){h=0;f=t}else{m=r[a>>2]|0;break}while(1){if((h|0)>=(l|0)){m=f;break e}o=r[f+32>>2]|0;if((o|0)==0){m=f;break}else{h=h+1|0;f=o}}}}while(0);f=c;yBe(f|0,p|0,32)|0;KMe(a,m,c)}if(!n){d=_;return}jnt[r[(r[e>>2]|0)+64>>2]&2047](e);d=_;return}function Td(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Dd(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Pd(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function wd(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Ad(e){e=e|0;return r[e+4>>2]|0}function Fd(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Rd(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Id(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Bd(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Vd(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Ed(e){e=e|0;return r[e+32>>2]|0}function Nd(e){e=e|0;return(r[e+4>>2]|0)<20|0}function kd(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Od(e){e=e|0;return r[e+8>>2]|0}function Ld(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function Ud(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Gd(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Wd(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function zd(e){e=e|0;return r[e+4>>2]|0}function Hd(e){e=e|0;return e+100|0}function jd(e){e=e|0;return r[e+24>>2]|0}function Xd(e,t){e=e|0;t=t|0;r[e+76>>2]=t;return}function Zd(e){e=e|0;return e+4|0}function Qd(e,t){e=e|0;t=t|0;r[e+88>>2]=t;r[e+96>>2]=0;return}function qd(e,t,i){e=e|0;t=t|0;i=i|0;r[e+88>>2]=t;r[e+96>>2]=i;return}function Yd(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if(n){r[e+92>>2]=t}else{r[e+88>>2]=t}r[e+96>>2]=i;return}function Jd(e){e=e|0;return(n[e+84|0]&1)!=0|0}function Kd(e){e=e|0;return r[e+8>>2]|0}function $d(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0,T=0.0,D=0.0,P=0.0,w=0.0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0.0,k=0,O=0.0,L=0,U=0.0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0;_=d;d=d+64|0;o=_|0;s=_+48|0;a=o;l=r[e+16>>2]|0;c=(l|0)>0;if(c){b=r[e+24>>2]|0;u=0.0;m=0.0;h=0.0;f=0.0;g=0;while(1){C=+p[t+(g<<2)>>2];S=f+ +p[b+(g*80|0)+48>>2]*C;y=h+C*+p[b+(g*80|0)+52>>2];v=m+C*+p[b+(g*80|0)+56>>2];x=u+C;M=g+1|0;if((M|0)<(l|0)){u=x;m=v;h=y;f=S;g=M}else{T=x;D=v;P=y;w=S;break}}}else{T=0.0;D=0.0;P=0.0;w=0.0}f=1.0/T;T=w*f;w=P*f;P=D*f;p[i+48>>2]=T;p[i+52>>2]=w;p[i+56>>2]=P;p[i+60>>2]=0.0;g=o|0;b=o+4|0;M=o+8|0;A=o+16|0;F=o+20|0;R=o+24|0;I=o+32|0;B=o+36|0;V=o+40|0;vBe(a|0,0,48);if(!c){E=i|0;Vn(o,E,9999999747378752.0e-21,20);N=+p[g>>2];k=n|0;p[k>>2]=N;O=+p[F>>2];L=n+4|0;p[L>>2]=O;U=+p[V>>2];G=n+8|0;p[G>>2]=U;W=n+12|0;p[W>>2]=0.0;d=_;return}c=e+24|0;e=s|0;a=s+4|0;z=s+8|0;H=0;j=r[c>>2]|0;f=0.0;D=0.0;h=0.0;m=0.0;u=0.0;S=0.0;y=0.0;v=0.0;x=0.0;do{X=r[j+(H*80|0)+64>>2]|0;Z=t+(H<<2)|0;y_t[r[(r[X>>2]|0)+32>>2]&255](X,+p[Z>>2],s);j=r[c>>2]|0;C=+p[j+(H*80|0)+48>>2]-T;Q=+p[j+(H*80|0)+52>>2]-w;q=+p[j+(H*80|0)+56>>2]-P;Y=+p[j+(H*80|0)>>2];J=+p[j+(H*80|0)+16>>2];K=+p[j+(H*80|0)+32>>2];$=+p[j+(H*80|0)+4>>2];ee=+p[j+(H*80|0)+20>>2];te=+p[j+(H*80|0)+36>>2];ie=+p[j+(H*80|0)+8>>2];ne=+p[j+(H*80|0)+24>>2];_e=+p[j+(H*80|0)+40>>2];re=+p[e>>2];oe=Y*re;se=J*re;ae=K*re;re=+p[a>>2];pe=$*re;le=ee*re;de=te*re;re=+p[z>>2];ce=ie*re;be=ne*re;ue=_e*re;re=C*C+Q*Q+q*q;me=-0.0-C;he=-0.0-Q;fe=-0.0-q;ge=+p[Z>>2];f=(C*me+re)*ge+(f+(Y*oe+$*pe+ie*ce));p[g>>2]=f;D=(Q*me+0.0)*ge+(D+(Y*se+$*le+ie*be));p[b>>2]=D;h=(q*me+0.0)*ge+(Y*ae+$*de+ie*ue+h);p[M>>2]=h;m=(C*he+0.0)*ge+(J*oe+ee*pe+ne*ce+m);p[A>>2]=m;u=(Q*he+re)*ge+(J*se+ee*le+ne*be+u);p[F>>2]=u;S=(q*he+0.0)*ge+(J*ae+ee*de+ne*ue+S);p[R>>2]=S;y=(C*fe+0.0)*ge+(K*oe+te*pe+_e*ce+y);p[I>>2]=y;v=(Q*fe+0.0)*ge+(K*se+te*le+_e*be+v);p[B>>2]=v;x=(q*fe+re)*ge+(K*ae+te*de+_e*ue+x);p[V>>2]=x;H=H+1|0}while((H|0)<(l|0));E=i|0;Vn(o,E,9999999747378752.0e-21,20);N=+p[g>>2];k=n|0;p[k>>2]=N;O=+p[F>>2];L=n+4|0;p[L>>2]=O;U=+p[V>>2];G=n+8|0;p[G>>2]=U;W=n+12|0;p[W>>2]=0.0;d=_;return}function ec(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function tc(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function ic(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function nc(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function _c(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+60>>2]&1023](e,t,i,n);return}function rc(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function oc(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function sc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function ac(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function pc(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function lc(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function dc(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function cc(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function bc(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function uc(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function mc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function hc(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function fc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+68>>2]&2047](e,t);return}function gc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function Cc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e|0,t);return}function Sc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+80>>2]&2047](e,t);return}function yc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+84>>2]&1023](e,t,i,n);return}function vc(e){e=e|0;jnt[r[(r[e>>2]|0)+116>>2]&2047](e);return}function xc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+124>>2]&2047](e,t);return}function Mc(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e|0)|0}function Tc(e){e=e|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](e|0);return}function Dc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+24>>2]&1023](e|0,t,i,n);return}function Pc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e,t);return}function wc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e|0,t,i,n);return}function Ac(e){e=e|0;return Knt[r[(r[e>>2]|0)+100>>2]&4095](e)|0}function Fc(e,t){e=e|0;t=t|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,1,-1);return}function Rc(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,i,-1);return}function Ic(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,i,n);return}function Bc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+88>>2]&2047](e,t);return}function Vc(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=n+32|0;a=r[t+192>>2]|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,t+4|0,_,o);r[s>>2]=21168;r[s+4>>2]=t;r[s+8>>2]=e;r[s+12>>2]=i;i=r[e+76>>2]|0;mrt[r[(r[i>>2]|0)+28>>2]&1023](i,_,o,s|0);d=n;return}function Ec(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e|0);return}function Nc(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function kc(e){e=e|0;jnt[r[(r[e>>2]|0)+76>>2]&2047](e);return}function Oc(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Gye(e|0,t,i,n,_,0.0);return}function Lc(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;Gye(e|0,t,i,n,_,r);return}function Uc(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Gc(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+52>>2]&511](e,t,0);return}function Wc(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+52>>2]&511](e,t,i);return}function zc(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0;_=d;d=d+168|0;o=_|0;s=e+24|0;a=r[s>>2]|0;p=drt[r[(r[a>>2]|0)+8>>2]&127](a,t,i,0)|0;if((p|0)==0){d=_;return}r[o+4>>2]=0;r[o+136>>2]=t;r[o+140>>2]=i;a=o+8|0;l=t+4|0;vBe(o+144|0,-1|0,16);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+24|0;a=t+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+40|0;l=t+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+56|0;a=t+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+72|0;l=i+4|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+88|0;a=i+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+104|0;l=i+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+120|0;a=i+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];r[o>>2]=21728;r[o+160>>2]=n;Unt[r[(r[p>>2]|0)+8>>2]&255](p,t,i,e+28|0,o|0);jnt[r[r[p>>2]>>2]&2047](p);o=r[s>>2]|0;Znt[r[(r[o>>2]|0)+60>>2]&2047](o,p);d=_;return}function Hc(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0;while(1){i=hBe(36)|0;if((i|0)!=0){n=1205;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==1205){n=i+4|0;r[n>>2]=35;r[i+8>>2]=0;p[i+12>>2]=0.0;r[i>>2]=20128;_=i+16|0;o=t;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];r[i+32>>2]=e;r[n>>2]=22;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function jc(e){e=e|0;return r[e+76>>2]|0}function Xc(e,t){e=e|0;t=t|0;n[e+84|0]=t&1;return}function Zc(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function Qc(e){e=e|0;return r[e+96>>2]|0}function qc(e){e=e|0;return e+28|0}function Yc(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function Jc(e){e=e|0;return+ +p[e+4>>2]}function Kc(e){e=e|0;return+ +p[e+8>>2]}function $c(e,t){e=e|0;t=+t;p[e>>2]=t;return}function eb(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function tb(e){e=e|0;return+ +p[e>>2]}function ib(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0;i=e+8|0;n=r[i>>2]|0;_=n+t|0;if(_>>>0>=(r[e+4>>2]|0)>>>0){o=0;return o|0}r[i>>2]=_;o=(r[e>>2]|0)+n|0;return o|0}function nb(e){e=e|0;var t=0,i=0,n=0,_=0,o=0;t=e+8|0;i=r[t>>2]|0;n=i+8|0;if(n>>>0<(r[e+4>>2]|0)>>>0){r[t>>2]=n;n=e|0;_=(r[n>>2]|0)+i|0;o=n}else{_=0;o=e|0}n=_;i=e+12|0;r[_>>2]=r[i>>2];r[_+4>>2]=(r[o>>2]|0)+(r[t>>2]|0);r[i>>2]=n;return n|0}function _b(e){e=e|0;return(r[e+4>>2]|0)-(r[e+8>>2]|0)|0}function rb(e,t){e=e|0;t=t|0;var i=0;i=e+12|0;if((r[i>>2]|0)!=(t|0)){return}r[i>>2]=r[t>>2];r[e+8>>2]=(r[t+4>>2]|0)-(r[e>>2]|0)-8;return}function ob(e){e=e|0;return r[e+28>>2]|0}function sb(e){e=e|0;return r[e+12>>2]|0}function ab(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function pb(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function lb(e){e=e|0;return e+40|0}function db(e,t){e=e|0;t=t|0;return+ +p[e+1248+(t<<2)>>2]}function cb(e){e=e|0;return e+104|0}function bb(e){e=e|0;return e+1056|0}function ub(e){e=e|0;return r[e+12>>2]|0}function mb(e){e=e|0;return r[e+4>>2]|0}function hb(e){e=e|0;return r[e+24>>2]|0}function fb(e){e=e|0;return+ +p[e+16>>2]}function gb(e){e=e|0;var t=0,i=0;t=d;d=d+16|0;i=t|0;do{if((n[43912]|0)==0){if((ui(43912)|0)==0){break}}}while(0);Znt[r[(r[e>>2]|0)+72>>2]&2047](i,e);e=i;r[9558]=r[e>>2];r[9559]=r[e+4>>2];r[9560]=r[e+8>>2];r[9561]=r[e+12>>2];d=t;return 38232}function Cb(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e);return}function Sb(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Bye(e,t,i,n,_,r);return}function yb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e,t);return}function vb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+132>>2]&2047](e,t);return}function xb(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+104>>2]&511](e,t)|0}function Mb(e){e=e|0;return Knt[r[(r[e>>2]|0)+96>>2]&4095](e)|0}function Tb(e,t){e=e|0;t=+t;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,1,.01666666753590107)|0}function Db(e,t,i){e=e|0;t=+t;i=i|0;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,i,.01666666753590107)|0}function Pb(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,i,n)|0}function wb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+128>>2]&2047](e,t);return}function Ab(e){e=e|0;return Knt[r[(r[e>>2]|0)+112>>2]&4095](e)|0}function Fb(e,t){e=e|0;t=t|0;Aye(e|0,t);return}function Rb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+120>>2]&2047](e,t);return}function Ib(e){e=e|0;var t=0;t=r[e+76>>2]|0;return Knt[r[(r[t>>2]|0)+36>>2]&4095](t)|0}function Bb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e|0,t);return}function Vb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+92>>2]&2047](e,t);return}function Eb(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;Eye(e,t,i,n,_,r,o,s);return}function Nb(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function kb(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,n)|0}function Ob(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Lb(e){e=e|0;var t=0,i=0,_=0,o=0;if((e|0)==0){return}t=e+8|0;e:do{if((r[t>>2]|0)==0){i=e|0;do{if((n[e+16|0]&1)==0){_=r[i>>2]|0;if((_|0)==0){r[i>>2]=0;r[t>>2]=0;break e}else{r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0);o=i;break}}else{o=i}}while(0);r[o>>2]=0;r[t>>2]=0}}while(0);SBe(e);return}function Ub(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0;i=e+8|0;if((r[i>>2]|0)==0){_=e|0;do{if((n[e+16|0]&1)==0){o=r[_>>2]|0;if((o|0)==0){s=_;break}r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0);s=_}else{s=_}}while(0);r[s>>2]=0;r[i>>2]=0}r[9806]=(r[9806]|0)+1;i=hBe(t+19|0)|0;if((i|0)==0){a=0;p=e|0;r[p>>2]=a;l=e+4|0;r[l>>2]=t;return}s=-(i+4|0)&15;r[i+s>>2]=i;a=i+(s+4)|0;p=e|0;r[p>>2]=a;l=e+4|0;r[l>>2]=t;return}function Gb(e){e=e|0;var t=0,i=0,_=0,o=0;t=e+8|0;if((r[t>>2]|0)!=0){return}i=e|0;do{if((n[e+16|0]&1)==0){_=r[i>>2]|0;if((_|0)==0){o=i;break}r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0);o=i}else{o=i}}while(0);r[o>>2]=0;r[t>>2]=0;return}function Wb(e){e=e|0;if((e|0)==0){return}SBe(e);return}function zb(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e|0);return}function Hb(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e|0,t,i,-1);return}function jb(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e|0,t,i,n);return}function Xb(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;hhe(e|0,t,i,n,_,r,o,s);return}function Zb(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e|0,t,-1)}function Qb(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e|0,t,i)}function qb(e,t,i){e=e|0;t=+t;i=+i;var n=0,_=0,r=0,o=0.0;n=d;d=d+16|0;_=n|0;p[_>>2]=0.0;p[_+4>>2]=t;p[_+8>>2]=i;p[_+12>>2]=0.0;r=0;while(1){if((r|0)>=3){break}i=+Bi(+ +p[_+(r<<2)>>2],6.2831854820251465);do{if(i<-3.1415927410125732){o=i+6.2831854820251465}else{if(i<=3.1415927410125732){o=i;break}o=i-6.2831854820251465}}while(0);p[e+860+(r<<6)+4>>2]=o;r=r+1|0}d=n;return}function Yb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e|0,t);return}function Jb(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e|0,t);return}function Kb(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(8)|0;if((t|0)!=0){i=1337;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){break}prt[n&63]()}if((i|0)==1337){r[t>>2]=20640;r[t+4>>2]=e;return t|0}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}function $b(){var e=0,t=0,i=0;while(1){e=hBe(12)|0;if((e|0)!=0){t=1349;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==1349){p[e>>2]=.30000001192092896;p[e+4>>2]=1.0;p[e+8>>2]=0.0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function eu(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0;while(1){t=hBe(20)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){n=1358;break}prt[i&63]()}if((n|0)==1358){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}n=t;i=t;_=t+4|0;vBe(t|0,0,17);r[i>>2]=0;r[t+8>>2]=0;r[9806]=(r[9806]|0)+1;t=hBe(e+19|0)|0;if((t|0)==0){o=0;r[i>>2]=o;r[_>>2]=e;return n|0}s=-(t+4|0)&15;r[t+s>>2]=t;o=t+(s+4)|0;r[i>>2]=o;r[_>>2]=e;return n|0}function tu(){var e=0,t=0,i=0;while(1){e=hBe(72)|0;if((e|0)!=0){t=1377;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==1377){p[e>>2]=.6000000238418579;p[e+4>>2]=1.0;p[e+8>>2]=.30000001192092896;p[e+16>>2]=0.0;p[e+24>>2]=20.0;r[e+20>>2]=10;p[e+32>>2]=.20000000298023224;p[e+36>>2]=.10000000149011612;p[e+40>>2]=0.0;p[e+28>>2]=1.0;r[e+44>>2]=0;p[e+48>>2]=-.019999999552965164;p[e+52>>2]=0.0;p[e+56>>2]=.8500000238418579;r[e+60>>2]=260;r[e+64>>2]=2;r[e+68>>2]=128;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function iu(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=3){break}p[t+(i<<2)>>2]=+p[e+860+(i<<6)>>2];i=i+1|0}return}function nu(e){e=e|0;return+ +p[e+32>>2]}function _u(e){e=e|0;return(n[e+20|0]&1)!=0|0}function ru(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function ou(e){e=e|0;return r[e+4>>2]|0}function su(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function au(e){e=e|0;return e+1104|0}function pu(e,t){e=e|0;t=t|0;n[e+1293|0]=t&1;return}function lu(e,t){e=e|0;t=t|0;var i=0,n=0;if((t|0)<3){i=+p[e+688+(t<<2)>>2]>=+p[e+672+(t<<2)>>2];return i|0}n=t-3|0;if(+p[e+860+(n<<6)>>2]>+p[e+860+(n<<6)+4>>2]){i=0;return i|0}i=1;return i|0}function du(e){e=e|0;return+ +p[e+1188>>2]}function cu(e,t){e=e|0;t=t|0;return e+860+(t<<6)|0}function bu(e){e=e|0;return+ +p[e+1192>>2]}function uu(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+1300|0]&1)==0){r[i>>2]=6;r[t+4>>2]=0;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function mu(e){e=e|0;return e+1168|0}function hu(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function fu(e){e=e|0;return(n[e+1293|0]&1)!=0|0}function gu(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Cu(e){e=e|0;return e+1120|0}function Su(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function yu(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function vu(e){e=e|0;return(n[e+1300|0]&1)!=0|0}function xu(e){e=e|0;return+ +p[e+32>>2]}function Mu(e){e=e|0;jnt[r[(r[e>>2]|0)+44>>2]&2047](e|0);return}function Tu(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function Du(e,t){e=e|0;t=t|0;do{if((n[43872]|0)==0){if((ui(43872)|0)==0){break}}}while(0);TBe(38216,e+1200+(t<<4)|0,16);return 38216}function Pu(e,t){e=e|0;t=t|0;var i=0;i=t;t=e+688|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];return}function wu(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e|0,t,i)|0}function Au(e,t){e=e|0;t=t|0;var i=0;i=e+672|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Fu(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Ru(e,t){e=e|0;t=t|0;var i=0;i=t;t=e+672|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];return}function Iu(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=e|0;_=e+40|0;o=t;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+56|0;_=t+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+72|0;o=t+32|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+88|0;_=t+48|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+104|0;o=i;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+120|0;_=i+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+136|0;o=i+32|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+152|0;_=i+48|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];jnt[r[(r[e>>2]|0)+8>>2]&2047](n);ihe(n,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function Bu(e){e=e|0;ihe(e|0,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function Vu(e,t,i){e=e|0;t=t|0;i=i|0;ihe(e|0,t,i);return}function Eu(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return che(e|0,t,i,n,_,r,o,s,a,p,l,d,0)|0}function Nu(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return che(e|0,t,i,n,_,r,o,s,a,p,l,d,c)|0}function ku(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;Ou(e|0,t,i,n);return}function Ou(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;var _=0.0,r=0.0,o=0.0,s=0;if((t|0)<3){p[e+672+(t<<2)>>2]=i;p[e+688+(t<<2)>>2]=n;return}_=+Bi(+i,6.2831854820251465);do{if(_<-3.1415927410125732){r=_+6.2831854820251465}else{if(_<=3.1415927410125732){r=_;break}r=_-6.2831854820251465}}while(0);_=+Bi(+n,6.2831854820251465);do{if(_<-3.1415927410125732){o=_+6.2831854820251465}else{if(_<=3.1415927410125732){o=_;break}o=_-6.2831854820251465}}while(0);s=t-3|0;p[e+860+(s<<6)>>2]=r;p[e+860+(s<<6)+4>>2]=o;return}function Lu(e,t){e=e|0;t=+t;return}function Uu(e){e=e|0;return e+672|0}function Gu(e){e=e|0;return(n[e+21|0]&1)!=0|0}function Wu(e,t){e=e|0;t=t|0;return+ +p[e+1184+(t<<2)>>2]}function zu(e,t){e=e|0;t=t|0;n[e+1300|0]=t&1;return}function Hu(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=3){break}p[t+(i<<2)>>2]=+p[e+860+(i<<6)+4>>2];i=i+1|0}return}function ju(e){e=e|0;return r[e+4>>2]|0}function Xu(e){e=e|0;return r[e+8>>2]|0}function Zu(e){e=e|0;return+ +p[e+36>>2]}function Qu(e){e=e|0;return e+1320|0}function qu(e){e=e|0;return r[e+12>>2]|0}function Yu(e){e=e|0;return e+1336|0}function Ju(e,t,i){e=e|0;t=+t;i=+i;var n=0,_=0,r=0,o=0.0;n=d;d=d+16|0;_=n|0;p[_>>2]=0.0;p[_+4>>2]=t;p[_+8>>2]=i;p[_+12>>2]=0.0;r=0;while(1){if((r|0)>=3){break}i=+Bi(+ +p[_+(r<<2)>>2],6.2831854820251465);do{if(i<-3.1415927410125732){o=i+6.2831854820251465}else{if(i<=3.1415927410125732){o=i;break}o=i-6.2831854820251465}}while(0);p[e+860+(r<<6)>>2]=o;r=r+1|0}d=n;return}function Ku(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function $u(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=0;while(1){if((i|0)>=3){break}n=+Bi(+ +p[t+(i<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[e+860+(i<<6)>>2]=_;i=i+1|0}return}function em(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n);return}function tm(e,t){e=e|0;t=t|0;var i=0;i=e+688|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function im(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=0;while(1){if((i|0)>=3){break}n=+Bi(+ +p[t+(i<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[e+860+(i<<6)+4>>2]=_;i=i+1|0}return}function nm(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,d=0,c=0.0,b=0.0,u=0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0,X=0;while(1){s=hBe(1352)|0;if((s|0)!=0){break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){l=1500;break}prt[a&63]()}if((l|0)==1500){l=Di(4)|0;r[l>>2]=19096;Ht(l|0,34368,676);return 0}l=s;a=s;do{if((n[43040]|0)==0){if((ui(43040)|0)==0){break}do{if((n[43048]|0)==0){if((ui(43048)|0)==0){break}p[10704]=1.0;vBe(42820,0,16);p[10709]=1.0;vBe(42840,0,16);p[10714]=1.0;p[10715]=0.0}}while(0);r[10688]=r[10704];r[10689]=r[10705];r[10690]=r[10706];r[10691]=r[10707];r[10692]=r[10708];r[42772>>2]=r[42836>>2];r[42776>>2]=r[42840>>2];r[42780>>2]=r[42844>>2];r[10696]=r[10712];r[42788>>2]=r[42852>>2];r[42792>>2]=r[42856>>2];r[42796>>2]=r[42860>>2];vBe(42800,0,16)}}while(0);do{if((n[43040]|0)==0){if((ui(43040)|0)==0){break}do{if((n[43048]|0)==0){if((ui(43048)|0)==0){break}p[10704]=1.0;vBe(42820,0,16);p[10709]=1.0;vBe(42840,0,16);p[10714]=1.0;p[10715]=0.0}}while(0);r[10688]=r[10704];r[10689]=r[10705];r[10690]=r[10706];r[10691]=r[10707];r[10692]=r[10708];r[42772>>2]=r[42836>>2];r[42776>>2]=r[42840>>2];r[42780>>2]=r[42844>>2];r[10696]=r[10712];r[42788>>2]=r[42852>>2];r[42792>>2]=r[42856>>2];r[42796>>2]=r[42860>>2];vBe(42800,0,16)}}while(0);the(a,e,t,42752,42752,1);r[s>>2]=21976;a=s+1304|0;d=i;r[a>>2]=r[d>>2];r[a+4>>2]=r[d+4>>2];r[a+8>>2]=r[d+8>>2];r[a+12>>2]=r[d+12>>2];d=s+1320|0;a=_;r[d>>2]=r[a>>2];r[d+4>>2]=r[a+4>>2];r[d+8>>2]=r[a+8>>2];r[d+12>>2]=r[a+12>>2];a=s+1336|0;d=o;r[a>>2]=r[d>>2];r[a+4>>2]=r[d+4>>2];r[a+8>>2]=r[d+8>>2];r[a+12>>2]=r[d+12>>2];d=_|0;c=+p[d>>2];a=_+4|0;b=+p[a>>2];u=_+8|0;m=+p[u>>2];h=1.0/+j(+(c*c+b*b+m*m));f=c*h;p[d>>2]=f;c=b*h;p[a>>2]=c;b=m*h;p[u>>2]=b;u=o|0;h=+p[u>>2];a=o+4|0;m=+p[a>>2];d=o+8|0;g=+p[d>>2];C=1.0/+j(+(h*h+m*m+g*g));S=h*C;p[u>>2]=S;h=m*C;p[a>>2]=h;m=g*C;p[d>>2]=m;C=b*h-c*m;g=f*m-b*S;y=c*S-f*h;v=+p[i>>2];x=+p[i+4>>2];M=+p[i+8>>2];T=+p[e+4>>2];D=+p[e+20>>2];P=+p[e+36>>2];w=+p[e+8>>2];A=+p[e+24>>2];F=+p[e+40>>2];I=+p[e+12>>2];B=+p[e+28>>2];V=+p[e+44>>2];E=-0.0-+p[e+52>>2];N=-0.0-+p[e+56>>2];k=-0.0-+p[e+60>>2];p[s+40>>2]=C*T+g*D+y*P;p[s+44>>2]=S*T+h*D+m*P;p[s+48>>2]=f*T+c*D+b*P;p[s+52>>2]=0.0;p[s+56>>2]=C*w+g*A+y*F;p[s+60>>2]=S*w+h*A+m*F;p[s+64>>2]=f*w+c*A+b*F;p[s+68>>2]=0.0;p[s+72>>2]=C*I+g*B+y*V;p[s+76>>2]=S*I+h*B+m*V;p[s+80>>2]=f*I+c*B+b*V;p[s+84>>2]=0.0;p[s+88>>2]=v*T+x*D+M*P+(T*E+D*N+P*k);p[s+92>>2]=v*w+x*A+M*F+(w*E+A*N+F*k);p[s+96>>2]=v*I+x*B+M*V+(I*E+B*N+V*k);p[s+100>>2]=0.0;k=+p[t+4>>2];V=+p[t+20>>2];N=+p[t+36>>2];B=+p[t+8>>2];E=+p[t+24>>2];I=+p[t+40>>2];F=+p[t+12>>2];A=+p[t+28>>2];w=+p[t+44>>2];P=-0.0-+p[t+52>>2];D=-0.0-+p[t+56>>2];T=-0.0-+p[t+60>>2];p[s+104>>2]=C*k+g*V+y*N;p[s+108>>2]=S*k+h*V+m*N;p[s+112>>2]=f*k+c*V+b*N;p[s+116>>2]=0.0;p[s+120>>2]=C*B+g*E+y*I;p[s+124>>2]=S*B+h*E+m*I;p[s+128>>2]=f*B+c*E+b*I;p[s+132>>2]=0.0;p[s+136>>2]=C*F+g*A+y*w;p[s+140>>2]=S*F+h*A+m*w;p[s+144>>2]=f*F+c*A+b*w;p[s+148>>2]=0.0;p[s+152>>2]=v*k+x*V+M*N+(k*P+V*D+N*T);p[s+156>>2]=v*B+x*E+M*I+(B*P+E*D+I*T);p[s+160>>2]=v*F+x*A+M*w+(F*P+A*D+w*T);p[s+164>>2]=0.0;vBe(s+672|0,0,32);T=+Bi(0.0,6.2831854820251465);do{if(T<-3.1415927410125732){O=T+6.2831854820251465}else{if(T<=3.1415927410125732){O=T;break}O=T-6.2831854820251465}}while(0);p[s+860>>2]=O;O=+Bi(-1.5607963800430298,6.2831854820251465);do{if(O<-3.1415927410125732){L=O+6.2831854820251465}else{if(O<=3.1415927410125732){L=O;break}L=O-6.2831854820251465}}while(0);p[s+924>>2]=L;L=+Bi(-3.1315927505493164,6.2831854820251465);do{if(L<-3.1415927410125732){U=L+6.2831854820251465}else{if(L<=3.1415927410125732){U=L;break}U=L-6.2831854820251465}}while(0);p[s+988>>2]=U;U=+Bi(0.0,6.2831854820251465);do{if(U<-3.1415927410125732){G=U+6.2831854820251465}else{if(U<=3.1415927410125732){G=U;break}G=U-6.2831854820251465}}while(0);p[s+864>>2]=G;G=+Bi(1.5607963800430298,6.2831854820251465);do{if(G<-3.1415927410125732){W=G+6.2831854820251465}else{if(G<=3.1415927410125732){W=G;break}W=G-6.2831854820251465}}while(0);p[s+928>>2]=W;W=+Bi(3.1315927505493164,6.2831854820251465);if(W<-3.1415927410125732){z=W+6.2831854820251465;H=s+992|0;X=H;p[X>>2]=z;return l|0}if(W<=3.1415927410125732){z=W;H=s+992|0;X=H;p[X>>2]=z;return l|0}z=W-6.2831854820251465;H=s+992|0;X=H;p[X>>2]=z;return l|0}function _m(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function rm(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function om(e){e=e|0;return(r[e+4>>2]|0)==31|0}function sm(e){e=e|0;return(r[e+4>>2]|0)<7|0}function am(e){e=e|0;return(r[e+4>>2]|0)<20|0}function pm(e){e=e|0;return(r[e+4>>2]|0)==28|0}function lm(e){e=e|0;return r[e+8>>2]|0}function dm(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function cm(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function bm(e){e=e|0;return(r[e+4>>2]|0)==32|0}function um(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function mm(e){e=e|0;return r[e+4>>2]|0}function hm(e,t){e=e|0;t=+t;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0;i=e+216|0;n=r[i>>2]|0;if((n|0)==2|(n|0)==4){return}_=+p[e+304>>2];o=+p[e+308>>2];s=+p[e+312>>2];a=+p[e+464>>2];do{if(_*_+o*o+s*s<a*a){l=+p[e+320>>2];d=+p[e+324>>2];c=+p[e+328>>2];b=+p[e+468>>2];if(l*l+d*d+c*c>=b*b){break}u=e+220|0;p[u>>2]=+p[u>>2]+t;return}}while(0);p[e+220>>2]=0.0;if((n-4|0)>>>0<2){return}r[i>>2]=0;return}function fm(e,t){e=e|0;t=t|0;r[e+236>>2]=t;return}function gm(e){e=e|0;var t=0,i=0;t=r[e+216>>2]|0;do{if((t|0)==4){i=0}else{if((n[39240]&1)!=0){i=0;break}if((t-2|0)>>>0<2){i=1;break}if(+p[e+220>>2]>2.0){i=1;break}i=0}}while(0);return i|0}function Cm(e){e=e|0;return e+132|0}function Sm(e,t){e=e|0;t=t|0;r[e+604>>2]=t;return}function ym(e){e=e|0;return+ +p[e+240>>2]}function vm(e){e=e|0;return e+584|0}function xm(e){e=e|0;return e+552|0}function Mm(e,t){e=e|0;t=t|0;r[e+208>>2]=t;return}function Tm(e){e=e|0;return+ +p[e+336>>2]}function Dm(e){e=e|0;return r[e+204>>2]|0}function Pm(e){e=e|0;return e+404|0}function wm(e){e=e|0;return e+52|0}function Am(e){e=e|0;return+ +p[e+220>>2]}function Fm(e){e=e|0;return r[e+200>>2]|0}function Rm(e){e=e|0;return e+372|0}function Im(e,t){e=e|0;t=t|0;r[e+496>>2]=t;return}function Bm(e){e=e|0;var t=0;t=r[e+216>>2]|0;return((t|0)==2?0:(t|0)!=5)|0}function Vm(e){e=e|0;return r[e+216>>2]|0}function Em(e){e=e|0;return e+420|0}function Nm(e){e=e|0;return e+256|0}function km(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0;n=+p[t>>2]-+p[e+52>>2];_=+p[t+4>>2]-+p[e+56>>2];r=+p[t+8>>2]-+p[e+60>>2];o=+p[i+8>>2];s=+p[i+4>>2];a=_*o-r*s;l=+p[i>>2];d=r*l-n*o;c=n*s-_*l;b=+p[e+256>>2]*a+ +p[e+272>>2]*d+ +p[e+288>>2]*c;u=+p[e+260>>2]*a+ +p[e+276>>2]*d+ +p[e+292>>2]*c;m=+p[e+264>>2]*a+ +p[e+280>>2]*d+ +p[e+296>>2]*c;return+(+p[e+336>>2]+(l*(u*r-m*_)+s*(m*n-b*r)+o*(b*_-u*n)))}function Om(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0;n=e+1320|0;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+1336|0;n=i;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];o=+p[t>>2];s=+p[t+4>>2];a=+p[t+8>>2];l=1.0/+j(+(o*o+s*s+a*a));d=o*l;o=s*l;s=a*l;l=+p[i>>2];a=+p[i+4>>2];c=+p[i+8>>2];b=1.0/+j(+(l*l+a*a+c*c));u=l*b;l=a*b;a=c*b;b=s*l-o*a;c=d*a-s*u;m=o*u-d*l;h=+p[e+1304>>2];f=+p[e+1308>>2];g=+p[e+1312>>2];i=r[e+24>>2]|0;C=+p[i+4>>2];S=+p[i+20>>2];y=+p[i+36>>2];v=+p[i+8>>2];x=+p[i+24>>2];M=+p[i+40>>2];T=+p[i+12>>2];D=+p[i+28>>2];P=+p[i+44>>2];w=-0.0-+p[i+52>>2];A=-0.0-+p[i+56>>2];F=-0.0-+p[i+60>>2];p[e+40>>2]=b*C+c*S+m*y;p[e+44>>2]=u*C+l*S+a*y;p[e+48>>2]=d*C+o*S+s*y;p[e+52>>2]=0.0;p[e+56>>2]=b*v+c*x+m*M;p[e+60>>2]=u*v+l*x+a*M;p[e+64>>2]=d*v+o*x+s*M;p[e+68>>2]=0.0;p[e+72>>2]=b*T+c*D+m*P;p[e+76>>2]=u*T+l*D+a*P;p[e+80>>2]=d*T+o*D+s*P;p[e+84>>2]=0.0;p[e+88>>2]=h*C+f*S+g*y+(C*w+S*A+y*F);p[e+92>>2]=h*v+f*x+g*M+(v*w+x*A+M*F);p[e+96>>2]=h*T+f*D+g*P+(T*w+D*A+P*F);p[e+100>>2]=0.0;t=r[e+28>>2]|0;F=+p[t+4>>2];P=+p[t+20>>2];A=+p[t+36>>2];D=+p[t+8>>2];w=+p[t+24>>2];T=+p[t+40>>2];M=+p[t+12>>2];x=+p[t+28>>2];v=+p[t+44>>2];y=-0.0-+p[t+52>>2];S=-0.0-+p[t+56>>2];C=-0.0-+p[t+60>>2];p[e+104>>2]=b*F+c*P+m*A;p[e+108>>2]=u*F+l*P+a*A;p[e+112>>2]=d*F+o*P+s*A;p[e+116>>2]=0.0;p[e+120>>2]=b*D+c*w+m*T;p[e+124>>2]=u*D+l*w+a*T;p[e+128>>2]=d*D+o*w+s*T;p[e+132>>2]=0.0;p[e+136>>2]=b*M+c*x+m*v;p[e+140>>2]=u*M+l*x+a*v;p[e+144>>2]=d*M+o*x+s*v;p[e+148>>2]=0.0;p[e+152>>2]=h*F+f*P+g*A+(F*y+P*S+A*C);p[e+156>>2]=h*D+f*w+g*T+(D*y+w*S+T*C);p[e+160>>2]=h*M+f*x+g*v+(M*y+x*S+v*C);p[e+164>>2]=0.0;ihe(e|0,i+4|0,t+4|0);return}function Lm(e,t){e=e|0;t=t|0;return _he(e|0,t)|0}function Um(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function Gm(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Wm(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function zm(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+60>>2]&1023](e,t,i,n);return}function Hm(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function jm(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Xm(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Zm(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function Qm(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function qm(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Ym(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function Jm(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Km(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function $m(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function eh(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function th(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function ih(e){e=e|0;var t=0,i=0;t=d;d=d+16|0;i=t|0;do{if((n[43880]|0)==0){if((ui(43880)|0)==0){break}}}while(0);mn(e+4|0,i);e=i;r[9550]=r[e>>2];r[9551]=r[e+4>>2];r[9552]=r[e+8>>2];r[9553]=r[e+12>>2];d=t;return 38200}function nh(e,t,i){e=e|0;t=+t;i=i|0;afe(e,t,i);return}function _h(e,t){e=e|0;t=t|0;r[e+472>>2]=t;if((t|0)==0){return}Znt[r[(r[t>>2]|0)+8>>2]&2047](t,e+4|0);return}function rh(e){e=e|0;vBe(e+404|0,0,32);return}function oh(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function sh(e,t){e=e|0;t=t|0;Cfe(e,t);return}function ah(){var e=0,t=0,i=0;while(1){e=hBe(32)|0;if((e|0)!=0){t=1645;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==1645){r[e+8>>2]=0;p[e+12>>2]=0.0;r[e>>2]=25688;r[e+4>>2]=27;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function ph(e){e=e|0;return+ +p[e+464>>2]}function lh(e){e=e|0;return r[e+196>>2]|0}function dh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,r=0,o=0.0,s=0.0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0;n=t|0;_=+p[e+340>>2];r=t+4|0;o=+p[e+344>>2];s=+p[r>>2]*o;a=t+8|0;l=+p[e+348>>2];d=+p[a>>2]*l;t=e+404|0;p[t>>2]=+p[t>>2]+ +p[n>>2]*_;t=e+408|0;p[t>>2]=+p[t>>2]+s;t=e+412|0;p[t>>2]=+p[t>>2]+d;d=+p[n>>2]*_;_=+p[r>>2]*o;o=+p[a>>2]*l;l=+p[i+4>>2];s=+p[i+8>>2];c=+p[i>>2];b=(s*d-c*o)*+p[e+540>>2];u=(c*_-l*d)*+p[e+544>>2];i=e+420|0;p[i>>2]=+p[i>>2]+(l*o-s*_)*+p[e+536>>2];i=e+424|0;p[i>>2]=+p[i>>2]+b;i=e+428|0;p[i>>2]=+p[i>>2]+u;return}function ch(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;n=+p[e+320>>2]+ +p[e+520>>2];_=+p[e+324>>2]+ +p[e+524>>2];r=+p[e+328>>2]+ +p[e+528>>2];o=+p[t+8>>2];s=+p[t+4>>2];a=+p[t>>2];l=+p[e+308>>2]+ +p[e+508>>2]+(r*a-n*o);d=+p[e+312>>2]+ +p[e+512>>2]+(n*s-_*a);p[i>>2]=+p[e+304>>2]+ +p[e+504>>2]+(_*o-r*s);p[i+4>>2]=l;p[i+8>>2]=d;p[i+12>>2]=0.0;return}function bh(e){e=e|0;return(r[e+204>>2]&7|0)==0|0}function uh(e){e=e|0;return+ +p[e+224>>2]}function mh(e,t){e=e|0;t=+t;p[e+184>>2]=t;return}function hh(e){e=e|0;return e+520|0}function fh(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0;i=+p[t+4>>2]*+p[e+344>>2];n=+p[t+8>>2]*+p[e+348>>2];_=e+404|0;p[_>>2]=+p[_>>2]+ +p[t>>2]*+p[e+340>>2];t=e+408|0;p[t>>2]=+p[t>>2]+i;t=e+412|0;p[t>>2]=+p[t>>2]+n;return}function gh(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0,r=0.0,o=0,s=0.0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0;n=+p[e+336>>2];if(n==0.0){return}_=t|0;r=+p[e+340>>2];o=t+4|0;s=+p[e+344>>2];a=t+8|0;l=+p[e+348>>2];d=+p[o>>2]*s*n;c=+p[a>>2]*l*n;t=e+304|0;p[t>>2]=+p[t>>2]+ +p[_>>2]*r*n;t=e+308|0;p[t>>2]=+p[t>>2]+d;t=e+312|0;p[t>>2]=+p[t>>2]+c;if((e+536|0)==0){return}c=+p[_>>2]*r;r=+p[o>>2]*s;s=+p[a>>2]*l;l=+p[i+4>>2];d=+p[i+8>>2];n=l*s-d*r;b=+p[i>>2];u=d*c-b*s;s=b*r-l*c;c=(+p[e+272>>2]*n+ +p[e+276>>2]*u+ +p[e+280>>2]*s)*+p[e+540>>2];l=(+p[e+288>>2]*n+ +p[e+292>>2]*u+ +p[e+296>>2]*s)*+p[e+544>>2];i=e+320|0;p[i>>2]=+p[i>>2]+(+p[e+256>>2]*n+ +p[e+260>>2]*u+ +p[e+264>>2]*s)*+p[e+536>>2];i=e+324|0;p[i>>2]=+p[i>>2]+c;i=e+328|0;p[i>>2]=+p[i>>2]+l;return}function Ch(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0;i=+p[t+4>>2]*+p[e+540>>2];n=+p[t+8>>2]*+p[e+544>>2];_=e+420|0;p[_>>2]=+p[_>>2]+ +p[t>>2]*+p[e+536>>2];t=e+424|0;p[t>>2]=+p[t>>2]+i;t=e+428|0;p[t>>2]=+p[t>>2]+n;return}function Sh(e){e=e|0;return r[e+208>>2]|0}function yh(e){e=e|0;return e+536|0}function vh(e){e=e|0;return e+148|0}function xh(e,t){e=e|0;t=t|0;r[e+216>>2]=t;return}function Mh(e){e=e|0;return e+320|0}function Th(e){e=e|0;return e+304|0}function Dh(e){e=e|0;return r[e+188>>2]|0}function Ph(e){e=e|0;return r[e+236>>2]|0}function wh(e,t){e=e|0;t=+t;p[e+244>>2]=t;return}function Ah(e){e=e|0;return(r[e+188>>2]|0)!=0|0}function Fh(e,t){e=e|0;t=t|0;r[e+192>>2]=t;return}function Rh(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+p[t>>2];n=+p[t+4>>2];_=+p[t+8>>2];return+(i*(+p[e+256>>2]*i+ +p[e+272>>2]*n+ +p[e+288>>2]*_)+n*(+p[e+260>>2]*i+ +p[e+276>>2]*n+ +p[e+292>>2]*_)+_*(+p[e+264>>2]*i+ +p[e+280>>2]*n+ +p[e+296>>2]*_))}function Ih(e){e=e|0;return+ +p[e+440>>2]}function Bh(e,t){e=e|0;t=t|0;r[e+188>>2]=t;return}function Vh(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0;i=e+480|0;n=r[i>>2]|0;_=e+488|0;o=0;while(1){if((o|0)>=(n|0)){s=n;a=1683;break}p=r[_>>2]|0;l=p+(o<<2)|0;if((r[l>>2]|0)==(t|0)){break}else{o=o+1|0}}if((a|0)==1683){d=(s|0)>0;c=d&1;b=e+252|0;r[b>>2]=c;return}a=n-1|0;r[l>>2]=r[p+(a<<2)>>2];r[(r[_>>2]|0)+(a<<2)>>2]=t;t=(r[i>>2]|0)-1|0;r[i>>2]=t;s=t;d=(s|0)>0;c=d&1;b=e+252|0;r[b>>2]=c;return}function Eh(e){e=e|0;return e+536|0}function Nh(e){e=e|0;return(r[e+204>>2]&3|0)!=0|0}function kh(e,t){e=e|0;t=+t;p[e+228>>2]=t;return}function Oh(e){e=e|0;return(r[e+204>>2]&2|0)!=0|0}function Lh(e){e=e|0;var t=0.0,i=0.0;if(+p[e+336>>2]==0.0){return}t=+p[e+308>>2]+ +p[e+508>>2];i=+p[e+312>>2]+ +p[e+512>>2];p[e+304>>2]=+p[e+304>>2]+ +p[e+504>>2];p[e+308>>2]=t;p[e+312>>2]=i;p[e+316>>2]=0.0;i=+p[e+324>>2]+ +p[e+524>>2];t=+p[e+328>>2]+ +p[e+528>>2];p[e+320>>2]=+p[e+320>>2]+ +p[e+520>>2];p[e+324>>2]=i;p[e+328>>2]=t;p[e+332>>2]=0.0;return}function Uh(e){e=e|0;var t=0,i=0,_=0;r[9806]=(r[9806]|0)+1;t=hBe(627)|0;if((t|0)==0){i=0}else{_=-(t+4|0)&15;r[t+_>>2]=t;i=t+(_+4)|0}_=i;p[i+164>>2]=1.0;p[i+168>>2]=1.0;p[i+172>>2]=1.0;p[i+176>>2]=0.0;r[i+180>>2]=0;p[i+184>>2]=999999984306749400.0;vBe(i+188|0,0,16);r[i+204>>2]=1;r[i+208>>2]=-1;r[i+212>>2]=-1;r[i+216>>2]=1;p[i+220>>2]=0.0;p[i+224>>2]=.5;p[i+228>>2]=0.0;r[i+232>>2]=1;r[i+236>>2]=0;p[i+240>>2]=1.0;p[i+244>>2]=0.0;p[i+248>>2]=0.0;r[i+252>>2]=0;p[i+4>>2]=1.0;vBe(i+8|0,0,16);p[i+24>>2]=1.0;vBe(i+28|0,0,16);p[i+44>>2]=1.0;vBe(i+48|0,0,20);r[i>>2]=26048;n[i+492|0]=1;r[i+488>>2]=0;r[i+480>>2]=0;r[i+484>>2]=0;bfe(_,e);return _|0}function Gh(e,t,i){e=+e;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+16|0;_=n|0;r[9806]=(r[9806]|0)+1;o=hBe(627)|0;if((o|0)==0){s=0}else{a=-(o+4|0)&15;r[o+a>>2]=o;s=o+(a+4)|0}a=s;vBe(_|0,0,16);ufe(a,e,t,i,_);d=n;return a|0}function Wh(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;r[9806]=(r[9806]|0)+1;_=hBe(627)|0;if((_|0)==0){o=0}else{s=-(_+4|0)&15;r[_+s>>2]=_;o=_+(s+4)|0}s=o;ufe(s,e,t,i,n);return s|0}function zh(e,t,i){e=e|0;t=t|0;i=i|0;gh(e,t,i);return}function Hh(e,t,i){e=e|0;t=+t;i=i|0;jue(e+4|0,+p[e+304>>2],+p[e+308>>2],+p[e+312>>2],e+320|0,t,i);return}function jh(e,t){e=e|0;t=t|0;return j_t[r[r[e>>2]>>2]&511](e,t)|0}function Xh(e,t){e=e|0;t=t|0;var i=0;i=e+320|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Zh(e,t){e=e|0;t=t|0;yfe(e,t);return}function Qh(e,t){e=e|0;t=+t;Sfe(e,t);return}function qh(e,t){e=e|0;t=t|0;Cfe(e,t);return}function Yh(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0,a=0.0,l=0,c=0.0;i=d;d=d+64|0;n=i|0;_=n;if(+p[e+336>>2]==0.0){d=i;return}o=e+304|0;s=e+308|0;a=+p[s>>2]+ +p[e+508>>2];l=e+312|0;c=+p[l>>2]+ +p[e+512>>2];p[o>>2]=+p[o>>2]+ +p[e+504>>2];p[s>>2]=a;p[l>>2]=c;p[e+316>>2]=0.0;l=e+320|0;s=e+324|0;c=+p[s>>2]+ +p[e+524>>2];o=e+328|0;a=+p[o>>2]+ +p[e+528>>2];p[l>>2]=+p[l>>2]+ +p[e+520>>2];p[s>>2]=c;p[o>>2]=a;p[e+332>>2]=0.0;o=e+4|0;jue(o,+p[e+568>>2],+p[e+572>>2],+p[e+576>>2],e+584|0,t,n);s=o;r[s>>2]=r[_>>2];r[s+4>>2]=r[_+4>>2];r[s+8>>2]=r[_+8>>2];r[s+12>>2]=r[_+12>>2];_=e+20|0;s=n+16|0;r[_>>2]=r[s>>2];r[_+4>>2]=r[s+4>>2];r[_+8>>2]=r[s+8>>2];r[_+12>>2]=r[s+12>>2];s=e+36|0;_=n+32|0;r[s>>2]=r[_>>2];r[s+4>>2]=r[_+4>>2];r[s+8>>2]=r[_+8>>2];r[s+12>>2]=r[_+12>>2];_=e+52|0;e=n+48|0;r[_>>2]=r[e>>2];r[_+4>>2]=r[e+4>>2];r[_+8>>2]=r[e+8>>2];r[_+12>>2]=r[e+12>>2];d=i;return}function Jh(e,t){e=e|0;t=t|0;var i=0;i=e+132|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Kh(e){e=e|0;var t=0.0,i=0.0,n=0;if((r[e+204>>2]&3|0)!=0){return}t=+p[e+360>>2]*+p[e+344>>2];i=+p[e+364>>2]*+p[e+348>>2];n=e+404|0;p[n>>2]=+p[e+356>>2]*+p[e+340>>2]+ +p[n>>2];n=e+408|0;p[n>>2]=t+ +p[n>>2];n=e+412|0;p[n>>2]=i+ +p[n>>2];return}function $h(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var _=0.0,r=0.0,o=0;if(+p[e+336>>2]==0.0){return}_=+p[t+4>>2]*n;r=+p[t+8>>2]*n;o=e+504|0;p[o>>2]=+p[o>>2]+ +p[t>>2]*n;t=e+508|0;p[t>>2]=+p[t>>2]+_;t=e+512|0;p[t>>2]=+p[t>>2]+r;r=+p[i+4>>2]*+p[e+540>>2]*n;_=+p[i+8>>2]*+p[e+544>>2]*n;t=e+520|0;p[t>>2]=+p[t>>2]+ +p[i>>2]*+p[e+536>>2]*n;i=e+524|0;p[i>>2]=+p[i>>2]+r;i=e+528|0;p[i>>2]=+p[i>>2]+_;return}function ef(e,t){e=e|0;t=t|0;r[e+196>>2]=t;return}function tf(e){e=e|0;var t=0;if((r[e+204>>2]&3|0)!=0){return}t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function nf(e,t){e=e|0;t=t|0;do{if(!t){if((r[e+204>>2]&3|0)==0){break}return}}while(0);t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function _f(e){e=e|0;return r[e+472>>2]|0}function rf(e,t){e=e|0;t=t|0;r[e+212>>2]=t;return}function of(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var _=0.0,r=0.0,o=0;if(+p[e+336>>2]==0.0){return}_=+p[t+4>>2]*n;r=+p[t+8>>2]*n;o=e+568|0;p[o>>2]=+p[o>>2]+ +p[t>>2]*n;t=e+572|0;p[t>>2]=+p[t>>2]+_;t=e+576|0;p[t>>2]=+p[t>>2]+r;r=+p[i+4>>2]*+p[e+540>>2]*n;_=+p[i+8>>2]*+p[e+544>>2]*n;t=e+584|0;p[t>>2]=+p[t>>2]+ +p[i>>2]*+p[e+536>>2]*n;i=e+588|0;p[i>>2]=+p[i>>2]+r;i=e+592|0;p[i>>2]=+p[i>>2]+_;return}function sf(e,t){e=e|0;t=+t;p[e+248>>2]=t;return}function af(e){e=e|0;return+ +p[e+248>>2]}function pf(e){e=e|0;return e+340|0}function lf(e){e=e|0;return e+164|0}function df(e){e=e|0;return+ +p[e+468>>2]}function cf(e){e=e|0;return e+68|0}function bf(e,t){e=e|0;t=t|0;var i=0;i=e+52|0;p[i>>2]=+p[i>>2]+ +p[t>>2];i=e+56|0;p[i>>2]=+p[i>>2]+ +p[t+4>>2];i=e+60|0;p[i>>2]=+p[i>>2]+ +p[t+8>>2];return}function uf(e){e=e|0;return e+4|0}function mf(e){e=e|0;return r[e+188>>2]|0}function hf(e){e=e|0;return r[e+192>>2]|0}function ff(e){e=e|0;return r[e+600>>2]|0}function gf(e){e=e|0;return e+504|0}function Cf(e){e=e|0;return(r[e+204>>2]&4|0)==0|0}function Sf(e){e=e|0;var t=0;if((r[e+232>>2]&2|0)==0){t=0}else{t=e}return t|0}function yf(e){e=e|0;return r[e+212>>2]|0}function vf(e,t){e=e|0;t=t|0;var i=0;i=e+216|0;if(((r[i>>2]|0)-4|0)>>>0<2){return}r[i>>2]=t;return}function xf(e){e=e|0;return e+520|0}function Mf(e){e=e|0;return+ +p[e+244>>2]}function Tf(e,t){e=e|0;t=t|0;return r[(r[e+488>>2]|0)+(t<<2)>>2]|0}function Df(e,t){e=e|0;t=+t;p[e+220>>2]=t;return}function Pf(e){e=e|0;return e+4|0}function wf(e){e=e|0;return(r[e+180>>2]|0)!=0|0}function Af(e,t){e=e|0;t=t|0;r[e+188>>2]=t;return}function Ff(e){e=e|0;return r[e+496>>2]|0}function Rf(e){e=e|0;var t=0.0;t=+p[e+248>>2];return+(t*t)}function If(e){e=e|0;return e+568|0}function Bf(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0;t=+p[e+4>>2];i=+p[e+388>>2];n=t*i;_=+p[e+8>>2];r=+p[e+392>>2];o=_*r;s=+p[e+12>>2];a=+p[e+396>>2];l=s*a;d=+p[e+20>>2];c=i*d;b=+p[e+24>>2];u=r*b;m=+p[e+28>>2];h=a*m;f=+p[e+36>>2];g=i*f;i=+p[e+40>>2];C=r*i;r=+p[e+44>>2];S=a*r;p[e+256>>2]=t*n+_*o+s*l;p[e+260>>2]=n*d+o*b+l*m;p[e+264>>2]=n*f+o*i+l*r;p[e+268>>2]=0.0;p[e+272>>2]=t*c+_*u+s*h;p[e+276>>2]=d*c+b*u+m*h;p[e+280>>2]=c*f+u*i+h*r;p[e+284>>2]=0.0;p[e+288>>2]=t*g+_*C+s*S;p[e+292>>2]=d*g+b*C+m*S;p[e+296>>2]=f*g+i*C+r*S;p[e+300>>2]=0.0;return}function Vf(e,t){e=e|0;t=+t;p[e+224>>2]=t;return}function Ef(e,t,i){e=e|0;t=+t;i=+i;var n=0.0,_=0.0;if(t<0.0){n=0.0}else{n=t>1.0?1.0:t}p[e+436>>2]=n;if(i<0.0){_=0.0}else{_=i>1.0?1.0:i}p[e+440>>2]=_;return}function Nf(e){e=e|0;return r[e+232>>2]|0}function kf(e,t){e=e|0;t=t|0;r[e+600>>2]=t;return}function Of(e){e=e|0;return e+388|0}function Lf(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,r=0.0,o=0.0;i=+p[t>>2];n=+p[t+4>>2];_=+p[t+8>>2];r=(+p[e+272>>2]*i+ +p[e+276>>2]*n+ +p[e+280>>2]*_)*+p[e+540>>2];o=(+p[e+288>>2]*i+ +p[e+292>>2]*n+ +p[e+296>>2]*_)*+p[e+544>>2];t=e+320|0;p[t>>2]=+p[t>>2]+(+p[e+256>>2]*i+ +p[e+260>>2]*n+ +p[e+264>>2]*_)*+p[e+536>>2];t=e+324|0;p[t>>2]=+p[t>>2]+r;t=e+328|0;p[t>>2]=+p[t>>2]+o;return}function Uf(e){e=e|0;return e+568|0}function Gf(e){e=e|0;return(r[e+204>>2]&1|0)!=0|0}function Wf(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,r=0;i=+p[e+336>>2];n=+p[t+4>>2]*+p[e+344>>2]*i;_=+p[t+8>>2]*+p[e+348>>2]*i;r=e+304|0;p[r>>2]=+p[r>>2]+ +p[t>>2]*+p[e+340>>2]*i;t=e+308|0;p[t>>2]=+p[t>>2]+n;t=e+312|0;p[t>>2]=+p[t>>2]+_;return}function zf(e,t){e=e|0;t=t|0;r[e+204>>2]=t;return}function Hf(e){e=e|0;return e+504|0}function jf(e,t,i){e=e|0;t=+t;i=+i;p[e+464>>2]=t;p[e+468>>2]=i;return}function Xf(e){e=e|0;return r[e+604>>2]|0}function Zf(e,t){e=e|0;t=t|0;var i=0.0,n=0.0;i=+p[e+324>>2]+ +p[e+524>>2];n=+p[e+328>>2]+ +p[e+528>>2];p[t>>2]=+p[e+320>>2]+ +p[e+520>>2];p[t+4>>2]=i;p[t+8>>2]=n;p[t+12>>2]=0.0;return}function Qf(e){e=e|0;return r[e+480>>2]|0}function qf(e){e=e|0;return+ +p[e+228>>2]}function Yf(e){e=e|0;return+ +p[e+184>>2]}function Jf(e){e=e|0;return e+584|0}function Kf(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+20>>2]&511](e,t,i)|0}function $f(e,t){e=e|0;t=t|0;var i=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;do{if((n[43792]|0)==0){if((ui(43792)|0)==0){break}}}while(0);i=+p[e+324>>2];_=+p[t+8>>2];r=+p[e+328>>2];o=+p[t+4>>2];s=+p[t>>2];a=+p[e+320>>2];l=+p[e+308>>2]+(r*s-a*_);d=+p[e+312>>2]+(a*o-i*s);p[9546]=+p[e+304>>2]+(i*_-r*o);p[9547]=l;p[9548]=d;p[9549]=0.0;return 38184}function eg(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=r[e+192>>2]|0;mrt[r[(r[n>>2]|0)+8>>2]&1023](n,e+4|0,t,i);return}function tg(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function ig(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+164|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];do{if(+p[t>>2]!=1.0){_=1}else{if(+p[t+4>>2]!=1.0){_=1;break}_=+p[t+8>>2]!=1.0|0}}while(0);r[e+180>>2]=_;return}function ng(e,t){e=e|0;t=+t;mfe(e,t);return}function _g(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+4|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+20|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+36|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+52|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function rg(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,o=0;i=+p[e+336>>2];if(i!=0.0){n=1.0/i;i=n*+p[t+4>>2];_=n*+p[t+8>>2];p[e+356>>2]=n*+p[t>>2];p[e+360>>2]=i;p[e+364>>2]=_;p[e+368>>2]=0.0}o=e+372|0;e=t;r[o>>2]=r[e>>2];r[o+4>>2]=r[e+4>>2];r[o+8>>2]=r[e+8>>2];r[o+12>>2]=r[e+12>>2];return}function og(e,t){e=e|0;t=t|0;var i=0;i=e+536|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function sg(e,t){e=e|0;t=t|0;var i=0;i=e+148|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function ag(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0}function pg(e,t){e=e|0;t=t|0;var i=0;if((r[e+252>>2]|0)==0){i=1;return i|0}i=j_t[r[r[e>>2]>>2]&511](e|0,t)|0;return i|0}function lg(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0.0,s=0.0,a=0.0;i=e+340|0;n=i;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];o=+p[e+336>>2];s=+p[e+344>>2]*o;a=+p[e+348>>2]*o;p[e+552>>2]=+p[i>>2]*o;p[e+556>>2]=s;p[e+560>>2]=a;p[e+564>>2]=0.0;return}function dg(e,t){e=e|0;t=t|0;var i=0;i=e+304|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function cg(e,t){e=e|0;t=t|0;var i=0;i=e+388|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function bg(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function ug(){return 0}function mg(e,t){e=e|0;t=+t;p[e+240>>2]=t;return}function hg(e){e=e|0;return+ +p[e+436>>2]}function fg(e){e=e|0;return e+104|0}function gg(e,t,i){e=e|0;t=t|0;i=i|0;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0;_=+p[t>>2]+-1.0;r=+p[t+4>>2]+-1.0;o=+p[t+8>>2]+-1.0;p[e+4>>2]=_;p[e+8>>2]=r;p[e+12>>2]=o;p[e+16>>2]=0.0;s=+p[i>>2]+1.0;a=+p[i+4>>2]+1.0;l=+p[i+8>>2]+1.0;p[e+20>>2]=s;p[e+24>>2]=a;p[e+28>>2]=l;p[e+32>>2]=0.0;p[e+36>>2]=65533.0/(s-_);p[e+40>>2]=65533.0/(a-r);p[e+44>>2]=65533.0/(l-o);p[e+48>>2]=0.0;n[e+60|0]=1;return}function Cg(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;r=+p[t>>2]-_;o=+p[t+4>>2]-_;s=+p[t+8>>2]-_;p[e+4>>2]=r;p[e+8>>2]=o;p[e+12>>2]=s;p[e+16>>2]=0.0;a=+p[i>>2]+_;l=+p[i+4>>2]+_;d=+p[i+8>>2]+_;p[e+20>>2]=a;p[e+24>>2]=l;p[e+28>>2]=d;p[e+32>>2]=0.0;p[e+36>>2]=65533.0/(a-r);p[e+40>>2]=65533.0/(l-o);p[e+44>>2]=65533.0/(d-s);p[e+48>>2]=0.0;n[e+60|0]=1;return}function Sg(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0;r=(+p[i>>2]-+p[e+4>>2])*+p[e+36>>2];o=(+p[i+4>>2]-+p[e+8>>2])*+p[e+40>>2];s=(+p[i+8>>2]-+p[e+12>>2])*+p[e+44>>2];if((n|0)==0){_[t>>1]=~~r&-2;_[t+2>>1]=~~o&-2;_[t+4>>1]=~~s&-2;return}else{_[t>>1]=~~(r+1.0)|1;_[t+2>>1]=~~(o+1.0)|1;_[t+4>>1]=~~(s+1.0)|1;return}}function yg(e){e=e|0;return(n[e+60|0]&1)!=0|0}function vg(e){e=e|0;return(r[e+168>>2]<<5)+172+(r[e+56>>2]<<((n[e+60|0]&1)==0?6:4))|0}function xg(e){e=e|0;return e+124|0}function Mg(e){e=e|0;return e+148|0}function Tg(e){e=e|0;return r[e+28>>2]|0}function Dg(e){e=e|0;return r[e+24>>2]|0}function Pg(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function wg(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function Ag(e){e=e|0;return r[e+12>>2]|0}function Fg(e){e=e|0;return r[e+4>>2]|0}function Rg(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function Ig(e){e=e|0;return(n[e+20|0]&1)!=0|0}function Bg(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function Vg(e){e=e|0;return r[e+4>>2]|0}function Eg(e){e=e|0;return+ +p[e+36>>2]}function Ng(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function kg(e){e=e|0;return(n[e+21|0]&1)!=0|0}function Og(e){e=e|0;return r[e+4>>2]|0}function Lg(e){e=e|0;return r[e+12>>2]|0}function Ug(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function Gg(e){e=e|0;return r[e+12>>2]|0}function Wg(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function zg(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Hg(e){e=e|0;return+ +p[e+32>>2]}function jg(e){e=e|0;return+ +p[e+16>>2]}function Xg(e){e=e|0;return r[e+8>>2]|0}function Zg(e){e=e|0;return+ +p[e+32>>2]}function Qg(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function qg(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Yg(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Jg(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+68|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+84|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+100|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+116|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function Kg(e,t){e=e|0;t=+t;gfe(e,t);return}function $g(e){e=e|0;hwe(e|0);return}function eC(e,t,i){e=e|0;t=t|0;i=i|0;return(h_t[r[(r[e>>2]|0)+16>>2]&511](e|0,t,i)|0)!=0|0}function tC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e|0,t,i,n)|0}function iC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Sg(e|0,t,i,n);return}function nC(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;xPe(e,t,i,n);return}function _C(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Swe(e|0,t,i,n);return}function rC(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0;o=d;d=d+32|0;s=o|0;a=o+16|0;l=e|0;vBe(s|0,0,16);vBe(a|0,0,16);if((n[e+60|0]&1)==0){vwe(l,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],s,a);d=o;return}else{xwe(l,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],s,a,r[e+56>>2]|0);d=o;return}}function oC(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;gPe(e,t,i,n,_);return}function sC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;MPe(e,t,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]);return}function aC(e,t,i){e=e|0;t=t|0;i=i|0;return Twe(e,t,i)|0}function pC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;lC(e|0,t,i,n);return}function lC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0,f=0.0;_=d;d=d+16|0;o=_|0;s=o;a=i;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=o|0;l=+p[a>>2];c=+p[e+4>>2];if(l<c){p[a>>2]=c;b=c}else{b=l}s=o+4|0;l=+p[s>>2];c=+p[e+8>>2];if(l<c){p[s>>2]=c;u=c}else{u=l}i=o+8|0;l=+p[i>>2];c=+p[e+12>>2];if(l<c){p[i>>2]=c;m=c}else{m=l}h=o+12|0;l=+p[h>>2];c=+p[e+16>>2];if(l<c){p[h>>2]=c;f=c}else{f=l}l=+p[e+20>>2];if(l<b){p[a>>2]=l}l=+p[e+24>>2];if(l<u){p[s>>2]=l}l=+p[e+28>>2];if(l<m){p[i>>2]=l}l=+p[e+32>>2];if(l>=f){Sg(e,t,o,n);d=_;return}p[h>>2]=l;Sg(e,t,o,n);d=_;return}function dC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;CPe(e,t,i,n);return}function cC(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function bC(e){e=e|0;return Knt[r[(r[e>>2]|0)+12>>2]&4095](e|0)|0}function uC(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function mC(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e|0,t);return}function hC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n)|0}function fC(e,t){e=e|0;t=t|0;var i=0.0,_=0.0;do{if((n[43928]|0)==0){if((ui(43928)|0)==0){break}}}while(0);i=+((s[t+2>>1]|0)>>>0)/+p[e+40>>2]+ +p[e+8>>2];_=+((s[t+4>>1]|0)>>>0)/+p[e+44>>2]+ +p[e+12>>2];p[9542]=+((s[t>>1]|0)>>>0)/+p[e+36>>2]+ +p[e+4>>2];p[9543]=i;p[9544]=_;p[9545]=0.0;return 38168}function gC(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0;a=e|0;if((n[e+60|0]&1)==0){vwe(a,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],o,s);return}else{xwe(a,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],o,s,r[e+56>>2]|0);return}}function CC(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(191)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t+52>>2]=278;n[t+60|0]=0;n[t+80|0]=1;r[t+76>>2]=0;r[t+68>>2]=0;r[t+72>>2]=0;n[t+100|0]=1;r[t+96>>2]=0;r[t+88>>2]=0;r[t+92>>2]=0;n[t+120|0]=1;r[t+116>>2]=0;r[t+108>>2]=0;r[t+112>>2]=0;n[t+140|0]=1;r[t+136>>2]=0;r[t+128>>2]=0;r[t+132>>2]=0;r[t+144>>2]=0;n[t+164|0]=1;r[t+160>>2]=0;r[t+152>>2]=0;r[t+156>>2]=0;r[t+168>>2]=0;p[t+4>>2]=-3.4028234663852886e+38;p[t+8>>2]=-3.4028234663852886e+38;p[t+12>>2]=-3.4028234663852886e+38;p[t+16>>2]=0.0;p[t+20>>2]=3.4028234663852886e+38;p[t+24>>2]=3.4028234663852886e+38;p[t+28>>2]=3.4028234663852886e+38;p[t+32>>2]=0.0;r[t>>2]=25376;return t|0}function SC(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function yC(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function vC(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function xC(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function MC(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function TC(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function DC(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function PC(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function wC(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function AC(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function FC(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n,_);return}function RC(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n);return}function IC(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function BC(e){e=e|0;return Knt[r[(r[e>>2]|0)+104>>2]&4095](e)|0}function VC(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43488]|0)==0){if((ui(43488)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9538]=r[t>>2];r[9539]=r[t+4>>2];r[9540]=r[t+8>>2];r[9541]=r[t+12>>2];d=i;return 38152}function EC(e,t,i){e=e|0;t=t|0;i=+i;return D_t[r[(r[e>>2]|0)+112>>2]&127](e,t,i)|0}function NC(e){e=e|0;return Knt[r[(r[e>>2]|0)+88>>2]&4095](e)|0}function kC(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function OC(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function LC(e){e=e|0;return}function UC(e){e=e|0;return e+12|0}function GC(e){e=e|0;return+ +p[e+44>>2]}function WC(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function zC(e){e=e|0;return(r[e+4>>2]|0)<20|0}function HC(e){e=e|0;return(r[e+4>>2]|0)==28|0}function jC(e){e=e|0;return r[e+8>>2]|0}function XC(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function ZC(e){e=e|0;return(r[e+4>>2]|0)==32|0}function QC(e){e=e|0;return e+28|0}function qC(e){e=e|0;return(r[e+4>>2]|0)==31|0}function YC(e){e=e|0;return r[e+52>>2]|0}function JC(e){e=e|0;return r[e+4>>2]|0}function KC(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function $C(e,t){e=e|0;t=t|0;r[e+140>>2]=t;return}function eS(e){e=e|0;return(n[e+153|0]&1)!=0|0}function tS(e,t){e=e|0;t=t|0;n[e+152|0]=t&1;return}function iS(e){e=e|0;return r[e+112>>2]|0}function nS(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function _S(e){e=e|0;return(n[e+152|0]&1)!=0|0}function rS(e,t){e=e|0;t=t|0;r[e+108>>2]=t;return}function oS(e,t){e=e|0;t=t|0;n[e+153|0]=t&1;return}function sS(e,t){e=e|0;t=t|0;r[e+144>>2]=t;return}function aS(e,t){e=e|0;t=t|0;r[e+120>>2]=t;return}function pS(e){e=e|0;return r[e+124>>2]|0}function lS(e,t){e=e|0;t=t|0;r[e+148>>2]=t;return}function dS(e){e=e|0;return r[e+104>>2]|0}function cS(e,t){e=e|0;t=t|0;r[e+128>>2]=t;return}function bS(e,t){e=e|0;t=t|0;n[e+154|0]=t&1;return}function uS(e,t){e=e|0;t=t|0;r[e+132>>2]=t;return}function mS(e){e=e|0;return r[e+108>>2]|0}function hS(e){e=e|0;return r[e+140>>2]|0}function fS(e,t){e=e|0;t=t|0;r[e+112>>2]=t;return}function gS(e){e=e|0;return r[e+144>>2]|0}function CS(e,t){e=e|0;t=+t;p[e+136>>2]=t;return}function SS(e,t){e=e|0;t=+t;p[e+100>>2]=t;return}function yS(e){e=e|0;return r[e+128>>2]|0}function vS(e){e=e|0;return r[e+116>>2]|0}function xS(e,t){e=e|0;t=t|0;r[e+116>>2]=t;return}function MS(e){e=e|0;return+ +p[e+100>>2]}function TS(e){e=e|0;return r[e+148>>2]|0}function DS(e){e=e|0;return(n[e+154|0]&1)!=0|0}function PS(e){e=e|0;return r[e+120>>2]|0}function wS(e){e=e|0;return+ +p[e+136>>2]}function AS(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+100>>2]&511](e,t,i);return}function FS(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43328]|0)==0){if((ui(43328)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9534]=r[t>>2];r[9535]=r[t+4>>2];r[9536]=r[t+8>>2];r[9537]=r[t+12>>2];d=i;return 38136}function RS(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function IS(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function BS(e){e=e|0;return Knt[r[(r[e>>2]|0)+92>>2]&4095](e)|0}function VS(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function ES(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+96>>2]&1023](e,t,i,n);return}function NS(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43104]|0)==0){if((ui(43104)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9530]=r[t>>2];r[9531]=r[t+4>>2];r[9532]=r[t+8>>2];r[9533]=r[t+12>>2];d=i;return 38120}function kS(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43168]|0)==0){if((ui(43168)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9526]=r[t>>2];r[9527]=r[t+4>>2];r[9528]=r[t+8>>2];r[9529]=r[t+12>>2];d=i;return 38104}function OS(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function LS(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function US(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function GS(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function WS(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function zS(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function HS(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function jS(e){e=e|0;return Knt[r[(r[e>>2]|0)+84>>2]&4095](e)|0}function XS(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function ZS(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 13:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function QS(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function qS(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function YS(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function JS(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function KS(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function $S(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+108>>2]&1023](e,t,i,n);return}function ey(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function ty(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+40>>2]&511](e,t,i);return}function iy(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=+o;v_t[r[(r[e>>2]|0)+28>>2]&63](e,t,i,n,_,o);return}function ny(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=+p;G_t[r[(r[e>>2]|0)+24>>2]&63](e,t,i,n,_,o,s,a,p);return}function _y(e,t,i,n,_,o){e=e|0;t=+t;i=+i;n=n|0;_=_|0;o=o|0;a_t[r[(r[e>>2]|0)+84>>2]&63](e,t,i,n,_,o);return}function ry(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;o=o|0;Qnt[r[(r[e>>2]|0)+32>>2]&63](e,t,i,n,_,o);return}function oy(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;o=+o;s=+s;a=+a;p=p|0;l=l|0;ert[r[(r[e>>2]|0)+60>>2]&63](e,t,i,n,_,o,s,a,p,l,10.0);return}function sy(e,t,i,n,_,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;o=+o;s=+s;a=+a;p=p|0;l=l|0;d=+d;ert[r[(r[e>>2]|0)+60>>2]&63](e,t,i,n,_,o,s,a,p,l,d);return}function ay(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function py(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+12>>2]&255](e,t,i,n,_);return}function ly(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function dy(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function cy(e,t,i,n,_,o){e=e|0;t=+t;i=+i;n=n|0;_=_|0;o=o|0;a_t[r[(r[e>>2]|0)+80>>2]&63](e,t,i,n,_,o);return}function by(e,t,i){e=e|0;t=t|0;i=+i;crt[r[(r[e>>2]|0)+56>>2]&255](e,t,i);return}function uy(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+52>>2]&1023](e,t,i,n);return}function my(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;znt[r[(r[e>>2]|0)+88>>2]&63](e,t,i,n,_);return}function hy(e,t,i,n,_,o){e=e|0;t=+t;i=+i;n=n|0;_=_|0;o=o|0;a_t[r[(r[e>>2]|0)+76>>2]&63](e,t,i,n,_,o);return}function fy(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function gy(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+72>>2]&255](e,t,i,n,_);return}function Cy(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e,t);return}function Sy(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;o=+o;s=+s;a=+a;p=+p;l=l|0;Hnt[r[(r[e>>2]|0)+64>>2]&63](e,t,i,n,_,o,s,a,p,l,10.0);return}function yy(e,t,i,n,_,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;o=+o;s=+s;a=+a;p=+p;l=l|0;d=+d;Hnt[r[(r[e>>2]|0)+64>>2]&63](e,t,i,n,_,o,s,a,p,l,d);return}function vy(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;W_t[r[(r[e>>2]|0)+16>>2]&63](e,t,i,n);return}function xy(e,t){e=e|0;t=t|0;yTe(e,t);return}function My(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e,t);return}function Ty(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(o|0,0,16);vBe(s|0,0,16);M_t[a&127](e,t,i,n,o,s);d=_;return}function Dy(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;o=d;d=d+16|0;s=o|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(s|0,0,16);M_t[a&127](e,t,i,n,_,s);d=o;return}function Py(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;M_t[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n,_,o);return}function wy(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+16>>2]&255](e,t,i,n,_);return}function Ay(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+48>>2]&2047](e,t);return}function Fy(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+20>>2]&1023](e,t,i,n);return}function Ry(e,t){e=e|0;t=t|0;STe(e,t);return}function Iy(e){e=e|0;jnt[r[(r[e>>2]|0)+52>>2]&2047](e);return}function By(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;return R_t[r[(r[e>>2]|0)+8>>2]&63](e,t,i,n,_,o,s,a,p)|0}function Vy(e){e=e|0;qMe(e+4|0);qMe(e+44|0);return}function Ey(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Ny(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function ky(){var e=0,t=0,i=0;while(1){e=hBe(156)|0;if((e|0)!=0){t=2117;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){t=2114;break}prt[i&63]()}if((t|0)==2114){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}else if((t|0)==2117){t=e;eTe(t,0);return t|0}return 0}function Oy(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(156)|0;if((t|0)!=0){i=2131;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){i=2128;break}prt[n&63]()}if((i|0)==2128){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}else if((i|0)==2131){i=t;eTe(i,e);return i|0}return 0}function Ly(e){e=e|0;return(e|0)==28|0}function Uy(e){e=e|0;return(e|0)==31|0}function Gy(e){e=e|0;return(e|0)<7|0}function Wy(e){e=e|0;return(e|0)<20|0}function zy(e){e=e|0;return((e|0)>20&(e|0)<30?(e|0)!=25:0)|0}function Hy(e){e=e|0;return((e|0)==17?1:(e|0)==18)|0}function jy(e){e=e|0;return(e|0)==32|0}function Xy(e){e=e|0;return((e|0)>20?(e|0)<30:0)|0}function Zy(e,t){e=e|0;t=+t;p[e+100>>2]=t;return}function Qy(e){e=e|0;return+ +p[e+100>>2]}function qy(e){e=e|0;return r[e+96>>2]|0}function Yy(e){e=e|0;return r[e+132>>2]|0}function Jy(e,t){e=e|0;t=t|0;r[e+124>>2]=t;return}function Ky(e,t){e=e|0;t=t|0;r[e+104>>2]=t;return}function $y(e){e=e|0;return r[e>>2]|0}function ev(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function tv(e,t){e=e|0;t=t|0;r[e+48>>2]=t;return}function iv(e){e=e|0;return r[e+48>>2]|0}function nv(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function _v(e){e=e|0;return e+16|0}function rv(e){e=e|0;return _[e+6>>1]|0}function ov(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function sv(e){e=e|0;return r[e+48>>2]|0}function av(e){e=e|0;return r[e+12>>2]|0}function pv(e){e=e|0;return e+32|0}function lv(e,t){e=e|0;t=t|0;_[e+4>>1]=t;return}function dv(e){e=e|0;return r[e+12>>2]|0}function cv(e,t){e=e|0;t=t|0;r[e+48>>2]=t;return}function bv(e,t){e=e|0;t=t|0;_[e+6>>1]=t;return}function uv(e){e=e|0;return r[e+8>>2]|0}function mv(e){e=e|0;return _[e+4>>1]|0}function hv(e,t){e=e|0;t=t|0;r[e+188>>2]=t;return}function fv(e){e=e|0;return r[e+188>>2]|0}function gv(e){e=e|0;return r[e+4>>2]|0}function Cv(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function Sv(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;r[e+200+(t*144|0)+(i<<2)>>2]=n;return}function yv(e,t){e=e|0;t=t|0;r[e+5384>>2]=t;return}function vv(e){e=e|0;return r[e+5384>>2]|0}function xv(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;o=d;d=d+48|0;s=o|0;a=o+32|0;p=s;l=t;c=i;r[p>>2]=r[c>>2];r[p+4>>2]=r[c+4>>2];r[p+8>>2]=r[c+8>>2];r[p+12>>2]=r[c+12>>2];i=s+16|0;s=_;r[i>>2]=r[s>>2];r[i+4>>2]=r[s+4>>2];r[i+8>>2]=r[s+8>>2];r[i+12>>2]=r[s+12>>2];i=t+60|0;if((r[i>>2]|0)==2){_=e+44|0;b=t+48|0;u=r[b>>2]|0;$Me(_,u)|0;_=e+48|0;m=r[_>>2]|0;if((m|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-44+40>>2]|0)}r[_>>2]=u;u=e+56|0;r[u>>2]=(r[u>>2]|0)-1;u=e+4|0;_=e+8|0;m=r[_>>2]|0;do{if((m|0)==0){r[9806]=(r[9806]|0)+1;h=hBe(63)|0;if((h|0)==0){f=0;break}g=-(h+4|0)&15;C=h+(g+4)|0;r[h+g>>2]=h;if((C|0)==0){f=0;break}vBe(C|0,0,44);f=C}else{r[_>>2]=0;f=m}}while(0);r[f+32>>2]=0;r[f+36>>2]=t;r[f+40>>2]=0;m=f;yBe(m|0,p|0,32)|0;KMe(u,r[u>>2]|0,f);f=e+16|0;r[f>>2]=(r[f>>2]|0)+1;r[b>>2]=m}else{m=e+128|0;r[m>>2]=(r[m>>2]|0)+1;m=e+4|0;b=r[t+48>>2]|0;f=$Me(m,b)|0;e:do{if((f|0)==0){S=0}else{u=r[e+12>>2]|0;if((u|0)>-1){y=0;v=f}else{S=r[m>>2]|0;break}while(1){if((y|0)>=(u|0)){S=v;break e}_=r[v+32>>2]|0;if((_|0)==0){S=v;break}else{y=y+1|0;v=_}}}}while(0);v=b;yBe(v|0,p|0,32)|0;KMe(m,S,b);b=e+132|0;r[b>>2]=(r[b>>2]|0)+1}b=t+52|0;S=r[b>>2]|0;m=t+56|0;p=r[m>>2]|0;if((S|0)==0){r[e+84+(r[i>>2]<<2)>>2]=p}else{r[S+56>>2]=p}p=r[m>>2]|0;if((p|0)!=0){r[p+52>>2]=r[b>>2]}p=t+16|0;r[p>>2]=r[c>>2];r[p+4>>2]=r[c+4>>2];r[p+8>>2]=r[c+8>>2];r[p+12>>2]=r[c+12>>2];c=t+32|0;r[c>>2]=r[s>>2];r[c+4>>2]=r[s+4>>2];r[c+8>>2]=r[s+8>>2];r[c+12>>2]=r[s+12>>2];s=e+104|0;r[i>>2]=r[s>>2];i=e+84+(r[s>>2]<<2)|0;r[b>>2]=0;r[m>>2]=r[i>>2];m=r[i>>2]|0;if((m|0)!=0){r[m+52>>2]=l}r[i>>2]=l;n[e+154|0]=1;if((n[e+153|0]&1)!=0){x=32;M=0;d=o;return}r[a>>2]=23368;r[a+4>>2]=e;l=e+44|0;i=t+48|0;t=a|0;uTe(l,r[l>>2]|0,r[i>>2]|0,t);l=e+4|0;uTe(l,r[l>>2]|0,r[i>>2]|0,t);x=32;M=0;d=o;return}function Mv(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e,t,i,n);return}function Tv(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function Dv(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e,t,i);return}function Pv(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(71)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t>>2]=0;r[t+8>>2]=0;return t|0}function wv(e,t,i,n,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;s=s|0;a=a|0;var p=0,l=0;r[9806]=(r[9806]|0)+1;i=hBe(71)|0;if((i|0)==0){p=0}else{l=-(i+4|0)&15;r[i+l>>2]=i;p=i+(l+4)|0}r[p>>2]=n;_[p+4>>1]=o;_[p+6>>1]=s;s=p+16|0;o=e;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];o=p+32|0;s=t;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];r[p+8>>2]=a;return p|0}function Av(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Fv(e,t){e=e|0;t=t|0;var i=0;i=e+32|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Rv(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-52+48>>2]|0);return}function Iv(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function Bv(e,t,i){e=e|0;t=t|0;i=i|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,0)|0}function Vv(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,n)|0}function Ev(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+28>>2]&511](e,t,i)|0}function Nv(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function kv(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+40>>2]&511](e,t)|0}function Ov(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+24>>2]&511](e,t,i)|0}function Lv(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Uv(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function Gv(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+12>>2]&511](e,t,i)|0}function Wv(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,n);return}function zv(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+56>>2]&511](e,t)|0}function Hv(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function jv(e){e=e|0;return Knt[r[(r[e>>2]|0)+44>>2]&4095](e)|0}function Xv(e,t,i){e=e|0;t=t|0;i=i|0;tye(e,t,i);return}function Zv(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function Qv(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(135)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}_=n;Rge(_,e,t,16384,0,0);return _|0}function qv(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;r[9806]=(r[9806]|0)+1;n=hBe(135)|0;if((n|0)==0){_=0}else{o=-(n+4|0)&15;r[n+o>>2]=n;_=n+(o+4)|0}o=_;Rge(o,e,t,i,0,0);return o|0}function Yv(e){e=e|0;var t=0,i=0,_=0,o=0;while(1){t=hBe(5388)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){_=2257;break}prt[i&63]()}if((_|0)==2257){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}_=t;r[t>>2]=22392;r[t+4>>2]=2;n[t+24|0]=1;r[t+20>>2]=0;r[t+12>>2]=0;r[t+16>>2]=0;r[t+28>>2]=24e3;vBe(t+172|0,-1|0,16);i=t+5384|0;r[i>>2]=e;r[t+188>>2]=156;o=e;r[t+192>>2]=Knt[r[(r[o>>2]|0)+12>>2]&4095](e)|0;r[t+196>>2]=Knt[r[(r[o>>2]|0)+8>>2]&4095](e)|0;e=0;do{o=0;do{t=r[i>>2]|0;r[_+200+(e*144|0)+(o<<2)>>2]=h_t[r[(r[t>>2]|0)+20>>2]&511](t,e,o)|0;o=o+1|0}while((o|0)<36);e=e+1|0}while((e|0)<36);return _|0}function Jv(e){e=e|0;return _[e+56>>1]|0}function Kv(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var r=0.0,o=0.0,s=0.0,a=0,l=0,d=0,c=0;r=(+p[i>>2]-+p[e+8>>2])*+p[e+40>>2];o=(+p[i+4>>2]-+p[e+12>>2])*+p[e+44>>2];s=(+p[i+8>>2]-+p[e+16>>2])*+p[e+48>>2];do{if(r>0.0){i=_[e+6>>1]|0;if(r<+(i&65535|0)){a=(~~r&_[e+4>>1]&65535|n)&65535;break}else{a=(i&_[e+4>>1]&65535|n)&65535;break}}else{a=n&65535}}while(0);_[t>>1]=a;do{if(o>0.0){a=_[e+6>>1]|0;if(o<+(a&65535|0)){l=(~~o&_[e+4>>1]&65535|n)&65535;break}else{l=(a&_[e+4>>1]&65535|n)&65535;break}}else{l=n&65535}}while(0);_[t+2>>1]=l;if(s<=0.0){d=n&65535;c=t+4|0;_[c>>1]=d;return}l=_[e+6>>1]|0;if(s<+(l&65535|0)){d=(~~s&_[e+4>>1]&65535|n)&65535;c=t+4|0;_[c>>1]=d;return}else{d=(l&_[e+4>>1]&65535|n)&65535;c=t+4|0;_[c>>1]=d;return}}function $v(e){e=e|0;return r[e+96>>2]|0}function ex(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;e=t;t=i;i=0;while(1){if((i|0)>=3){n=1;_=2303;break}if((s[e+54+(i<<1)>>1]|0)<(s[t+48+(i<<1)>>1]|0)){n=0;_=2304;break}if((s[t+54+(i<<1)>>1]|0)<(s[e+48+(i<<1)>>1]|0)){n=0;_=2302;break}i=i+1|0}if((_|0)==2302){return n|0}else if((_|0)==2303){return n|0}else if((_|0)==2304){return n|0}return 0}function tx(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function ix(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0.0,f=0.0,g=0.0;o=t;a=r[e+68>>2]|0;l=(_[a+((s[t+54>>1]|0)<<2)>>1]|0)+1&65535;d=r[e+72>>2]|0;c=(_[d+((s[t+56>>1]|0)<<2)>>1]|0)+1&65535;b=r[e+76>>2]|0;u=(_[b+((s[o+58>>1]|0)<<2)>>1]|0)+1&65535;m=e+40|0;h=+((s[a+((s[t+48>>1]|0)<<2)>>1]|0)>>>0)/+p[m>>2];a=e+44|0;f=+((s[d+((s[o+50>>1]|0)<<2)>>1]|0)>>>0)/+p[a>>2];o=e+48|0;g=+((s[b+((s[t+52>>1]|0)<<2)>>1]|0)>>>0)/+p[o>>2];t=i|0;p[t>>2]=h;b=i+4|0;p[b>>2]=f;d=i+8|0;p[d>>2]=g;p[i+12>>2]=0.0;i=e+8|0;p[t>>2]=h+ +p[i>>2];t=e+12|0;p[b>>2]=f+ +p[t>>2];b=e+16|0;p[d>>2]=g+ +p[b>>2];g=+((l&65535)>>>0)/+p[m>>2];f=+((c&65535)>>>0)/+p[a>>2];h=+((u&65535)>>>0)/+p[o>>2];o=n|0;p[o>>2]=g;u=n+4|0;p[u>>2]=f;a=n+8|0;p[a>>2]=h;p[n+12>>2]=0.0;p[o>>2]=g+ +p[i>>2];p[u>>2]=f+ +p[t>>2];p[a>>2]=h+ +p[b>>2];return}function nx(e,t){e=e|0;t=t|0;return(r[e+60>>2]|0)+((t&65535)<<6)|0}function _x(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function rx(e){e=e|0;return r[e>>2]|0}function ox(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function sx(e){e=e|0;return r[e+4>>2]|0}function ax(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;r[9806]=(r[9806]|0)+1;_=hBe(135)|0;if((_|0)==0){o=0}else{s=-(_+4|0)&15;r[_+s>>2]=_;o=_+(s+4)|0}s=o;Rge(s,e,t,i,n,0);return s|0}function px(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;r[9806]=(r[9806]|0)+1;o=hBe(135)|0;if((o|0)==0){s=0}else{a=-(o+4|0)&15;r[o+a>>2]=o;s=o+(a+4)|0}a=s;Rge(a,e,t,i,n,_);return a|0}function lx(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return dx(e|0,t,i,n,_,r,o,s)|0}function dx(e,t,i,n,o,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;p=p|0;l=l|0;var c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0;c=d;d=d+16|0;b=c|0;u=c+8|0;Kv(e,b|0,t,0);Kv(e,u|0,i,1);i=e+64|0;t=_[i>>1]|0;m=e+60|0;h=r[m>>2]|0;f=t&65535;_[i>>1]=_[h+(f<<6)+48>>1]|0;i=e+56|0;_[i>>1]=(_[i>>1]|0)+1&65535;r[h+(f<<6)+12>>2]=f;r[h+(f<<6)>>2]=n;_[h+(f<<6)+4>>1]=o;_[h+(f<<6)+6>>1]=a;r[h+(f<<6)+8>>2]=l;l=_[i>>1]<<1;i=l&65535;a=i|1;o=i-1|0;n=l-1&65535;g=0;while(1){if((g&65535)>=3){break}C=g&65535;S=(r[m>>2]|0)+54+(C<<1)|0;_[S>>1]=(_[S>>1]|0)+2&65535;S=e+68+(C<<2)|0;y=r[S>>2]|0;v=y+(o<<2)|0;x=y+(a<<2)|0;T=s[v>>1]|s[v+2>>1]<<16;_[x>>1]=T&65535;_[x+2>>1]=T>>16;_[(r[S>>2]|0)+(o<<2)>>1]=_[b+(C<<1)>>1]|0;_[(r[S>>2]|0)+(o<<2)+2>>1]=t;_[(r[S>>2]|0)+(i<<2)>>1]=_[u+(C<<1)>>1]|0;_[(r[S>>2]|0)+(i<<2)+2>>1]=t;_[h+(f<<6)+48+(C<<1)>>1]=n;_[h+(f<<6)+54+(C<<1)>>1]=l;g=g+1&65535}Kbe(e,0,_[h+(f<<6)+48>>1]|0,0);tue(e,0,_[h+(f<<6)+54>>1]|0,p,0);Kbe(e,1,_[h+(f<<6)+50>>1]|0,0);tue(e,1,_[h+(f<<6)+56>>1]|0,p,0);Kbe(e,2,_[h+(f<<6)+52>>1]|0,1);tue(e,2,_[h+(f<<6)+58>>1]|0,p,1);d=c;return t|0}function cx(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Kv(e|0,t,i,n);return}function bx(e,t,i){e=e|0;t=t|0;i=i|0;ux(e|0,t,i);return}function ux(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0;n=e+60|0;o=r[n>>2]|0;a=t&65535;p=e+92|0;l=r[p>>2]|0;if(!(Knt[r[(r[l>>2]|0)+56>>2]&4095](l)|0)){l=r[p>>2]|0;srt[r[(r[l>>2]|0)+16>>2]&511](l|0,o+(a<<6)|0,i)}l=e+56|0;p=(s[l>>1]|0)<<1;d=0;while(1){if((d|0)>=3){break}c=(r[n>>2]|0)+54+(d<<1)|0;_[c>>1]=(_[c>>1]|0)-2&65535;d=d+1|0}d=e+6|0;c=p-1|0;p=0;while(1){if((p|0)>=3){break}b=r[e+68+(p<<2)>>2]|0;u=_[o+(a<<6)+54+(p<<1)>>1]|0;_[b+((u&65535)<<2)>>1]=_[d>>1]|0;$be(e,p,u,0);u=_[o+(a<<6)+48+(p<<1)>>1]|0;_[b+((u&65535)<<2)>>1]=_[d>>1]|0;eue(e,p,u,i,0);_[b+(c<<2)+2>>1]=0;_[b+(c<<2)>>1]=_[d>>1]|0;p=p+1|0}p=e+64|0;_[(r[n>>2]|0)+(a<<6)+48>>1]=_[p>>1]|0;_[p>>1]=t;_[l>>1]=(_[l>>1]|0)-1&65535;return}function mx(e,t){e=e|0;t=t|0;Ci(e|0,t|0);return}function hx(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(o|0,0,16);vBe(s|0,0,16);M_t[a&127](e|0,t,i,n,o,s);d=_;return}function fx(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;o=d;d=d+16|0;s=o|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(s|0,0,16);M_t[a&127](e|0,t,i,n,_,s);d=o;return}function gx(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;M_t[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n,_,o);return}function Cx(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+16>>2]&255](e|0,t,i,n,_);return}function Sx(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+48>>2]&2047](e|0,t);return}function yx(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+20>>2]&1023](e|0,t,i,n);return}function vx(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;xx(e|0,t,i,n,_);return}function xx(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0;a=d;d=d+16|0;p=a|0;l=a+8|0;c=r[e+60>>2]|0;b=t&65535;Kv(e,p|0,i,0);Kv(e,l|0,n,1);n=0;while(1){if((n|0)>=3){break}i=_[c+(b<<6)+48+(n<<1)>>1]|0;t=_[c+(b<<6)+54+(n<<1)>>1]|0;u=_[p+(n<<1)>>1]|0;m=e+68+(n<<2)|0;h=r[m>>2]|0;f=h+((i&65535)<<2)|0;g=(u&65535)-(s[f>>1]|0)|0;C=_[l+(n<<1)>>1]|0;S=t&65535;y=(C&65535)-(s[h+(S<<2)>>1]|0)|0;_[f>>1]=u;_[(r[m>>2]|0)+(S<<2)>>1]=C;if((g|0)<0){Kbe(e,n,i,1)}if((y|0)>0){$be(e,n,t,1)}if((g|0)>0){eue(e,n,i,o,1)}if((y|0)<0){tue(e,n,t,o,1)}n=n+1|0}d=a;return}function Mx(e){e=e|0;jnt[r[(r[e>>2]|0)+52>>2]&2047](e|0);return}function Tx(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;return R_t[r[(r[e>>2]|0)+8>>2]&63](e|0,t,i,n,_,o,s,a,p)|0}function Dx(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Px(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e|0,t);return}function wx(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function Ax(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e|0,t,i,n);return}function Fx(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e|0,t,i);return}function Rx(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,i);return}function Ix(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Bx(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+68>>2]&2047](e,t);return}function Vx(){var e=0,t=0,i=0;while(1){e=hBe(8)|0;if((e|0)!=0){t=2391;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==2391){r[e>>2]=0;r[e+4>>2]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function Ex(e,t){e=e|0;t=t|0;var i=0,n=0;while(1){i=hBe(8)|0;if((i|0)!=0){n=2403;break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){break}prt[t&63]()}if((n|0)==2403){r[i>>2]=e;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function Nx(e){e=e|0;return e+100|0}function kx(e){e=e|0;return r[e+24>>2]|0}function Ox(e){e=e|0;return e|0}function Lx(e,t){e=e|0;t=t|0;r[e+76>>2]=t;return}function Ux(e){e=e|0;return(n[e+242|0]&1)!=0|0}function Gx(e,t){e=e|0;t=t|0;n[e+242|0]=t&1;return}function Wx(e){e=e|0;return e+4|0}function zx(e,t){e=e|0;t=t|0;r[e+88>>2]=t;r[e+96>>2]=0;return}function Hx(e,t,i){e=e|0;t=t|0;i=i|0;r[e+88>>2]=t;r[e+96>>2]=i;return}function jx(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if(n){r[e+92>>2]=t}else{r[e+88>>2]=t}r[e+96>>2]=i;return}function Xx(e){e=e|0;return(n[e+84|0]&1)!=0|0}function Zx(e){e=e|0;return r[e+8>>2]|0}function Qx(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function qx(e){e=e|0;return r[e+96>>2]|0}function Yx(e){e=e|0;return r[e+76>>2]|0}function Jx(e,t){e=e|0;t=t|0;n[e+84|0]=t&1;return}function Kx(e){e=e|0;return r[e+176>>2]|0}function $x(e){e=e|0;return e+28|0}function eM(e){e=e|0;return r[e+28>>2]|0}function tM(e){e=e|0;return r[e+24>>2]|0}function iM(e){e=e|0;return(n[e+518|0]&1)!=0|0}function nM(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function _M(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function rM(e){e=e|0;return e+292|0}function oM(e){e=e|0;return e+356|0}function sM(e){e=e|0;return+ +p[e+440>>2]}function aM(e){e=e|0;return+ +p[e+436>>2]}function pM(e){e=e|0;return r[e+4>>2]|0}function lM(e,t){e=e|0;t=+t;p[e+432>>2]=t;return}function dM(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function cM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function bM(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e|0)|0}function uM(e){e=e|0;jnt[r[(r[e>>2]|0)+164>>2]&2047](e);return}function mM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e,t);return}function hM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+80>>2]&2047](e,t);return}function fM(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+84>>2]&1023](e,t,i,n);return}function gM(e){e=e|0;jnt[r[(r[e>>2]|0)+116>>2]&2047](e);return}function CM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+124>>2]&2047](e,t);return}function SM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+168>>2]&2047](e,t);return}function yM(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+24>>2]&1023](e|0,t,i,n);return}function vM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e,t);return}function xM(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e|0,t,i,n);return}function MM(e){e=e|0;return Knt[r[(r[e>>2]|0)+100>>2]&4095](e)|0}function TM(e,t){e=e|0;t=t|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,2,-3);return}function DM(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,-3);return}function PM(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,n);return}function wM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+88>>2]&2047](e,t);return}function AM(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=n+32|0;a=r[t+192>>2]|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,t+4|0,_,o);r[s>>2]=21168;r[s+4>>2]=t;r[s+8>>2]=e;r[s+12>>2]=i;i=r[e+76>>2]|0;mrt[r[(r[i>>2]|0)+28>>2]&1023](i,_,o,s|0);d=n;return}function FM(e){e=e|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](e|0);return}function RM(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e|0);return}function IM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function BM(e,t){e=e|0;t=t|0;cme(e,t);return}function VM(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e);return}function EM(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Gye(e|0,t,i,n,_,0.0);return}function NM(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;Gye(e|0,t,i,n,_,r);return}function kM(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+52>>2]&511](e,t,0);return}function OM(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+52>>2]&511](e,t,i);return}function LM(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0;_=d;d=d+168|0;o=_|0;s=e+24|0;a=r[s>>2]|0;p=drt[r[(r[a>>2]|0)+8>>2]&127](a,t,i,0)|0;if((p|0)==0){d=_;return}r[o+4>>2]=0;r[o+136>>2]=t;r[o+140>>2]=i;a=o+8|0;l=t+4|0;vBe(o+144|0,-1|0,16);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+24|0;a=t+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+40|0;l=t+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+56|0;a=t+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+72|0;l=i+4|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+88|0;a=i+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+104|0;l=i+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+120|0;a=i+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];r[o>>2]=21728;r[o+160>>2]=n;Unt[r[(r[p>>2]|0)+8>>2]&255](p,t,i,e+28|0,o|0);jnt[r[r[p>>2]>>2]&2047](p);o=r[s>>2]|0;Znt[r[(r[o>>2]|0)+60>>2]&2047](o,p);d=_;return}function UM(e){e=e|0;var t=0,i=0;t=d;d=d+16|0;i=t|0;do{if((n[43816]|0)==0){if((ui(43816)|0)==0){break}}}while(0);Znt[r[(r[e>>2]|0)+72>>2]&2047](i,e);e=i;r[9510]=r[e>>2];r[9511]=r[e+4>>2];r[9512]=r[e+8>>2];r[9513]=r[e+12>>2];d=t;return 38040}function GM(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Bye(e,t,i,n,_,r);return}function WM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e,t);return}function zM(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function HM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+132>>2]&2047](e,t);return}function jM(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+104>>2]&511](e,t)|0}function XM(e){e=e|0;return Knt[r[(r[e>>2]|0)+96>>2]&4095](e)|0}function ZM(e,t){e=e|0;t=+t;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,1,.01666666753590107)|0}function QM(e,t,i){e=e|0;t=+t;i=i|0;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,i,.01666666753590107)|0}function qM(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,i,n)|0}function YM(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+128>>2]&2047](e,t);return}function JM(e){e=e|0;return Knt[r[(r[e>>2]|0)+112>>2]&4095](e)|0}function KM(e,t){e=e|0;t=t|0;Aye(e|0,t);return}function $M(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+172>>2]&1023](e,t);return}function eT(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=d;d=d+64|0;n=i|0;_=t+472|0;if((r[_>>2]|0)==0){d=i;return}if((r[t+204>>2]&3|0)!=0){d=i;return}jue(t+68|0,+p[t+132>>2],+p[t+136>>2],+p[t+140>>2],t+148|0,+p[e+236>>2]*+p[t+240>>2],n);t=r[_>>2]|0;Znt[r[(r[t>>2]|0)+12>>2]&2047](t,n);d=i;return}function tT(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+120>>2]&2047](e,t);return}function iT(e){e=e|0;var t=0;t=r[e+76>>2]|0;return Knt[r[(r[t>>2]|0)+36>>2]&4095](t)|0}function nT(e){e=e|0;jnt[r[(r[e>>2]|0)+76>>2]&2047](e);return}function _T(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function rT(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+92>>2]&2047](e,t);return}function oT(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;Eye(e,t,i,n,_,r,o,s);return}function sT(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function aT(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function pT(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Nue(e,t,i,n,_);return}function lT(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function dT(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function cT(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function bT(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function uT(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function mT(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function hT(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;while(1){_=hBe(268)|0;if((_|0)!=0){o=2523;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){o=2520;break}prt[s&63]()}if((o|0)==2523){s=_;ome(s,e,t,i,n);return s|0}else if((o|0)==2520){o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}return 0}function fT(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0;while(1){i=hBe(600)|0;if((i|0)!=0){_=2537;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){_=2534;break}prt[o&63]()}if((_|0)==2534){o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}else if((_|0)==2537){Dge(i,5,e);r[i>>2]=22328;e=i+292|0;_=t;r[e>>2]=r[_>>2];r[e+4>>2]=r[_+4>>2];r[e+8>>2]=r[_+8>>2];r[e+12>>2]=r[_+12>>2];_=i+308|0;o=t+16|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=i+324|0;s=t+32|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=i+340|0;a=t+48|0;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=i+356|0;n[i+519|0]=0;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];e=i+372|0;r[e>>2]=r[_>>2];r[e+4>>2]=r[_+4>>2];r[e+8>>2]=r[_+8>>2];r[e+12>>2]=r[_+12>>2];_=i+388|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=i+404|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];n[i+516|0]=0;n[i+517|0]=0;n[i+518|0]=0;n[i+544|0]=0;p[i+564>>2]=-1.0;p[i+436>>2]=999999984306749400.0;p[i+440>>2]=999999984306749400.0;p[i+444>>2]=999999984306749400.0;p[i+420>>2]=1.0;p[i+424>>2]=.30000001192092896;p[i+428>>2]=1.0;p[i+432>>2]=.009999999776482582;p[i+448>>2]=.05000000074505806;r[i+584>>2]=0;p[i+588>>2]=0.0;p[i+592>>2]=.699999988079071;p[i+596>>2]=0.0;return i|0}return 0}function gT(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function CT(e){e=e|0;return(n[e+20|0]&1)!=0|0}function ST(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function yT(e){e=e|0;return r[e+4>>2]|0}function vT(e){e=e|0;return+ +p[e+504>>2]}function xT(e,t){e=e|0;t=+t;p[e+564>>2]=t;n[e+545|0]=1;return}function MT(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function TT(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function DT(e){e=e|0;return(n[e+21|0]&1)!=0|0}function PT(e){e=e|0;return r[e+4>>2]|0}function wT(e){e=e|0;return n[e+517|0]&1|0}function AT(e){e=e|0;return r[e+12>>2]|0}function FT(e,t){e=e|0;t=t|0;n[e+544|0]=t&1;return}function RT(e){e=e|0;return e+356|0}function IT(e,t){e=e|0;t=t|0;r[t>>2]=6;r[t+4>>2]=0;return}function BT(e){e=e|0;return r[e+12>>2]|0}function VT(e){e=e|0;return+ +p[e+36>>2]}function ET(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function NT(e){e=e|0;return+ +p[e+448>>2]}function kT(e){e=e|0;return n[e+517|0]&1|0}function OT(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function LT(e){e=e|0;return+ +p[e+32>>2]}function UT(e,t){e=e|0;t=t|0;n[e+516|0]=t&1;return}function GT(e,t,i){e=e|0;t=t|0;i=+i;if((t|0)==3){p[e+444>>2]=i;return}else if((t|0)==5){p[e+436>>2]=i;return}else if((t|0)==4){p[e+440>>2]=i;return}else{return}}function WT(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;p[e+436>>2]=t;p[e+440>>2]=i;p[e+444>>2]=n;p[e+420>>2]=1.0;p[e+424>>2]=.30000001192092896;p[e+428>>2]=1.0;return}function zT(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;p[e+436>>2]=t;p[e+440>>2]=i;p[e+444>>2]=n;p[e+420>>2]=_;p[e+424>>2]=.30000001192092896;p[e+428>>2]=1.0;return}function HT(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;p[e+436>>2]=t;p[e+440>>2]=i;p[e+444>>2]=n;p[e+420>>2]=_;p[e+424>>2]=r;p[e+428>>2]=1.0;return}function jT(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;p[e+436>>2]=t;p[e+440>>2]=i;p[e+444>>2]=n;p[e+420>>2]=_;p[e+424>>2]=r;p[e+428>>2]=o;return}function XT(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0;i=d;d=d+208|0;n=i|0;_=i+80|0;o=i+160|0;s=i+176|0;a=i+192|0;l=r[e+24>>2]|0;c=+p[l+4>>2];b=+p[l+8>>2];u=+p[l+12>>2];m=+p[l+20>>2];h=+p[l+24>>2];f=+p[l+28>>2];g=+p[l+36>>2];C=+p[l+40>>2];S=+p[l+44>>2];y=+p[l+52>>2];v=+p[l+56>>2];x=+p[l+60>>2];l=r[e+28>>2]|0;M=+p[l+4>>2];T=+p[l+8>>2];D=+p[l+12>>2];P=+p[l+20>>2];w=+p[l+24>>2];A=+p[l+28>>2];F=+p[l+36>>2];R=+p[l+40>>2];I=+p[l+44>>2];B=+p[l+52>>2];V=+p[l+56>>2];E=+p[l+60>>2];N=-0.0-B;k=-0.0-V;O=-0.0-E;p[n>>2]=c*M+m*P+g*F;p[n+4>>2]=b*M+h*P+C*F;p[n+8>>2]=u*M+f*P+S*F;p[n+12>>2]=0.0;p[n+16>>2]=c*T+m*w+g*R;p[n+20>>2]=b*T+h*w+C*R;p[n+24>>2]=u*T+f*w+S*R;p[n+28>>2]=0.0;p[n+32>>2]=c*D+m*A+g*I;p[n+36>>2]=b*D+h*A+C*I;p[n+40>>2]=u*D+f*A+S*I;p[n+44>>2]=0.0;p[n+48>>2]=y*M+v*P+x*F+(M*N+P*k+F*O);p[n+52>>2]=y*T+v*w+x*R+(T*N+w*k+R*O);p[n+56>>2]=y*D+v*A+x*I+(D*N+A*k+I*O);p[n+60>>2]=0.0;mn(n|0,i+64|0);n=e+356|0;O=+p[n>>2];k=+p[e+372>>2];N=+p[e+388>>2];L=M*O+T*k+D*N;U=+p[e+360>>2];G=+p[e+376>>2];W=+p[e+392>>2];z=M*U+T*G+D*W;H=+p[e+364>>2];j=+p[e+380>>2];X=+p[e+396>>2];Z=M*H+T*j+D*X;Q=P*O+w*k+A*N;q=P*U+w*G+A*W;Y=P*H+w*j+A*X;J=F*O+R*k+I*N;N=F*U+R*G+I*W;W=F*H+R*j+I*X;X=+p[e+404>>2];j=+p[e+408>>2];H=+p[e+412>>2];G=-0.0-(B+(M*X+T*j+D*H));D=-0.0-(V+(P*X+w*j+A*H));A=-0.0-(E+(F*X+R*j+I*H));l=e+292|0;H=+p[l>>2];I=+p[e+308>>2];j=+p[e+324>>2];R=c*H+b*I+u*j;X=+p[e+296>>2];F=+p[e+312>>2];E=+p[e+328>>2];w=c*X+b*F+u*E;P=+p[e+300>>2];V=+p[e+316>>2];T=+p[e+332>>2];M=c*P+b*V+u*T;B=m*H+h*I+f*j;U=m*X+h*F+f*E;k=m*P+h*V+f*T;O=g*H+C*I+S*j;j=g*X+C*F+S*E;E=g*P+C*V+S*T;T=+p[e+340>>2];V=+p[e+344>>2];P=+p[e+348>>2];F=y+(c*T+b*V+u*P);u=v+(m*T+h*V+f*P);f=x+(g*T+C*V+S*P);p[_>>2]=J*O+(L*R+Q*B);p[_+4>>2]=J*j+(L*w+Q*U);p[_+8>>2]=J*E+(L*M+Q*k);p[_+12>>2]=0.0;p[_+16>>2]=N*O+(z*R+q*B);p[_+20>>2]=N*j+(z*w+q*U);p[_+24>>2]=N*E+(z*M+q*k);p[_+28>>2]=0.0;p[_+32>>2]=W*O+(Z*R+Y*B);p[_+36>>2]=W*j+(Z*w+Y*U);p[_+40>>2]=W*E+(Z*M+Y*k);p[_+44>>2]=0.0;p[_+48>>2]=J*A+(L*G+Q*D)+(J*f+(L*F+Q*u));p[_+52>>2]=N*A+(z*G+q*D)+(N*f+(z*F+q*u));p[_+56>>2]=W*A+(Z*G+Y*D)+(W*f+(Z*F+Y*u));p[_+60>>2]=0.0;mn(_|0,i+144|0);mn(n|0,s);u=-0.0-+p[s>>2];Y=-0.0-+p[s+4>>2];F=-0.0-+p[s+8>>2];Z=+p[s+12>>2];f=+p[t>>2];W=+p[t+12>>2];D=+p[t+8>>2];G=+p[t+4>>2];A=Z*f+W*u+D*Y-G*F;q=f*F+(W*Y+Z*G)-D*u;z=W*F+Z*D+G*u-f*Y;N=Z*W-f*u-G*Y-D*F;mn(l|0,a);F=+p[a>>2];D=+p[a+12>>2];Y=+p[a+8>>2];G=+p[a+4>>2];p[o>>2]=F*N+A*D+q*Y-z*G;p[o+4>>2]=F*z+(D*q+N*G)-A*Y;p[o+8>>2]=D*z+N*Y+A*G-F*q;p[o+12>>2]=N*D-F*A-q*G-z*Y;Zue(e,o);d=i;return}function ZT(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function QT(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function qT(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function YT(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function JT(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0;while(1){o=hBe(600)|0;if((o|0)!=0){s=2596;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==2596){r[o+4>>2]=5;r[o+8>>2]=-1;r[o+12>>2]=-1;p[o+16>>2]=3.4028234663852886e+38;n[o+20|0]=1;n[o+21|0]=0;r[o+24>>2]=e;r[o+28>>2]=t;p[o+32>>2]=0.0;p[o+36>>2]=.30000001192092896;r[o>>2]=22328;t=o+292|0;e=i;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];e=o+308|0;t=i+16|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];t=o+324|0;e=i+32|0;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];e=o+340|0;t=i+48|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];t=o+356|0;e=_;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];e=o+372|0;t=_+16|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];t=o+388|0;e=_+32|0;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];e=o+404|0;t=_+48|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];n[o+544|0]=0;t=o+516|0;T=0;n[t]=T&255;T=T>>8;n[t+1|0]=T&255;T=T>>8;n[t+2|0]=T&255;T=T>>8;n[t+3|0]=T&255;p[o+564>>2]=-1.0;p[o+436>>2]=999999984306749400.0;p[o+440>>2]=999999984306749400.0;p[o+444>>2]=999999984306749400.0;p[o+420>>2]=1.0;p[o+424>>2]=.30000001192092896;p[o+428>>2]=1.0;p[o+432>>2]=.009999999776482582;p[o+448>>2]=.05000000074505806;r[o+584>>2]=0;p[o+588>>2]=0.0;p[o+592>>2]=.699999988079071;p[o+596>>2]=0.0;return o|0}o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}function KT(e,t){e=e|0;t=+t;return}function $T(e){e=e|0;return+ +p[e+32>>2]}function eD(e){e=e|0;return+ +p[e+492>>2]}function tD(e,t){e=e|0;t=+t;p[e+564>>2]=t;n[e+545|0]=0;return}function iD(e){e=e|0;return r[e+12>>2]|0}function nD(e,t){e=e|0;t=+t;p[e+448>>2]=t;return}function _D(e){e=e|0;return+ +p[e+16>>2]}function rD(e){e=e|0;return r[e+8>>2]|0}function oD(e){e=e|0;return+ +p[e+444>>2]}function sD(e){e=e|0;return e+292|0}function aD(e){e=e|0;return r[e+28>>2]|0}function pD(e){e=e|0;return r[e+24>>2]|0}function lD(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function dD(e){e=e|0;return+ +p[e+672>>2]}function cD(e){e=e|0;return e+544|0}function bD(e){e=e|0;return e+608|0}function uD(e,t){e=e|0;t=+t;p[e+676>>2]=t;return}function mD(e){e=e|0;return r[e+4>>2]|0}function hD(e,t,i,_){e=e|0;t=t|0;i=+i;_=+_;n[e+729|0]=t&1;p[e+672>>2]=i;p[e+676>>2]=_;return}function fD(e){e=e|0;return+ +p[e+704>>2]}function gD(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function CD(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Oue(e,t,i,n,_,r);return}function SD(e,t){e=e|0;t=t|0;Zue(e,t);return}function yD(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n);return}function vD(e,t,i){e=e|0;t=+t;i=+i;var _=0,o=0;_=d;d=d+16|0;o=_|0;do{if((n[43744]|0)==0){if((ui(43744)|0)==0){break}}}while(0);Xue(o,e,t,i);e=o;r[9506]=r[e>>2];r[9507]=r[e+4>>2];r[9508]=r[e+8>>2];r[9509]=r[e+12>>2];d=_;return 38024}function xD(e){e=e|0;var t=0,i=0,_=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0,M=0,T=0,D=0.0,P=0,w=0,A=0,F=0.0,R=0,I=0,B=0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0;t=e+496|0;p[t>>2]=0.0;p[e+492>>2]=0.0;i=e+517|0;n[i]=0;_=e+518|0;n[_]=0;o=r[e+24>>2]|0;s=+p[e+292>>2];a=+p[e+308>>2];l=+p[e+324>>2];d=+p[o+4>>2];c=+p[o+8>>2];b=+p[o+12>>2];u=s*d+a*c+l*b;m=+p[o+20>>2];h=+p[o+24>>2];f=+p[o+28>>2];g=s*m+a*h+l*f;C=+p[o+36>>2];S=+p[o+40>>2];y=+p[o+44>>2];v=s*C+a*S+l*y;o=r[e+28>>2]|0;l=+p[e+356>>2];a=+p[e+372>>2];s=+p[e+388>>2];x=o+4|0;M=o+8|0;T=o+12|0;D=l*+p[x>>2]+a*+p[M>>2]+s*+p[T>>2];P=o+20|0;w=o+24|0;A=o+28|0;F=l*+p[P>>2]+a*+p[w>>2]+s*+p[A>>2];R=o+36|0;I=o+40|0;B=o+44|0;V=l*+p[R>>2]+a*+p[I>>2]+s*+p[B>>2];s=+p[e+436>>2];if(s<.05000000074505806){E=0.0;N=0.0;k=0.0;O=0.0}else{a=+p[e+296>>2];l=+p[e+312>>2];L=+p[e+328>>2];U=d*a+c*l+b*L;G=m*a+h*l+f*L;W=C*a+S*l+y*L;L=u*D+g*F+v*V;l=V*W+(D*U+F*G);a=+H(+l);if(L<0.0){z=2.356194496154785-(L+a)/(a-L)*.7853981852531433}else{z=.7853981852531433-(L-a)/(L+a)*.7853981852531433}if(l<0.0){X=-0.0-z}else{X=z}z=(L*L+l*l)*10.0*10.0;E=X*(z/(z+1.0));N=U;k=G;O=W}W=+p[e+440>>2];if(W<.05000000074505806){Z=0.0;Q=0.0;q=0.0;Y=0.0}else{G=+p[e+300>>2];U=+p[e+316>>2];z=+p[e+332>>2];X=G*d+U*c+z*b;b=G*m+U*h+z*f;f=G*C+U*S+z*y;y=u*D+g*F+v*V;z=D*X+F*b+V*f;S=+H(+z);if(y<0.0){J=2.356194496154785-(y+S)/(S-y)*.7853981852531433}else{J=.7853981852531433-(y-S)/(y+S)*.7853981852531433}if(z<0.0){K=-0.0-J}else{K=J}J=(y*y+z*z)*10.0*10.0;Z=K*(J/(J+1.0));Q=X;q=b;Y=f}f=1.0/(s*s)*+H(+(E*E));E=f+1.0/(W*W)*+H(+(Z*Z));if(E>1.0){p[t>>2]=E+-1.0;n[_]=1;E=V*O+(F*k+D*N);Z=V*Y+(F*q+D*Q);W=N*E+Q*Z;f=k*E+q*Z;s=O*E+Y*Z;Z=F*s-V*f;E=V*W-D*s;s=D*f-F*W;p[e+464>>2]=0.0;W=1.0/+j(+(Z*Z+E*E+s*s));f=u*D+g*F+v*V>=0.0?1.0:-1.0;p[e+452>>2]=f*Z*W;p[e+456>>2]=f*E*W;p[e+460>>2]=f*s*W}W=+p[e+444>>2];if(W<0.0){return}s=+p[e+360>>2];f=+p[e+376>>2];E=+p[e+392>>2];Z=s*+p[x>>2]+f*+p[M>>2]+E*+p[T>>2];b=s*+p[P>>2]+f*+p[w>>2]+E*+p[A>>2];X=s*+p[R>>2]+f*+p[I>>2]+E*+p[B>>2];E=u*D+g*F+v*V;do{if(E<-.9999998807907104){if(+H(+V)>.7071067690849304){f=1.0/+j(+(F*F+V*V));$=0.0;ee=f*(-0.0-V);te=F*f;ie=0.0;break}else{f=1.0/+j(+(D*D+F*F));$=f*(-0.0-F);ee=D*f;te=0.0;ie=0.0;break}}else{f=+j(+((E+1.0)*2.0));s=1.0/f;$=(v*F-g*V)*s;ee=(u*V-v*D)*s;te=(g*D-u*F)*s;ie=f*.5}}while(0);E=Z*ie+X*ee-b*te;f=b*ie+Z*te-X*$;s=X*ie+b*$-Z*ee;J=-0.0-$;$=Z*J-b*ee-X*te;X=-0.0-ee;ee=-0.0-te;te=f*ee+(ie*E+$*J)-s*X;b=s*J+(ie*f+$*X)-E*ee;Z=E*X+(ie*s+$*ee)-f*J;J=Y*Z+(Q*te+q*b);q=O*Z+(N*te+k*b);b=+H(+J);if(q<0.0){ne=2.356194496154785-(b+q)/(b-q)*.7853981852531433}else{ne=.7853981852531433-(q-b)/(b+q)*.7853981852531433}if(J<0.0){_e=-0.0-ne}else{_e=ne}p[e+504>>2]=_e;ne=W>.05000000074505806?1.0:0.0;if(_e<=ne*(-0.0-W)){p[e+500>>2]=-0.0-(_e+W);n[i]=1;J=(u+D)*.5;q=(g+F)*.5;b=(v+V)*.5;p[e+480>>2]=0.0;k=1.0/+j(+(J*J+q*q+b*b));p[e+468>>2]=J*k*-1.0;p[e+472>>2]=q*k*-1.0;p[e+476>>2]=b*k*-1.0;return}if(_e<=W*ne){return}p[e+500>>2]=_e-W;n[i]=1;W=(u+D)*.5;D=(g+F)*.5;F=(v+V)*.5;p[e+480>>2]=0.0;V=1.0/+j(+(W*W+D*D+F*F));p[e+468>>2]=W*V;p[e+472>>2]=D*V;p[e+476>>2]=F*V;return}function MD(e,t,i,_,r,o){e=e|0;t=t|0;i=i|0;_=_|0;r=r|0;o=o|0;var s=0.0,a=0,l=0,d=0,c=0,b=0.0,u=0.0;s=+Lhe(e,i,_);p[e+720>>2]=s;a=e+700|0;p[a>>2]=0.0;l=e+704|0;p[l>>2]=0.0;d=e+708|0;n[d]=0;c=e+684|0;do{if(+p[c>>2]>=0.0){b=+Bi(+(s-+p[e+680>>2]),6.2831854820251465);do{if(b<-3.1415927410125732){u=b+6.2831854820251465}else{if(b<=3.1415927410125732){u=b;break}u=b-6.2831854820251465}}while(0);b=+p[c>>2];if(u<-0.0-b){n[d]=1;p[a>>2]=-0.0-(u+b);p[l>>2]=1.0;break}if(u<=b){break}n[d]=1;p[a>>2]=b-u;p[l>>2]=-1.0}}while(0);Ohe(e,t,i,_,r,o);return}function TD(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function DD(e){e=e|0;return+ +Lhe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0)}function PD(e,t,i){e=e|0;t=t|0;i=i|0;return+ +Lhe(e,t,i)}function wD(e,t,i){e=e|0;t=t|0;i=i|0;var _=0.0,r=0,o=0,s=0.0,a=0.0;_=+Lhe(e,t,i);p[e+720>>2]=_;i=e+700|0;p[i>>2]=0.0;t=e+704|0;p[t>>2]=0.0;r=e+708|0;n[r]=0;o=e+684|0;if(+p[o>>2]<0.0){return}s=+Bi(+(_-+p[e+680>>2]),6.2831854820251465);do{if(s<-3.1415927410125732){a=s+6.2831854820251465}else{if(s<=3.1415927410125732){a=s;break}a=s-6.2831854820251465}}while(0);s=+p[o>>2];if(a<-0.0-s){n[r]=1;p[i>>2]=-0.0-(a+s);p[t>>2]=1.0;return}if(a<=s){return}n[r]=1;p[i>>2]=s-a;p[t>>2]=-1.0;return}function AD(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function FD(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Ohe(e,t,i,n,_,r);return}function RD(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function ID(e){e=e|0;var t=0.0,i=0.0;t=+Bi(+(+p[e+680>>2]+ +p[e+684>>2]),6.2831854820251465);if(t<-3.1415927410125732){i=t+6.2831854820251465;return+i}if(t<=3.1415927410125732){i=t;return+i}i=t-6.2831854820251465;return+i}function BD(e,t){e=e|0;t=+t;return}function VD(e){e=e|0;return(n[e+20|0]&1)!=0|0}function ED(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function ND(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function kD(e){e=e|0;return r[e+4>>2]|0}function OD(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function LD(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function UD(e){e=e|0;return+ +p[e+676>>2]}function GD(e,t){e=e|0;t=t|0;n[e+731|0]=t&1;return}function WD(e){e=e|0;return(n[e+729|0]&1)!=0|0}function zD(e){e=e|0;return(n[e+21|0]&1)!=0|0}function HD(e){e=e|0;return r[e+4>>2]|0}function jD(e){e=e|0;return r[e+12>>2]|0}function XD(e,t){e=e|0;t=t|0;n[e+729|0]=t&1;return}function ZD(e){e=e|0;return e+608|0}function QD(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+730|0]&1)==0){r[i>>2]=6;r[t+4>>2]=0;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function qD(e){e=e|0;return r[e+12>>2]|0}function YD(e){e=e|0;return+ +p[e+36>>2]}function JD(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function KD(e){e=e|0;return(n[e+731|0]&1)!=0|0}function $D(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function eP(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function tP(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function iP(e){e=e|0;return+ +p[e+32>>2]}function nP(e,t){e=e|0;t=t|0;n[e+728|0]=t&1;return}function _P(e){e=e|0;return n[e+708|0]&1|0}function rP(e){e=e|0;return r[e+12>>2]|0}function oP(e){e=e|0;return+ +p[e+16>>2]}function sP(e){e=e|0;return r[e+8>>2]|0}function aP(e){e=e|0;return(n[e+728|0]&1)!=0|0}function pP(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n);return}function lP(e){e=e|0;var t=0.0,i=0.0;t=+Bi(+(+p[e+680>>2]-+p[e+684>>2]),6.2831854820251465);if(t<-3.1415927410125732){i=t+6.2831854820251465;return+i}if(t<=3.1415927410125732){i=t;return+i}i=t-6.2831854820251465;return+i}function dP(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function cP(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function bP(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Bhe(e,t,i,n,_,r);return}function uP(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function mP(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function hP(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function fP(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function gP(e,t,i){e=e|0;t=+t;i=+i;var n=0.0,_=0.0;n=(i-t)*.5;p[e+684>>2]=n;i=+Bi(+(n+t),6.2831854820251465);do{if(i<-3.1415927410125732){_=i+6.2831854820251465}else{if(i<=3.1415927410125732){_=i;break}_=i-6.2831854820251465}}while(0);p[e+680>>2]=_;p[e+688>>2]=.8999999761581421;p[e+692>>2]=.30000001192092896;p[e+696>>2]=1.0;return}function CP(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0.0,r=0.0;_=(i-t)*.5;p[e+684>>2]=_;i=+Bi(+(_+t),6.2831854820251465);do{if(i<-3.1415927410125732){r=i+6.2831854820251465}else{if(i<=3.1415927410125732){r=i;break}r=i-6.2831854820251465}}while(0);p[e+680>>2]=r;p[e+688>>2]=n;p[e+692>>2]=.30000001192092896;p[e+696>>2]=1.0;return}function SP(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;var r=0.0,o=0.0;r=(i-t)*.5;p[e+684>>2]=r;i=+Bi(+(r+t),6.2831854820251465);do{if(i<-3.1415927410125732){o=i+6.2831854820251465}else{if(i<=3.1415927410125732){o=i;break}o=i-6.2831854820251465}}while(0);p[e+680>>2]=o;p[e+688>>2]=n;p[e+692>>2]=_;p[e+696>>2]=1.0;return}function yP(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;var o=0.0,s=0.0;o=(i-t)*.5;p[e+684>>2]=o;i=+Bi(+(o+t),6.2831854820251465);do{if(i<-3.1415927410125732){s=i+6.2831854820251465}else{if(i<=3.1415927410125732){s=i;break}s=i-6.2831854820251465}}while(0);p[e+680>>2]=s;p[e+688>>2]=n;p[e+692>>2]=_;p[e+696>>2]=r;return}function vP(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function xP(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function MP(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0.0,G=0.0,W=0.0,z=0.0,X=0;n=d;d=d+40|0;_=n|0;o=n+8|0;s=n+24|0;mn(e+608|0,o);a=-0.0-+p[o>>2];l=-0.0-+p[o+4>>2];c=-0.0-+p[o+8>>2];b=+p[o+12>>2];u=+p[t>>2];m=+p[t+12>>2];h=+p[t+8>>2];f=+p[t+4>>2];C=b*u+m*a+h*l-f*c;S=u*c+(m*l+b*f)-h*a;y=m*c+b*h+f*a-u*l;v=b*m-u*a-f*l-h*c;mn(e+544|0,s);c=+p[s>>2];h=+p[s+12>>2];l=+p[s+8>>2];f=+p[s+4>>2];a=c*v+C*h+S*l-y*f;u=c*y+(h*S+v*f)-C*l;m=h*y+v*l+C*f-c*S;b=v*h-c*C-S*f-y*l;l=1.0/+j(+(b*b+(m*m+(a*a+u*u))));y=a*l;a=l*u;u=l*m;m=l*b;b=m*0.0;l=u*0.0;f=b+a-l;S=l+b-y;b=a*0.0;l=m+y*0.0-b;C=-0.0-y;c=y*-0.0-b-u;b=-0.0-a;h=-0.0-u;v=S*h+(m*f+c*C)-l*b;x=l*C+(m*S+c*b)-f*h;M=f*b+(m*l+c*h)-S*C;C=1.0/+j(+(M*M+(v*v+x*x)));S=C*v;v=C*x;x=C*M;M=S*0.0;C=v*0.0;h=x+(C+M);do{if(h<-.9999998807907104){if(+H(1.0)>.7071067690849304){T=0.0;D=-1.0;P=0.0;w=0.0;break}T=g;D=g;P=0.0;w=0.0}else{c=x*0.0;l=+j(+((h+1.0)*2.0));b=1.0/l;T=(c-v)*b;D=(S-c)*b;P=(C-M)*b;w=l*.5}}while(0);M=-0.0-T;T=-0.0-D;D=-0.0-P;P=u*T+(y*w+m*M)-a*D;C=y*D+(a*w+m*T)-u*M;S=u*w+m*D+a*M-y*T;v=m*w-y*M-a*T-u*D;D=1.0/+j(+(v*v+(S*S+(C*C+P*P))));P=D*S;S=D*v;v=S<-1.0?-1.0:S;D=+Y(+(v>1.0?1.0:v))*2.0;if(D>3.1415927410125732){v=S>1.0?-1.0:-0.0-S;A=+Y(+(v>1.0?1.0:v))*2.0;F=-0.0-P}else{A=D;F=P}if(F>=0.0){R=A;I=_;p[_>>2]=R;B=e+680|0;Age(B,_);V=e+24|0;E=r[V>>2]|0;N=E+4|0;k=e+28|0;O=r[k>>2]|0;L=O+4|0;U=+Lhe(e,N,L);G=+p[_>>2];W=G-U;z=W/i;X=e+672|0;p[X>>2]=z;d=n;return}R=-0.0-A;I=_;p[_>>2]=R;B=e+680|0;Age(B,_);V=e+24|0;E=r[V>>2]|0;N=E+4|0;k=e+28|0;O=r[k>>2]|0;L=O+4|0;U=+Lhe(e,N,L);G=+p[_>>2];W=G-U;z=W/i;X=e+672|0;p[X>>2]=z;d=n;return}function TP(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;while(1){n=hBe(756)|0;if((n|0)!=0){_=2798;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){_=2795;break}prt[o&63]()}if((_|0)==2798){o=n;Ahe(o,e,t,i,0);return o|0}else if((_|0)==2795){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}return 0}function DP(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;while(1){_=hBe(756)|0;if((_|0)!=0){o=2812;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){o=2809;break}prt[s&63]()}if((o|0)==2812){s=_;Ahe(s,e,t,i,n);return s|0}else if((o|0)==2809){o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}return 0}function PP(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;var s=0,a=0,p=0;while(1){s=hBe(756)|0;if((s|0)!=0){a=2826;break}p=(R=r[10744]|0,r[10744]=R+0,R);if((p|0)==0){break}prt[p&63]()}if((a|0)==2826){a=s;whe(a,e,t,i,n,_,o,0);return a|0}a=Di(4)|0;r[a>>2]=19096;Ht(a|0,34368,676);return 0}function wP(e,t,i,n,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;var a=0,p=0,l=0;while(1){a=hBe(756)|0;if((a|0)!=0){p=2838;break}l=(R=r[10744]|0,r[10744]=R+0,R);if((l|0)==0){break}prt[l&63]()}if((p|0)==2838){p=a;whe(p,e,t,i,n,_,o,s);return p|0}p=Di(4)|0;r[p>>2]=19096;Ht(p|0,34368,676);return 0}function AP(e){e=e|0;return+ +p[e+32>>2]}function FP(e){e=e|0;return e+544|0}function RP(e,t){e=e|0;t=+t;p[e>>2]=t;return}function IP(e,t){e=e|0;t=+t;p[e+48>>2]=t;return}function BP(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function VP(e){e=e|0;var t=0;do{if((r[e+56>>2]|0)==0){if((n[e+44|0]&1)==0){t=0}else{break}return t|0}}while(0);t=1;return t|0}function EP(e,t){e=e|0;t=+t;p[e+52>>2]=t;return}function NP(e,t,i,_,o,s){e=e|0;t=+t;i=i|0;_=+_;o=o|0;s=s|0;var a=0.0,l=0.0,d=0,c=0.0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0;do{if((r[e+56>>2]|0)==0){if((n[e+44|0]&1)==0){a=0.0;return+a}else{l=+p[e+8>>2];d=e+12|0;break}}else{l=+p[e+48>>2]*(-0.0-+p[e+32>>2])/t;d=e+16|0}}while(0);c=+p[d>>2]*t;d=o+520|0;b=o+524|0;u=o+528|0;m=s+520|0;h=s+524|0;f=s+528|0;g=i|0;C=i+4|0;S=i+8|0;t=+p[e+24>>2]*(l-+p[e+20>>2]*((+p[o+320>>2]+ +p[d>>2]-(+p[s+320>>2]+ +p[m>>2]))*+p[g>>2]+(+p[o+324>>2]+ +p[b>>2]-(+p[s+324>>2]+ +p[h>>2]))*+p[C>>2]+(+p[o+328>>2]+ +p[u>>2]-(+p[s+328>>2]+ +p[f>>2]))*+p[S>>2]));if(t<1.1920928955078125e-7&t>-1.1920928955078125e-7){a=0.0;return+a}l=t*(+p[e+40>>2]+1.0)*_;if(l>0.0){y=l>c?c:l}else{_=-0.0-c;y=l<_?_:l}i=e+60|0;l=+p[i>>2];_=y+l;if(_>999999984306749400.0){v=0.0}else{v=_<-999999984306749400.0?0.0:_}p[i>>2]=v;_=v-l;l=+p[g>>2];v=+p[C>>2];y=+p[S>>2];if(+p[o+336>>2]!=0.0){c=v*+p[o+292>>2]+l*+p[o+288>>2]+y*+p[o+296>>2];t=v*+p[o+276>>2]+l*+p[o+272>>2]+y*+p[o+280>>2];x=v*+p[o+260>>2]+l*+p[o+256>>2]+y*+p[o+264>>2];M=_*0.0;i=o+504|0;p[i>>2]=M+ +p[i>>2];i=o+508|0;p[i>>2]=M+ +p[i>>2];i=o+512|0;p[i>>2]=M+ +p[i>>2];M=t*_*+p[o+540>>2];t=c*_*+p[o+544>>2];p[d>>2]=x*_*+p[o+536>>2]+ +p[d>>2];p[b>>2]=M+ +p[b>>2];p[u>>2]=t+ +p[u>>2];T=+p[g>>2];D=+p[C>>2];P=+p[S>>2]}else{T=l;D=v;P=y}y=-0.0-_;if(+p[s+336>>2]==0.0){a=_;return+a}v=D*+p[s+292>>2]+T*+p[s+288>>2]+P*+p[s+296>>2];l=D*+p[s+276>>2]+T*+p[s+272>>2]+P*+p[s+280>>2];t=D*+p[s+260>>2]+T*+p[s+256>>2]+P*+p[s+264>>2];P=_*-0.0;S=s+504|0;p[S>>2]=P+ +p[S>>2];S=s+508|0;p[S>>2]=P+ +p[S>>2];S=s+512|0;p[S>>2]=P+ +p[S>>2];P=l*+p[s+540>>2]*y;l=v*+p[s+544>>2]*y;p[m>>2]=t*+p[s+536>>2]*y+ +p[m>>2];p[h>>2]=P+ +p[h>>2];p[f>>2]=l+ +p[f>>2];a=_;return+a}function kP(e){e=e|0;return+ +p[e+32>>2]}function OP(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function LP(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function UP(e){e=e|0;return+ +p[e+52>>2]}function GP(e){e=e|0;return+ +p[e+36>>2]}function WP(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=e+544|0;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+560|0;n=t+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+576|0;_=t+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+592|0;n=t+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+608|0;_=i;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+624|0;n=i+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+640|0;_=i+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+656|0;n=i+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function zP(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0.0,g=0,C=0,S=0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0;i=d;d=d+272|0;n=i|0;_=i+32|0;o=i+80|0;s=i+96|0;a=i+112|0;l=i+176|0;c=i+224|0;b=a;u=l;Vue(t,o,s);m=+p[e+592>>2];h=+p[e+596>>2];f=+p[e+600>>2];g=t|0;C=t+4|0;S=t+8|0;y=+p[o>>2];p[e+544>>2]=y;p[e+548>>2]=+p[s>>2];p[e+552>>2]=+p[g>>2];p[e+556>>2]=0.0;v=+p[o+4>>2];p[e+560>>2]=v;p[e+564>>2]=+p[s+4>>2];p[e+568>>2]=+p[C>>2];p[e+572>>2]=0.0;x=+p[o+8>>2];p[e+576>>2]=x;p[e+580>>2]=+p[s+8>>2];p[e+584>>2]=+p[S>>2];p[e+588>>2]=0.0;s=e+24|0;o=r[s>>2]|0;M=+p[g>>2];T=+p[C>>2];D=+p[S>>2];P=+p[o+4>>2]*M+ +p[o+8>>2]*T+ +p[o+12>>2]*D;w=+p[o+20>>2]*M+ +p[o+24>>2]*T+ +p[o+28>>2]*D;A=+p[o+36>>2]*M+ +p[o+40>>2]*T+ +p[o+44>>2]*D;F=M*P+T*w+D*A;if(F<-.9999998807907104){Vue(t,n,i+16|0);R=0.0;I=+p[n+8>>2];B=+p[n+4>>2];V=+p[n>>2]}else{E=+j(+((F+1.0)*2.0));F=1.0/E;R=E*.5;I=(M*w-T*P)*F;B=(D*P-M*A)*F;V=(T*A-D*w)*F}F=R*y+B*x-I*v;D=R*v+I*y-V*x;T=R*x+V*v-B*y;M=-0.0-V;V=y*M-B*v-I*x;x=-0.0-B;B=-0.0-I;I=V*M+F*R+D*B-T*x;v=V*x+D*R+T*M-F*B;y=V*B+T*R+F*x-D*M;M=w*y-A*v;D=A*I-P*y;x=P*v-w*I;n=e+28|0;t=r[n>>2]|0;o=_;tn(_,t+4|0,t+20|0,t+36|0,t+8|0,t+24|0,t+40|0,t+12|0,t+28|0,t+44|0);F=-0.0-+p[t+52>>2];R=-0.0-+p[t+56>>2];T=-0.0-+p[t+60>>2];B=+p[_>>2]*F+ +p[_+4>>2]*R+ +p[_+8>>2]*T;V=+p[_+16>>2]*F+ +p[_+20>>2]*R+ +p[_+24>>2]*T;E=+p[_+32>>2]*F+ +p[_+36>>2]*R+ +p[_+40>>2]*T;t=a+48|0;S=a|0;do{S=S+16|0}while((S|0)!=(t|0));r[b>>2]=r[o>>2];r[b+4>>2]=r[o+4>>2];r[b+8>>2]=r[o+8>>2];r[b+12>>2]=r[o+12>>2];o=a+16|0;b=_+16|0;r[o>>2]=r[b>>2];r[o+4>>2]=r[b+4>>2];r[o+8>>2]=r[b+8>>2];r[o+12>>2]=r[b+12>>2];b=a+32|0;o=_+32|0;r[b>>2]=r[o>>2];r[b+4>>2]=r[o+4>>2];r[b+8>>2]=r[o+8>>2];r[b+12>>2]=r[o+12>>2];p[a+48>>2]=B;p[a+52>>2]=V;p[a+56>>2]=E;p[a+60>>2]=0.0;o=r[s>>2]|0;T=+p[o+4>>2]*m+ +p[o+8>>2]*h+ +p[o+12>>2]*f+ +p[o+52>>2];R=+p[o+20>>2]*m+ +p[o+24>>2]*h+ +p[o+28>>2]*f+ +p[o+56>>2];F=+p[o+36>>2]*m+ +p[o+40>>2]*h+ +p[o+44>>2]*f+ +p[o+60>>2];f=+p[a+16>>2]*T+ +p[a+20>>2]*R+ +p[a+24>>2]*F+V;V=+p[a+32>>2]*T+ +p[a+36>>2]*R+ +p[a+40>>2]*F+E;p[e+656>>2]=+p[a>>2]*T+ +p[a+4>>2]*R+ +p[a+8>>2]*F+B;p[e+660>>2]=f;p[e+664>>2]=V;p[e+668>>2]=0.0;a=e+608|0;p[a>>2]=I;p[e+612>>2]=M;p[e+616>>2]=P;p[e+620>>2]=0.0;p[e+624>>2]=v;p[e+628>>2]=D;p[e+632>>2]=w;p[e+636>>2]=0.0;p[e+640>>2]=y;p[e+644>>2]=x;p[e+648>>2]=A;p[e+652>>2]=0.0;An(c,(r[n>>2]|0)+4|0);gue(l,c,a);c=a;r[c>>2]=r[u>>2];r[c+4>>2]=r[u+4>>2];r[c+8>>2]=r[u+8>>2];r[c+12>>2]=r[u+12>>2];u=e+624|0;c=l+16|0;r[u>>2]=r[c>>2];r[u+4>>2]=r[c+4>>2];r[u+8>>2]=r[c+8>>2];r[u+12>>2]=r[c+12>>2];c=e+640|0;e=l+32|0;r[c>>2]=r[e>>2];r[c+4>>2]=r[e+4>>2];r[c+8>>2]=r[e+8>>2];r[c+12>>2]=r[e+12>>2];d=i;return}function HP(){var e=0,t=0,i=0;while(1){e=hBe(64)|0;if((e|0)!=0){t=2893;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==2893){p[e+60>>2]=0.0;p[e+8>>2]=0.0;p[e+12>>2]=.10000000149011612;p[e+16>>2]=300.0;p[e>>2]=1.0;p[e+4>>2]=-1.0;p[e+28>>2]=0.0;p[e+32>>2]=.20000000298023224;p[e+36>>2]=0.0;p[e+40>>2]=0.0;p[e+20>>2]=1.0;p[e+24>>2]=.5;r[e+56>>2]=0;p[e+48>>2]=0.0;n[e+44|0]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function jP(e){e=e|0;return(n[e+44|0]&1)!=0|0}function XP(e,t){e=e|0;t=t|0;n[e+44|0]=t&1;return}function ZP(e,t){e=e|0;t=+t;var i=0.0,n=0.0,_=0,o=0;i=+p[e>>2];n=+p[e+4>>2];if(i>n){r[e+56>>2]=0;_=0;return _|0}if(i>t){r[e+56>>2]=1;p[e+48>>2]=t-i;_=1;return _|0}o=e+56|0;if(n<t){r[o>>2]=2;p[e+48>>2]=t-n;_=2;return _|0}else{r[o>>2]=0;_=0;return _|0}return 0}function QP(e){e=e|0;return+ +p[e+48>>2]}function qP(e,t){e=e|0;t=+t;p[e+24>>2]=t;return}function YP(e){e=e|0;return+ +p[e>>2]}function JP(e){e=e|0;return r[e+56>>2]|0}function KP(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function $P(e){e=e|0;return+ +p[e+40>>2]}function ew(e){e=e|0;return+ +p[e+8>>2]}function tw(e){e=e|0;return+ +p[e+60>>2]}function iw(e,t){e=e|0;t=+t;p[e+20>>2]=t;return}function nw(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function _w(e,t){e=e|0;t=+t;p[e+28>>2]=t;return}function rw(e){e=e|0;return+ +p[e+16>>2]}function ow(e){e=e|0;return+ +p[e+20>>2]}function sw(e){e=e|0;return+ +p[e+28>>2]}function aw(e){e=e|0;return+ +p[e+4>>2]}function pw(e,t){e=e|0;t=+t;p[e+60>>2]=t;return}function lw(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function dw(e){e=e|0;return(+p[e>>2]>+p[e+4>>2]?0:1)|0}function cw(e){e=e|0;return+ +p[e+12>>2]}function bw(e,t){e=e|0;t=t|0;r[e+56>>2]=t;return}function uw(e,t){e=e|0;t=+t;p[e+40>>2]=t;return}function mw(e){e=e|0;return+ +p[e+24>>2]}function hw(e){e=e|0;return(r[e+4>>2]|0)==31|0}function fw(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function gw(e){e=e|0;return+ +p[e+44>>2]}function Cw(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Sw(e){e=e|0;return+ +p[e+56>>2]}function yw(e){e=e|0;return+ +p[e+60>>2]}function vw(e){e=e|0;return e+12|0}function xw(e,t){e=e|0;t=t|0;if((t|0)==0){r[e+64>>2]=1;r[e+68>>2]=0;r[e+72>>2]=2;return}else if((t|0)==2){r[e+64>>2]=0;r[e+68>>2]=2;r[e+72>>2]=1;return}else if((t|0)==1){r[e+64>>2]=0;r[e+68>>2]=1;r[e+72>>2]=2;return}else{return}}function Mw(e){e=e|0;return(r[e+4>>2]|0)<20|0}function Tw(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Dw(e){e=e|0;return r[e+8>>2]|0}function Pw(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function ww(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Aw(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Fw(e){e=e|0;return e+28|0}function Rw(e){e=e|0;return r[e+68>>2]|0}function Iw(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Bw(e){e=e|0;return r[e+4>>2]|0}function Vw(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Ew(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Nw(e){e=e|0;return+ +p[e+44>>2]}function kw(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Ow(e){e=e|0;return+ +p[e+56>>2]}function Lw(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Uw(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,n)|0}function Gw(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function Ww(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43760]|0)==0){if((ui(43760)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9502]=r[t>>2];r[9503]=r[t+4>>2];r[9504]=r[t+8>>2];r[9505]=r[t+12>>2];d=i;return 38008}function zw(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Hw(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function jw(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function Xw(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function Zw(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function Qw(e,t){e=+e;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(95)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;p[n+44>>2]=.03999999910593033;p[n+56>>2]=e;p[n+60>>2]=t;r[n+4>>2]=11;p[n+52>>2]=e/+j(+(e*e+t*t));r[n>>2]=25768;r[n+64>>2]=0;r[n+68>>2]=2;r[n+72>>2]=1;return n|0}function qw(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function Yw(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43296]|0)==0){if((ui(43296)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9498]=r[t>>2];r[9499]=r[t+4>>2];r[9500]=r[t+8>>2];r[9501]=r[t+12>>2];d=i;return 37992}function Jw(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43456]|0)==0){if((ui(43456)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9494]=r[t>>2];r[9495]=r[t+4>>2];r[9496]=r[t+8>>2];r[9497]=r[t+12>>2];d=i;return 37976}function Kw(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function $w(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function eA(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43600]|0)==0){if((ui(43600)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9490]=r[t>>2];r[9491]=r[t+4>>2];r[9492]=r[t+8>>2];r[9493]=r[t+12>>2];d=i;return 37960}function tA(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function iA(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function nA(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function _A(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function rA(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function oA(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 10:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function sA(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function aA(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function pA(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function lA(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function dA(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function cA(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function bA(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function uA(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function mA(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43768]|0)==0){if((ui(43768)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9486]=r[t>>2];r[9487]=r[t+4>>2];r[9488]=r[t+8>>2];r[9489]=r[t+12>>2];d=i;return 37944}function hA(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function fA(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function gA(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function CA(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function SA(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function yA(e){e=e|0;var t=0,i=0,_=0;while(1){t=hBe(64)|0;if((t|0)!=0){i=3041;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((i|0)==3041){p[t+8>>2]=+p[e+8>>2];p[t+12>>2]=+p[e+12>>2];p[t+24>>2]=+p[e+24>>2];p[t>>2]=+p[e>>2];p[t+4>>2]=+p[e+4>>2];p[t+28>>2]=+p[e+28>>2];p[t+32>>2]=+p[e+32>>2];p[t+36>>2]=+p[e+36>>2];p[t+40>>2]=+p[e+40>>2];r[t+56>>2]=r[e+56>>2];p[t+48>>2]=+p[e+48>>2];n[t+44|0]=n[e+44|0]&1;return t|0}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}function vA(e){e=e|0;return+ +p[e+60>>2]}function xA(e){e=e|0;return e+12|0}function MA(e,t){e=e|0;t=t|0;if((t|0)==1){r[e+64>>2]=0;r[e+68>>2]=1;r[e+72>>2]=2;return}else if((t|0)==2){r[e+64>>2]=0;r[e+68>>2]=2;r[e+72>>2]=1;return}else if((t|0)==0){r[e+64>>2]=1;r[e+68>>2]=0;r[e+72>>2]=2;return}else{return}}function TA(e){e=e|0;return(r[e+4>>2]|0)<20|0}function DA(e){e=e|0;return(r[e+4>>2]|0)==28|0}function PA(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function wA(e){e=e|0;return r[e+8>>2]|0}function AA(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function FA(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function RA(e){e=e|0;return(r[e+4>>2]|0)==32|0}function IA(e){e=e|0;return e+28|0}function BA(e){e=e|0;return r[e+68>>2]|0}function VA(e){e=e|0;return r[e+4>>2]|0}function EA(e){e=e|0;return+ +p[e+168>>2]}function NA(e){e=e|0;return(n[e+165|0]&1)!=0|0}function kA(e){e=e|0;return e+4|0}function OA(e,t){e=e|0;t=+t;p[e+168>>2]=t;return}function LA(e){e=e|0;return(n[e+164|0]&1)!=0|0}function UA(e){e=e|0;return(r[((n[e+164|0]&1)==0?e+148|0:e+128|0)>>2]|0)/3|0|0}function GA(e){e=e|0;return e+20|0}function WA(e,t){e=+e;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(95)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;p[n+44>>2]=.03999999910593033;p[n+56>>2]=e;p[n+60>>2]=t;r[n+4>>2]=11;p[n+52>>2]=e/+j(+(e*e+t*t));r[n>>2]=25872;r[n+64>>2]=1;r[n+68>>2]=0;r[n+72>>2]=2;return n|0}function zA(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43304]|0)==0){if((ui(43304)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9482]=r[t>>2];r[9483]=r[t+4>>2];r[9484]=r[t+8>>2];r[9485]=r[t+12>>2];d=i;return 37928}function HA(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43464]|0)==0){if((ui(43464)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9478]=r[t>>2];r[9479]=r[t+4>>2];r[9480]=r[t+8>>2];r[9481]=r[t+12>>2];d=i;return 37912}function jA(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function XA(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function ZA(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43608]|0)==0){if((ui(43608)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9474]=r[t>>2];r[9475]=r[t+4>>2];r[9476]=r[t+8>>2];r[9477]=r[t+12>>2];d=i;return 37896}function QA(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function qA(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function YA(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function JA(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function KA(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function $A(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 10:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function eF(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function tF(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function iF(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function nF(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function _F(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function rF(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function oF(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function sF(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function aF(e,t){e=e|0;t=t|0;kFe(e,t);return}function pF(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e,t);return}function lF(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=d;d=d+40|0;_=n|0;r[_>>2]=18624;p[_+4>>2]=999999984306749400.0;p[_+8>>2]=999999984306749400.0;p[_+12>>2]=999999984306749400.0;p[_+16>>2]=0.0;p[_+20>>2]=-999999984306749400.0;p[_+24>>2]=-999999984306749400.0;p[_+28>>2]=-999999984306749400.0;p[_+32>>2]=0.0;p[t>>2]=-999999984306749400.0;p[t+4>>2]=-999999984306749400.0;p[t+8>>2]=-999999984306749400.0;p[t+12>>2]=0.0;p[i>>2]=999999984306749400.0;p[i+4>>2]=999999984306749400.0;p[i+8>>2]=999999984306749400.0;p[i+12>>2]=0.0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,_|0,t,i);e=t;t=_+4|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];t=i;i=_+20|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];d=n;return}function dF(e,t,i){e=e|0;t=t|0;i=i|0;return UFe(e,t,i)|0}function cF(e,t){e=e|0;t=t|0;bF(e|0,t,2);return}function bF(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;_=e+24|0;o=r[_>>2]|0;s=e+28|0;do{if((o|0)==(r[s>>2]|0)){a=(o|0)==0?1:o<<1;if((o|0)>=(a|0)){p=o;break}do{if((a|0)==0){l=0}else{r[9806]=(r[9806]|0)+1;d=hBe((a<<5|4)+15|0)|0;if((d|0)==0){l=0;break}c=-(d+4|0)&15;r[d+c>>2]=d;l=d+(c+4)|0}}while(0);c=r[_>>2]|0;d=e+32|0;b=0;while(1){if((b|0)>=(c|0)){break}u=l+(b<<5)|0;m=(r[d>>2]|0)+(b<<5)|0;yBe(u|0,m|0,32)|0;b=b+1|0}b=r[_>>2]|0;c=0;while(1){if((c|0)>=(b|0)){break}c=c+1|0}c=r[d>>2]|0;m=e+36|0;if((c|0)==0){h=b;f=m}else{if((n[m]&1)==0){g=b}else{r[9804]=(r[9804]|0)+1;SBe(r[c-32+28>>2]|0);g=r[_>>2]|0}r[d>>2]=0;h=g;f=m}n[f]=1;r[d>>2]=l;r[s>>2]=a;p=h}else{p=o}}while(0);o=e+32|0;e=(r[o>>2]|0)+(p<<5)|0;p=t;yBe(e|0,p|0,32)|0;p=r[_>>2]|0;r[_>>2]=p+1;r[(r[o>>2]|0)+(p<<5)+24>>2]=i;return}function uF(e,t,i){e=e|0;t=t|0;i=i|0;bF(e|0,t,i);return}function mF(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+48>>2]&511](e|0,t,i);return}function hF(e){e=e|0;return Knt[r[(r[e>>2]|0)+52>>2]&4095](e|0)|0}function fF(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(191)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}i=t;NFe(i,1,1);return i|0}function gF(e){e=e|0;var t=0,i=0,n=0;r[9806]=(r[9806]|0)+1;t=hBe(191)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}n=i;NFe(n,e,1);return n|0}function CF(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(191)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}_=n;NFe(_,e,t);return _|0}function SF(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e|0,t,i);return}function yF(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function vF(e,t){e=e|0;t=t|0;var i=0;i=e+4|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function xF(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function MF(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;H_t[r[(r[e>>2]|0)+16>>2]&63](e|0,t,i,n,_,o,s,a,p,0);return}function TF(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[r[(r[e>>2]|0)+16>>2]&63](e|0,t,i,n,_,o,s,a,p,l);return}function DF(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function PF(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+56>>2]&511](e|0,t,i)|0}function wF(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e|0,t);return}function AF(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function FF(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function RF(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;H_t[r[(r[e>>2]|0)+12>>2]&63](e|0,t,i,n,_,o,s,a,p,0);return}function IF(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[r[(r[e>>2]|0)+12>>2]&63](e|0,t,i,n,_,o,s,a,p,l);return}function BF(e){e=e|0;return Knt[r[(r[e>>2]|0)+40>>2]&4095](e|0)|0}function VF(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function EF(e){e=e|0;return r[e>>2]|0}function NF(e){e=e|0;return r[e+4>>2]|0}function kF(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function OF(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function LF(e){e=e|0;return r[e+12>>2]|0}function UF(e){e=e|0;return r[e+12>>2]|0}function GF(e){e=e|0;return r[e+8>>2]|0}function WF(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function zF(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function HF(e){e=e|0;return e+4|0}function jF(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function XF(e){e=e|0;return+ +p[e+32>>2]}function ZF(e){e=e|0;return+ +p[e+4>>2]}function QF(e,t){e=e|0;t=t|0;_[e+8>>1]=t;return}function qF(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function YF(e,t){e=e|0;t=t|0;_[e+10>>1]=t;return}function JF(e){e=e|0;return+p[e+4>>2]<1.0|0}function KF(e){e=e|0;return _[e+10>>1]|0}function $F(e){e=e|0;return _[e+8>>1]|0}function eR(e){e=e|0;return e+132|0}function tR(e){e=e|0;return r[e+196>>2]|0}function iR(e){e=e|0;return e+4|0}function nR(e,t){e=e|0;t=t|0;r[e+196>>2]=t;return}function _R(e){e=e|0;return e+68|0}function rR(e){e=e|0;return e+100|0}function oR(e){e=e|0;return r[e+24>>2]|0}function sR(e){e=e|0;return e|0}function aR(e,t){e=e|0;t=t|0;r[e+76>>2]=t;return}function pR(e){e=e|0;return(n[e+242|0]&1)!=0|0}function lR(e,t){e=e|0;t=t|0;n[e+242|0]=t&1;return}function dR(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0;_=r[e+32>>2]|0;r[_>>2]=(r[_>>2]|0)+1;kFe(e,UFe(e,t,0)|0);kFe(e,UFe(e,i,0)|0);kFe(e,UFe(e,n,0)|0);return}function cR(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0;o=r[e+32>>2]|0;r[o>>2]=(r[o>>2]|0)+1;kFe(e,UFe(e,t,_)|0);kFe(e,UFe(e,i,_)|0);kFe(e,UFe(e,n,_)|0);return}function bR(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e,t)|0}function uR(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-16+12>>2]|0);return}function mR(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(35)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}vBe(t|0,0,16);return t|0}function hR(e){e=e|0;var t=0,i=0,n=0;r[9806]=(r[9806]|0)+1;t=hBe(35)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return i|0}function fR(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0;r[9806]=(r[9806]|0)+1;i=hBe(35)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}_=n|0;if((r[e+12>>2]|0)<(r[t+12>>2]|0)){r[_>>2]=e;r[n+4>>2]=t;o=n+8|0;r[o>>2]=0;s=n+12|0;r[s>>2]=0;return n|0}else{r[_>>2]=t;r[n+4>>2]=e;o=n+8|0;r[o>>2]=0;s=n+12|0;r[s>>2]=0;return n|0}return 0}function gR(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e|0,t)|0}function CR(e,t){e=e|0;t=t|0;var i=0;i=e+4|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function SR(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e,t)|0}function yR(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i)}function vR(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function xR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+8>>2]&2047](e,t);return}function MR(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+132|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+148|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+164|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+180|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function TR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function DR(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+4|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+20|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+36|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+52|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function PR(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0;r[e>>2]=22504;n=e+4|0;_=e+52|0;o=n|0;do{o=o+16|0}while((o|0)!=(_|0));_=n;n=t;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];_=e+20|0;o=t+16|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];_=e+36|0;s=t+32|0;r[_>>2]=r[s>>2];r[_+4>>2]=r[s+4>>2];r[_+8>>2]=r[s+8>>2];r[_+12>>2]=r[s+12>>2];_=e+52|0;a=t+48|0;r[_>>2]=r[a>>2];r[_+4>>2]=r[a+4>>2];r[_+8>>2]=r[a+8>>2];r[_+12>>2]=r[a+12>>2];_=e+68|0;t=e+116|0;p=_|0;do{p=p+16|0}while((p|0)!=(t|0));t=_;_=i;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=e+84|0;t=i+16|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];t=e+100|0;_=i+32|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=e+116|0;t=i+48|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];t=e+132|0;_=e+180|0;i=t|0;do{i=i+16|0}while((i|0)!=(_|0));_=t;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+148|0;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];o=e+164|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=e+180|0;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];r[e+196>>2]=0;return}function wR(){var e=0;if((n[43040]|0)!=0){return}if((ui(43040)|0)==0){return}Rn();e=42752;do{e=e+16|0}while((e|0)!=42800);r[10688]=r[10704];r[10689]=r[10705];r[10690]=r[10706];r[10691]=r[10707];r[10692]=r[10708];r[42772>>2]=r[42836>>2];r[42776>>2]=r[42840>>2];r[42780>>2]=r[42844>>2];r[10696]=r[10712];r[42788>>2]=r[42852>>2];r[42792>>2]=r[42856>>2];r[42796>>2]=r[42860>>2];vBe(42800,0,16);return}function AR(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+68|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+84|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+100|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+116|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function FR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+68>>2]&2047](e|0,t);return}function RR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e|0,t);return}function IR(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e|0)|0}function BR(e){e=e|0;jnt[r[(r[e>>2]|0)+164>>2]&2047](e|0);return}function VR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e|0,t);return}function ER(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+80>>2]&2047](e|0,t);return}function NR(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+84>>2]&1023](e|0,t,i,n);return}function kR(e){e=e|0;jnt[r[(r[e>>2]|0)+116>>2]&2047](e|0);return}function OR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+124>>2]&2047](e|0,t);return}function LR(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+156>>2]&1023](e,t);return}function UR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+168>>2]&2047](e|0,t);return}function GR(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+176>>2]&1023](e,t);return}function WR(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+24>>2]&1023](e|0,t,i,n);return}function zR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function HR(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e|0,t,i,n);return}function jR(e){e=e|0;return Knt[r[(r[e>>2]|0)+100>>2]&4095](e|0)|0}function XR(e,t){e=e|0;t=t|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,2,-3);return}function ZR(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,i,-3);return}function QR(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,i,n);return}function qR(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+88>>2]&2047](e|0,t);return}function YR(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=n+32|0;a=r[t+192>>2]|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,t+4|0,_,o);r[s>>2]=21168;r[s+4>>2]=t;r[s+8>>2]=e;r[s+12>>2]=i;i=r[e+76>>2]|0;mrt[r[(r[i>>2]|0)+28>>2]&1023](i,_,o,s|0);d=n;return}function JR(){var e=0,t=0,i=0;while(1){e=hBe(200)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=3290;break}prt[t&63]()}if((i|0)==3290){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=e;wR();wR();PR(i,42752,42752);return i|0}function KR(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(200)|0;if((t|0)!=0){i=3308;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){i=3305;break}prt[n&63]()}if((i|0)==3305){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}else if((i|0)==3308){i=t;wR();PR(i,e,42752);return i|0}return 0}function $R(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;while(1){i=hBe(200)|0;if((i|0)!=0){n=3322;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==3322){n=i;PR(n,e,t);return n|0}n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}function eI(e,t){e=e|0;t=t|0;r[e+88>>2]=t;r[e+96>>2]=0;return}function tI(e,t,i){e=e|0;t=t|0;i=i|0;r[e+88>>2]=t;r[e+96>>2]=i;return}function iI(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if(n){r[e+92>>2]=t}else{r[e+88>>2]=t}r[e+96>>2]=i;return}function nI(e){e=e|0;return(n[e+84|0]&1)!=0|0}function _I(e){e=e|0;return r[e+8>>2]|0}function rI(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function oI(e){e=e|0;return r[e+96>>2]|0}function sI(e){e=e|0;return r[e+76>>2]|0}function aI(e,t){e=e|0;t=t|0;n[e+84|0]=t&1;return}function pI(e){e=e|0;return e+4|0}function lI(e){e=e|0;return r[e+176>>2]|0}function dI(e){e=e|0;return e+28|0}function cI(e){e=e|0;return(r[e+4>>2]|0)==31|0}function bI(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function uI(e){e=e|0;return+ +p[e+44>>2]}function mI(e){e=e|0;return(r[e+4>>2]|0)<7|0}function hI(e){e=e|0;return+ +p[e+56>>2]}function fI(e){e=e|0;return+ +p[e+60>>2]}function gI(e){e=e|0;return e+12|0}function CI(e,t){e=e|0;t=t|0;if((t|0)==0){r[e+64>>2]=1;r[e+68>>2]=0;r[e+72>>2]=2;return}else if((t|0)==2){r[e+64>>2]=0;r[e+68>>2]=2;r[e+72>>2]=1;return}else if((t|0)==1){r[e+64>>2]=0;r[e+68>>2]=1;r[e+72>>2]=2;return}else{return}}function SI(e){e=e|0;return(r[e+4>>2]|0)<20|0}function yI(e){e=e|0;return(r[e+4>>2]|0)==28|0}function vI(e){e=e|0;return r[e+8>>2]|0}function xI(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function MI(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function TI(e){e=e|0;return(r[e+4>>2]|0)==32|0}function DI(e){e=e|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](e|0);return}function PI(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e|0);return}function wI(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function AI(e,t){e=e|0;t=t|0;cme(e|0,t);return}function FI(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e|0);return}function RI(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Gye(e|0,t,i,n,_,0.0);return}function II(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;Gye(e|0,t,i,n,_,r);return}function BI(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+52>>2]&511](e|0,t,0);return}function VI(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i);return}function EI(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0;_=d;d=d+168|0;o=_|0;s=e+24|0;a=r[s>>2]|0;p=drt[r[(r[a>>2]|0)+8>>2]&127](a,t,i,0)|0;if((p|0)==0){d=_;return}r[o+4>>2]=0;r[o+136>>2]=t;r[o+140>>2]=i;a=o+8|0;l=t+4|0;vBe(o+144|0,-1|0,16);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+24|0;a=t+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+40|0;l=t+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+56|0;a=t+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+72|0;l=i+4|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+88|0;a=i+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+104|0;l=i+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+120|0;a=i+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];r[o>>2]=21728;r[o+160>>2]=n;Unt[r[(r[p>>2]|0)+8>>2]&255](p,t,i,e+28|0,o|0);jnt[r[r[p>>2]>>2]&2047](p);o=r[s>>2]|0;Znt[r[(r[o>>2]|0)+60>>2]&2047](o,p);d=_;return}function NI(e){e=e|0;var t=0,i=0;t=d;d=d+16|0;i=t|0;do{if((n[43776]|0)==0){if((ui(43776)|0)==0){break}}}while(0);Znt[r[(r[e>>2]|0)+72>>2]&2047](i,e|0);e=i;r[9458]=r[e>>2];r[9459]=r[e+4>>2];r[9460]=r[e+8>>2];r[9461]=r[e+12>>2];d=t;return 37832}function kI(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Bye(e,t,i,n,_,r);return}function OI(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e|0,t);return}function LI(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function UI(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+132>>2]&2047](e|0,t);return}function GI(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+104>>2]&511](e|0,t)|0}function WI(e){e=e|0;return Knt[r[(r[e>>2]|0)+96>>2]&4095](e|0)|0}function zI(e,t){e=e|0;t=+t;return K_t[r[(r[e>>2]|0)+48>>2]&63](e|0,t,1,.01666666753590107)|0}function HI(e,t,i){e=e|0;t=+t;i=i|0;return K_t[r[(r[e>>2]|0)+48>>2]&63](e|0,t,i,.01666666753590107)|0}function jI(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return K_t[r[(r[e>>2]|0)+48>>2]&63](e|0,t,i,n)|0}function XI(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+128>>2]&2047](e|0,t);return}function ZI(e){e=e|0;return Knt[r[(r[e>>2]|0)+112>>2]&4095](e)|0}function QI(e,t){e=e|0;t=t|0;Aye(e|0,t);return}function qI(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+172>>2]&1023](e|0,t);return}function YI(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=d;d=d+64|0;n=i|0;_=t+472|0;if((r[_>>2]|0)==0){d=i;return}if((r[t+204>>2]&3|0)!=0){d=i;return}jue(t+68|0,+p[t+132>>2],+p[t+136>>2],+p[t+140>>2],t+148|0,+p[e+236>>2]*+p[t+240>>2],n);t=r[_>>2]|0;Znt[r[(r[t>>2]|0)+12>>2]&2047](t,n);d=i;return}function JI(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+120>>2]&2047](e|0,t);return}function KI(e){e=e|0;var t=0;t=r[e+76>>2]|0;return Knt[r[(r[t>>2]|0)+36>>2]&4095](t)|0}function $I(e){e=e|0;jnt[r[(r[e>>2]|0)+76>>2]&2047](e|0);return}function eB(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e|0,t);return}function tB(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+92>>2]&2047](e|0,t);return}function iB(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;Eye(e,t,i,n,_,r,o,s);return}function nB(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function _B(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43784]|0)==0){if((ui(43784)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9454]=r[t>>2];r[9455]=r[t+4>>2];r[9456]=r[t+8>>2];r[9457]=r[t+12>>2];d=i;return 37816}function rB(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function oB(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function sB(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function aB(e,t){e=+e;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(95)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;p[n+44>>2]=.03999999910593033;r[n>>2]=26096;p[n+56>>2]=e;p[n+60>>2]=t;r[n+4>>2]=11;r[n+64>>2]=0;r[n+68>>2]=1;r[n+72>>2]=2;p[n+52>>2]=e/+j(+(e*e+t*t));return n|0}function pB(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function lB(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function dB(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43320]|0)==0){if((ui(43320)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9450]=r[t>>2];r[9451]=r[t+4>>2];r[9452]=r[t+8>>2];r[9453]=r[t+12>>2];d=i;return 37800}function cB(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43480]|0)==0){if((ui(43480)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9446]=r[t>>2];r[9447]=r[t+4>>2];r[9448]=r[t+8>>2];r[9449]=r[t+12>>2];d=i;return 37784}function bB(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function uB(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function mB(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43624]|0)==0){if((ui(43624)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9442]=r[t>>2];r[9443]=r[t+4>>2];r[9444]=r[t+8>>2];r[9445]=r[t+12>>2];d=i;return 37768}function hB(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function fB(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function gB(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function CB(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function SB(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function yB(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function vB(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 10:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 1:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function xB(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;while(1){_=hBe(268)|0;if((_|0)!=0){o=3461;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){o=3458;break}prt[s&63]()}if((o|0)==3461){ome(_,e,t,i,n);r[_>>2]=20808;return _|0}else if((o|0)==3458){o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}return 0}function MB(e){e=e|0;return e+28|0}function TB(e){e=e|0;return r[e+68>>2]|0}function DB(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function PB(e){e=e|0;return r[e+4>>2]|0}function wB(e,t){e=e|0;t=+t;p[e+208>>2]=t;return}function AB(e){e=e|0;return+ +p[e+212>>2]}function FB(e){e=e|0;return+ +p[e+204>>2]}function RB(e,t){e=e|0;t=+t;p[e+216>>2]=t;return}function IB(e,t){e=e|0;t=+t;p[e+212>>2]=t;return}function BB(e){e=e|0;return+ +p[e+248>>2]}function VB(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,r=0,o=0.0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0;_=d;r=i;i=d;d=d+92|0;d=d+7>>3<<3;yBe(i,r,92)|0;if((n[e+84|0]&1)==0){p[e+32>>2]=+p[e+204>>2];p[e+272>>2]=0.0;o=-0.0-+p[e+56>>2];s=-0.0-+p[e+60>>2];p[e>>2]=-0.0-+p[e+52>>2];p[e+4>>2]=o;p[e+8>>2]=s;p[e+12>>2]=0.0;p[e+268>>2]=1.0;d=_;return}s=+p[e>>2];o=+p[e+4>>2];a=+p[e+8>>2];l=s*+p[e+52>>2]+o*+p[e+56>>2]+a*+p[e+60>>2];c=+p[e+16>>2]-+p[t+52>>2];b=+p[e+20>>2]-+p[t+56>>2];u=+p[e+24>>2]-+p[t+60>>2];m=+p[t+324>>2];h=+p[t+328>>2];f=+p[t+320>>2];if(l<-.10000000149011612){g=-1.0/l;p[e+272>>2]=g*(o*(c*h-u*f+ +p[t+308>>2])+s*(m*u-b*h+ +p[t+304>>2])+a*(b*f-c*m+ +p[t+312>>2]));p[e+268>>2]=g;d=_;return}else{p[e+272>>2]=0.0;p[e+268>>2]=10.0;d=_;return}}function EB(e){e=e|0;return+ +p[e+220>>2]}function NB(e){e=e|0;return+ +p[e+268>>2]}function kB(e){e=e|0;return e+92|0}function OB(e){e=e|0;return+ +p[e+228>>2]}function LB(e){e=e|0;return(n[e+260|0]&1)!=0|0}function UB(e,t){e=e|0;t=+t;p[e+252>>2]=t;return}function GB(e){e=e|0;return+ +p[e+252>>2]}function WB(e){e=e|0;return+ +p[e+232>>2]}function zB(e){e=e|0;return+ +p[e+244>>2]}function HB(e){e=e|0;return+ +p[e+272>>2]}function jB(e,t){e=e|0;t=t|0;r[e+264>>2]=t;return}function XB(e,t){e=e|0;t=+t;p[e+256>>2]=t;return}function ZB(e,t){e=e|0;t=+t;p[e+272>>2]=t;return}function QB(e,t){e=e|0;t=t|0;n[e+260|0]=t&1;return}function qB(e,t){e=e|0;t=+t;p[e+220>>2]=t;return}function YB(e,t){e=e|0;t=+t;p[e+240>>2]=t;return}function JB(e){e=e|0;return r[e+264>>2]|0}function KB(e,t){e=e|0;t=+t;p[e+228>>2]=t;return}function $B(e){e=e|0;return+ +p[e+280>>2]}function eV(e){e=e|0;return+ +p[e+204>>2]}function tV(e){e=e|0;return+ +p[e+224>>2]}function iV(e){e=e|0;return+ +p[e+208>>2]}function nV(e,t){e=e|0;t=+t;p[e+232>>2]=t;return}function _V(e){e=e|0;return e+156|0}function rV(e){e=e|0;return+ +p[e+256>>2]}function oV(e,t){e=e|0;t=+t;p[e+280>>2]=t;return}function sV(e){e=e|0;return+ +p[e+276>>2]}function aV(e,t){e=e|0;t=+t;p[e+204>>2]=t;return}function pV(e,t){e=e|0;t=+t;p[e+244>>2]=t;return}function lV(e){e=e|0;return+ +p[e+236>>2]}function dV(e,t){e=e|0;t=+t;p[e+224>>2]=t;return}function cV(e){e=e|0;return e+172|0}function bV(e){e=e|0;return+ +p[e+216>>2]}function uV(e,t){e=e|0;t=+t;p[e+268>>2]=t;return}function mV(e,t){e=e|0;t=+t;p[e+236>>2]=t;return}function hV(e){e=e|0;return e+188|0}function fV(e,t){e=e|0;t=+t;p[e+276>>2]=t;return}function gV(e,t){e=e|0;t=+t;p[e+248>>2]=t;return}function CV(e){e=e|0;return+ +p[e+240>>2]}function SV(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function yV(e){e=e|0;return(r[e+4>>2]|0)<7|0}function vV(e){e=e|0;return e+12|0}function xV(e){e=e|0;return+ +p[e+44>>2]}function MV(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function TV(e){e=e|0;return(r[e+4>>2]|0)<20|0}function DV(e){e=e|0;return(r[e+4>>2]|0)==28|0}function PV(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function wV(e){e=e|0;return r[e+8>>2]|0}function AV(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function FV(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function RV(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function IV(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function BV(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function VV(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function EV(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function NV(e,t){e=e|0;t=t|0;var i=0;i=e+156|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function kV(e,t){e=e|0;t=t|0;var i=0;i=e+172|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function OV(e,t){e=e|0;t=t|0;var i=0;i=e+188|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function LV(e){e=e|0;if((e|0)==0){return}SBe(e);return}function UV(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+92|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+108|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+124|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+140|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function GV(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function WV(e){e=e|0;return Knt[r[(r[e>>2]|0)+104>>2]&4095](e)|0}function zV(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43680]|0)==0){if((ui(43680)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9438]=r[t>>2];r[9439]=r[t+4>>2];r[9440]=r[t+8>>2];r[9441]=r[t+12>>2];d=i;return 37752}function HV(e,t,i){e=e|0;t=t|0;i=+i;return D_t[r[(r[e>>2]|0)+112>>2]&127](e,t,i)|0}function jV(e){e=e|0;return Knt[r[(r[e>>2]|0)+88>>2]&4095](e)|0}function XV(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+92|0;n=r[i>>2]|0;r[i>>2]=n+1;i=e+96+(n<<4)|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];dwe(e|0);return}function ZV(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function QV(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function qV(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+100>>2]&511](e,t,i);return}function YV(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43520]|0)==0){if((ui(43520)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9434]=r[t>>2];r[9435]=r[t+4>>2];r[9436]=r[t+8>>2];r[9437]=r[t+12>>2];d=i;return 37736}function JV(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+116>>2]&511](e,t)|0}function KV(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function $V(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function eE(e){e=e|0;return Knt[r[(r[e>>2]|0)+92>>2]&4095](e)|0}function tE(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function iE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+96>>2]&1023](e,t,i,n);return}function nE(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43192]|0)==0){if((ui(43192)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9430]=r[t>>2];r[9431]=r[t+4>>2];r[9432]=r[t+8>>2];r[9433]=r[t+12>>2];d=i;return 37720}function _E(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function rE(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function oE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function sE(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function aE(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function pE(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(179)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t+8>>2]=0;p[t+12>>2]=1.0;p[t+16>>2]=1.0;p[t+20>>2]=1.0;p[t+24>>2]=0.0;p[t+44>>2]=.03999999910593033;r[t+52>>2]=0;p[t+56>>2]=1.0;p[t+60>>2]=1.0;p[t+64>>2]=1.0;p[t+68>>2]=0.0;p[t+72>>2]=-1.0;p[t+76>>2]=-1.0;p[t+80>>2]=-1.0;p[t+84>>2]=0.0;n[t+88|0]=0;r[t>>2]=24456;r[t+92>>2]=0;r[t+4>>2]=2;return t|0}function lE(e){e=e|0;var t=0,i=0,_=0,o=0;while(1){t=hBe(284)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){_=3593;break}prt[i&63]()}if((_|0)==3593){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}_=t;i=t+140|0;o=t+92|0;do{o=o+16|0}while((o|0)!=(i|0));p[t+204>>2]=+p[e+48>>2];p[t+208>>2]=+p[e+52>>2];p[t+212>>2]=+p[e+56>>2];p[t+216>>2]=+p[e+60>>2];p[t+220>>2]=+p[e+64>>2];p[t+224>>2]=+p[e+68>>2];i=t+156|0;o=e;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];o=t+172|0;i=e+16|0;r[o>>2]=r[i>>2];r[o+4>>2]=r[i+4>>2];r[o+8>>2]=r[i+8>>2];r[o+12>>2]=r[i+12>>2];i=t+188|0;o=e+32|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];p[t+228>>2]=+p[e+72>>2];p[t+232>>2]=0.0;p[t+252>>2]=0.0;p[t+236>>2]=0.0;p[t+240>>2]=0.0;p[t+256>>2]=0.0;p[t+244>>2]=.10000000149011612;n[t+260|0]=n[e+80|0]&1;p[t+248>>2]=+p[e+76>>2];return _|0}function dE(e){e=e|0;return(r[e+4>>2]|0)==32|0}function cE(e){e=e|0;r[e+92>>2]=0;return}function bE(e){e=e|0;return e+28|0}function uE(e){e=e|0;return(r[e+4>>2]|0)==31|0}function mE(e){e=e|0;return r[e+52>>2]|0}function hE(e){e=e|0;return r[e+4>>2]|0}function fE(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function gE(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(n>=+p[i>>2]){return}p[i>>2]=n;return}function CE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0.0,o=0;_=e+8|0;r=-0.0-+p[_>>2];o=e+4|0;p[t>>2]=0.0;p[t+4>>2]=r;p[t+8>>2]=+p[o>>2];p[t+12>>2]=0.0;t=e|0;r=-0.0-+p[t>>2];p[i>>2]=+p[_>>2];p[i+4>>2]=0.0;p[i+8>>2]=r;p[i+12>>2]=0.0;p[n>>2]=-0.0-+p[o>>2];p[n+4>>2]=+p[t>>2];p[n+8>>2]=0.0;p[n+12>>2]=0.0;return}function SE(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[t+(i<<2)>>2]=+p[e+(i<<2)>>2];i=i+1|0}return}function yE(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[e+(i<<2)>>2]=+l[t+(i<<3)>>3];i=i+1|0}return}function vE(e){e=e|0;return+ +p[e>>2]}function xE(e){e=e|0;var t=0.0,i=0,n=0.0,_=0,r=0.0,o=0;t=+p[e>>2];i=t<999999984306749400.0;n=i?t:999999984306749400.0;t=+p[e+4>>2];_=t<n;r=_?t:n;n=+p[e+8>>2];o=n<r;return(+p[e+12>>2]<(o?n:r)?3:o?2:_?1:i?0:-1)|0}function ME(e){e=e|0;return+ +p[e+8>>2]}function TE(e){e=e|0;var t=0,i=0,_=0;r[9806]=(r[9806]|0)+1;t=hBe(179)|0;if((t|0)==0){i=0}else{_=-(t+4|0)&15;r[t+_>>2]=t;i=t+(_+4)|0}r[i+8>>2]=0;p[i+12>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;p[i+44>>2]=.03999999910593033;r[i+52>>2]=0;p[i+56>>2]=1.0;p[i+60>>2]=1.0;p[i+64>>2]=1.0;p[i+68>>2]=0.0;p[i+72>>2]=-1.0;p[i+76>>2]=-1.0;p[i+80>>2]=-1.0;p[i+84>>2]=0.0;n[i+88|0]=0;r[i>>2]=24456;_=i+96|0;r[i+4>>2]=2;r[i+92>>2]=1;t=e;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];dwe(i);return i|0}function DE(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0;r[9806]=(r[9806]|0)+1;i=hBe(179)|0;if((i|0)==0){_=0}else{o=-(i+4|0)&15;r[i+o>>2]=i;_=i+(o+4)|0}o=_;i=_;r[_+8>>2]=0;p[_+12>>2]=1.0;p[_+16>>2]=1.0;p[_+20>>2]=1.0;p[_+24>>2]=0.0;p[_+44>>2]=.03999999910593033;r[_+52>>2]=0;p[_+56>>2]=1.0;p[_+60>>2]=1.0;p[_+64>>2]=1.0;p[_+68>>2]=0.0;p[_+72>>2]=-1.0;p[_+76>>2]=-1.0;p[_+80>>2]=-1.0;p[_+84>>2]=0.0;n[_+88|0]=0;r[_>>2]=24456;s=_+92|0;a=_+96|0;r[_+4>>2]=2;r[s>>2]=1;_=e;r[a>>2]=r[_>>2];r[a+4>>2]=r[_+4>>2];r[a+8>>2]=r[_+8>>2];r[a+12>>2]=r[_+12>>2];dwe(i);_=r[s>>2]|0;r[s>>2]=_+1;s=o+96+(_<<4)|0;_=t;r[s>>2]=r[_>>2];r[s+4>>2]=r[_+4>>2];r[s+8>>2]=r[_+8>>2];r[s+12>>2]=r[_+12>>2];dwe(i);return o|0}function PE(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0;r[9806]=(r[9806]|0)+1;_=hBe(179)|0;if((_|0)==0){o=0}else{s=-(_+4|0)&15;r[_+s>>2]=_;o=_+(s+4)|0}s=o;_=o;r[o+8>>2]=0;p[o+12>>2]=1.0;p[o+16>>2]=1.0;p[o+20>>2]=1.0;p[o+24>>2]=0.0;p[o+44>>2]=.03999999910593033;r[o+52>>2]=0;p[o+56>>2]=1.0;p[o+60>>2]=1.0;p[o+64>>2]=1.0;p[o+68>>2]=0.0;p[o+72>>2]=-1.0;p[o+76>>2]=-1.0;p[o+80>>2]=-1.0;p[o+84>>2]=0.0;n[o+88|0]=0;r[o>>2]=24456;a=o+92|0;l=o+96|0;r[o+4>>2]=2;r[a>>2]=1;o=e;r[l>>2]=r[o>>2];r[l+4>>2]=r[o+4>>2];r[l+8>>2]=r[o+8>>2];r[l+12>>2]=r[o+12>>2];dwe(_);o=r[a>>2]|0;r[a>>2]=o+1;l=s+96+(o<<4)|0;o=t;r[l>>2]=r[o>>2];r[l+4>>2]=r[o+4>>2];r[l+8>>2]=r[o+8>>2];r[l+12>>2]=r[o+12>>2];dwe(_);o=r[a>>2]|0;r[a>>2]=o+1;a=s+96+(o<<4)|0;o=i;r[a>>2]=r[o>>2];r[a+4>>2]=r[o+4>>2];r[a+8>>2]=r[o+8>>2];r[a+12>>2]=r[o+12>>2];dwe(_);return s|0}function wE(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0,d=0;r[9806]=(r[9806]|0)+1;o=hBe(179)|0;if((o|0)==0){s=0}else{a=-(o+4|0)&15;r[o+a>>2]=o;s=o+(a+4)|0}a=s;o=s;r[s+8>>2]=0;p[s+12>>2]=1.0;p[s+16>>2]=1.0;p[s+20>>2]=1.0;p[s+24>>2]=0.0;p[s+44>>2]=.03999999910593033;r[s+52>>2]=0;p[s+56>>2]=1.0;p[s+60>>2]=1.0;p[s+64>>2]=1.0;p[s+68>>2]=0.0;p[s+72>>2]=-1.0;p[s+76>>2]=-1.0;p[s+80>>2]=-1.0;p[s+84>>2]=0.0;n[s+88|0]=0;r[s>>2]=24456;l=s+92|0;d=s+96|0;r[s+4>>2]=2;r[l>>2]=1;s=e;r[d>>2]=r[s>>2];r[d+4>>2]=r[s+4>>2];r[d+8>>2]=r[s+8>>2];r[d+12>>2]=r[s+12>>2];dwe(o);s=r[l>>2]|0;r[l>>2]=s+1;d=a+96+(s<<4)|0;s=t;r[d>>2]=r[s>>2];r[d+4>>2]=r[s+4>>2];r[d+8>>2]=r[s+8>>2];r[d+12>>2]=r[s+12>>2];dwe(o);s=r[l>>2]|0;r[l>>2]=s+1;d=a+96+(s<<4)|0;s=i;r[d>>2]=r[s>>2];r[d+4>>2]=r[s+4>>2];r[d+8>>2]=r[s+8>>2];r[d+12>>2]=r[s+12>>2];dwe(o);s=r[l>>2]|0;r[l>>2]=s+1;l=a+96+(s<<4)|0;s=_;r[l>>2]=r[s>>2];r[l+4>>2]=r[s+4>>2];r[l+8>>2]=r[s+8>>2];r[l+12>>2]=r[s+12>>2];dwe(o);return a|0}function AE(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function FE(e){e=e|0;dwe(e|0);return}function RE(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function IE(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function BE(e){e=e|0;return Knt[r[(r[e>>2]|0)+84>>2]&4095](e|0)|0}function VE(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43368]|0)==0){if((ui(43368)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9426]=r[t>>2];r[9427]=r[t+4>>2];r[9428]=r[t+8>>2];r[9429]=r[t+12>>2];d=i;return 37704}function EE(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 5:case 4:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 1:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function NE(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function kE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function OE(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function LE(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function UE(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function GE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function WE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+108>>2]&1023](e,t,i,n);return}function zE(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function HE(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;io(e|0,t,i,n,_);return}function jE(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var _=0.0;_=1.0-n;p[e>>2]=_*+p[t>>2]+ +p[i>>2]*n;p[e+4>>2]=_*+p[t+4>>2]+ +p[i+4>>2]*n;p[e+8>>2]=_*+p[t+8>>2]+ +p[i+8>>2]*n;return}function XE(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0;n=+p[t+4>>2];_=+p[i+8>>2];r=+p[t+8>>2];o=+p[i+4>>2];s=+p[i>>2];a=+p[t>>2];return+(+p[e>>2]*(n*_-r*o)+ +p[e+4>>2]*(r*s-a*_)+ +p[e+8>>2]*(a*o-n*s))}function ZE(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[e+(i<<2)>>2]=+p[t+(i<<2)>>2];i=i+1|0}return}function QE(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(+p[i>>2]>=n){return}p[i>>2]=n;return}function qE(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}l[t+(i<<3)>>3]=+p[e+(i<<2)>>2];i=i+1|0}return}function YE(e){e=e|0;return+ +p[e+12>>2]}function JE(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+p[t>>2]-+p[e>>2];n=+p[t+4>>2]-+p[e+4>>2];_=+p[t+8>>2]-+p[e+8>>2];return+(i*i+n*n+_*_)}function KE(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=_;return}function $E(e){e=e|0;var t=0.0,i=0.0,n=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];return t*t+i*i+n*n<1.1920928955078125e-7|0}function eN(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[e+(i<<2)>>2]=+p[t+(i<<2)>>2];i=i+1|0}return}function tN(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];if(t<i){_=t<n?0:2;return _|0}else{_=i<n?1:2;return _|0}return 0}function iN(e){e=e|0;var t=0;if(+p[e>>2]!=0.0){t=0;return t|0}if(+p[e+4>>2]!=0.0){t=0;return t|0}t=+p[e+8>>2]==0.0;return t|0}function nN(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[t+(i<<2)>>2]=+p[e+(i<<2)>>2];i=i+1|0}return}function _N(e,t){e=e|0;t=+t;p[e>>2]=t;return}function rN(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function oN(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function sN(e){e=e|0;var t=0.0,i=0,n=0.0,_=0,r=0.0,o=0;t=+p[e>>2];i=t>-999999984306749400.0;n=i?t:-999999984306749400.0;t=+p[e+4>>2];_=t>n;r=_?t:n;n=+p[e+8>>2];o=n>r;return(+p[e+12>>2]>(o?n:r)?3:o?2:_?1:i?0:-1)|0}function aN(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];if(t<i){_=i<n?2:1;return _|0}else{_=t<n?2:0;return _|0}return 0}function pN(e){e=e|0;return+ +p[e+4>>2]}function lN(e){e=e|0;var t=0.0,i=0.0,n=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];return+(t*t+i*i+n*n)}function dN(e){e=e|0;var t=0.0,i=0.0,_=0.0;do{if((n[44072]|0)==0){if((ui(44072)|0)==0){break}}}while(0);t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);_=+H(+ +p[e+8>>2]);p[9422]=t;p[9423]=i;p[9424]=_;p[9425]=0.0;return 37688}function cN(e){e=e|0;var t=0,i=0.0,n=0,_=0.0,r=0,o=0.0,s=0.0;t=e|0;i=+p[t>>2];n=e+4|0;_=+p[n>>2];r=e+8|0;o=+p[r>>2];s=1.0/+j(+(i*i+_*_+o*o));p[t>>2]=i*s;p[n>>2]=_*s;p[r>>2]=o*s;return e|0}function bN(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;i=+p[e>>2];n=+p[e+4>>2];_=+p[e+8>>2];r=+p[t>>2];o=+p[t+4>>2];s=+p[t+8>>2];a=(i*r+n*o+_*s)/+j(+((i*i+n*n+_*_)*(r*r+o*o+s*s)));if(a<-1.0){l=-1.0;d=+Y(+l);return+d}if(a<=1.0){l=a;d=+Y(+l);return+d}l=1.0;d=+Y(+l);return+d}function uN(e,t,i){e=e|0;t=t|0;i=+i;var _=0.0,r=0.0,o=0.0,s=0.0;do{if((n[44144]|0)==0){if((ui(44144)|0)==0){break}}}while(0);_=+p[e>>2];r=+p[e+4>>2];o=r+(+p[t+4>>2]-r)*i;r=+p[e+8>>2];s=r+(+p[t+8>>2]-r)*i;p[9406]=_+(+p[t>>2]-_)*i;p[9407]=o;p[9408]=s;p[9409]=0.0;return 37624}function mN(e,t){e=e|0;t=t|0;var i=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0;do{if((n[44128]|0)==0){if((ui(44128)|0)==0){break}}}while(0);i=+p[e+4>>2];_=+p[t+8>>2];r=+p[e+8>>2];o=+p[t+4>>2];s=+p[t>>2];a=+p[e>>2];p[9402]=i*_-r*o;p[9403]=r*s-a*_;p[9404]=a*o-i*s;p[9405]=0.0;return 37608}function hN(e){e=e|0;var t=0.0,i=0.0,_=0.0,r=0.0;do{if((n[44040]|0)==0){if((ui(44040)|0)==0){break}}}while(0);t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);_=+H(+ +p[e+8>>2]);r=+H(+ +p[e+12>>2]);p[9398]=t;p[9399]=i;p[9400]=_;p[9401]=r;return 37592}function fN(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);n=+H(+ +p[e+8>>2]);if(t<i){_=i<n?2:1;return _|0}else{_=t<n?2:0;return _|0}return 0}function gN(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+p[t>>2]-+p[e>>2];n=+p[t+4>>2]-+p[e+4>>2];_=+p[t+8>>2]-+p[e+8>>2];return+ +j(+(i*i+n*n+_*_))}function CN(e){e=e|0;return SN(e|0)|0}function SN(e){e=e|0;var t=0,i=0,n=0,_=0.0,r=0.0,o=0,s=0.0,a=0.0,l=0,c=0.0,b=0.0,u=0;t=d;d=d+16|0;i=t|0;n=e|0;_=+p[n>>2];r=+H(+_);o=e+4|0;s=+p[o>>2];a=+H(+s);l=e+8|0;c=+p[l>>2];b=+H(+c);p[i>>2]=r;p[i+4>>2]=a;p[i+8>>2]=b;p[i+12>>2]=0.0;if(r<a){u=a<b?2:1}else{u=r<b?2:0}b=+p[i+(u<<2)>>2];if(b>0.0){r=1.0/b;b=_*r;_=s*r;s=c*r;r=1.0/+j(+(b*b+_*_+s*s));p[n>>2]=b*r;p[o>>2]=_*r;p[l>>2]=s*r;d=t;return e|0}else{p[n>>2]=1.0;p[o>>2]=0.0;p[l>>2]=0.0;p[e+12>>2]=0.0;d=t;return e|0}return 0}function yN(e){e=e|0;var t=0.0,i=0.0,_=0.0,r=0.0;do{if((n[43984]|0)==0){if((ui(43984)|0)==0){break}}}while(0);t=+p[e>>2];i=+p[e+4>>2];_=+p[e+8>>2];r=1.0/+j(+(t*t+i*i+_*_));p[9394]=t*r;p[9395]=i*r;p[9396]=_*r;p[9397]=0.0;return 37576}function vN(e){e=e|0;if((e|0)==0){return}SBe(e);return}function xN(e,t,i){e=e|0;t=t|0;i=+i;var _=0,o=0;_=d;d=d+16|0;o=_|0;do{if((n[44112]|0)==0){if((ui(44112)|0)==0){break}}}while(0);MN(o,e|0,t,i);t=o;r[9390]=r[t>>2];r[9391]=r[t+4>>2];r[9392]=r[t+8>>2];r[9393]=r[t+12>>2];d=_;return 37560}function MN(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0;_=+p[i>>2];r=+p[t>>2];o=+p[i+4>>2];s=+p[t+4>>2];a=+p[i+8>>2];l=+p[t+8>>2];d=_*r+o*s+a*l;c=_*d;b=o*d;u=a*d;d=+Z(+n);m=+Q(+n);p[e>>2]=c+(r-c)*d+(o*l-a*s)*m;p[e+4>>2]=b+(s-b)*d+(a*r-_*l)*m;p[e+8>>2]=u+(l-u)*d+(_*s-o*r)*m;p[e+12>>2]=0.0;return}function TN(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0,r=0.0,o=0,s=0;t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);n=+H(+ +p[e+8>>2]);_=t>-999999984306749400.0;r=_?t:-999999984306749400.0;o=i>r;t=o?i:r;s=n>t;return(+H(+ +p[e+12>>2])>(s?n:t)?3:s?2:o?1:_?0:-1)|0}function DN(e){e=e|0;vBe(e|0,0,16);return}function PN(){var e=0,t=0,i=0;while(1){e=hBe(16)|0;if((e|0)!=0){t=3828;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==3828){return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function wN(e,t,i,n){e=+e;t=+t;i=+i;n=+n;var _=0,o=0,s=0;while(1){_=hBe(16)|0;if((_|0)!=0){o=3840;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]()}if((o|0)==3840){p[_>>2]=e;p[_+4>>2]=t;p[_+8>>2]=i;p[_+12>>2]=n;return _|0}_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}function AN(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function FN(e){e=e|0;return+ +p[e+12>>2]}function RN(e){e=e|0;return+ +p[e+4>>2]}function IN(e){e=e|0;return+ +p[e>>2]}function BN(e){e=e|0;return+ +p[e+8>>2]}function VN(e,t){e=e|0;t=t|0;return+(+p[e>>2]*+p[t>>2]+ +p[e+4>>2]*+p[t+4>>2]+ +p[e+8>>2]*+p[t+8>>2])}function EN(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(n>=+p[i>>2]){return}p[i>>2]=n;return}function NN(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0.0,o=0;_=e+8|0;r=-0.0-+p[_>>2];o=e+4|0;p[t>>2]=0.0;p[t+4>>2]=r;p[t+8>>2]=+p[o>>2];p[t+12>>2]=0.0;t=e|0;r=-0.0-+p[t>>2];p[i>>2]=+p[_>>2];p[i+4>>2]=0.0;p[i+8>>2]=r;p[i+12>>2]=0.0;p[n>>2]=-0.0-+p[o>>2];p[n+4>>2]=+p[t>>2];p[n+8>>2]=0.0;p[n+12>>2]=0.0;return}function kN(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[t+(i<<2)>>2]=+p[e+(i<<2)>>2];i=i+1|0}return}function ON(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[e+(i<<2)>>2]=+l[t+(i<<3)>>3];i=i+1|0}return}function LN(e){e=e|0;return+ +p[e>>2]}function UN(e){e=e|0;return+ +p[e+4>>2]}function GN(e){e=e|0;return+ +p[e+8>>2]}function WN(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var _=0.0;_=1.0-n;p[e>>2]=_*+p[t>>2]+ +p[i>>2]*n;p[e+4>>2]=_*+p[t+4>>2]+ +p[i+4>>2]*n;p[e+8>>2]=_*+p[t+8>>2]+ +p[i+8>>2]*n;return}function zN(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0;n=+p[t+4>>2];_=+p[i+8>>2];r=+p[t+8>>2];o=+p[i+4>>2];s=+p[i>>2];a=+p[t>>2];return+(+p[e>>2]*(n*_-r*o)+ +p[e+4>>2]*(r*s-a*_)+ +p[e+8>>2]*(a*o-n*s))}function HN(e,t){e=e|0;t=t|0;var i=0;i=e|0;p[i>>2]=+p[i>>2]-+p[t>>2];i=e+4|0;p[i>>2]=+p[i>>2]-+p[t+4>>2];i=e+8|0;p[i>>2]=+p[i>>2]-+p[t+8>>2];return e|0}function jN(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(+p[i>>2]>=n){return}p[i>>2]=n;return}function XN(e,t){e=e|0;t=t|0;var i=0;i=e|0;p[i>>2]=+p[i>>2]+ +p[t>>2];i=e+4|0;p[i>>2]=+p[i>>2]+ +p[t+4>>2];i=e+8|0;p[i>>2]=+p[i>>2]+ +p[t+8>>2];return e|0}function ZN(e,t){e=e|0;t=t|0;var i=0;if(+p[e+12>>2]!=+p[t+12>>2]){i=0;return i|0}if(+p[e+8>>2]!=+p[t+8>>2]){i=0;return i|0}if(+p[e+4>>2]!=+p[t+4>>2]){i=0;return i|0}i=+p[e>>2]==+p[t>>2];return i|0}function QN(e,t){e=e|0;t=+t;var i=0;i=e|0;p[i>>2]=+p[i>>2]*t;i=e+4|0;p[i>>2]=+p[i>>2]*t;i=e+8|0;p[i>>2]=+p[i>>2]*t;return e|0}function qN(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}l[t+(i<<3)>>3]=+p[e+(i<<2)>>2];i=i+1|0}return}function YN(e){e=e|0;var t=0;if(+p[e>>2]!=0.0){t=0;return t|0}if(+p[e+4>>2]!=0.0){t=0;return t|0}t=+p[e+8>>2]==0.0;return t|0}function JN(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+p[t>>2]-+p[e>>2];n=+p[t+4>>2]-+p[e+4>>2];_=+p[t+8>>2]-+p[e+8>>2];return+(i*i+n*n+_*_)}function KN(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=0.0;return}function $N(e){e=e|0;var t=0.0,i=0.0,n=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];return t*t+i*i+n*n<1.1920928955078125e-7|0}function ek(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[e+(i<<2)>>2]=+p[t+(i<<2)>>2];i=i+1|0}return}function tk(e,t){e=e|0;t=+t;var i=0.0,n=0;i=1.0/t;n=e|0;p[n>>2]=+p[n>>2]*i;n=e+4|0;p[n>>2]=+p[n>>2]*i;n=e+8|0;p[n>>2]=+p[n>>2]*i;return e|0}function ik(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];if(t<i){_=t<n?0:2;return _|0}else{_=i<n?1:2;return _|0}return 0}function nk(e){e=e|0;var t=0.0,i=0.0,n=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];return+ +j(+(t*t+i*i+n*n))}function _k(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);n=+H(+ +p[e+8>>2]);if(t<i){_=t<n?0:2;return _|0}else{_=i<n?1:2;return _|0}return 0}function rk(e,t,i){e=e|0;t=t|0;i=+i;crt[r[(r[e>>2]|0)+8>>2]&255](e,t,i);return}function ok(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function sk(e){e=e|0;var t=0.0,i=0.0,_=0.0;do{if((n[44080]|0)==0){if((ui(44080)|0)==0){break}}}while(0);t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);_=+H(+ +p[e+8>>2]);p[9386]=t;p[9387]=i;p[9388]=_;p[9389]=0.0;return 37544}function ak(e){e=e|0;var t=0,i=0.0,n=0,_=0.0,r=0,o=0.0,s=0.0;t=e|0;i=+p[t>>2];n=e+4|0;_=+p[n>>2];r=e+8|0;o=+p[r>>2];s=1.0/+j(+(i*i+_*_+o*o));p[t>>2]=i*s;p[n>>2]=_*s;p[r>>2]=o*s;return e|0}function pk(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;i=+p[e>>2];n=+p[e+4>>2];_=+p[e+8>>2];r=+p[t>>2];o=+p[t+4>>2];s=+p[t+8>>2];a=(i*r+n*o+_*s)/+j(+((i*i+n*n+_*_)*(r*r+o*o+s*s)));if(a<-1.0){l=-1.0;d=+Y(+l);return+d}if(a<=1.0){l=a;d=+Y(+l);return+d}l=1.0;d=+Y(+l);return+d}function lk(e,t,i){e=e|0;t=t|0;i=+i;var _=0.0,r=0.0,o=0.0,s=0.0;do{if((n[44152]|0)==0){if((ui(44152)|0)==0){break}}}while(0);_=+p[e>>2];r=+p[e+4>>2];o=r+(+p[t+4>>2]-r)*i;r=+p[e+8>>2];s=r+(+p[t+8>>2]-r)*i;p[9382]=_+(+p[t>>2]-_)*i;p[9383]=o;p[9384]=s;p[9385]=0.0;return 37528}function dk(e,t){e=e|0;t=t|0;var i=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0;do{if((n[44136]|0)==0){if((ui(44136)|0)==0){break}}}while(0);i=+p[e+4>>2];_=+p[t+8>>2];r=+p[e+8>>2];o=+p[t+4>>2];s=+p[t>>2];a=+p[e>>2];p[9378]=i*_-r*o;p[9379]=r*s-a*_;p[9380]=a*o-i*s;p[9381]=0.0;return 37512}function ck(e){e=e|0;if((e|0)==0){return}SBe(e);return}function bk(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return(e|0)!=0|0}function uk(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);n=+H(+ +p[e+8>>2]);if(t<i){_=i<n?2:1;return _|0}else{_=t<n?2:0;return _|0}return 0}function mk(e){e=e|0;return SN(e)|0}function hk(e){e=e|0;var t=0.0,i=0.0,_=0.0,r=0.0;do{if((n[43992]|0)==0){if((ui(43992)|0)==0){break}}}while(0);t=+p[e>>2];i=+p[e+4>>2];_=+p[e+8>>2];r=1.0/+j(+(t*t+i*i+_*_));p[9374]=t*r;p[9375]=i*r;p[9376]=_*r;p[9377]=0.0;return 37496}function fk(){var e=0,t=0,i=0;while(1){e=hBe(16)|0;if((e|0)!=0){t=3977;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==3977){return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function gk(e,t,i){e=+e;t=+t;i=+i;var n=0,_=0,o=0;while(1){n=hBe(16)|0;if((n|0)!=0){_=3989;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){break}prt[o&63]()}if((_|0)==3989){p[n>>2]=e;p[n+4>>2]=t;p[n+8>>2]=i;p[n+12>>2]=0.0;return n|0}n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}function Ck(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[t+(i<<2)>>2]=+p[e+(i<<2)>>2];i=i+1|0}return}function Sk(e,t){e=e|0;t=+t;p[e>>2]=t;return}function yk(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function vk(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function xk(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];if(t<i){_=i<n?2:1;return _|0}else{_=t<n?2:0;return _|0}return 0}function Mk(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=4){break}p[e+(i<<2)>>2]=+p[t+(i<<2)>>2];i=i+1|0}return}function Tk(e){e=e|0;var t=0.0,i=0.0,n=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];return+(t*t+i*i+n*n)}function Dk(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function Pk(e,t){e=e|0;t=t|0;return+(+p[e>>2]*+p[t>>2]+ +p[e+4>>2]*+p[t+4>>2]+ +p[e+8>>2]*+p[t+8>>2])}function wk(e){e=e|0;return+ +p[e+12>>2]}function Ak(e){e=e|0;return+ +p[e+4>>2]}function Fk(e){e=e|0;return+ +p[e>>2]}function Rk(e){e=e|0;return+ +p[e+8>>2]}function Ik(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function Bk(e){e=e|0;return+ +p[e+8>>2]}function Vk(e){e=e|0;return+ +p[e+4>>2]}function Ek(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function Nk(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function kk(e){e=e|0;return+ +p[e+12>>2]}function Ok(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function Lk(e){e=e|0;return r[e>>2]|0}function Uk(e,t){e=e|0;t=t|0;_[e+12>>1]=t;return}function Gk(e){e=e|0;return e+36|0}function Wk(e){e=e|0;return e+68|0}function zk(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Hk(e){e=e|0;return r[e+8>>2]|0}function jk(e,t){e=e|0;t=t|0;r[e+16>>2]=t;return}function Xk(e){e=e|0;return e+20|0}function Zk(e){e=e|0;return _[e+14>>1]|0}function Qk(e){e=e|0;return+ +p[e+4>>2]}function qk(e){e=e|0;return r[e+16>>2]|0}function Yk(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function Jk(e,t){e=e|0;t=t|0;_[e+14>>1]=t;return}function Kk(e){e=e|0;return(r[e+8>>2]|0)!=0|0}function $k(e){e=e|0;return e+52|0}function eO(e){e=e|0;return _[e+12>>1]|0}function tO(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function iO(e){e=e|0;return e+8|0}function nO(e,t){e=e|0;t=+t;p[e+24>>2]=t;return}function _O(e){e=e|0;return+ +p[e+24>>2]}function rO(e){e=e|0;return r[e+4>>2]|0}function oO(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function sO(e){e=e|0;return r[e>>2]|0}function aO(e){e=e|0;return r[e+28>>2]|0}function pO(e){e=e|0;return r[e+12>>2]|0}function lO(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function dO(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function cO(e){e=e|0;return e+40|0}function bO(e,t){e=e|0;t=t|0;return+ +p[e+1248+(t<<2)>>2]}function uO(e){e=e|0;return e+1120|0}function mO(e){e=e|0;return e+1056|0}function hO(e){e=e|0;return r[e+12>>2]|0}function fO(e){e=e|0;return r[e+4>>2]|0}function gO(e){e=e|0;return r[e+24>>2]|0}function CO(e){e=e|0;return+ +p[e+16>>2]}function SO(e,t,i){e=e|0;t=t|0;i=+i;p[e+1356+(t<<2)>>2]=i;return}function yO(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+p[t>>2]-+p[e>>2];n=+p[t+4>>2]-+p[e+4>>2];_=+p[t+8>>2]-+p[e+8>>2];return+ +j(+(i*i+n*n+_*_))}function vO(e,t,i){e=e|0;t=t|0;i=+i;var _=0,o=0;_=d;d=d+16|0;o=_|0;do{if((n[44120]|0)==0){if((ui(44120)|0)==0){break}}}while(0);MN(o,e,t,i);t=o;r[9370]=r[t>>2];r[9371]=r[t+4>>2];r[9372]=r[t+8>>2];r[9373]=r[t+12>>2];d=_;return 37480}function xO(e){e=e|0;vBe(e|0,0,16);return}function MO(e){e=e|0;var t=0.0,i=0.0,n=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];return+ +j(+(t*t+i*i+n*n))}function TO(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0;t=+H(+ +p[e>>2]);i=+H(+ +p[e+4>>2]);n=+H(+ +p[e+8>>2]);if(t<i){_=t<n?0:2;return _|0}else{_=i<n?1:2;return _|0}return 0}function DO(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e,t);return}function PO(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+40>>2]&511](e,t)|0}function wO(e){e=e|0;jnt[r[(r[e>>2]|0)+32>>2]&2047](e);return}function AO(e){e=e|0;return Knt[r[(r[e>>2]|0)+52>>2]&4095](e)|0}function FO(e){e=e|0;jnt[r[(r[e>>2]|0)+36>>2]&2047](e);return}function RO(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+28>>2]&511](e,t)|0}function IO(e){e=e|0;return Knt[r[(r[e>>2]|0)+8>>2]&4095](e)|0}function BO(e){e=e|0;return Knt[r[(r[e>>2]|0)+12>>2]&4095](e)|0}function VO(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+20>>2]&255](e,t,i,n,_);return}function EO(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+48>>2]&2047](e,t);return}function NO(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+24>>2]&511](e,t)|0}function kO(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function OO(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+16>>2]&511](e,t,i)|0}function LO(e){e=e|0;if((e|0)==0){return}SBe(e);return}function UO(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i)}function GO(e,t){e=e|0;t=t|0;var i=0;i=e+36|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function WO(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e|0,t)|0}function zO(e,t){e=e|0;t=t|0;var i=0;i=e+52|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function HO(e,t){e=e|0;t=t|0;var i=0;i=e+68|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function jO(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function XO(e,t){e=e|0;t=t|0;var i=0;i=e+20|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function ZO(e){e=e|0;if((e|0)==0){return}SBe(e);return}function QO(e,t){e=e|0;t=t|0;var i=0;i=e+8|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function qO(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function YO(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function JO(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function KO(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e|0,t,i)|0}function $O(e,t){e=e|0;t=+t;var i=0,n=0,_=0,r=0.0;i=d;d=d+16|0;n=i|0;_=e;p[n>>2]=-1.0;p[n+4>>2]=0.0;p[n+8>>2]=t;p[n+12>>2]=0.0;e=0;while(1){if((e|0)>=3){break}t=+Bi(+ +p[n+(e<<2)>>2],6.2831854820251465);do{if(t<-3.1415927410125732){r=t+6.2831854820251465}else{if(t<=3.1415927410125732){r=t;break}r=t-6.2831854820251465}}while(0);p[_+860+(e<<6)+4>>2]=r;e=e+1|0}d=i;return}function eL(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function tL(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function iL(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function nL(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e|0,t);return}function _L(e){e=e|0;jnt[r[(r[e>>2]|0)+44>>2]&2047](e);return}function rL(){var e=0,t=0,i=0;while(1){e=hBe(16)|0;if((e|0)!=0){t=4133;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==4133){p[e+4>>2]=6.2831854820251465;p[e+8>>2]=6.2831854820251465;p[e+12>>2]=6.2831854820251465;r[e>>2]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function oL(e,t){e=e|0;t=t|0;var i=0,n=0,o=0;while(1){i=hBe(84)|0;if((i|0)!=0){n=4145;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){break}prt[o&63]()}if((n|0)==4145){p[i+4>>2]=1.0;r[i+8>>2]=0;_[i+12>>1]=1;_[i+14>>1]=-1;r[i+16>>2]=0;r[i>>2]=19480;n=i+20|0;o=e;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];o=i+36|0;n=t;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function sL(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;var _=0,o=0,s=0;while(1){_=hBe(28)|0;if((_|0)!=0){o=4157;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]()}if((o|0)==4157){r[_>>2]=e;r[_+4>>2]=t;t=_+8|0;e=i;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];p[_+24>>2]=n;return _|0}_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}function aL(e,t){e=e|0;t=+t;return}function pL(e,t){e=e|0;t=t|0;var i=0;i=e;e=0;while(1){if((e|0)>=3){break}p[t+(e<<2)>>2]=+p[i+860+(e<<6)>>2];e=e+1|0}return}function lL(e,t,i){e=e|0;t=t|0;i=+i;p[e+1308+(t<<2)>>2]=i;return}function dL(e){e=e|0;return+ +p[e+32>>2]}function cL(e){e=e|0;return(n[e+20|0]&1)!=0|0}function bL(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function uL(e){e=e|0;return r[e+4>>2]|0}function mL(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function hL(e){e=e|0;return e+1104|0}function fL(e,t){e=e|0;t=t|0;n[e+1293|0]=t&1;return}function gL(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;if((t|0)<3){n=+p[e+688+(t<<2)>>2]>=+p[e+672+(t<<2)>>2];return n|0}e=t-3|0;if(+p[i+860+(e<<6)>>2]>+p[i+860+(e<<6)+4>>2]){n=0;return n|0}n=1;return n|0}function CL(e){e=e|0;return+ +p[e+1184>>2]}function SL(e,t){e=e|0;t=t|0;return e+860+(t<<6)|0}function yL(e){e=e|0;return+ +p[e+1192>>2]}function vL(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+1300|0]&1)==0){r[i>>2]=6;r[t+4>>2]=0;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function xL(e){e=e|0;return e+104|0}function ML(e){e=e|0;return e+1168|0}function TL(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function DL(e){e=e|0;return(n[e+1293|0]&1)!=0|0}function PL(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function wL(e,t,i){e=e|0;t=t|0;i=i|0;var _=0;_=i&1;n[e+1301+t|0]=_;if((t|0)<3){n[e+(t+780)|0]=_;return}else{n[e+860+(t-3<<6)+44|0]=_;return}}function AL(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function FL(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function RL(e,t,i){e=e|0;t=t|0;i=+i;p[e+1332+(t<<2)>>2]=i;return}function IL(e){e=e|0;return(n[e+1300|0]&1)!=0|0}function BL(e){e=e|0;return+ +p[e+32>>2]}function VL(e,t){e=e|0;t=t|0;n[e+1300|0]=t&1;return}function EL(e){e=e|0;return e+672|0}function NL(e){e=e|0;return(n[e+21|0]&1)!=0|0}function kL(e,t){e=e|0;t=t|0;return+ +p[e+1184+(t<<2)>>2]}function OL(e,t){e=e|0;t=t|0;var i=0;i=e;e=0;while(1){if((e|0)>=3){break}p[t+(e<<2)>>2]=+p[i+860+(e<<6)+4>>2];e=e+1|0}return}function LL(e){e=e|0;return r[e+4>>2]|0}function UL(e){e=e|0;return r[e+8>>2]|0}function GL(e){e=e|0;return+ +p[e+36>>2]}function WL(e){e=e|0;return e+1396|0}function zL(e){e=e|0;return r[e+12>>2]|0}function HL(e){e=e|0;return e+1412|0}function jL(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function XL(e){e=e|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);p[e+1308>>2]=+p[e+1248>>2];p[e+1312>>2]=+p[e+1252>>2];p[e+1316>>2]=+p[e+1256>>2];p[e+1320>>2]=+p[e+1184>>2];p[e+1324>>2]=+p[e+1188>>2];p[e+1328>>2]=+p[e+1192>>2];return}function ZL(e,t){e=e|0;t=t|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);if((t|0)<3){p[e+1308+(t<<2)>>2]=+p[e+1248+(t<<2)>>2];return}else{p[e+1308+(t<<2)>>2]=+p[e+1184+(t-3<<2)>>2];return}}function QL(e,t){e=e|0;t=t|0;do{if((n[43904]|0)==0){if((ui(43904)|0)==0){break}}}while(0);TBe(37416,e+1200+(t<<4)|0,16);return 37416}function qL(e,t){e=e|0;t=t|0;var i=0;i=e+688|0;e=t;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];return}function YL(e,t){e=e|0;t=t|0;var i=0;i=e+672|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function JL(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function KL(e,t){e=e|0;t=t|0;var i=0;i=e+672|0;e=t;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];return}function $L(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=e;_=e+40|0;o=t;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+56|0;_=t+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+72|0;o=t+32|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+88|0;_=t+48|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+104|0;o=i;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+120|0;_=i+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+136|0;o=i+32|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+152|0;_=i+48|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];jnt[r[(r[e>>2]|0)+8>>2]&2047](n);ihe(n,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function eU(e){e=e|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function tU(e,t,i){e=e|0;t=t|0;i=i|0;ihe(e,t,i);return}function iU(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return che(e,t,i,n,_,r,o,s,a,p,l,d,0)|0}function nU(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return che(e,t,i,n,_,r,o,s,a,p,l,d,c)|0}function _U(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;Ou(e,t,i,n);return}function rU(e,t){e=e|0;t=+t;var i=0,n=0,_=0,r=0.0;i=d;d=d+16|0;n=i|0;_=e;p[n>>2]=1.0;p[n+4>>2]=0.0;p[n+8>>2]=t;p[n+12>>2]=0.0;e=0;while(1){if((e|0)>=3){break}t=+Bi(+ +p[n+(e<<2)>>2],6.2831854820251465);do{if(t<-3.1415927410125732){r=t+6.2831854820251465}else{if(t<=3.1415927410125732){r=t;break}r=t-6.2831854820251465}}while(0);p[_+860+(e<<6)>>2]=r;e=e+1|0}d=i;return}function oU(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n,_);return}function sU(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;hhe(e,t,i,n,_,r,o,s);return}function aU(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=e;e=0;while(1){if((e|0)>=3){break}n=+Bi(+ +p[t+(e<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[i+860+(e<<6)>>2]=_;e=e+1|0}return}function pU(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n);return}function lU(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function dU(e,t){e=e|0;t=+t;var i=0,_=0,o=0,s=0.0,a=0.0,l=0;t=1.0/+p[(r[e+116>>2]|0)+336>>2];i=e+136|0;if((r[i>>2]|0)<=0){return}_=e+144|0;e=0;do{o=r[_>>2]|0;do{if((n[o+(e*284|0)+84|0]&1)==0){p[o+(e*284|0)+276>>2]=0.0}else{s=+p[o+(e*284|0)+272>>2];a=t*(+p[o+(e*284|0)+216>>2]*(+p[o+(e*284|0)+204>>2]-+p[o+(e*284|0)+32>>2])*+p[o+(e*284|0)+268>>2]-s*+p[(s<0.0?o+(e*284|0)+220|0:o+(e*284|0)+224|0)>>2]);l=o+(e*284|0)+276|0;p[l>>2]=a;if(a>=0.0){break}p[l>>2]=0.0}}while(0);e=e+1|0}while((e|0)<(r[i>>2]|0));return}function cU(e){e=e|0;return r[e+116>>2]|0}function bU(e){e=e|0;return r[e+88>>2]|0}function uU(e,t){e=e|0;t=t|0;return(r[e+144>>2]|0)+(t*284|0)+92|0}function mU(e,t){e=e|0;t=t|0;var i=0;i=e+688|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function hU(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=e;e=0;while(1){if((e|0)>=3){break}n=+Bi(+ +p[t+(e<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[i+860+(e<<6)+4>>2]=_;e=e+1|0}return}function fU(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+48>>2]&511](e|0,t,i);return}function gU(e,t){e=e|0;t=t|0;return _he(e,t)|0}function CU(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e);return}function SU(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+16>>2]&1023](e,t,i,n);return}function yU(e,t,i,n,_,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return+ +d_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a,p,l,d)}function vU(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+8>>2]&511](e,t,i);return}function xU(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0.0,M=0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0.0,me=0,he=0,fe=0.0,ge=0,Ce=0,Se=0.0,ye=0,ve=0,xe=0.0,Me=0,Te=0,De=0.0,Pe=0,we=0,Ae=0.0;while(1){s=hBe(1428)|0;if((s|0)!=0){break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){l=4300;break}prt[a&63]()}if((l|0)==4300){l=Di(4)|0;r[l>>2]=19096;Ht(l|0,34368,676);return 0}l=s;do{if((n[43040]|0)==0){if((ui(43040)|0)==0){break}do{if((n[43048]|0)==0){if((ui(43048)|0)==0){break}p[10704]=1.0;vBe(42820,0,16);p[10709]=1.0;vBe(42840,0,16);p[10714]=1.0;p[10715]=0.0}}while(0);r[10688]=r[10704];r[10689]=r[10705];r[10690]=r[10706];r[10691]=r[10707];r[10692]=r[10708];r[42772>>2]=r[42836>>2];r[42776>>2]=r[42840>>2];r[42780>>2]=r[42844>>2];r[10696]=r[10712];r[42788>>2]=r[42852>>2];r[42792>>2]=r[42856>>2];r[42796>>2]=r[42860>>2];vBe(42800,0,16)}}while(0);do{if((n[43040]|0)==0){if((ui(43040)|0)==0){break}do{if((n[43048]|0)==0){if((ui(43048)|0)==0){break}p[10704]=1.0;vBe(42820,0,16);p[10709]=1.0;vBe(42840,0,16);p[10714]=1.0;p[10715]=0.0}}while(0);r[10688]=r[10704];r[10689]=r[10705];r[10690]=r[10706];r[10691]=r[10707];r[10692]=r[10708];r[42772>>2]=r[42836>>2];r[42776>>2]=r[42840>>2];r[42780>>2]=r[42844>>2];r[10696]=r[10712];r[42788>>2]=r[42852>>2];r[42792>>2]=r[42856>>2];r[42796>>2]=r[42860>>2];vBe(42800,0,16)}}while(0);a=s;the(a,e,t,42752,42752,1);r[s+4>>2]=9;n[s+1301|0]=0;d=s+1308|0;p[d>>2]=0.0;p[s+1332>>2]=0.0;p[s+1356>>2]=1.0;n[s+1302|0]=0;c=s+1312|0;p[c>>2]=0.0;p[s+1336>>2]=0.0;p[s+1360>>2]=1.0;b=s+1303|0;n[b]=0;u=s+1316|0;p[u>>2]=0.0;m=s+1340|0;p[m>>2]=0.0;h=s+1364|0;p[h>>2]=1.0;n[s+1304|0]=0;f=s+1320|0;p[f>>2]=0.0;p[s+1344>>2]=0.0;p[s+1368>>2]=1.0;n[s+1305|0]=0;g=s+1324|0;p[g>>2]=0.0;p[s+1348>>2]=0.0;p[s+1372>>2]=1.0;n[s+1306|0]=0;C=s+1328|0;p[C>>2]=0.0;p[s+1352>>2]=0.0;p[s+1376>>2]=1.0;r[s>>2]=23296;S=s+1380|0;y=i;r[S>>2]=r[y>>2];r[S+4>>2]=r[y+4>>2];r[S+8>>2]=r[y+8>>2];r[S+12>>2]=r[y+12>>2];y=s+1396|0;S=_;r[y>>2]=r[S>>2];r[y+4>>2]=r[S+4>>2];r[y+8>>2]=r[S+8>>2];r[y+12>>2]=r[S+12>>2];S=s+1412|0;y=o;r[S>>2]=r[y>>2];r[S+4>>2]=r[y+4>>2];r[S+8>>2]=r[y+8>>2];r[S+12>>2]=r[y+12>>2];y=_|0;v=+p[y>>2];S=_+4|0;x=+p[S>>2];M=_+8|0;T=+p[M>>2];D=1.0/+j(+(v*v+x*x+T*T));P=v*D;p[y>>2]=P;v=x*D;p[S>>2]=v;x=T*D;p[M>>2]=x;M=o|0;D=+p[M>>2];S=o+4|0;T=+p[S>>2];y=o+8|0;w=+p[y>>2];A=1.0/+j(+(D*D+T*T+w*w));F=D*A;p[M>>2]=F;D=T*A;p[S>>2]=D;T=w*A;p[y>>2]=T;A=v*T-x*D;w=x*F-P*T;I=P*D-v*F;B=+p[i>>2];V=+p[i+4>>2];E=+p[i+8>>2];N=+p[e+4>>2];k=+p[e+20>>2];O=+p[e+36>>2];L=+p[e+8>>2];U=+p[e+24>>2];G=+p[e+40>>2];W=+p[e+12>>2];z=+p[e+28>>2];H=+p[e+44>>2];X=-0.0-+p[e+52>>2];Z=-0.0-+p[e+56>>2];Q=-0.0-+p[e+60>>2];p[s+40>>2]=F*N+D*k+T*O;p[s+44>>2]=A*N+w*k+I*O;p[s+48>>2]=P*N+v*k+x*O;p[s+52>>2]=0.0;p[s+56>>2]=F*L+D*U+T*G;p[s+60>>2]=A*L+w*U+I*G;p[s+64>>2]=P*L+v*U+x*G;p[s+68>>2]=0.0;p[s+72>>2]=F*W+D*z+T*H;p[s+76>>2]=A*W+w*z+I*H;p[s+80>>2]=P*W+v*z+x*H;p[s+84>>2]=0.0;p[s+88>>2]=B*N+V*k+E*O+(N*X+k*Z+O*Q);p[s+92>>2]=B*L+V*U+E*G+(L*X+U*Z+G*Q);p[s+96>>2]=B*W+V*z+E*H+(W*X+z*Z+H*Q);p[s+100>>2]=0.0;Q=+p[t+4>>2];H=+p[t+20>>2];Z=+p[t+36>>2];z=+p[t+8>>2];X=+p[t+24>>2];W=+p[t+40>>2];G=+p[t+12>>2];U=+p[t+28>>2];L=+p[t+44>>2];O=-0.0-+p[t+52>>2];k=-0.0-+p[t+56>>2];N=-0.0-+p[t+60>>2];p[s+104>>2]=F*Q+D*H+T*Z;p[s+108>>2]=A*Q+w*H+I*Z;p[s+112>>2]=P*Q+v*H+x*Z;p[s+116>>2]=0.0;p[s+120>>2]=F*z+D*X+T*W;p[s+124>>2]=A*z+w*X+I*W;p[s+128>>2]=P*z+v*X+x*W;p[s+132>>2]=0.0;p[s+136>>2]=F*G+D*U+T*L;p[s+140>>2]=A*G+w*U+I*L;p[s+144>>2]=P*G+v*U+x*L;p[s+148>>2]=0.0;p[s+152>>2]=B*Q+V*H+E*Z+(Q*O+H*k+Z*N);p[s+156>>2]=B*z+V*X+E*W+(z*O+X*k+W*N);p[s+160>>2]=B*G+V*U+E*L+(G*O+U*k+L*N);p[s+164>>2]=0.0;p[s+672>>2]=0.0;p[s+676>>2]=0.0;p[s+680>>2]=-1.0;p[s+684>>2]=0.0;p[s+688>>2]=0.0;p[s+692>>2]=0.0;p[s+696>>2]=1.0;p[s+700>>2]=0.0;N=+Bi(1.0,6.2831854820251465);do{if(N<-3.1415927410125732){q=N+6.2831854820251465}else{if(N<=3.1415927410125732){q=N;break}q=N-6.2831854820251465}}while(0);p[s+860>>2]=q;q=+Bi(0.0,6.2831854820251465);do{if(q<-3.1415927410125732){Y=q+6.2831854820251465}else{if(q<=3.1415927410125732){Y=q;break}Y=q-6.2831854820251465}}while(0);p[s+924>>2]=Y;Y=+Bi(-.7853981852531433,6.2831854820251465);do{if(Y<-3.1415927410125732){J=Y+6.2831854820251465}else{if(Y<=3.1415927410125732){J=Y;break}J=Y-6.2831854820251465}}while(0);p[s+988>>2]=J;J=+Bi(-1.0,6.2831854820251465);do{if(J<-3.1415927410125732){K=J+6.2831854820251465}else{if(J<=3.1415927410125732){K=J;break}K=J-6.2831854820251465}}while(0);p[s+864>>2]=K;K=+Bi(0.0,6.2831854820251465);do{if(K<-3.1415927410125732){$=K+6.2831854820251465}else{if(K<=3.1415927410125732){$=K;break}$=K-6.2831854820251465}}while(0);p[s+928>>2]=$;$=+Bi(.7853981852531433,6.2831854820251465);if($<-3.1415927410125732){ee=$+6.2831854820251465;te=s+992|0;ie=te;p[ie>>2]=ee;n[b]=1;ne=s+782|0;n[ne]=1;p[m>>2]=39.47842025756836;p[h>>2]=.009999999776482582;_e=s+24|0;re=_e;oe=r[re>>2]|0;se=oe+4|0;ae=s+28|0;pe=ae;le=r[pe>>2]|0;de=le+4|0;ihe(a,se,de);ce=s+1248|0;be=ce;ue=+p[be>>2];p[d>>2]=ue;me=s+1252|0;he=me;fe=+p[he>>2];p[c>>2]=fe;ge=s+1256|0;Ce=ge;Se=+p[Ce>>2];p[u>>2]=Se;ye=s+1184|0;ve=ye;xe=+p[ve>>2];p[f>>2]=xe;Me=s+1188|0;Te=Me;De=+p[Te>>2];p[g>>2]=De;Pe=s+1192|0;we=Pe;Ae=+p[we>>2];p[C>>2]=Ae;return l|0}if($<=3.1415927410125732){ee=$;te=s+992|0;ie=te;p[ie>>2]=ee;n[b]=1;ne=s+782|0;n[ne]=1;p[m>>2]=39.47842025756836;p[h>>2]=.009999999776482582;_e=s+24|0;re=_e;oe=r[re>>2]|0;se=oe+4|0;ae=s+28|0;pe=ae;le=r[pe>>2]|0;de=le+4|0;ihe(a,se,de);ce=s+1248|0;be=ce;ue=+p[be>>2];p[d>>2]=ue;me=s+1252|0;he=me;fe=+p[he>>2];p[c>>2]=fe;ge=s+1256|0;Ce=ge;Se=+p[Ce>>2];p[u>>2]=Se;ye=s+1184|0;ve=ye;xe=+p[ve>>2];p[f>>2]=xe;Me=s+1188|0;Te=Me;De=+p[Te>>2];p[g>>2]=De;Pe=s+1192|0;we=Pe;Ae=+p[we>>2];p[C>>2]=Ae;return l|0}ee=$-6.2831854820251465;te=s+992|0;ie=te;p[ie>>2]=ee;n[b]=1;ne=s+782|0;n[ne]=1;p[m>>2]=39.47842025756836;p[h>>2]=.009999999776482582;_e=s+24|0;re=_e;oe=r[re>>2]|0;se=oe+4|0;ae=s+28|0;pe=ae;le=r[pe>>2]|0;de=le+4|0;ihe(a,se,de);ce=s+1248|0;be=ce;ue=+p[be>>2];p[d>>2]=ue;me=s+1252|0;he=me;fe=+p[he>>2];p[c>>2]=fe;ge=s+1256|0;Ce=ge;Se=+p[Ce>>2];p[u>>2]=Se;ye=s+1184|0;ve=ye;xe=+p[ve>>2];p[f>>2]=xe;Me=s+1188|0;Te=Me;De=+p[Te>>2];p[g>>2]=De;Pe=s+1192|0;we=Pe;Ae=+p[we>>2];p[C>>2]=Ae;return l|0}function MU(e,t){e=e|0;t=t|0;r[e+88>>2]=t;return}function TU(e){e=e|0;return r[e+136>>2]|0}function DU(e){e=e|0;return r[e+120>>2]|0}function PU(e,t,i){e=e|0;t=+t;i=i|0;p[(r[e+144>>2]|0)+(i*284|0)+252>>2]=t;return}function wU(e,t){e=e|0;t=t|0;return(r[e+144>>2]|0)+(t*284|0)|0}function AU(e){e=e|0;return(r[e+116>>2]|0)+4|0}function FU(e){e=e|0;var t=0,i=0,n=0,_=0.0,o=0.0;t=e+136|0;if((r[t>>2]|0)<=0){return}i=e+144|0;e=0;do{n=r[i>>2]|0;p[n+(e*284|0)+32>>2]=+p[n+(e*284|0)+204>>2];p[n+(e*284|0)+272>>2]=0.0;_=-0.0-+p[n+(e*284|0)+56>>2];o=-0.0-+p[n+(e*284|0)+60>>2];p[n+(e*284|0)>>2]=-0.0-+p[n+(e*284|0)+52>>2];p[n+(e*284|0)+4>>2]=_;p[n+(e*284|0)+8>>2]=o;p[n+(e*284|0)+12>>2]=0.0;p[n+(e*284|0)+268>>2]=1.0;e=e+1|0}while((e|0)<(r[t>>2]|0));return}function RU(e,t){e=e|0;t=t|0;r[e+84>>2]=t;return}function IU(e){e=e|0;return r[e+128>>2]|0}function BU(e,t){e=e|0;t=t|0;return+ +p[(r[e+144>>2]|0)+(t*284|0)+232>>2]}function VU(e){e=e|0;return r[e+84>>2]|0}function EU(e){e=e|0;return r[e+124>>2]|0}function NU(e,t){e=e|0;t=+t;p[e+104>>2]=t;return}function kU(e){e=e|0;return+ +p[e+112>>2]}function OU(e,t,i){e=e|0;t=+t;i=i|0;p[(r[e+144>>2]|0)+(i*284|0)+256>>2]=t;return}function LU(e,t,i){e=e|0;t=+t;i=i|0;p[(r[e+144>>2]|0)+(i*284|0)+232>>2]=t;return}function UU(e,t){e=e|0;t=t|0;_[e+12>>1]=t;return}function GU(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function WU(e,t){e=e|0;t=t|0;_[e+14>>1]=t;return}function zU(e){e=e|0;return+ +p[e+4>>2]}function HU(e,t){e=e|0;t=t|0;r[e+16>>2]=t;return}function jU(e){e=e|0;return _[e+14>>1]|0}function XU(e){e=e|0;return e+56|0}function ZU(e){e=e|0;return r[e+16>>2]|0}function QU(e){e=e|0;return e+40|0}function qU(e){e=e|0;return _[e+12>>1]|0}function YU(e){e=e|0;return(r[e+8>>2]|0)!=0|0}function JU(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function KU(e){e=e|0;return r[e+8>>2]|0}function $U(e){e=e|0;return(r[e+4>>2]|0)==31|0}function eG(e,t,i,_,o,s,a,l){e=e|0;t=t|0;i=i|0;_=_|0;o=+o;s=+s;a=a|0;l=l|0;var c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0;c=d;d=d+256|0;b=c+48|0;u=l&1;l=c|0;m=c+16|0;h=c+32|0;f=b;g=t;r[l>>2]=r[g>>2];r[l+4>>2]=r[g+4>>2];r[l+8>>2]=r[g+8>>2];r[l+12>>2]=r[g+12>>2];g=i;r[m>>2]=r[g>>2];r[m+4>>2]=r[g+4>>2];r[m+8>>2]=r[g+8>>2];r[m+12>>2]=r[g+12>>2];g=_;r[h>>2]=r[g>>2];r[h+4>>2]=r[g+4>>2];r[h+8>>2]=r[g+8>>2];r[h+12>>2]=r[g+12>>2];C=+p[a>>2];S=+p[a+4>>2];y=+p[a+8>>2];v=+p[a+16>>2];x=+p[a+12>>2];M=+p[a+20>>2];a=b+156|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=b+172|0;r[l>>2]=r[m>>2];r[l+4>>2]=r[m+4>>2];r[l+8>>2]=r[m+8>>2];r[l+12>>2]=r[m+12>>2];m=b+188|0;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];h=e+136|0;g=r[h>>2]|0;_=e+140|0;do{if((g|0)==(r[_>>2]|0)){i=(g|0)==0?1:g<<1;if((g|0)>=(i|0)){T=g;break}if((i|0)==0){D=0;P=g}else{r[9806]=(r[9806]|0)+1;t=hBe((i*284|0)+19|0)|0;if((t|0)==0){w=0}else{A=-(t+4|0)&15;r[t+A>>2]=t;w=t+(A+4)|0}D=w;P=r[h>>2]|0}A=e+144|0;if((P|0)>0){t=0;while(1){F=D+(t*284|0)|0;if((F|0)!=0){R=r[A>>2]|0;I=F;F=R+(t*284|0)|0;yBe(I|0,F|0,92)|0;F=D+(t*284|0)+92|0;I=R+(t*284|0)+92|0;r[F>>2]=r[I>>2];r[F+4>>2]=r[I+4>>2];r[F+8>>2]=r[I+8>>2];r[F+12>>2]=r[I+12>>2];I=D+(t*284|0)+108|0;F=R+(t*284|0)+108|0;r[I>>2]=r[F>>2];r[I+4>>2]=r[F+4>>2];r[I+8>>2]=r[F+8>>2];r[I+12>>2]=r[F+12>>2];F=D+(t*284|0)+124|0;I=R+(t*284|0)+124|0;r[F>>2]=r[I>>2];r[F+4>>2]=r[I+4>>2];r[F+8>>2]=r[I+8>>2];r[F+12>>2]=r[I+12>>2];I=D+(t*284|0)+140|0;F=R+(t*284|0)+140|0;r[I>>2]=r[F>>2];r[I+4>>2]=r[F+4>>2];r[I+8>>2]=r[F+8>>2];r[I+12>>2]=r[F+12>>2];F=D+(t*284|0)+156|0;I=R+(t*284|0)+156|0;r[F>>2]=r[I>>2];r[F+4>>2]=r[I+4>>2];r[F+8>>2]=r[I+8>>2];r[F+12>>2]=r[I+12>>2];I=D+(t*284|0)+172|0;F=R+(t*284|0)+172|0;r[I>>2]=r[F>>2];r[I+4>>2]=r[F+4>>2];r[I+8>>2]=r[F+8>>2];r[I+12>>2]=r[F+12>>2];F=D+(t*284|0)+188|0;I=R+(t*284|0)+188|0;r[F>>2]=r[I>>2];r[F+4>>2]=r[I+4>>2];r[F+8>>2]=r[I+8>>2];r[F+12>>2]=r[I+12>>2];p[D+(t*284|0)+204>>2]=+p[R+(t*284|0)+204>>2];p[D+(t*284|0)+208>>2]=+p[R+(t*284|0)+208>>2];p[D+(t*284|0)+212>>2]=+p[R+(t*284|0)+212>>2];p[D+(t*284|0)+216>>2]=+p[R+(t*284|0)+216>>2];p[D+(t*284|0)+220>>2]=+p[R+(t*284|0)+220>>2];p[D+(t*284|0)+224>>2]=+p[R+(t*284|0)+224>>2];p[D+(t*284|0)+228>>2]=+p[R+(t*284|0)+228>>2];p[D+(t*284|0)+232>>2]=+p[R+(t*284|0)+232>>2];p[D+(t*284|0)+236>>2]=+p[R+(t*284|0)+236>>2];p[D+(t*284|0)+240>>2]=+p[R+(t*284|0)+240>>2];p[D+(t*284|0)+244>>2]=+p[R+(t*284|0)+244>>2];p[D+(t*284|0)+248>>2]=+p[R+(t*284|0)+248>>2];p[D+(t*284|0)+252>>2]=+p[R+(t*284|0)+252>>2];p[D+(t*284|0)+256>>2]=+p[R+(t*284|0)+256>>2];n[D+(t*284|0)+260|0]=n[R+(t*284|0)+260|0]&1;r[D+(t*284|0)+264>>2]=r[R+(t*284|0)+264>>2];p[D+(t*284|0)+268>>2]=+p[R+(t*284|0)+268>>2];p[D+(t*284|0)+272>>2]=+p[R+(t*284|0)+272>>2];p[D+(t*284|0)+276>>2]=+p[R+(t*284|0)+276>>2];p[D+(t*284|0)+280>>2]=+p[R+(t*284|0)+280>>2]}R=t+1|0;if((R|0)<(P|0)){t=R}else{B=A;break}}}else{B=A}t=r[B>>2]|0;R=e+148|0;if((t|0)!=0){if((n[R]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-284+280>>2]|0)}r[B>>2]=0}n[R]=1;r[B>>2]=D;r[_>>2]=i;T=r[h>>2]|0}else{T=g}}while(0);g=e+144|0;_=r[g>>2]|0;D=_+(T*284|0)|0;if((D|0)==0){V=T;E=_;N=V+1|0;r[h>>2]=N;k=E+(V*284|0)|0;tfe(e,k,0);O=r[h>>2]|0;L=O-1|0;ife(e,L,0);U=16;G=0;W=16;z=0;H=16;j=0;X=204;Z=0;d=c;return k|0}B=D;yBe(B|0,f|0,92)|0;f=_+(T*284|0)+92|0;B=b+92|0;r[f>>2]=r[B>>2];r[f+4>>2]=r[B+4>>2];r[f+8>>2]=r[B+8>>2];r[f+12>>2]=r[B+12>>2];B=_+(T*284|0)+108|0;f=b+108|0;r[B>>2]=r[f>>2];r[B+4>>2]=r[f+4>>2];r[B+8>>2]=r[f+8>>2];r[B+12>>2]=r[f+12>>2];f=_+(T*284|0)+124|0;B=b+124|0;r[f>>2]=r[B>>2];r[f+4>>2]=r[B+4>>2];r[f+8>>2]=r[B+8>>2];r[f+12>>2]=r[B+12>>2];B=_+(T*284|0)+140|0;f=b+140|0;r[B>>2]=r[f>>2];r[B+4>>2]=r[f+4>>2];r[B+8>>2]=r[f+8>>2];r[B+12>>2]=r[f+12>>2];f=_+(T*284|0)+156|0;r[f>>2]=r[a>>2];r[f+4>>2]=r[a+4>>2];r[f+8>>2]=r[a+8>>2];r[f+12>>2]=r[a+12>>2];a=_+(T*284|0)+172|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=_+(T*284|0)+188|0;r[l>>2]=r[m>>2];r[l+4>>2]=r[m+4>>2];r[l+8>>2]=r[m+8>>2];r[l+12>>2]=r[m+12>>2];p[_+(T*284|0)+204>>2]=o;p[_+(T*284|0)+208>>2]=x;p[_+(T*284|0)+212>>2]=s;p[_+(T*284|0)+216>>2]=C;p[_+(T*284|0)+220>>2]=S;p[_+(T*284|0)+224>>2]=y;p[_+(T*284|0)+228>>2]=v;p[_+(T*284|0)+232>>2]=0.0;p[_+(T*284|0)+236>>2]=0.0;p[_+(T*284|0)+240>>2]=0.0;p[_+(T*284|0)+244>>2]=.10000000149011612;p[_+(T*284|0)+248>>2]=M;p[_+(T*284|0)+252>>2]=0.0;p[_+(T*284|0)+256>>2]=0.0;n[_+(T*284|0)+260|0]=u;V=r[h>>2]|0;E=r[g>>2]|0;N=V+1|0;r[h>>2]=N;k=E+(V*284|0)|0;tfe(e,k,0);O=r[h>>2]|0;L=O-1|0;ife(e,L,0);U=16;G=0;W=16;z=0;H=16;j=0;X=204;Z=0;d=c;return k|0}function tG(e,t){e=e|0;t=t|0;ife(e,t,1);return}function iG(e,t,i){e=e|0;t=t|0;i=i|0;ife(e,t,i);return}function nG(e,t){e=e|0;t=t|0;return+ +nfe(e,t)}function _G(e){e=e|0;var t=0,i=0,_=0.0,o=0.0;do{if((n[43824]|0)==0){if((ui(43824)|0)==0){break}}}while(0);t=r[e+116>>2]|0;i=r[e+128>>2]|0;_=+p[t+20+(i<<2)>>2];o=+p[t+36+(i<<2)>>2];p[9350]=+p[t+4+(i<<2)>>2];p[9351]=_;p[9352]=o;p[9353]=0.0;return 37400}function rG(e,t){e=e|0;t=t|0;tfe(e,t,1);return}function oG(e,t,i){e=e|0;t=t|0;i=i|0;tfe(e,t,i);return}function sG(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+24>>2]&1023](e,t,i,n);return}function aG(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function pG(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function lG(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+20>>2]&1023](e,t);return}function dG(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+16>>2]&1023](e,t);return}function cG(e,t,i){e=e|0;t=t|0;i=+i;crt[r[(r[e>>2]|0)+8>>2]&255](e,t,i);return}function bG(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function uG(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e|0,t)|0}function mG(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i)}function hG(e,t){e=e|0;t=t|0;var i=0;i=e+56|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function fG(e,t){e=e|0;t=t|0;var i=0;i=e+40|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function gG(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function CG(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0;while(1){_=hBe(152)|0;if((_|0)!=0){o=4445;break}e=(R=r[10744]|0,r[10744]=R+0,R);if((e|0)==0){break}prt[e&63]()}if((o|0)==4445){r[_>>2]=23912;n[_+20|0]=1;r[_+16>>2]=0;r[_+8>>2]=0;r[_+12>>2]=0;n[_+40|0]=1;r[_+36>>2]=0;r[_+28>>2]=0;r[_+32>>2]=0;n[_+60|0]=1;r[_+56>>2]=0;r[_+48>>2]=0;r[_+52>>2]=0;n[_+80|0]=1;r[_+76>>2]=0;r[_+68>>2]=0;r[_+72>>2]=0;r[_+100>>2]=i;p[_+104>>2]=0.0;n[_+148|0]=1;r[_+144>>2]=0;r[_+136>>2]=0;r[_+140>>2]=0;r[_+116>>2]=t;r[_+120>>2]=0;r[_+124>>2]=2;r[_+128>>2]=1;p[_+112>>2]=0.0;p[_+108>>2]=0.0;return _|0}_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}function SG(e,t){e=e|0;t=t|0;var i=0,o=0,s=0;while(1){i=hBe(132)|0;if((i|0)!=0){o=4457;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]()}if((o|0)==4457){p[i+4>>2]=1.0;r[i+8>>2]=0;_[i+12>>1]=1;_[i+14>>1]=-1;r[i+16>>2]=0;r[i>>2]=19512;n[i+36|0]=1;r[i+32>>2]=0;r[i+24>>2]=0;r[i+28>>2]=0;o=i+40|0;s=e;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=i+56|0;o=t;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];n[i+88|0]=1;r[i+84>>2]=0;r[i+76>>2]=0;r[i+80>>2]=0;n[i+108|0]=1;r[i+104>>2]=0;r[i+96>>2]=0;r[i+100>>2]=0;n[i+128|0]=1;r[i+124>>2]=0;r[i+116>>2]=0;r[i+120>>2]=0;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function yG(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function vG(e){e=e|0;return r[e+52>>2]|0}function xG(e){e=e|0;return(r[e+4>>2]|0)<7|0}function MG(e){e=e|0;return e+12|0}function TG(e){e=e|0;return+ +p[e+44>>2]}function DG(e){e=e|0;return(r[e+4>>2]|0)<20|0}function PG(e){e=e|0;return(r[e+4>>2]|0)==28|0}function wG(e){e=e|0;return r[e+8>>2]|0}function AG(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function FG(e){e=e|0;return e+28|0}function RG(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function IG(e){e=e|0;return(r[e+4>>2]|0)==32|0}function BG(e){e=e|0;return e+28|0}function VG(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function EG(e){e=e|0;return r[e+4>>2]|0}function NG(e){e=e|0;return+ +p[e+4>>2]}function kG(e,t){e=e|0;t=t|0;_[e+12>>1]=t;return}function OG(e){e=e|0;return r[e+16>>2]|0}function LG(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function UG(e,t){e=e|0;t=t|0;_[e+14>>1]=t;return}function GG(e,t){e=e|0;t=t|0;r[e+16>>2]=t;return}function WG(e){e=e|0;return(r[e+8>>2]|0)!=0|0}function zG(e){e=e|0;return _[e+14>>1]|0}function HG(e){e=e|0;return _[e+12>>1]|0}function jG(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function XG(e){e=e|0;return r[e+8>>2]|0}function ZG(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function QG(e){e=e|0;return(r[e+4>>2]|0)<7|0}function qG(e){e=e|0;return(r[e+4>>2]|0)==31|0}function YG(e){e=e|0;return r[e+12>>2]|0}function JG(e){e=e|0;return(r[e+4>>2]|0)<20|0}function KG(e){e=e|0;return(r[e+4>>2]|0)==28|0}function $G(e){e=e|0;return r[e+8>>2]|0}function eW(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function tW(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function iW(e){e=e|0;return(r[e+4>>2]|0)==32|0}function nW(e){e=e|0;return+ +p[e+16>>2]}function _W(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43664]|0)==0){if((ui(43664)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9346]=r[t>>2];r[9347]=r[t+4>>2];r[9348]=r[t+8>>2];r[9349]=r[t+12>>2];d=i;return 37384}function rW(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function oW(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function sW(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function aW(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function pW(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+84>>2]&1023](e)}function lW(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function dW(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function cW(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function bW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43184]|0)==0){if((ui(43184)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9342]=r[t>>2];r[9343]=r[t+4>>2];r[9344]=r[t+8>>2];r[9345]=r[t+12>>2];d=i;return 37368}function uW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43360]|0)==0){if((ui(43360)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9338]=r[t>>2];r[9339]=r[t+4>>2];r[9340]=r[t+8>>2];r[9341]=r[t+12>>2];d=i;return 37352}function mW(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function hW(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function fW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43504]|0)==0){if((ui(43504)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9334]=r[t>>2];r[9335]=r[t+4>>2];r[9336]=r[t+8>>2];r[9337]=r[t+12>>2];d=i;return 37336}function gW(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function CW(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function SW(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function yW(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function vW(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 1:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function xW(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function MW(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function TW(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function DW(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function PW(e){e=e|0;var t=0,i=0,n=0,_=0,o=0.0,s=0.0;r[9806]=(r[9806]|0)+1;t=hBe(75)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}n=i+4|0;r[n>>2]=35;r[i+8>>2]=0;t=i|0;p[i+12>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;p[i+44>>2]=.03999999910593033;r[t>>2]=24848;_=i+52|0;r[_>>2]=1;o=+p[e+4>>2]+-.03999999910593033;s=+p[e+8>>2]+-.03999999910593033;p[i+28>>2]=+p[e>>2]+-.03999999910593033;p[i+32>>2]=o;p[i+36>>2]=s;p[i+40>>2]=0.0;r[n>>2]=13;r[t>>2]=24256;r[_>>2]=0;return i|0}function wW(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function AW(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function FW(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function RW(e){e=e|0;var t=0.0,i=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;do{if((n[43672]|0)==0){if((ui(43672)|0)==0){break}}}while(0);t=+p[e+28>>2];i=+p[e+32>>2];_=+p[e+36>>2];o=+p[e+40>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=_+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s);p[9330]=t+l;p[9331]=i+d;p[9332]=c;p[9333]=o;return 37320}function IW(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i)}function BW(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e,t)|0}function VW(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function EW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43560]|0)==0){if((ui(43560)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9326]=r[t>>2];r[9327]=r[t+4>>2];r[9328]=r[t+8>>2];r[9329]=r[t+12>>2];d=i;return 37304}function NW(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function kW(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function OW(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e)|0}function LW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43376]|0)==0){if((ui(43376)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9322]=r[t>>2];r[9323]=r[t+4>>2];r[9324]=r[t+8>>2];r[9325]=r[t+12>>2];d=i;return 37288}function UW(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function GW(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function WW(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function zW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43112]|0)==0){if((ui(43112)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9318]=r[t>>2];r[9319]=r[t+4>>2];r[9320]=r[t+8>>2];r[9321]=r[t+12>>2];d=i;return 37272}function HW(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function jW(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function XW(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function ZW(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function QW(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function qW(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e,t,i);return}function YW(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function JW(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43232]|0)==0){if((ui(43232)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9302]=r[t>>2];r[9303]=r[t+4>>2];r[9304]=r[t+8>>2];r[9305]=r[t+12>>2];d=i;return 37208}function KW(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function $W(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function ez(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function tz(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function iz(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function nz(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function _z(e){e=e|0;return r[e+4>>2]|0}function rz(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function oz(e){e=e|0;return e+16|0}function sz(e){e=e|0;return e|0}function az(e){e=e|0;return+ +p[e+32>>2]}function pz(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(n>=+p[i>>2]){return}p[i>>2]=n;return}function lz(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=0.0;return}function dz(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=_;return}function cz(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(+p[i>>2]>=n){return}p[i>>2]=n;return}function bz(e,t){e=e|0;t=t|0;var i=0;if(+p[e+12>>2]!=+p[t+12>>2]){i=0;return i|0}if(+p[e+8>>2]!=+p[t+8>>2]){i=0;return i|0}if(+p[e+4>>2]!=+p[t+4>>2]){i=0;return i|0}i=+p[e>>2]==+p[t>>2];return i|0}function uz(e){e=e|0;return+ +p[e>>2]}function mz(e){e=e|0;return+ +p[e+4>>2]}function hz(e){e=e|0;return+ +p[e+8>>2]}function fz(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function gz(e){e=e|0;return+ +p[e+12>>2]}function Cz(e){e=e|0;return+ +p[e+4>>2]}function Sz(e){e=e|0;return+ +p[e>>2]}function yz(e){e=e|0;return+ +p[e+8>>2]}function vz(e,t){e=e|0;t=+t;p[e>>2]=t;return}function xz(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function Mz(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function Tz(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Dz(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Pz(e){e=e|0;return r[e+52>>2]|0}function wz(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Az(e){e=e|0;return e+12|0}function Fz(e){e=e|0;return+ +p[e+44>>2]}function Rz(e){e=e|0;return(r[e+4>>2]|0)<20|0}function Iz(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Bz(e){e=e|0;return r[e+8>>2]|0}function Vz(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function Ez(e){e=e|0;return e+28|0}function Nz(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function kz(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Oz(e){e=e|0;return e+28|0}function Lz(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Uz(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e,t,i,n);return}function Gz(e,t){e=e|0;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(39)|0;n=-(i+4|0)&15;r[i+n>>2]=i;_=i+(n+4)|0;r[_+8>>2]=0;r[_>>2]=22040;r[_+12>>2]=e;p[_+16>>2]=t;r[_+4>>2]=14;return _|0}function Wz(e){e=e|0;if((e|0)==0){return}SBe(e);return}function zz(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Hz(e,t){e=e|0;t=t|0;var i=0;i=e;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function jz(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Xz(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return(e|0)!=0|0}function Zz(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function Qz(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43688]|0)==0){if((ui(43688)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9298]=r[t>>2];r[9299]=r[t+4>>2];r[9300]=r[t+8>>2];r[9301]=r[t+12>>2];d=i;return 37192}function qz(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function Yz(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function Jz(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function Kz(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+84>>2]&1023](e)}function $z(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function eH(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function tH(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function iH(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43200]|0)==0){if((ui(43200)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9294]=r[t>>2];r[9295]=r[t+4>>2];r[9296]=r[t+8>>2];r[9297]=r[t+12>>2];d=i;return 37176}function nH(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43384]|0)==0){if((ui(43384)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9290]=r[t>>2];r[9291]=r[t+4>>2];r[9292]=r[t+8>>2];r[9293]=r[t+12>>2];d=i;return 37160}function _H(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function rH(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function oH(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43528]|0)==0){if((ui(43528)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9286]=r[t>>2];r[9287]=r[t+4>>2];r[9288]=r[t+8>>2];r[9289]=r[t+12>>2];d=i;return 37144}function sH(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function aH(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function pH(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function lH(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function dH(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 1:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function cH(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function bH(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function uH(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function mH(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function hH(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function fH(){var e=0,t=0,i=0;while(1){e=hBe(36)|0;if((e|0)!=0){t=4740;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==4740){p[e+32>>2]=-1.0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function gH(){var e=0,t=0,i=0;while(1){e=hBe(16)|0;if((e|0)!=0){t=4752;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==4752){return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function CH(e,t,i){e=+e;t=+t;i=+i;var n=0,_=0,o=0;while(1){n=hBe(16)|0;if((n|0)!=0){_=4764;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){break}prt[o&63]()}if((_|0)==4764){p[n>>2]=e;p[n+4>>2]=t;p[n+8>>2]=i;p[n+12>>2]=0.0;return n|0}n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}function SH(e,t,i,n){e=+e;t=+t;i=+i;n=+n;var _=0,o=0,s=0;while(1){_=hBe(16)|0;if((_|0)!=0){o=4776;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]()}if((o|0)==4776){p[_>>2]=e;p[_+4>>2]=t;p[_+8>>2]=i;p[_+12>>2]=n;return _|0}_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}function yH(e){e=e|0;return(e|0)==31|0}function vH(e){e=e|0;return(e|0)<7|0}function xH(e){e=e|0;return(e|0)<20|0}function MH(e){e=e|0;return((e|0)>20&(e|0)<30?(e|0)!=25:0)|0}function TH(e){e=e|0;return(e|0)==32|0}function DH(e){e=e|0;return(e|0)==28|0}function PH(e){e=e|0;return((e|0)>20?(e|0)<30:0)|0}function wH(e){e=e|0;return((e|0)==17?1:(e|0)==18)|0}function AH(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function FH(e){e=e|0;return r[e+4>>2]|0}function RH(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function IH(e){e=e|0;return+ +p[e+36>>2]}function BH(e){e=e|0;return e+20|0}function VH(e){e=e|0;return e+4|0}function EH(e){e=e|0;return r[e>>2]|0}function NH(e){e=e|0;return r[e+60>>2]|0}function kH(e,t){e=e|0;t=t|0;r[e+60>>2]=t;return}function OH(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function LH(e){e=e|0;return r[e+48>>2]|0}function UH(e){e=e|0;return e+16|0}function GH(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function WH(e){e=e|0;return _[e+6>>1]|0}function zH(e){e=e|0;return r[e+12>>2]|0}function HH(e){e=e|0;return e+32|0}function jH(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function XH(e,t){e=e|0;t=t|0;_[e+4>>1]=t;return}function ZH(e){e=e|0;return r[e+12>>2]|0}function QH(e,t){e=e|0;t=t|0;_[e+6>>1]=t;return}function qH(e,t){e=e|0;t=t|0;r[e+48>>2]=t;return}function YH(e){e=e|0;return r[e+8>>2]|0}function JH(e){e=e|0;return _[e+4>>1]|0}function KH(e,t){e=e|0;t=t|0;_[e+4>>1]=t;return}function $H(e,t){e=e|0;t=t|0;_[e+6>>1]=t;return}function ej(e){e=e|0;return _[e+6>>1]|0}function tj(e){e=e|0;return _[e+4>>1]|0}function ij(e){e=e|0;var t=0;t=e+124|0;e=(ne(r[t>>2]|0,1664525)|0)+1013904223|0;r[t>>2]=e;return e|0}function nj(e){e=e|0;return r[e+124>>2]|0}function _j(e,t){e=e|0;t=t|0;r[e+124>>2]=t;return}function rj(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+124|0;e=(ne(r[i>>2]|0,1664525)|0)+1013904223|0;r[i>>2]=e;do{if(t>>>0<65537){i=e>>>16^e;if(t>>>0>=257){n=i;break}_=i>>>8^i;if(t>>>0>=17){n=_;break}i=_>>>4^_;if(t>>>0>=5){n=i;break}_=i>>>2^i;if(t>>>0>=3){n=_;break}n=_>>>1^_}else{n=e}}while(0);return(n>>>0)%(t>>>0)|0|0}function oj(e){e=e|0;return e+100|0}function sj(e){e=e|0;return r[e+24>>2]|0}function aj(e,t){e=e|0;t=t|0;r[e+76>>2]=t;return}function pj(e){e=e|0;return e+4|0}function lj(e,t){e=e|0;t=t|0;r[e+88>>2]=t;r[e+96>>2]=0;return}function dj(e,t,i){e=e|0;t=t|0;i=i|0;r[e+88>>2]=t;r[e+96>>2]=i;return}function cj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;if(n){r[e+92>>2]=t}else{r[e+88>>2]=t}r[e+96>>2]=i;return}function bj(e){e=e|0;return(n[e+84|0]&1)!=0|0}function uj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function mj(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function hj(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function fj(e){e=e|0;var t=0,i=0,n=0,_=0.0,o=0.0;r[9806]=(r[9806]|0)+1;t=hBe(75)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}n=i+4|0;r[n>>2]=35;r[i+8>>2]=0;p[i+12>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;p[i+44>>2]=.03999999910593033;r[i>>2]=24848;r[i+52>>2]=1;_=+p[e+4>>2]+-.03999999910593033;o=+p[e+8>>2]+-.03999999910593033;p[i+28>>2]=+p[e>>2]+-.03999999910593033;p[i+32>>2]=_;p[i+36>>2]=o;p[i+40>>2]=0.0;r[n>>2]=13;return i|0}function gj(e){e=e|0;var t=0.0,i=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;do{if((n[43696]|0)==0){if((ui(43696)|0)==0){break}}}while(0);t=+p[e+28>>2];i=+p[e+32>>2];_=+p[e+36>>2];o=+p[e+40>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=_+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s);p[9282]=t+l;p[9283]=i+d;p[9284]=c;p[9285]=o;return 37128}function Cj(e,t){e=e|0;t=t|0;var i=0;i=e+20|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Sj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+16>>2]&127](e,t,i,n);return}function yj(e,t){e=e|0;t=t|0;var i=0;i=e+4|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function vj(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,i);return}function xj(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+8>>2]&511](e|0,t,i);return}function Mj(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Tj(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var s=0,a=0,p=0;r[9806]=(r[9806]|0)+1;s=hBe(83)|0;if((s|0)==0){a=0}else{p=-(s+4|0)&15;r[s+p>>2]=s;a=s+(p+4)|0}r[a>>2]=i;_[a+4>>1]=n;_[a+6>>1]=o;o=a+16|0;n=e;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];n=a+32|0;o=t;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];r[a+8>>2]=0;r[a+56>>2]=0;r[a+52>>2]=0;return a|0}function Dj(e,t){e=e|0;t=t|0;var i=0;i=e+32|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Pj(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-64+60>>2]|0);return}function wj(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Aj(e,t,i,n,_,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;return+ +J_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a)}function Fj(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e|0,t)|0}function Rj(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e);return}function Ij(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Bj(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+8>>2]&511](e|0,t,i);return}function Vj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+16>>2]&1023](e|0,t,i,n);return}function Ej(e,t,i,n,_,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return+ +d_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a,p,l,d)}function Nj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+68>>2]&2047](e,t);return}function kj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function Oj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e|0,t);return}function Lj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+80>>2]&2047](e,t);return}function Uj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+84>>2]&1023](e,t,i,n);return}function Gj(e){e=e|0;jnt[r[(r[e>>2]|0)+116>>2]&2047](e);return}function Wj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+124>>2]&2047](e|0,t);return}function zj(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e|0)|0}function Hj(e){e=e|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](e|0);return}function jj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+24>>2]&1023](e|0,t,i,n);return}function Xj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Zj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e|0,t,i,n);return}function Qj(e){e=e|0;return Knt[r[(r[e>>2]|0)+100>>2]&4095](e|0)|0}function qj(e,t){e=e|0;t=t|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,1,-1);return}function Yj(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,i,-1);return}function Jj(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t,i,n);return}function Kj(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+88>>2]&2047](e,t);return}function $j(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=n+32|0;a=r[t+192>>2]|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,t+4|0,_,o);r[s>>2]=21168;r[s+4>>2]=t;r[s+8>>2]=e;r[s+12>>2]=i;i=r[e+76>>2]|0;mrt[r[(r[i>>2]|0)+28>>2]&1023](i,_,o,s|0);d=n;return}function eX(){var e=0,t=0,i=0;while(1){e=hBe(8)|0;if((e|0)!=0){t=4903;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==4903){_[e+4>>1]=1;_[e+6>>1]=-1;r[e>>2]=20096;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function tX(){var e=0,t=0,i=0;while(1){e=hBe(128)|0;if((e|0)!=0){t=4915;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==4915){r[e>>2]=19632;n[e+20|0]=1;r[e+16>>2]=0;r[e+8>>2]=0;r[e+12>>2]=0;n[e+40|0]=1;r[e+36>>2]=0;r[e+28>>2]=0;r[e+32>>2]=0;n[e+60|0]=1;r[e+56>>2]=0;r[e+48>>2]=0;r[e+52>>2]=0;n[e+80|0]=1;r[e+76>>2]=0;r[e+68>>2]=0;r[e+72>>2]=0;n[e+100|0]=1;r[e+96>>2]=0;r[e+88>>2]=0;r[e+92>>2]=0;n[e+120|0]=1;r[e+116>>2]=0;r[e+108>>2]=0;r[e+112>>2]=0;r[e+124>>2]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function iX(e){e=e|0;return r[e+8>>2]|0}function nX(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function _X(e){e=e|0;return r[e+96>>2]|0}function rX(e){e=e|0;return r[e+76>>2]|0}function oX(e,t){e=e|0;t=t|0;n[e+84|0]=t&1;return}function sX(e){e=e|0;return e+28|0}function aX(e){e=e|0;return r[e+4>>2]|0}function pX(e){e=e|0;return r[e+136>>2]|0}function lX(e){e=e|0;return r[e+140>>2]|0}function dX(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function cX(e){e=e|0;return(r[e+4>>2]|0)==31|0}function bX(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function uX(e){e=e|0;return+ +p[e+44>>2]}function mX(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function hX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function fX(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e);return}function gX(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Gye(e|0,t,i,n,_,0.0);return}function CX(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;Gye(e|0,t,i,n,_,r);return}function SX(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+52>>2]&511](e|0,t,0);return}function yX(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i);return}function vX(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0;_=d;d=d+168|0;o=_|0;s=e+24|0;a=r[s>>2]|0;p=drt[r[(r[a>>2]|0)+8>>2]&127](a,t,i,0)|0;if((p|0)==0){d=_;return}r[o+4>>2]=0;r[o+136>>2]=t;r[o+140>>2]=i;a=o+8|0;l=t+4|0;vBe(o+144|0,-1|0,16);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+24|0;a=t+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+40|0;l=t+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+56|0;a=t+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+72|0;l=i+4|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+88|0;a=i+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+104|0;l=i+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+120|0;a=i+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];r[o>>2]=21728;r[o+160>>2]=n;Unt[r[(r[p>>2]|0)+8>>2]&255](p,t,i,e+28|0,o|0);jnt[r[r[p>>2]>>2]&2047](p);o=r[s>>2]|0;Znt[r[(r[o>>2]|0)+60>>2]&2047](o,p);d=_;return}function xX(e){e=e|0;var t=0,i=0;t=d;d=d+16|0;i=t|0;do{if((n[43832]|0)==0){if((ui(43832)|0)==0){break}}}while(0);Znt[r[(r[e>>2]|0)+72>>2]&2047](i,e);e=i;r[9278]=r[e>>2];r[9279]=r[e+4>>2];r[9280]=r[e+8>>2];r[9281]=r[e+12>>2];d=t;return 37112}function MX(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Bye(e,t,i,n,_,r);return}function TX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e,t);return}function DX(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function PX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+132>>2]&2047](e|0,t);return}function wX(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+104>>2]&511](e|0,t)|0}function AX(e){e=e|0;return Knt[r[(r[e>>2]|0)+96>>2]&4095](e)|0}function FX(e,t){e=e|0;t=+t;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,1,.01666666753590107)|0}function RX(e,t,i){e=e|0;t=+t;i=i|0;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,i,.01666666753590107)|0}function IX(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return K_t[r[(r[e>>2]|0)+48>>2]&63](e,t,i,n)|0}function BX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+128>>2]&2047](e|0,t);return}function VX(e){e=e|0;return Knt[r[(r[e>>2]|0)+112>>2]&4095](e)|0}function EX(e,t){e=e|0;t=t|0;Aye(e|0,t);return}function NX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+120>>2]&2047](e|0,t);return}function kX(e){e=e|0;var t=0;t=r[e+76>>2]|0;return Knt[r[(r[t>>2]|0)+36>>2]&4095](t)|0}function OX(e){e=e|0;jnt[r[(r[e>>2]|0)+76>>2]&2047](e);return}function LX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function UX(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+92>>2]&2047](e,t);return}function GX(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;Eye(e,t,i,n,_,r,o,s);return}function WX(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function zX(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+16>>2]&127](e,t,i,n);return}function HX(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e,t,i);return}function jX(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+8>>2]&511](e,t,i);return}function XX(e){e=e|0;var t=0;t=r[e+4>>2]|0;if((r[t+1116>>2]|0)==0){return}if((r[t+1108>>2]|0)==(r[e+136>>2]|0)){nwe(t,e+8|0,e+72|0);return}else{nwe(t,e+72|0,e+8|0);return}}function ZX(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function QX(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43616]|0)==0){if((ui(43616)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9274]=r[t>>2];r[9275]=r[t+4>>2];r[9276]=r[t+8>>2];r[9277]=r[t+12>>2];d=i;return 37096}function qX(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function YX(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0;while(1){o=hBe(196)|0;if((o|0)!=0){s=5e3;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){s=4997;break}prt[a&63]()}if((s|0)==4997){a=Di(4)|0;r[a>>2]=19096;Ht(a|0,34368,676);return 0}else if((s|0)==5e3){Tye(o,e,t,_);r[o+88>>2]=0;r[o+92>>2]=0;r[o+96>>2]=0;p[o+100>>2]=.6000000238418579;p[o+104>>2]=1.0;p[o+108>>2]=.30000001192092896;p[o+116>>2]=0.0;p[o+124>>2]=20.0;r[o+120>>2]=10;p[o+132>>2]=.20000000298023224;p[o+136>>2]=.10000000149011612;p[o+140>>2]=0.0;p[o+128>>2]=1.0;r[o+144>>2]=0;p[o+148>>2]=-.019999999552965164;p[o+152>>2]=0.0;p[o+156>>2]=.8500000238418579;r[o+160>>2]=260;r[o+164>>2]=2;r[o+168>>2]=128;r[o>>2]=22176;r[o+172>>2]=i;n[o+176|0]=0;p[o+180>>2]=0.0;p[o+184>>2]=0.0;p[o+188>>2]=-10.0;p[o+192>>2]=0.0;return o|0}return 0}function JX(){var e=0,t=0,i=0,n=0;while(1){e=hBe(160)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=5011;break}prt[t&63]()}if((i|0)==5011){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=e;r[e>>2]=24e3;t=e+56|0;n=e+8|0;do{n=n+16|0}while((n|0)!=(t|0));t=e+120|0;n=e+72|0;do{n=n+16|0}while((n|0)!=(t|0));vBe(e+144|0,-1|0,16);return i|0}function KX(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0;while(1){i=hBe(160)|0;if((i|0)!=0){n=5030;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==5030){r[i>>2]=24e3;r[i+4>>2]=0;n=i+8|0;_=i+72|0;r[i+136>>2]=e;r[i+140>>2]=t;o=e+4|0;vBe(i+144|0,-1|0,16);r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];o=i+24|0;n=e+20|0;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];n=i+40|0;o=e+36|0;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];o=i+56|0;n=e+52|0;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];n=t+4|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=i+88|0;_=t+20|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=i+104|0;n=t+36|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=i+120|0;_=t+52|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function $X(e){e=e|0;return(r[e+4>>2]|0)<7|0}function eZ(e,t){e=e|0;t=t|0;return+ +p[(r[e+120>>2]|0)+(t<<2)>>2]}function tZ(e){e=e|0;return r[e+92>>2]|0}function iZ(e){e=e|0;return e+12|0}function nZ(e,t){e=e|0;t=t|0;return(r[e+100>>2]|0)+(t<<4)|0}function _Z(e){e=e|0;return(r[e+4>>2]|0)<20|0}function rZ(e){e=e|0;return(r[e+4>>2]|0)==28|0}function oZ(e){e=e|0;return r[e+8>>2]|0}function sZ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function aZ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function pZ(e){e=e|0;return(r[e+4>>2]|0)==32|0}function lZ(e){e=e|0;return e+28|0}function dZ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function cZ(e){e=e|0;return r[e+4>>2]|0}function bZ(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function uZ(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0;_=d;d=d+16|0;r[9806]=(r[9806]|0)+1;o=hBe(147)|0;if((o|0)==0){s=0}else{a=-(o+4|0)&15;r[o+a>>2]=o;s=o+(a+4)|0}a=s;o=_|0;l=s;r[s+8>>2]=0;p[s+12>>2]=1.0;p[s+16>>2]=1.0;p[s+20>>2]=1.0;p[s+24>>2]=0.0;p[s+44>>2]=.03999999910593033;p[s+52>>2]=1.0;p[s+56>>2]=1.0;p[s+60>>2]=1.0;p[s+64>>2]=0.0;p[s+68>>2]=-1.0;p[s+72>>2]=-1.0;p[s+76>>2]=-1.0;p[s+80>>2]=0.0;n[s+84|0]=0;r[s>>2]=23192;c=s+104|0;n[c]=1;b=s+100|0;r[b>>2]=0;u=s+92|0;r[u>>2]=0;m=s+96|0;r[m>>2]=0;h=s+124|0;n[h]=1;f=s+120|0;r[f>>2]=0;g=s+112|0;r[g>>2]=0;C=s+116|0;r[C>>2]=0;r[s+4>>2]=9;s=(i|0)>0;if(s){r[9806]=(r[9806]|0)+1;S=hBe((i<<4|4)+15|0)|0;if((S|0)==0){y=0}else{v=-(S+4|0)&15;r[S+v>>2]=S;y=S+(v+4)|0}v=r[u>>2]|0;if((v|0)>0){S=0;do{x=y+(S<<4)|0;if((x|0)!=0){M=x;x=(r[b>>2]|0)+(S<<4)|0;r[M>>2]=r[x>>2];r[M+4>>2]=r[x+4>>2];r[M+8>>2]=r[x+8>>2];r[M+12>>2]=r[x+12>>2]}S=S+1|0}while((S|0)<(v|0))}v=r[b>>2]|0;if((v|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[v-16+12>>2]|0)}r[b>>2]=0}n[c]=1;r[b>>2]=y;r[m>>2]=i;m=0;c=y;while(1){y=c+(m<<4)|0;if((y|0)!=0){v=y;r[v>>2]=r[o>>2];r[v+4>>2]=r[o+4>>2];r[v+8>>2]=r[o+8>>2];r[v+12>>2]=r[o+12>>2]}v=m+1|0;if((v|0)>=(i|0)){break}m=v;c=r[b>>2]|0}T=r[g>>2]|0}else{T=0}r[u>>2]=i;if((T|0)<(i|0)){if((r[C>>2]|0)<(i|0)){if((i|0)==0){D=0;P=T}else{r[9806]=(r[9806]|0)+1;u=hBe((i<<2)+19|0)|0;if((u|0)==0){w=0}else{c=-(u+4|0)&15;r[u+c>>2]=u;w=u+(c+4)|0}D=w;P=r[g>>2]|0}if((P|0)>0){w=0;do{c=D+(w<<2)|0;if((c|0)!=0){p[c>>2]=+p[(r[f>>2]|0)+(w<<2)>>2]}w=w+1|0}while((w|0)<(P|0))}P=r[f>>2]|0;if((P|0)!=0){if((n[h]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[P-4>>2]|0)}r[f>>2]=0}n[h]=1;r[f>>2]=D;r[C>>2]=i;A=T}else{A=T}do{T=(r[f>>2]|0)+(A<<2)|0;if((T|0)!=0){p[T>>2]=0.0}A=A+1|0}while((A|0)<(i|0))}r[g>>2]=i;if(s){s=0;do{g=(r[b>>2]|0)+(s<<4)|0;A=e+(s<<4)|0;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2];p[(r[f>>2]|0)+(s<<2)>>2]=+p[t+(s<<2)>>2];s=s+1|0}while((s|0)<(i|0))}Zxe(l);d=_;return a|0}function mZ(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function hZ(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43440]|0)==0){if((ui(43440)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9270]=r[t>>2];r[9271]=r[t+4>>2];r[9272]=r[t+8>>2];r[9273]=r[t+12>>2];d=i;return 37080}function fZ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function gZ(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function CZ(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function SZ(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43144]|0)==0){if((ui(43144)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9266]=r[t>>2];r[9267]=r[t+4>>2];r[9268]=r[t+8>>2];r[9269]=r[t+12>>2];d=i;return 37064}function yZ(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function vZ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function xZ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function MZ(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function TZ(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function DZ(e){e=e|0;Zxe(e|0);return}function PZ(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function wZ(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function AZ(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function FZ(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43312]|0)==0){if((ui(43312)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9258]=r[t>>2];r[9259]=r[t+4>>2];r[9260]=r[t+8>>2];r[9261]=r[t+12>>2];d=i;return 37032}function RZ(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 1:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function IZ(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function BZ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function VZ(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function EZ(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function NZ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function kZ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function OZ(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function LZ(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function UZ(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function GZ(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function WZ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+60>>2]&1023](e,t,i,n);return}function zZ(e,t,i,n,_,o,s){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;o=o|0;s=s|0;var a=0,l=0,d=0;while(1){a=hBe(124)|0;if((a|0)!=0){l=5158;break}d=(R=r[10744]|0,r[10744]=R+0,R);if((d|0)==0){break}prt[d&63]()}if((l|0)==5158){l=a;r[a+4>>2]=35;r[a+8>>2]=0;p[a+12>>2]=0.0;r[a>>2]=20552;UDe(l,e,t,i,n/65535.0,0.0,n,_,o?0:5,s);return l|0}l=Di(4)|0;r[l>>2]=19096;Ht(l|0,34368,676);return 0}function HZ(e,t,i,n,_,o,s,a,l){e=e|0;t=t|0;i=i|0;n=+n;_=+_;o=+o;s=s|0;a=a|0;l=l|0;var d=0,c=0,b=0;while(1){d=hBe(124)|0;if((d|0)!=0){c=5170;break}b=(R=r[10744]|0,r[10744]=R+0,R);if((b|0)==0){break}prt[b&63]()}if((c|0)==5170){c=d;r[d+4>>2]=35;r[d+8>>2]=0;p[d+12>>2]=0.0;r[d>>2]=20552;UDe(c,e,t,i,n,_,o,s,a,l);return c|0}c=Di(4)|0;r[c>>2]=19096;Ht(c|0,34368,676);return 0}function jZ(e){e=e|0;return(r[e+4>>2]|0)==31|0}function XZ(e){e=e|0;return(r[e+4>>2]|0)<7|0}function ZZ(e){e=e|0;n[e+101|0]=1;return}function QZ(e,t){e=e|0;t=t|0;n[e+101|0]=t&1;return}function qZ(e){e=e|0;return(r[e+4>>2]|0)<20|0}function YZ(e){e=e|0;return(r[e+4>>2]|0)==28|0}function JZ(e){e=e|0;return r[e+8>>2]|0}function KZ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function $Z(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function eQ(e){e=e|0;return(r[e+4>>2]|0)==32|0}function tQ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function iQ(e){e=e|0;return r[e+4>>2]|0}function nQ(e){e=e|0;return(r[e+4>>2]|0)==31|0}function _Q(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function rQ(e){e=e|0;return+ +p[e+44>>2]}function oQ(e){e=e|0;return(r[e+4>>2]|0)<7|0}function sQ(e){e=e|0;return e+12|0}function aQ(e){e=e|0;return(r[e+4>>2]|0)<20|0}function pQ(e){e=e|0;return(r[e+4>>2]|0)==28|0}function lQ(e){e=e|0;return r[e+8>>2]|0}function dQ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function cQ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function bQ(e){e=e|0;return(r[e+4>>2]|0)==32|0}function uQ(e){e=e|0;return e+28|0}function mQ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function hQ(e){e=e|0;return r[e+4>>2]|0}function fQ(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function gQ(e){e=e|0;return(r[e+4>>2]|0)<7|0}function CQ(e){e=e|0;return(r[e+4>>2]|0)==31|0}function SQ(e){e=e|0;return(r[e+4>>2]|0)<20|0}function yQ(e){e=e|0;return(r[e+4>>2]|0)==28|0}function vQ(e){e=e|0;return r[e+8>>2]|0}function xQ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function MQ(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function TQ(e){e=e|0;return(r[e+4>>2]|0)==32|0}function DQ(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function PQ(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function wQ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function AQ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function FQ(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function RQ(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function IQ(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function BQ(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function VQ(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function EQ(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function NQ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function kQ(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function OQ(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function LQ(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43288]|0)==0){if((ui(43288)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9254]=r[t>>2];r[9255]=r[t+4>>2];r[9256]=r[t+8>>2];r[9257]=r[t+12>>2];d=i;return 37016}function UQ(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function GQ(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function WQ(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function zQ(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43136]|0)==0){if((ui(43136)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9250]=r[t>>2];r[9251]=r[t+4>>2];r[9252]=r[t+8>>2];r[9253]=r[t+12>>2];d=i;return 37e3}function HQ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function jQ(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function XQ(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function ZQ(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43072]|0)==0){if((ui(43072)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9246]=r[t>>2];r[9247]=r[t+4>>2];r[9248]=r[t+8>>2];r[9249]=r[t+12>>2];d=i;return 36984}function QQ(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function qQ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function YQ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function JQ(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function KQ(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function $Q(e){e=e|0;Zxe(e);return}function eq(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function tq(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function iq(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43096]|0)==0){if((ui(43096)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9242]=r[t>>2];r[9243]=r[t+4>>2];r[9244]=r[t+8>>2];r[9245]=r[t+12>>2];d=i;return 36968}function nq(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 0:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 10:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function _q(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function rq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function oq(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function sq(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function aq(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function pq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function lq(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function dq(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function cq(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43736]|0)==0){if((ui(43736)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9238]=r[t>>2];r[9239]=r[t+4>>2];r[9240]=r[t+8>>2];r[9241]=r[t+12>>2];d=i;return 36952}function bq(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function uq(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function mq(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e)|0}function hq(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43592]|0)==0){if((ui(43592)|0)==0){break}}}while(0);qxe(_,e,t);t=_;r[9234]=r[t>>2];r[9235]=r[t+4>>2];r[9236]=r[t+8>>2];r[9237]=r[t+12>>2];d=i;return 36936}function fq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e,t,i,n);return}function gq(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function Cq(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function Sq(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43272]|0)==0){if((ui(43272)|0)==0){break}}}while(0);Qxe(_,e,t);t=_;r[9230]=r[t>>2];r[9231]=r[t+4>>2];r[9232]=r[t+8>>2];r[9233]=r[t+12>>2];d=i;return 36920}function yq(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function vq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function xq(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function Mq(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function Tq(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e,t,i);return}function Dq(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function Pq(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43432]|0)==0){if((ui(43432)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9226]=r[t>>2];r[9227]=r[t+4>>2];r[9228]=r[t+8>>2];r[9229]=r[t+12>>2];d=i;return 36904}function wq(e){e=e|0;var t=0.0;switch(r[e+4>>2]|0){case 13:{t=+p[e+44>>2];break};case 8:{t=+p[e+28>>2]*+p[e+12>>2];break};case 1:{t=+p[e+44>>2];break};case 0:{t=+p[e+44>>2];break};case 10:{t=+p[e+44>>2];break};case 5:case 4:{t=+p[e+44>>2];break};default:{t=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}}return+t}function Aq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function Fq(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Rq(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Iq(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Bq(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Vq(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e,t,i,n);return}function Eq(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Nq(e){e=e|0;return r[e+4>>2]|0}function kq(e,t){e=e|0;t=t|0;r[e+20>>2]=t;return}function Oq(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Lq(e){e=e|0;return r[e+20>>2]|0}function Uq(e){e=e|0;return r[e+4>>2]|0}function Gq(e,t){e=e|0;t=t|0;r[e+28>>2]=t;return}function Wq(e){e=e|0;return r[e+24>>2]|0}function zq(e,t){e=e|0;t=t|0;r[e+24>>2]=t;return}function Hq(e){e=e|0;return r[e+16>>2]|0}function jq(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function Xq(e){e=e|0;return r[e+28>>2]|0}function Zq(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function Qq(e){e=e|0;return r[e+8>>2]|0}function qq(e){e=e|0;return r[e>>2]|0}function Yq(e,t){e=e|0;t=t|0;r[e+16>>2]=t;return}function Jq(e){e=e|0;return r[e+12>>2]|0}function Kq(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function $q(e){e=e|0;return e+32|0}function eY(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Unt[r[(r[e>>2]|0)+8>>2]&255](e,t,i,n,0);return}function tY(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+8>>2]&255](e,t,i,n,_);return}function iY(e){e=e|0;if((e|0)==0){return}SBe(e);return}function nY(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+56>>2]&511](e,t)|0}function _Y(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+40>>2]&511](e,t)|0}function rY(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function oY(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function sY(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function aY(e){e=e|0;return Knt[r[(r[e>>2]|0)+44>>2]&4095](e)|0}function pY(e,t,i){e=e|0;t=t|0;i=i|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,0)|0}function lY(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,n)|0}function dY(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+28>>2]&511](e,t,i)|0}function cY(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+12>>2]&511](e,t,i)|0}function bY(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,n);return}function uY(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function mY(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+24>>2]&511](e,t,i)|0}function hY(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function fY(e){e=e|0;if((e|0)==0){return}SBe(e);return}function gY(e,t){e=e|0;t=t|0;var i=0;i=e;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function CY(){var e=0,t=0,i=0;while(1){e=hBe(32)|0;if((e|0)!=0){t=5374;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==5374){r[e>>2]=0;r[e+4>>2]=0;r[e+8>>2]=0;r[e+12>>2]=4096;r[e+16>>2]=4096;r[e+20>>2]=0;r[e+24>>2]=0;r[e+28>>2]=1;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function SY(){var e=0,t=0,i=0;while(1){e=hBe(84)|0;if((e|0)!=0){t=5386;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==5386){return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function yY(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0;while(1){_=hBe(84)|0;if((_|0)!=0){o=5398;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]()}if((o|0)==5398){o=_+16|0;s=e;vBe(_|0,0,16);r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];a=-0.0-+p[t>>2];l=-0.0-+p[t+4>>2];d=-0.0-+p[t+8>>2];p[_+32>>2]=a;p[_+36>>2]=l;p[_+40>>2]=d;p[_+44>>2]=0.0;c=+p[o>>2];b=+p[i>>2]*c;u=+p[_+20>>2];m=+p[i+4>>2]*u;h=+p[_+24>>2];f=+p[i+8>>2]*h;p[_+48>>2]=b;p[_+52>>2]=m;p[_+56>>2]=f;p[_+60>>2]=0.0;g=+p[n>>2]*a;C=+p[n+4>>2]*l;S=+p[n+8>>2]*d;p[_+64>>2]=g;p[_+68>>2]=C;p[_+72>>2]=S;p[_+76>>2]=0.0;p[_+80>>2]=b*c+m*u+f*h+(g*a+C*l+S*d);return _|0}_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}function vY(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,l=0.0,d=0.0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0;while(1){o=hBe(84)|0;if((o|0)!=0){s=5410;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==5410){vBe(o|0,0,16);s=e|0;l=+p[s>>2];a=e+4|0;d=+p[a>>2];c=e+8|0;b=+p[c>>2];u=+p[t>>2]*l+ +p[t+4>>2]*d+ +p[t+8>>2]*b;m=+p[t+16>>2]*l+ +p[t+20>>2]*d+ +p[t+24>>2]*b;h=+p[t+32>>2]*l+ +p[t+36>>2]*d+ +p[t+40>>2]*b;p[o+16>>2]=u;p[o+20>>2]=m;p[o+24>>2]=h;p[o+28>>2]=0.0;b=-0.0-+p[s>>2];d=-0.0-+p[a>>2];l=-0.0-+p[c>>2];f=+p[i>>2]*b+ +p[i+4>>2]*d+ +p[i+8>>2]*l;g=+p[i+16>>2]*b+ +p[i+20>>2]*d+ +p[i+24>>2]*l;C=+p[i+32>>2]*b+ +p[i+36>>2]*d+ +p[i+40>>2]*l;p[o+32>>2]=f;p[o+36>>2]=g;p[o+40>>2]=C;p[o+44>>2]=0.0;l=+p[n>>2]*u;d=+p[n+4>>2]*m;b=+p[n+8>>2]*h;p[o+48>>2]=l;p[o+52>>2]=d;p[o+56>>2]=b;p[o+60>>2]=0.0;S=+p[_>>2]*f;y=+p[_+4>>2]*g;v=+p[_+8>>2]*C;p[o+64>>2]=S;p[o+68>>2]=y;p[o+72>>2]=v;p[o+76>>2]=0.0;p[o+80>>2]=l*u+d*m+b*h+(S*f+y*g+v*C);return o|0}o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}function xY(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=+o;var s=0,a=0,l=0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0,f=0.0,g=0.0,C=0.0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0.0,w=0.0,A=0.0;while(1){s=hBe(84)|0;if((s|0)!=0){a=5422;break}l=(R=r[10744]|0,r[10744]=R+0,R);if((l|0)==0){break}prt[l&63]()}if((a|0)==5422){a=n;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];d=+p[t+4>>2];a=n+8|0;c=+p[a>>2];b=+p[t+8>>2];l=n+4|0;u=+p[l>>2];m=d*c-b*u;h=n|0;f=+p[h>>2];g=+p[t>>2];C=b*f-g*c;c=g*u-d*f;t=e|0;n=e+4|0;S=e+8|0;f=+p[t>>2]*m+ +p[n>>2]*C+ +p[S>>2]*c;y=e+16|0;v=e+20|0;x=e+24|0;d=+p[y>>2]*m+ +p[v>>2]*C+ +p[x>>2]*c;M=e+32|0;T=e+36|0;D=e+40|0;u=+p[M>>2]*m+ +p[T>>2]*C+ +p[D>>2]*c;p[s+16>>2]=f;p[s+20>>2]=d;p[s+24>>2]=u;p[s+28>>2]=0.0;c=-0.0-+p[h>>2];C=-0.0-+p[l>>2];m=-0.0-+p[a>>2];g=+p[i+4>>2];b=+p[i+8>>2];P=g*m-b*C;w=+p[i>>2];A=b*c-w*m;m=w*C-g*c;c=+p[y>>2]*P+ +p[v>>2]*A+ +p[x>>2]*m;g=+p[M>>2]*P+ +p[T>>2]*A+ +p[D>>2]*m;p[s+32>>2]=+p[t>>2]*P+ +p[n>>2]*A+ +p[S>>2]*m;p[s+36>>2]=c;p[s+40>>2]=g;p[s+44>>2]=0.0;g=+p[_>>2]*f;c=+p[_+4>>2]*d;m=+p[_+8>>2]*u;p[s+48>>2]=g;p[s+52>>2]=c;p[s+56>>2]=m;vBe(s+60|0,0,20);p[s+80>>2]=g*f+c*d+m*u+o;return s|0}s=Di(4)|0;r[s>>2]=19096;Ht(s|0,34368,676);return 0}function MY(e){e=e|0;return e|0}function TY(e){e=e|0;return+ +p[e+80>>2]}function DY(e,t){e=e|0;t=+t;p[e+80>>2]=t;return}function PY(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+(+p[i>>2]*+p[e+16>>2]+ +p[_>>2]*+p[e+32>>2]+(+p[t>>2]-+p[n>>2])*+p[e>>2]+(+p[i+4>>2]*+p[e+20>>2]+ +p[_+4>>2]*+p[e+36>>2]+(+p[t+4>>2]-+p[n+4>>2])*+p[e+4>>2])+(+p[i+8>>2]*+p[e+24>>2]+ +p[_+8>>2]*+p[e+40>>2]+(+p[t+8>>2]-+p[n+8>>2])*+p[e+8>>2])+1.1920928955078125e-7)}function wY(e){e=e|0;return+ +p[e+80>>2]}function AY(e,t,i){e=e|0;t=t|0;i=+i;return+((+p[e>>2]*+p[t>>2]+ +p[e+4>>2]*+p[t+4>>2]+ +p[e+8>>2]*+p[t+8>>2])*i+(+p[e+48>>2]*+p[t+16>>2]+ +p[e+52>>2]*+p[t+20>>2]+ +p[e+56>>2]*+p[t+24>>2]))}function FY(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;var _=0.0,r=0.0,o=0.0;_=+p[e>>2]*+p[t>>2];r=+p[e+4>>2]*+p[t+4>>2];o=+p[e+8>>2]*+p[t+8>>2];return+(+p[e+48>>2]*+p[t+16>>2]+ +p[e+64>>2]*+p[t+32>>2]+_*i+_*n+(+p[e+52>>2]*+p[t+20>>2]+ +p[e+68>>2]*+p[t+36>>2]+r*i+r*n)+(+p[e+56>>2]*+p[t+24>>2]+ +p[e+72>>2]*+p[t+40>>2]+o*i+o*n))}function RY(e){e=e|0;return e+48|0}function IY(e){e=e|0;return e+16|0}function BY(e){e=e|0;return e+64|0}function VY(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function EY(e,t){e=e|0;t=t|0;return(r[e>>2]|0)==(r[t>>2]|0)|0}function NY(e){e=e|0;return r[e>>2]|0}function kY(e){e=e|0;var t=0;t=r[e>>2]|0;e=t+~(t<<15)|0;t=(e^e>>10)*9|0;e=t^t>>6;t=e+~(e<<11)|0;return t^t>>16|0}function OY(e){e=e|0;return(n[e+4|0]&1)!=0|0}function LY(e,t){e=e|0;t=t|0;n[e+4|0]=t&1;return}function UY(e,t){e=e|0;t=t|0;r[e+76>>2]=t;return}function GY(e){e=e|0;return r[e+24>>2]|0}function WY(e){e=e|0;return e+28|0}function zY(e){e=e|0;return e+4|0}function HY(e){e=e|0;return(n[e+84|0]&1)!=0|0}function jY(e){e=e|0;return r[e+8>>2]|0}function XY(e){e=e|0;return r[e+76>>2]|0}function ZY(e,t){e=e|0;t=t|0;n[e+84|0]=t&1;return}function QY(e,t){e=e|0;t=t|0;var i=0;do{if((r[e+176+(t<<2)>>2]|0)==0){if((n[e+108+t|0]&1)==0){i=0}else{break}return i|0}}while(0);i=1;return i|0}function qY(e){e=e|0;return e+144|0}function YY(e){e=e|0;return e+160|0}function JY(e){e=e|0;return e+76|0}function KY(e){e=e|0;return e+92|0}function $Y(e){e=e|0;return e|0}function eJ(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function tJ(e,t){e=e|0;t=t|0;var i=0;i=e+32|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function iJ(e,t){e=e|0;t=t|0;var i=0;i=e+64|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function nJ(e,t){e=e|0;t=t|0;var i=0;i=e+48|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function _J(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+8>>2]&511](e,t,i)|0}function rJ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n)|0}function oJ(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+16>>2]&511](e,t,i);return}function sJ(e){e=e|0;if((e|0)==0){return}SBe(e);return}function aJ(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function pJ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,n)|0}function lJ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e,t);return}function dJ(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0}function cJ(e){e=e|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](e);return}function bJ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+24>>2]&1023](e,t,i,n);return}function uJ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e,t,i,n);return}function mJ(e,t){e=e|0;t=t|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,1,-1);return}function hJ(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,-1);return}function fJ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,n);return}function gJ(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=n+32|0;a=r[t+192>>2]|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,t+4|0,_,o);r[s>>2]=21168;r[s+4>>2]=t;r[s+8>>2]=e;r[s+12>>2]=i;i=r[e+76>>2]|0;mrt[r[(r[i>>2]|0)+28>>2]&1023](i,_,o,s|0);d=n;return}function CJ(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function SJ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function yJ(e){e=e|0;jnt[r[(r[e>>2]|0)+20>>2]&2047](e);return}function vJ(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Gye(e,t,i,n,_,0.0);return}function xJ(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;Gye(e,t,i,n,_,r);return}function MJ(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0;_=d;d=d+168|0;o=_|0;s=e+24|0;a=r[s>>2]|0;p=drt[r[(r[a>>2]|0)+8>>2]&127](a,t,i,0)|0;if((p|0)==0){d=_;return}r[o+4>>2]=0;r[o+136>>2]=t;r[o+140>>2]=i;a=o+8|0;l=t+4|0;vBe(o+144|0,-1|0,16);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+24|0;a=t+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+40|0;l=t+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+56|0;a=t+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+72|0;l=i+4|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+88|0;a=i+20|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=o+104|0;l=i+36|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=o+120|0;a=i+52|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];r[o>>2]=21728;r[o+160>>2]=n;Unt[r[(r[p>>2]|0)+8>>2]&255](p,t,i,e+28|0,o|0);jnt[r[r[p>>2]>>2]&2047](p);o=r[s>>2]|0;Znt[r[(r[o>>2]|0)+60>>2]&2047](o,p);d=_;return}function TJ(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Bye(e,t,i,n,_,r);return}function DJ(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function PJ(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;Eye(e,t,i,n,_,r,o,s);return}function wJ(e,t){e=e|0;t=t|0;Aye(e,t);return}function AJ(e){e=e|0;var t=0;t=r[e+76>>2]|0;return Knt[r[(r[t>>2]|0)+36>>2]&4095](t)|0}function FJ(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function RJ(e,t){e=e|0;t=t|0;var i=0;i=e+144|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function IJ(e,t){e=e|0;t=t|0;var i=0;i=e+76|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function BJ(e,t){e=e|0;t=t|0;var i=0;i=e+92|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function VJ(e,t){e=e|0;t=t|0;var i=0;i=e+128|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function EJ(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=+s;a=a|0;p=+p;var l=0,d=0,c=0;while(1){l=hBe(84)|0;if((l|0)!=0){d=5520;break}c=(R=r[10744]|0,r[10744]=R+0,R);if((c|0)==0){break}prt[c&63]()}if((d|0)==5520){d=l;Sue(d,e,t,i,n,_,o,s,a,p);return d|0}d=Di(4)|0;r[d>>2]=19096;Ht(d|0,34368,676);return 0}function NJ(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(4)|0;if((t|0)!=0){i=5532;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){break}prt[n&63]()}if((i|0)==5532){r[t>>2]=e;return t|0}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}function kJ(){var e=0,t=0,i=0;while(1){e=hBe(8)|0;if((e|0)!=0){t=5544;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==5544){r[e>>2]=19992;n[e+4|0]=0;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function OJ(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;while(1){n=hBe(88)|0;if((n|0)!=0){_=5556;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){_=5553;break}prt[o&63]()}if((_|0)==5553){o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}else if((_|0)==5556){_=n;Tye(_,e,t,i);return _|0}return 0}function LJ(e,t,i){e=e|0;t=t|0;i=+i;var n=0.0,_=0.0,o=0,s=0;n=+p[e+(t<<2)>>2];_=+p[e+16+(t<<2)>>2];if(n>_){r[e+176+(t<<2)>>2]=0;p[e+144+(t<<2)>>2]=0.0;o=0;return o|0}if(n>i){r[e+176+(t<<2)>>2]=2;p[e+144+(t<<2)>>2]=i-n;o=2;return o|0}s=e+176+(t<<2)|0;if(_<i){r[s>>2]=1;p[e+144+(t<<2)>>2]=i-_;o=1;return o|0}else{r[s>>2]=0;p[e+144+(t<<2)>>2]=0.0;o=0;return o|0}return 0}function UJ(e,t){e=e|0;t=+t;p[e+56>>2]=t;return}function GJ(e,t){e=e|0;t=+t;p[e+48>>2]=t;return}function WJ(e){e=e|0;return+ +p[e+56>>2]}function zJ(e){e=e|0;return e+112|0}function HJ(e){e=e|0;return e+128|0}function jJ(e,t){e=e|0;t=+t;p[e+52>>2]=t;return}function XJ(e){e=e|0;return e+16|0}function ZJ(e){e=e|0;return+ +p[e+52>>2]}function QJ(e){e=e|0;return e+60|0}function qJ(e,t){e=e|0;t=t|0;return+p[e+16+(t<<2)>>2]>=+p[e+(t<<2)>>2]|0}function YJ(e){e=e|0;return e+32|0}function JJ(e){e=e|0;return+ +p[e+48>>2]}function KJ(e,t,i,n,_,r,o,s,a,l){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;l=l|0;var d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0,C=0,S=0,y=0,v=0.0,x=0,M=0.0,T=0,D=0,P=0,w=0,A=0.0,F=0,R=0.0,I=0,B=0.0,V=0,E=0.0,N=0,k=0.0,O=0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0;d=+p[l>>2];c=d-+p[n+52>>2];b=+p[l+4>>2];u=b-+p[n+56>>2];m=+p[l+8>>2];h=m-+p[n+60>>2];f=d-+p[r+52>>2];d=b-+p[r+56>>2];b=m-+p[r+60>>2];l=n+504|0;g=n+508|0;C=n+512|0;S=n+520|0;m=+p[n+320>>2]+ +p[S>>2];y=n+524|0;v=+p[n+324>>2]+ +p[y>>2];x=n+528|0;M=+p[n+328>>2]+ +p[x>>2];T=r+504|0;D=r+508|0;P=r+512|0;w=r+520|0;A=+p[r+320>>2]+ +p[w>>2];F=r+524|0;R=+p[r+324>>2]+ +p[F>>2];I=r+528|0;B=+p[r+328>>2]+ +p[I>>2];V=a|0;E=+p[V>>2];N=a+4|0;k=+p[N>>2];O=a+8|0;L=+p[O>>2];U=L*(+p[n+312>>2]+ +p[C>>2]+(u*m-c*v)-(+p[r+312>>2]+ +p[P>>2]+(d*A-f*R)))+(E*(+p[n+304>>2]+ +p[l>>2]+(h*v-u*M)-(+p[r+304>>2]+ +p[T>>2]+(b*R-d*B)))+k*(+p[n+308>>2]+ +p[g>>2]+(c*M-h*m)-(+p[r+308>>2]+ +p[D>>2]+(f*B-b*A))));A=-0.0-(E*(+p[_>>2]-+p[o>>2])+k*(+p[_+4>>2]-+p[o+4>>2])+L*(+p[_+8>>2]-+p[o+8>>2]));L=+p[e+(s<<2)>>2];k=+p[e+16+(s<<2)>>2];do{if(L<k){if(k<A){G=A-k;W=0.0;z=999999984306749400.0;break}if(L>A){G=A-L;W=-999999984306749400.0;z=0.0;break}else{H=0.0;return+H}}else{G=A;W=-999999984306749400.0;z=999999984306749400.0}}while(0);o=e+32+(s<<2)|0;A=+p[o>>2];L=A+ +p[e+48>>2]*(G*+p[e+56>>2]/t-U*+p[e+52>>2])*i;if(L>z){j=0.0}else{j=L<W?0.0:L}p[o>>2]=j;L=j-A;A=+p[V>>2];j=+p[N>>2];W=+p[O>>2];z=u*W-h*j;i=h*A-c*W;h=c*j-u*A;u=d*W-b*j;c=b*A-f*W;b=f*j-d*A;d=+p[n+336>>2];if(d!=0.0){f=i*+p[n+292>>2]+z*+p[n+288>>2]+h*+p[n+296>>2];U=i*+p[n+276>>2]+z*+p[n+272>>2]+h*+p[n+280>>2];t=i*+p[n+260>>2]+z*+p[n+256>>2]+h*+p[n+264>>2];p[l>>2]=L*A*d+ +p[l>>2];p[g>>2]=L*j*d+ +p[g>>2];p[C>>2]=L*W*d+ +p[C>>2];d=U*L*+p[n+540>>2];U=f*L*+p[n+544>>2];p[S>>2]=t*L*+p[n+536>>2]+ +p[S>>2];p[y>>2]=d+ +p[y>>2];p[x>>2]=U+ +p[x>>2]}U=+p[r+336>>2];d=-0.0-L;if(U==0.0){H=L;return+H}t=c*+p[r+292>>2]+u*+p[r+288>>2]+b*+p[r+296>>2];f=c*+p[r+276>>2]+u*+p[r+272>>2]+b*+p[r+280>>2];W=c*+p[r+260>>2]+u*+p[r+256>>2]+b*+p[r+264>>2];b=U*+p[N>>2]*d;u=U*+p[O>>2]*d;p[T>>2]=+p[T>>2]+U*+p[V>>2]*d;p[D>>2]=b+ +p[D>>2];p[P>>2]=u+ +p[P>>2];u=f*+p[r+540>>2]*d;f=t*+p[r+544>>2]*d;p[w>>2]=W*+p[r+536>>2]*d+ +p[w>>2];p[F>>2]=u+ +p[F>>2];p[I>>2]=f+ +p[I>>2];H=L;return+H}function $J(e){e=e|0;return(r[e+4>>2]|0)==31|0}function eK(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function tK(e){e=e|0;return+ +p[e+44>>2]}function iK(e){e=e|0;return(r[e+4>>2]|0)<7|0}function nK(e){e=e|0;return e+12|0}function _K(e){e=e|0;return(r[e+4>>2]|0)<20|0}function rK(e){e=e|0;return(r[e+4>>2]|0)==28|0}function oK(e){e=e|0;return r[e+8>>2]|0}function sK(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function aK(e,t){e=e|0;t=t|0;var i=0;i=e+160|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function pK(e,t){e=e|0;t=t|0;var i=0;i=e+32|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function lK(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function dK(e){e=e|0;if((e|0)==0){return}SBe(e);return}function cK(e,t){e=e|0;t=t|0;var i=0;i=e+60|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function bK(e,t){e=e|0;t=t|0;var i=0;i=e+112|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function uK(e,t){e=e|0;t=t|0;var i=0;i=e;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function mK(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function hK(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function fK(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43568]|0)==0){if((ui(43568)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9222]=r[t>>2];r[9223]=r[t+4>>2];r[9224]=r[t+8>>2];r[9225]=r[t+12>>2];d=i;return 36888}function gK(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function CK(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function SK(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e)|0}function yK(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43392]|0)==0){if((ui(43392)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9214]=r[t>>2];r[9215]=r[t+4>>2];r[9216]=r[t+8>>2];r[9217]=r[t+12>>2];d=i;return 36856}function vK(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function xK(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function MK(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function TK(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43128]|0)==0){if((ui(43128)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9210]=r[t>>2];r[9211]=r[t+4>>2];r[9212]=r[t+8>>2];r[9213]=r[t+12>>2];d=i;return 36840}function DK(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function PK(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function wK(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function AK(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function FK(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function RK(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e,t,i);return}function IK(){var e=0,t=0,i=0,_=0;while(1){e=hBe(188)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=5652;break}prt[t&63]()}if((i|0)==5652){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=e;vBe(e|0,0,48);vBe(e+60|0,0,16);p[e+76>>2]=.20000000298023224;p[e+80>>2]=.20000000298023224;p[e+84>>2]=.20000000298023224;vBe(e+88|0,0,20);p[e+48>>2]=.699999988079071;p[e+52>>2]=1.0;p[e+56>>2]=.5;t=e+112|0;_=e+128|0;e=0;while(1){if((e|0)>=3){break}n[i+108+e|0]=0;p[t+(e<<2)>>2]=0.0;p[_+(e<<2)>>2]=0.0;e=e+1|0}return i|0}function BK(e){e=e|0;var t=0,i=0,_=0,o=0;while(1){t=hBe(188)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){_=5667;break}prt[i&63]()}if((_|0)==5667){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}_=t;i=e;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=t+16|0;o=e+16|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];o=t+32|0;i=e+32|0;r[o>>2]=r[i>>2];r[o+4>>2]=r[i+4>>2];r[o+8>>2]=r[i+8>>2];r[o+12>>2]=r[i+12>>2];p[t+48>>2]=+p[e+48>>2];p[t+52>>2]=+p[e+52>>2];p[t+56>>2]=+p[e+56>>2];i=t+60|0;o=e+60|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];o=t+76|0;i=e+76|0;r[o>>2]=r[i>>2];r[o+4>>2]=r[i+4>>2];r[o+8>>2]=r[i+8>>2];r[o+12>>2]=r[i+12>>2];i=t+92|0;o=e+92|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];o=t+112|0;i=t+128|0;t=0;while(1){if((t|0)>=3){break}n[_+108+t|0]=n[e+108+t|0]&1;p[o+(t<<2)>>2]=+p[e+112+(t<<2)>>2];p[i+(t<<2)>>2]=+p[e+128+(t<<2)>>2];t=t+1|0}return _|0}function VK(e,t){e=e|0;t=t|0;return(r[e>>2]|0)==(r[t>>2]|0)|0}function EK(e){e=e|0;return r[e>>2]|0}function NK(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function kK(e){e=e|0;return(r[e+4>>2]|0)==32|0}function OK(e){e=e|0;return e+28|0}function LK(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function UK(e){e=e|0;return r[e+4>>2]|0}function GK(e){e=e|0;var t=0;t=r[e>>2]|0;e=t+~(t<<15)|0;t=(e^e>>10)*9|0;e=t^t>>6;t=e+~(e<<11)|0;return t^t>>16|0}function WK(e){e=e|0;return+ +p[e+224>>2]}function zK(e){e=e|0;return+ +p[e+220>>2]}function HK(e,t){e=e|0;t=t|0;r[e+212>>2]=t;return}function jK(e){e=e|0;return+ +p[e+244>>2]}function XK(e,t){e=e|0;t=+t;p[e+224>>2]=t;return}function ZK(e,t){e=e|0;t=t|0;r[e+196>>2]=t;return}function QK(e,t){e=e|0;t=+t;p[e+184>>2]=t;return}function qK(e){e=e|0;return e+132|0}function YK(e){e=e|0;return(r[e+204>>2]&7|0)==0|0}function JK(e,t){e=e|0;t=+t;p[e+248>>2]=t;return}function KK(e){e=e|0;return r[e+208>>2]|0}function $K(e){e=e|0;return r[e+260>>2]|0}function e$(e,t){e=e|0;t=t|0;r[e+236>>2]=t;return}function t$(e){e=e|0;return e+148|0}function i$(e,t){e=e|0;t=t|0;r[e+216>>2]=t;return}function n$(e){e=e|0;var t=0;if((r[e+204>>2]&3|0)!=0){return}t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function _$(e,t){e=e|0;t=t|0;do{if(!t){if((r[e+204>>2]&3|0)==0){break}return}}while(0);t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function r$(e,t){e=e|0;t=t|0;r[e+208>>2]=t;return}function o$(e,t){e=e|0;t=+t;p[e+240>>2]=t;return}function s$(e){e=e|0;return e+68|0}function a$(e){e=e|0;return+ +p[e+240>>2]}function p$(e,t){e=e|0;t=t|0;return r[(r[e+268>>2]|0)+(t<<2)>>2]|0}function l$(e){e=e|0;return(r[e+204>>2]&1|0)!=0|0}function d$(e){e=e|0;return r[e+192>>2]|0}function c$(e){e=e|0;return r[e+216>>2]|0}function b$(e){e=e|0;return r[e+188>>2]|0}function u$(e){e=e|0;return+ +p[e+228>>2]}function m$(e){e=e|0;return r[e+236>>2]|0}function h$(e,t){e=e|0;t=+t;p[e+244>>2]=t;return}function f$(e){e=e|0;return e+4|0}function g$(e){e=e|0;var t=0.0;t=+p[e+248>>2];return+(t*t)}function C$(e,t){e=e|0;t=t|0;r[e+192>>2]=t;return}function S$(e){e=e|0;return+ +p[e+248>>2]}function y$(e){e=e|0;return r[e+212>>2]|0}function v$(e){e=e|0;var t=0;t=r[e+216>>2]|0;return((t|0)==2?0:(t|0)!=5)|0}function x$(e){e=e|0;return r[e+232>>2]|0}function M$(e){e=e|0;return(r[e+204>>2]&4|0)==0|0}function T$(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function D$(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43248]|0)==0){if((ui(43248)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9206]=r[t>>2];r[9207]=r[t+4>>2];r[9208]=r[t+8>>2];r[9209]=r[t+12>>2];d=i;return 36824}function P$(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 13:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function w$(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function A$(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function F$(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function R$(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function I$(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e,t,i,n);return}function B$(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function V$(e){e=e|0;if((e|0)==0){return}SBe(e);return}function E$(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,0);return}function N$(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,n);return}function k$(e,t){e=e|0;t=t|0;var i=0;i=e+132|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function O$(e,t){e=e|0;t=t|0;var i=0;i=e+148|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function L$(){var e=0,t=0,i=0,_=0,o=0,s=0,a=0,l=0;r[9806]=(r[9806]|0)+1;e=hBe(299)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}i=t;p[t+164>>2]=1.0;p[t+168>>2]=1.0;p[t+172>>2]=1.0;p[t+176>>2]=0.0;r[t+180>>2]=0;p[t+184>>2]=999999984306749400.0;vBe(t+188|0,0,16);r[t+204>>2]=1;r[t+208>>2]=-1;r[t+212>>2]=-1;r[t+216>>2]=1;p[t+220>>2]=0.0;p[t+224>>2]=.5;p[t+228>>2]=0.0;r[t+236>>2]=0;p[t+240>>2]=1.0;p[t+244>>2]=0.0;p[t+248>>2]=0.0;r[t+252>>2]=0;p[t+4>>2]=1.0;vBe(t+8|0,0,16);p[t+24>>2]=1.0;vBe(t+28|0,0,16);p[t+44>>2]=1.0;vBe(t+48|0,0,20);n[t+272|0]=1;r[t+268>>2]=0;r[t+260>>2]=0;r[t+264>>2]=0;r[t+232>>2]=4;r[t>>2]=21080;r[9806]=(r[9806]|0)+1;e=hBe(95)|0;if((e|0)==0){_=0;o=t+276|0;s=o;r[s>>2]=_;return i|0}a=-(e+4|0)&15;l=e+(a+4)|0;r[e+a>>2]=e;if((l|0)==0){_=0;o=t+276|0;s=o;r[s>>2]=_;return i|0}e=l;RPe(e);_=e;o=t+276|0;s=o;r[s>>2]=_;return i|0}function U$(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+68|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+84|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+100|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+116|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function G$(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function W$(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+28>>2]&511](e,t,0);return}function z$(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+28>>2]&511](e,t,i);return}function H$(e,t){e=e|0;t=t|0;var i=0;if((r[e+252>>2]|0)==0){i=1;return i|0}i=j_t[r[r[e>>2]>>2]&511](e|0,t)|0;return i|0}function j$(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0;_=d;d=d+128|0;o=_|0;s=_+64|0;p[o>>2]=1.0;vBe(o+4|0,0,16);p[o+20>>2]=1.0;vBe(o+24|0,0,16);p[o+40>>2]=1.0;r[o+44>>2]=0;a=o+48|0;l=t;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];p[s>>2]=1.0;vBe(s+4|0,0,16);p[s+20>>2]=1.0;vBe(s+24|0,0,16);p[s+40>>2]=1.0;r[s+44>>2]=0;l=s+48|0;a=i;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=e+260|0;if((r[a>>2]|0)<=0){d=_;return}l=e+268|0;e=n;i=0;do{t=r[(r[l>>2]|0)+(i<<2)>>2]|0;if(j_t[r[(r[e>>2]|0)+8>>2]&511](n,r[t+188>>2]|0)|0){Bye(o,s,t,r[t+192>>2]|0,t+4|0,n)}i=i+1|0}while((i|0)<(r[a>>2]|0));d=_;return}function X$(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e|0)|0}function Z$(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;IDe(e|0,t,i,n,_,0.0);return}function Q$(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;IDe(e|0,t,i,n,_,r);return}function q$(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+164|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];do{if(+p[t>>2]!=1.0){_=1}else{if(+p[t+4>>2]!=1.0){_=1;break}_=+p[t+8>>2]!=1.0|0}}while(0);r[e+180>>2]=_;return}function Y$(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+4|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+20|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+36|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+52|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function J$(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+20>>2]&511](e|0,t,i)|0}function K$(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function $$(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function e0(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(8)|0;if((t|0)!=0){i=5820;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){break}prt[n&63]()}if((i|0)==5820){r[t>>2]=e;return t|0}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}function t0(e){e=e|0;var t=0;if((r[e+232>>2]|0)==4){t=e}else{t=0}return t|0}function i0(e,t){e=e|0;t=t|0;var i=0;i=e+216|0;if(((r[i>>2]|0)-4|0)>>>0<2){return}r[i>>2]=t;return}function n0(e){e=e|0;return r[e+200>>2]|0}function _0(e){e=e|0;return+ +p[e+184>>2]}function r0(e){e=e|0;return r[e+204>>2]|0}function o0(e){e=e|0;return r[e+276>>2]|0}function s0(e){e=e|0;return e+164|0}function a0(e,t){e=e|0;t=+t;p[e+220>>2]=t;return}function p0(e){e=e|0;return r[e+196>>2]|0}function l0(e,t){e=e|0;t=t|0;r[e+204>>2]=t;return}function d0(e){e=e|0;return(r[e+204>>2]&3|0)!=0|0}function c0(e,t){e=e|0;t=+t;p[e+228>>2]=t;return}function b0(e){e=e|0;return(r[e+180>>2]|0)!=0|0}function u0(e,t){e=e|0;t=t|0;r[e+188>>2]=t;return}function m0(e){e=e|0;return(r[e+204>>2]&2|0)!=0|0}function h0(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function f0(e){e=e|0;return(r[e+4>>2]|0)==31|0}function g0(e){e=e|0;return(r[e+4>>2]|0)<7|0}function C0(e){e=e|0;return e+48|0}function S0(e){e=e|0;return(r[e+4>>2]|0)<20|0}function y0(e){e=e|0;return(r[e+4>>2]|0)==28|0}function v0(e){e=e|0;return r[e+8>>2]|0}function x0(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function M0(e){e=e|0;return+ +p[e+64>>2]}function T0(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function D0(e){e=e|0;return(r[e+4>>2]|0)==32|0}function P0(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function w0(e){e=e|0;return r[e+4>>2]|0}function A0(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function F0(e){e=e|0;return(r[e+4>>2]|0)==31|0}function R0(e){e=e|0;return(r[e+4>>2]|0)<7|0}function I0(e){e=e|0;return(r[e+4>>2]|0)<20|0}function B0(e){e=e|0;return(r[e+4>>2]|0)==28|0}function V0(e){e=e|0;return r[e+8>>2]|0}function E0(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function N0(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function k0(e){e=e|0;return(r[e+4>>2]|0)==32|0}function O0(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function L0(e){e=e|0;return r[e+4>>2]|0}function U0(e){e=e|0;return r[e+28>>2]|0}function G0(e){e=e|0;return r[e+12>>2]|0}function W0(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function z0(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function H0(e){e=e|0;return e+40|0}function j0(e,t){e=e|0;t=t|0;return+ +p[e+1248+(t<<2)>>2]}function X0(e){e=e|0;return e+104|0}function Z0(e){e=e|0;return e+1056|0}function Q0(e){e=e|0;return r[e+12>>2]|0}function q0(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e,t)|0}function Y0(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function J0(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function K0(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function $0(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+60>>2]&1023](e,t,i,n);return}function e2(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function t2(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function i2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function n2(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function _2(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function r2(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function o2(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function s2(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function a2(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function p2(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function l2(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function d2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function c2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e,t);return}function b2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function u2(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+8>>2]&511](e|0,t,i)|0}function m2(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+16>>2]&511](e|0,t,i);return}function h2(e){e=e|0;return Knt[r[(r[e>>2]|0)+56>>2]&4095](e)|0}function f2(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function g2(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function C2(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+40>>2]&511](e,t,i);return}function S2(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+32>>2]&511](e,t,i);return}function y2(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function v2(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n)|0}function x2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+44>>2]&2047](e,t);return}function M2(e){e=e|0;return Knt[r[(r[e>>2]|0)+20>>2]&4095](e)|0}function T2(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+48>>2]&511](e,t,i);return}function D2(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function P2(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function w2(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function A2(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function F2(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function R2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function I2(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function B2(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e,t)}function V2(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function E2(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function N2(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e,t,i,n,_,r,o);return}function k2(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e,t,_);d=n;return}function O2(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e)}function L2(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e,t);return}function U2(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function G2(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function W2(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function z2(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;hhe(e,t,i,n,_,r,o,s);return}function H2(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0;while(1){i=hBe(84)|0;if((i|0)!=0){n=5939;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==5939){n=i+4|0;r[n>>2]=35;r[i+8>>2]=0;p[i+12>>2]=0.0;r[i>>2]=22976;o=+p[e>>2];s=+p[e+4>>2];a=+p[e+8>>2];l=1.0/+j(+(o*o+s*s+a*a));p[i+48>>2]=o*l;p[i+52>>2]=s*l;p[i+56>>2]=a*l;p[i+60>>2]=0.0;p[i+64>>2]=t;vBe(i+68|0,0,16);r[n>>2]=28;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function j2(e,t){e=e|0;t=+t;return}function X2(e){e=e|0;return r[e+24>>2]|0}function Z2(e){e=e|0;return+ +p[e+16>>2]}function Q2(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=3){break}p[t+(i<<2)>>2]=+p[e+860+(i<<6)>>2];i=i+1|0}return}function q2(e){e=e|0;return+ +p[e+32>>2]}function Y2(e){e=e|0;return(n[e+20|0]&1)!=0|0}function J2(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function K2(e){e=e|0;return r[e+4>>2]|0}function $2(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function e1(e,t){e=e|0;t=t|0;n[e+1293|0]=t&1;return}function t1(e){e=e|0;return(n[e+21|0]&1)!=0|0}function i1(e){e=e|0;return r[e+4>>2]|0}function n1(e,t){e=e|0;t=t|0;return e+860+(t<<6)|0}function _1(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+1300|0]&1)==0){r[i>>2]=6;r[t+4>>2]=0;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function r1(e){e=e|0;return+ +p[e+36>>2]}function o1(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function s1(e,t){e=e|0;t=t|0;var i=0,n=0;if((t|0)<3){i=+p[e+688+(t<<2)>>2]>=+p[e+672+(t<<2)>>2];return i|0}n=t-3|0;if(+p[e+860+(n<<6)>>2]>+p[e+860+(n<<6)+4>>2]){i=0;return i|0}i=1;return i|0}function a1(e){e=e|0;return(n[e+1293|0]&1)!=0|0}function p1(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function l1(e){e=e|0;return e+1120|0}function d1(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function c1(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function b1(e){e=e|0;return(n[e+1300|0]&1)!=0|0}function u1(e){e=e|0;return+ +p[e+32>>2]}function m1(e,t){e=e|0;t=t|0;n[e+1300|0]=t&1;return}function h1(e){e=e|0;return e+672|0}function f1(e,t){e=e|0;t=t|0;return+ +p[e+1184+(t<<2)>>2]}function g1(e,t){e=e|0;t=t|0;var i=0;i=0;while(1){if((i|0)>=3){break}p[t+(i<<2)>>2]=+p[e+860+(i<<6)+4>>2];i=i+1|0}return}function C1(e){e=e|0;return r[e+4>>2]|0}function S1(e){e=e|0;return r[e+8>>2]|0}function y1(e){e=e|0;return r[e+12>>2]|0}function v1(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function x1(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function M1(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function T1(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function D1(e){e=e|0;jnt[r[(r[e>>2]|0)+44>>2]&2047](e);return}function P1(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function w1(e,t){e=e|0;t=t|0;do{if((n[43848]|0)==0){if((ui(43848)|0)==0){break}}}while(0);TBe(36808,e+1200+(t<<4)|0,16);return 36808}function A1(e,t){e=e|0;t=t|0;var i=0;i=t;t=e+688|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];return}function F1(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function R1(e,t){e=e|0;t=t|0;var i=0;i=e+672|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function I1(e,t){e=e|0;t=t|0;var i=0;i=t;t=e+672|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];return}function B1(e){e=e|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function V1(e,t,i){e=e|0;t=t|0;i=i|0;ihe(e,t,i);return}function E1(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return che(e,t,i,n,_,r,o,s,a,p,l,d,0)|0}function N1(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return che(e,t,i,n,_,r,o,s,a,p,l,d,c)|0}function k1(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;Ou(e,t,i,n);return}function O1(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function L1(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function U1(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=0;while(1){if((i|0)>=3){break}n=+Bi(+ +p[t+(i<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[e+860+(i<<6)>>2]=_;i=i+1|0}return}function G1(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n);return}function W1(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=e+40|0;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+56|0;n=t+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+72|0;_=t+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+88|0;n=t+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+104|0;_=i;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+120|0;n=i+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+136|0;_=i+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+152|0;n=i+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];jnt[r[(r[e>>2]|0)+8>>2]&2047](e);ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function z1(e,t){e=e|0;t=t|0;var i=0;i=e+688|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function H1(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=0;while(1){if((i|0)>=3){break}n=+Bi(+ +p[t+(i<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[e+860+(i<<6)+4>>2]=_;i=i+1|0}return}function j1(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0;_=d;d=d+112|0;o=_|0;s=_+48|0;a=i&1;while(1){l=hBe(1304)|0;if((l|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){c=6041;break}prt[i&63]()}if((c|0)==6041){c=Di(4)|0;r[c>>2]=19096;Ht(c|0,34368,676);return 0}c=l;i=s;Pge();r[l+4>>2]=6;r[l+8>>2]=-1;r[l+12>>2]=-1;p[l+16>>2]=3.4028234663852886e+38;n[l+20|0]=1;n[l+21|0]=0;b=l+24|0;r[b>>2]=41520;u=l+28|0;r[u>>2]=e;p[l+32>>2]=0.0;p[l+36>>2]=.30000001192092896;r[l>>2]=21400;m=l+104|0;h=t;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];h=l+120|0;f=t+16|0;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];f=l+136|0;h=t+32|0;r[f>>2]=r[h>>2];r[f+4>>2]=r[h+4>>2];r[f+8>>2]=r[h+8>>2];r[f+12>>2]=r[h+12>>2];h=l+152|0;f=t+48|0;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];f=l+40|0;vBe(l+672|0,0,48);vBe(l+732|0,0,16);p[l+748>>2]=.20000000298023224;p[l+752>>2]=.20000000298023224;p[l+756>>2]=.20000000298023224;vBe(l+760|0,0,20);p[l+720>>2]=.699999988079071;p[l+724>>2]=1.0;p[l+728>>2]=.5;n[l+780|0]=0;p[l+784>>2]=0.0;p[l+800>>2]=0.0;n[l+781|0]=0;p[l+788>>2]=0.0;p[l+804>>2]=0.0;n[l+782|0]=0;p[l+792>>2]=0.0;p[l+808>>2]=0.0;p[l+920>>2]=0.0;p[l+868>>2]=0.0;p[l+872>>2]=.10000000149011612;p[l+876>>2]=300.0;p[l+860>>2]=1.0;p[l+864>>2]=-1.0;p[l+888>>2]=0.0;p[l+892>>2]=.20000000298023224;p[l+896>>2]=0.0;p[l+900>>2]=0.0;p[l+880>>2]=1.0;p[l+884>>2]=.5;r[l+916>>2]=0;p[l+908>>2]=0.0;n[l+904|0]=0;p[l+984>>2]=0.0;p[l+932>>2]=0.0;p[l+936>>2]=.10000000149011612;p[l+940>>2]=300.0;p[l+924>>2]=1.0;p[l+928>>2]=-1.0;p[l+952>>2]=0.0;p[l+956>>2]=.20000000298023224;p[l+960>>2]=0.0;p[l+964>>2]=0.0;p[l+944>>2]=1.0;p[l+948>>2]=.5;r[l+980>>2]=0;p[l+972>>2]=0.0;n[l+968|0]=0;p[l+1048>>2]=0.0;p[l+996>>2]=0.0;p[l+1e3>>2]=.10000000149011612;p[l+1004>>2]=300.0;p[l+988>>2]=1.0;p[l+992>>2]=-1.0;p[l+1016>>2]=0.0;p[l+1020>>2]=.20000000298023224;p[l+1024>>2]=0.0;p[l+1028>>2]=0.0;p[l+1008>>2]=1.0;p[l+1012>>2]=.5;r[l+1044>>2]=0;p[l+1036>>2]=0.0;n[l+1032|0]=0;n[l+1292|0]=a;n[l+1293|0]=1;r[l+1296>>2]=0;n[l+1300|0]=0;a=e+4|0;h=o;gue(o,a|0,m);g=+p[l+152>>2];C=+p[l+156>>2];S=+p[l+160>>2];y=+p[a>>2]*g+ +p[e+8>>2]*C+ +p[e+12>>2]*S+ +p[e+52>>2];v=+p[e+20>>2]*g+ +p[e+24>>2]*C+ +p[e+28>>2]*S+ +p[e+56>>2];x=+p[e+36>>2]*g+ +p[e+40>>2]*C+ +p[e+44>>2]*S+ +p[e+60>>2];e=s+48|0;a=s|0;do{a=a+16|0}while((a|0)!=(e|0));r[i>>2]=r[h>>2];r[i+4>>2]=r[h+4>>2];r[i+8>>2]=r[h+8>>2];r[i+12>>2]=r[h+12>>2];h=s+16|0;e=o+16|0;r[h>>2]=r[e>>2];r[h+4>>2]=r[e+4>>2];r[h+8>>2]=r[e+8>>2];r[h+12>>2]=r[e+12>>2];e=s+32|0;a=o+32|0;r[e>>2]=r[a>>2];r[e+4>>2]=r[a+4>>2];r[e+8>>2]=r[a+8>>2];r[e+12>>2]=r[a+12>>2];p[s+48>>2]=y;p[s+52>>2]=v;p[s+56>>2]=x;p[s+60>>2]=0.0;r[f>>2]=r[i>>2];r[f+4>>2]=r[i+4>>2];r[f+8>>2]=r[i+8>>2];r[f+12>>2]=r[i+12>>2];i=l+56|0;r[i>>2]=r[h>>2];r[i+4>>2]=r[h+4>>2];r[i+8>>2]=r[h+8>>2];r[i+12>>2]=r[h+12>>2];h=l+72|0;r[h>>2]=r[e>>2];r[h+4>>2]=r[e+4>>2];r[h+8>>2]=r[e+8>>2];r[h+12>>2]=r[e+12>>2];e=l+88|0;l=s+48|0;r[e>>2]=r[l>>2];r[e+4>>2]=r[l+4>>2];r[e+8>>2]=r[l+8>>2];r[e+12>>2]=r[l+12>>2];ihe(c,(r[b>>2]|0)+4|0,(r[u>>2]|0)+4|0);d=_;return c|0}function X1(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;while(1){o=hBe(1304)|0;if((o|0)!=0){s=6060;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==6060){s=o;the(s,e,t,i,n,_);return s|0}s=Di(4)|0;r[s>>2]=19096;Ht(s|0,34368,676);return 0}function Z1(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function Q1(e,t){e=e|0;t=t|0;var i=0,n=0;i=r[t>>2]|0;t=r[e>>2]|0;n=r[i+4>>2]|0;r[t>>2]=r[i>>2];r[t+4>>2]=n;return e|0}function q1(e,t){e=e|0;t=t|0;p[e>>2]=+p[t>>2];p[e+4>>2]=+p[t+16>>2];p[e+8>>2]=+p[t+32>>2];p[e+12>>2]=0.0;p[e+16>>2]=+p[t+4>>2];p[e+20>>2]=+p[t+20>>2];p[e+24>>2]=+p[t+36>>2];p[e+28>>2]=0.0;p[e+32>>2]=+p[t+8>>2];p[e+36>>2]=+p[t+24>>2];p[e+40>>2]=+p[t+40>>2];p[e+44>>2]=0.0;p[e+48>>2]=+p[t+48>>2];p[e+52>>2]=+p[t+52>>2];p[e+56>>2]=+p[t+56>>2];p[e+60>>2]=0.0;return}function Y1(e){e=e|0;return e+48|0}function J1(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=0;while(1){if((i|0)<3){n=0}else{_=0;break}while(1){if((n|0)>=4){break}p[e+(i<<4)+(n<<2)>>2]=+l[t+(i<<5)+(n<<3)>>3];n=n+1|0}i=i+1|0}while(1){if((_|0)>=4){break}p[e+48+(_<<2)>>2]=+l[t+96+(_<<3)>>3];_=_+1|0}return}function K1(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=0;while(1){if((i|0)<3){n=0}else{_=0;break}while(1){if((n|0)>=4){break}p[e+(i<<4)+(n<<2)>>2]=+p[t+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}while(1){if((_|0)>=4){break}p[e+48+(_<<2)>>2]=+p[t+48+(_<<2)>>2];_=_+1|0}return}function $1(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0;n=+p[t>>2];_=+p[t+4>>2];o=+p[t+8>>2];s=1.0/+j(+(n*n+_*_+o*o));a=n*s;n=_*s;_=o*s;s=+p[i>>2];o=+p[i+4>>2];l=+p[i+8>>2];d=1.0/+j(+(s*s+o*o+l*l));c=s*d;s=o*d;o=l*d;d=_*s-n*o;l=a*o-_*c;b=n*c-a*s;i=r[e+24>>2]|0;u=+p[i+4>>2];m=+p[i+20>>2];h=+p[i+36>>2];f=+p[i+8>>2];g=+p[i+24>>2];C=+p[i+40>>2];S=+p[i+12>>2];y=+p[i+28>>2];v=+p[i+44>>2];x=-0.0-+p[i+52>>2];M=-0.0-+p[i+56>>2];T=-0.0-+p[i+60>>2];p[e+40>>2]=u*d+l*m+b*h;p[e+44>>2]=c*u+s*m+o*h;p[e+48>>2]=a*u+n*m+_*h;p[e+52>>2]=0.0;p[e+56>>2]=d*f+l*g+b*C;p[e+60>>2]=c*f+s*g+o*C;p[e+64>>2]=a*f+n*g+_*C;p[e+68>>2]=0.0;p[e+72>>2]=d*S+l*y+b*v;p[e+76>>2]=c*S+s*y+o*v;p[e+80>>2]=a*S+n*y+_*v;p[e+84>>2]=0.0;p[e+88>>2]=u*0.0+m*0.0+h*0.0+(u*x+m*M+h*T);p[e+92>>2]=f*0.0+g*0.0+C*0.0+(f*x+g*M+C*T);p[e+96>>2]=S*0.0+y*0.0+v*0.0+(S*x+y*M+v*T);p[e+100>>2]=0.0;t=r[e+28>>2]|0;T=+p[t+4>>2];v=+p[t+20>>2];M=+p[t+36>>2];y=+p[t+8>>2];x=+p[t+24>>2];S=+p[t+40>>2];C=+p[t+12>>2];g=+p[t+28>>2];f=+p[t+44>>2];h=-0.0-+p[t+52>>2];m=-0.0-+p[t+56>>2];u=-0.0-+p[t+60>>2];p[e+104>>2]=d*T+l*v+b*M;p[e+108>>2]=c*T+s*v+o*M;p[e+112>>2]=a*T+n*v+_*M;p[e+116>>2]=0.0;p[e+120>>2]=d*y+l*x+b*S;p[e+124>>2]=c*y+s*x+o*S;p[e+128>>2]=a*y+n*x+_*S;p[e+132>>2]=0.0;p[e+136>>2]=d*C+l*g+b*f;p[e+140>>2]=c*C+s*g+o*f;p[e+144>>2]=a*C+n*g+_*f;p[e+148>>2]=0.0;p[e+152>>2]=T*0.0+v*0.0+M*0.0+(T*h+v*m+M*u);p[e+156>>2]=y*0.0+x*0.0+S*0.0+(y*h+x*m+S*u);p[e+160>>2]=C*0.0+g*0.0+f*0.0+(C*h+g*m+f*u);p[e+164>>2]=0.0;ihe(e,i+4|0,t+4|0);return}function e4(e,t){e=e|0;t=t|0;return _he(e,t)|0}function t4(e){e=e|0;hi(r[e>>2]|0,0)|0;return}function i4(e){e=e|0;var t=0;if((e|0)==0){return}t=r[e>>2]|0;if((t|0)!=0){SBe(t)}SBe(e);return}function n4(e){e=e|0;var t=0,i=0,n=0;t=d;d=d+8|0;i=t|0;hi(i|0,0)|0;n=r[e>>2]|0;d=t;return(((r[i+4>>2]|0)-(r[n+4>>2]|0)|0)/1e3|0)+(((r[i>>2]|0)-(r[n>>2]|0)|0)*1e3|0)|0}function _4(e){e=e|0;var t=0,i=0,n=0;t=d;d=d+8|0;i=t|0;hi(i|0,0)|0;n=r[e>>2]|0;d=t;return(r[i+4>>2]|0)-(r[n+4>>2]|0)+(((r[i>>2]|0)-(r[n>>2]|0)|0)*1e6|0)|0}function r4(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+16|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+32|0;e=t+32|0;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function o4(e){e=e|0;var t=0,i=0;t=d;d=d+16|0;i=t|0;do{if((n[43944]|0)==0){if((ui(43944)|0)==0){break}}}while(0);mn(e|0,i);e=i;r[9198]=r[e>>2];r[9199]=r[e+4>>2];r[9200]=r[e+8>>2];r[9201]=r[e+12>>2];d=t;return 36792}function s4(e){e=e|0;var t=0,i=0,_=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0;t=d;d=d+112|0;i=t|0;_=t+48|0;do{if((n[44048]|0)==0){if((ui(44048)|0)==0){break}else{o=36728}do{o=o+16|0}while((o|0)!=36776)}}while(0);o=i;tn(i,e|0,e+16|0,e+32|0,e+4|0,e+20|0,e+36|0,e+8|0,e+24|0,e+40|0);s=-0.0-+p[e+48>>2];a=-0.0-+p[e+52>>2];l=-0.0-+p[e+56>>2];c=+p[i>>2]*s+ +p[i+4>>2]*a+ +p[i+8>>2]*l;b=+p[i+16>>2]*s+ +p[i+20>>2]*a+ +p[i+24>>2]*l;u=+p[i+32>>2]*s+ +p[i+36>>2]*a+ +p[i+40>>2]*l;e=_+48|0;m=_|0;do{m=m+16|0}while((m|0)!=(e|0));e=_;r[e>>2]=r[o>>2];r[e+4>>2]=r[o+4>>2];r[e+8>>2]=r[o+8>>2];r[e+12>>2]=r[o+12>>2];o=_+16|0;m=i+16|0;r[o>>2]=r[m>>2];r[o+4>>2]=r[m+4>>2];r[o+8>>2]=r[m+8>>2];r[o+12>>2]=r[m+12>>2];m=_+32|0;o=i+32|0;r[m>>2]=r[o>>2];r[m+4>>2]=r[o+4>>2];r[m+8>>2]=r[o+8>>2];r[m+12>>2]=r[o+12>>2];p[_+48>>2]=c;p[_+52>>2]=b;p[_+56>>2]=u;p[_+60>>2]=0.0;r[9182]=r[e>>2];r[9183]=r[e+4>>2];r[9184]=r[e+8>>2];r[9185]=r[e+12>>2];e=_+16|0;r[9186]=r[e>>2];r[36748>>2]=r[e+4>>2];r[36752>>2]=r[e+8>>2];r[36756>>2]=r[e+12>>2];e=_+32|0;r[9190]=r[e>>2];r[36764>>2]=r[e+4>>2];r[36768>>2]=r[e+8>>2];r[36772>>2]=r[e+12>>2];e=_+48|0;r[9194]=r[e>>2];r[36780>>2]=r[e+4>>2];r[36784>>2]=r[e+8>>2];r[36788>>2]=r[e+12>>2];d=t;return 36728}function a4(){wR();return 42752}function p4(){var e=0,t=0,i=0,n=0,_=0;while(1){e=hBe(4)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=6114;break}prt[t&63]()}if((i|0)==6114){t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676);return 0}t=e;while(1){n=hBe(8)|0;if((n|0)!=0){i=6128;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){i=6126;break}prt[_&63]()}if((i|0)==6126){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}else if((i|0)==6128){r[e>>2]=n;hi(n|0,0)|0;return t|0}return 0}function l4(e){e=e|0;var t=0,i=0,n=0,_=0,o=0;while(1){t=hBe(4)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){n=6140;break}prt[i&63]()}if((n|0)==6140){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=t;while(1){_=hBe(8)|0;if((_|0)!=0){n=6154;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){break}prt[o&63]()}if((n|0)==6154){r[t>>2]=_;t=r[e>>2]|0;e=_;_=r[t+4>>2]|0;r[e>>2]=r[t>>2];r[e+4>>2]=_;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function d4(e,t){e=e|0;t=t|0;p[t>>2]=+p[e>>2];p[t+4>>2]=+p[e+16>>2];p[t+8>>2]=+p[e+32>>2];p[t+12>>2]=0.0;p[t+16>>2]=+p[e+4>>2];p[t+20>>2]=+p[e+20>>2];p[t+24>>2]=+p[e+36>>2];p[t+28>>2]=0.0;p[t+32>>2]=+p[e+8>>2];p[t+36>>2]=+p[e+24>>2];p[t+40>>2]=+p[e+40>>2];p[t+44>>2]=0.0;p[t+48>>2]=+p[e+48>>2];p[t+52>>2]=+p[e+52>>2];p[t+56>>2]=+p[e+56>>2];p[t+60>>2]=1.0;return}function c4(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=0;while(1){if((i|0)<3){n=0}else{_=0;break}while(1){if((n|0)>=4){break}p[t+(i<<4)+(n<<2)>>2]=+p[e+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}while(1){if((_|0)>=4){break}p[t+48+(_<<2)>>2]=+p[e+48+(_<<2)>>2];_=_+1|0}return}function b4(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=0;while(1){if((i|0)<3){n=0}else{_=0;break}while(1){if((n|0)>=4){break}p[e+(i<<4)+(n<<2)>>2]=+p[t+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}while(1){if((_|0)>=4){break}p[e+48+(_<<2)>>2]=+p[t+48+(_<<2)>>2];_=_+1|0}return}function u4(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=0;while(1){if((i|0)<3){n=0}else{_=0;break}while(1){if((n|0)>=4){break}p[t+(i<<4)+(n<<2)>>2]=+p[e+(i<<4)+(n<<2)>>2];n=n+1|0}i=i+1|0}while(1){if((_|0)>=4){break}p[t+48+(_<<2)>>2]=+p[e+48+(_<<2)>>2];_=_+1|0}return}function m4(e){e=e|0;return e|0}function h4(e){e=e|0;return+ +p[e+104>>2]}function f4(e){e=e|0;return(n[e+116|0]&1)!=0|0}function g4(e,t){e=e|0;t=+t;p[e>>2]=t;return}function C4(e,t){e=e|0;t=t|0;n[e+116|0]=t&1;return}function S4(e,t){e=e|0;t=+t;p[e+112>>2]=t;return}function y4(e,t){e=e|0;t=+t;p[e+96>>2]=t;return}function v4(e){e=e|0;return+ +p[e+108>>2]}function x4(e,t){e=e|0;t=+t;p[e+100>>2]=t;return}function M4(e){e=e|0;return+ +p[e+92>>2]}function T4(e){e=e|0;return+ +p[e+96>>2]}function D4(e){e=e|0;return+ +p[e>>2]}function P4(e,t){e=e|0;t=+t;p[e+92>>2]=t;return}function w4(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0;i=d;d=d+112|0;_=i|0;o=i+48|0;do{if((n[43936]|0)==0){if((ui(43936)|0)==0){break}else{s=36664}do{s=s+16|0}while((s|0)!=36712)}}while(0);s=_;a=+p[t+48>>2]-+p[e+48>>2];l=+p[t+52>>2]-+p[e+52>>2];c=+p[t+56>>2]-+p[e+56>>2];bn(_,e|0,t|0);b=+p[e>>2]*a+ +p[e+16>>2]*l+ +p[e+32>>2]*c;u=+p[e+4>>2]*a+ +p[e+20>>2]*l+ +p[e+36>>2]*c;m=+p[e+8>>2]*a+ +p[e+24>>2]*l+ +p[e+40>>2]*c;e=o+48|0;t=o|0;do{t=t+16|0}while((t|0)!=(e|0));e=o;r[e>>2]=r[s>>2];r[e+4>>2]=r[s+4>>2];r[e+8>>2]=r[s+8>>2];r[e+12>>2]=r[s+12>>2];s=o+16|0;t=_+16|0;r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];t=o+32|0;s=_+32|0;r[t>>2]=r[s>>2];r[t+4>>2]=r[s+4>>2];r[t+8>>2]=r[s+8>>2];r[t+12>>2]=r[s+12>>2];p[o+48>>2]=b;p[o+52>>2]=u;p[o+56>>2]=m;p[o+60>>2]=0.0;r[9166]=r[e>>2];r[9167]=r[e+4>>2];r[9168]=r[e+8>>2];r[9169]=r[e+12>>2];e=o+16|0;r[9170]=r[e>>2];r[36684>>2]=r[e+4>>2];r[36688>>2]=r[e+8>>2];r[36692>>2]=r[e+12>>2];e=o+32|0;r[9174]=r[e>>2];r[36700>>2]=r[e+4>>2];r[36704>>2]=r[e+8>>2];r[36708>>2]=r[e+12>>2];e=o+48|0;r[9178]=r[e>>2];r[36716>>2]=r[e+4>>2];r[36720>>2]=r[e+8>>2];r[36724>>2]=r[e+12>>2];d=i;return 36664}function A4(e,t){e=e|0;t=t|0;var i=0.0,_=0.0,r=0.0,o=0.0,s=0.0;do{if((n[44088]|0)==0){if((ui(44088)|0)==0){break}}}while(0);i=+p[t>>2];_=+p[t+4>>2];r=+p[t+8>>2];o=+p[e+16>>2]*i+ +p[e+20>>2]*_+ +p[e+24>>2]*r+ +p[e+52>>2];s=+p[e+32>>2]*i+ +p[e+36>>2]*_+ +p[e+40>>2]*r+ +p[e+56>>2];p[9162]=+p[e>>2]*i+ +p[e+4>>2]*_+ +p[e+8>>2]*r+ +p[e+48>>2];p[9163]=o;p[9164]=s;p[9165]=0.0;return 36648}function F4(e,t){e=e|0;t=t|0;Tn(e|0,t);return}function R4(e){e=e|0;I4(e);return}function I4(e){e=e|0;p[e>>2]=1.0;vBe(e+4|0,0,16);p[e+20>>2]=1.0;vBe(e+24|0,0,16);p[e+40>>2]=1.0;p[e+44>>2]=0.0;vBe(e+48|0,0,16);return}function B4(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+16|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+32|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+48|0;i=t+48|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];return e|0}function V4(e,t){e=e|0;t=t|0;var i=0,_=0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0;i=d;d=d+48|0;_=i|0;do{if((n[44e3]|0)==0){if((ui(44e3)|0)==0){break}}}while(0);r=+p[t>>2]-+p[e+48>>2];o=+p[t+4>>2]-+p[e+52>>2];s=+p[t+8>>2]-+p[e+56>>2];tn(_,e|0,e+16|0,e+32|0,e+4|0,e+20|0,e+36|0,e+8|0,e+24|0,e+40|0);a=+p[_+16>>2]*r+ +p[_+20>>2]*o+ +p[_+24>>2]*s;l=+p[_+32>>2]*r+ +p[_+36>>2]*o+ +p[_+40>>2]*s;p[9158]=+p[_>>2]*r+ +p[_+4>>2]*o+ +p[_+8>>2]*s;p[9159]=a;p[9160]=l;p[9161]=0.0;d=i;return 36632}function E4(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0;n=d;d=d+48|0;_=n|0;o=_;gue(_,t|0,i|0);s=e;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];o=e+16|0;s=_+16|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=e+32|0;o=_+32|0;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];a=+p[i+48>>2];l=+p[i+52>>2];c=+p[i+56>>2];b=+p[t+16>>2]*a+ +p[t+20>>2]*l+ +p[t+24>>2]*c+ +p[t+52>>2];u=+p[t+32>>2]*a+ +p[t+36>>2]*l+ +p[t+40>>2]*c+ +p[t+56>>2];p[e+48>>2]=+p[t>>2]*a+ +p[t+4>>2]*l+ +p[t+8>>2]*c+ +p[t+48>>2];p[e+52>>2]=b;p[e+56>>2]=u;p[e+60>>2]=0.0;d=n;return}function N4(e){e=e|0;if((e|0)==0){return}SBe(e);return}function k4(e,t){e=e|0;t=t|0;var i=0;i=e+48|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function O4(){var e=0,t=0,i=0,n=0;while(1){e=hBe(64)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=6229;break}prt[t&63]()}if((i|0)==6229){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=e;t=e+48|0;n=e;do{n=n+16|0}while((n|0)!=(t|0));return i|0}function L4(e){e=e|0;var t=0,i=0,n=0,_=0,o=0;while(1){t=hBe(64)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){n=6243;break}prt[i&63]()}if((n|0)==6243){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}n=t;i=t+48|0;_=i;o=t;do{o=o+16|0}while((o|0)!=(_|0));_=e;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=t+16|0;o=e+16|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=t+32|0;t=e+32|0;r[o>>2]=r[t>>2];r[o+4>>2]=r[t+4>>2];r[o+8>>2]=r[t+8>>2];r[o+12>>2]=r[t+12>>2];t=e+48|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];return n|0}function U4(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0;while(1){i=hBe(64)|0;if((i|0)!=0){break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){_=6257;break}prt[n&63]()}if((_|0)==6257){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}_=i;n=i;o=i+48|0;s=o;a=i;do{a=a+16|0}while((a|0)!=(s|0));Tn(n,e);e=t;r[o>>2]=r[e>>2];r[o+4>>2]=r[e+4>>2];r[o+8>>2]=r[e+8>>2];r[o+12>>2]=r[e+12>>2];return _|0}function G4(e,t,i){e=+e;t=t|0;i=i|0;var _=0,o=0,s=0,a=0;while(1){_=hBe(136)|0;if((_|0)!=0){break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){s=6271;break}prt[o&63]()}if((s|0)==6271){s=Di(4)|0;r[s>>2]=19096;Ht(s|0,34368,676);return 0}s=_;p[_>>2]=e;r[_+4>>2]=t;t=_+8|0;o=_+56|0;a=t;do{a=a+16|0}while((a|0)!=(o|0));r[_+72>>2]=i;vBe(_+76|0,0,24);p[_+100>>2]=.5;p[_+104>>2]=0.0;p[_+108>>2]=.800000011920929;p[_+112>>2]=1.0;n[_+116|0]=0;p[_+120>>2]=.004999999888241291;p[_+124>>2]=.009999999776482582;p[_+128>>2]=.009999999776482582;p[_+132>>2]=.009999999776482582;I4(t);return s|0}function W4(e,t){e=e|0;t=+t;p[e+104>>2]=t;return}function z4(e){e=e|0;return+ +p[e+132>>2]}function H4(e){e=e|0;return+ +p[e+128>>2]}function j4(e,t){e=e|0;t=t|0;r[e+72>>2]=t;return}function X4(e,t){e=e|0;t=+t;p[e+128>>2]=t;return}function Z4(e,t){e=e|0;t=+t;p[e+124>>2]=t;return}function Q4(e){e=e|0;return r[e+72>>2]|0}function q4(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function Y4(e){e=e|0;return+ +p[e+100>>2]}function J4(e,t){e=e|0;t=+t;p[e+108>>2]=t;return}function K4(e){e=e|0;return e+8|0}function $4(e){e=e|0;return e+76|0}function e3(e){e=e|0;return r[e+4>>2]|0}function t3(e){e=e|0;return+ +p[e+120>>2]}function i3(e){e=e|0;return+ +p[e+124>>2]}function n3(e,t){e=e|0;t=+t;p[e+120>>2]=t;return}function _3(e){e=e|0;return+ +p[e+112>>2]}function r3(e,t){e=e|0;t=+t;p[e+132>>2]=t;return}function o3(e){e=e|0;return r[e+20>>2]|0}function s3(e){e=e|0;return r[e+4>>2]|0}function a3(e){e=e|0;return r[e>>2]|0}function p3(e){e=e|0;return+ +p[e+8>>2]}function l3(e){e=e|0;return r[e+28>>2]|0}function d3(e){e=e|0;return r[e+24>>2]|0}function c3(e){e=e|0;return+ +p[e+128>>2]}function b3(e){e=e|0;return e|0}function u3(e){e=e|0;return e+64|0}function m3(e,t){e=e|0;t=t|0;r[e+132>>2]=t;return}function h3(e){e=e|0;return r[e+132>>2]|0}function f3(e,t){e=e|0;t=+t;p[e+128>>2]=t;return}function g3(e){e=e|0;return e+32|0}function C3(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+8|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+24|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+40|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+56|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function S3(e,t){e=e|0;t=t|0;var i=0;i=e+76|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function y3(e){e=e|0;if((e|0)==0){return}SBe(e);return}function v3(e){e=e|0;$Ie(e);return}function x3(e){e=e|0;if((e|0)==0){return}eBe(e);SBe(e);return}function M3(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0;t=d;d=d+8|0;i=t|0;n=e+16|0;_=(r[n>>2]|0)-1|0;r[n>>2]=_;if((_|0)!=0){o=_;s=(o|0)==0;d=t;return s|0}if((r[e+4>>2]|0)==0){o=0;s=(o|0)==0;d=t;return s|0}hi(i|0,0)|0;_=r[10742]|0;a=e+8|0;p[a>>2]=+(((r[i+4>>2]|0)-(r[_+4>>2]|0)+(((r[i>>2]|0)-(r[_>>2]|0)|0)*1e6|0)-(r[e+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[a>>2];o=r[n>>2]|0;s=(o|0)==0;d=t;return s|0}function T3(e){e=e|0;var t=0,i=0;t=e+24|0;i=r[t>>2]|0;if((i|0)!=0){eBe(i);SBe(i)}r[t>>2]=0;t=e+28|0;e=r[t>>2]|0;if((e|0)==0){r[t>>2]=0;return}eBe(e);SBe(e);r[t>>2]=0;return}function D3(e){e=e|0;var t=0,i=0,n=0,_=0;t=d;d=d+8|0;i=t|0;n=e+4|0;r[n>>2]=(r[n>>2]|0)+1;n=e+16|0;_=r[n>>2]|0;r[n>>2]=_+1;if((_|0)!=0){d=t;return}hi(i|0,0)|0;_=r[10742]|0;r[e+12>>2]=(r[i+4>>2]|0)-(r[_+4>>2]|0)+(((r[i>>2]|0)-(r[_>>2]|0)|0)*1e6|0);d=t;return}function P3(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+64|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+80|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+96|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+112|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function w3(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+16|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+32|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+48|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function A3(e){e=e|0;if((e|0)==0){return}SBe(e);return}function F3(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function R3(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(95)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}_=n;aSe(_,e,t,1);return _|0}function I3(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;r[9806]=(r[9806]|0)+1;n=hBe(95)|0;if((n|0)==0){_=0}else{o=-(n+4|0)&15;r[n+o>>2]=n;_=n+(o+4)|0}o=_;aSe(o,e,t,i);return o|0}function B3(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;r[9806]=(r[9806]|0)+1;_=hBe(95)|0;if((_|0)==0){o=0}else{s=-(_+4|0)&15;r[_+s>>2]=_;o=_+(s+4)|0}s=o;pSe(s,e,t,i,n,1);return s|0}function V3(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;r[9806]=(r[9806]|0)+1;o=hBe(95)|0;if((o|0)==0){s=0}else{a=-(o+4|0)&15;r[o+a>>2]=o;s=o+(a+4)|0}a=s;pSe(a,e,t,i,n,_);return a|0}function E3(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+76>>2]&2047](e,t);return}function N3(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e,t,i)|0}function k3(e,t,i,_){e=+e;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0;while(1){o=hBe(136)|0;if((o|0)!=0){break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){a=6393;break}prt[s&63]()}if((a|0)==6393){a=Di(4)|0;r[a>>2]=19096;Ht(a|0,34368,676);return 0}a=o;p[o>>2]=e;r[o+4>>2]=t;t=o+8|0;s=o+56|0;l=t;do{l=l+16|0}while((l|0)!=(s|0));r[o+72>>2]=i;i=o+76|0;s=_;r[i>>2]=r[s>>2];r[i+4>>2]=r[s+4>>2];r[i+8>>2]=r[s+8>>2];r[i+12>>2]=r[s+12>>2];p[o+92>>2]=0.0;p[o+96>>2]=0.0;p[o+100>>2]=.5;p[o+104>>2]=0.0;p[o+108>>2]=.800000011920929;p[o+112>>2]=1.0;n[o+116|0]=0;p[o+120>>2]=.004999999888241291;p[o+124>>2]=.009999999776482582;p[o+128>>2]=.009999999776482582;p[o+132>>2]=.009999999776482582;I4(t);return a|0}function O3(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0;i=e+24|0;n=i;while(1){_=r[n>>2]|0;if((_|0)==0){break}if((r[_>>2]|0)==(t|0)){o=_;s=6414;break}else{n=_+28|0}}if((s|0)==6414){return o|0}while(1){a=hBe(32)|0;if((a|0)!=0){s=6412;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){s=6409;break}prt[n&63]()}if((s|0)==6409){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}else if((s|0)==6412){s=a;r[a>>2]=t;vBe(a+4|0,0,16);r[a+20>>2]=e;r[a+24>>2]=0;e=a+28|0;r[e>>2]=0;$Ie(s);r[e>>2]=r[i>>2];r[i>>2]=s;o=s;return o|0}return 0}function L3(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;while(1){i=hBe(32)|0;if((i|0)!=0){n=6427;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==6427){n=i;r[i>>2]=e;vBe(i+4|0,0,16);r[i+20>>2]=t;r[i+24>>2]=0;r[i+28>>2]=0;$Ie(n);return n|0}n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}function U3(){var e=0,t=0,i=0,n=0;while(1){e=hBe(136)|0;if((e|0)!=0){break}t=(R=r[10744]|0,r[10744]=R+0,R);if((t|0)==0){i=6436;break}prt[t&63]()}if((i|0)==6436){i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}i=e;t=e+48|0;n=e;do{n=n+16|0}while((n|0)!=(t|0));t=e+112|0;n=e+64|0;do{n=n+16|0}while((n|0)!=(t|0));p[e+128>>2]=999999984306749400.0;r[e+132>>2]=0;return i|0}function G3(e){e=e|0;return(n[e+61|0]&1)!=0|0}function W3(e){e=e|0;return r[e+48>>2]|0}function z3(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function H3(e,t){e=e|0;t=t|0;r[e+56>>2]=t;return}function j3(e){e=e|0;return(n[e+60|0]&1)!=0|0}function X3(e){e=e|0;return r[e+56>>2]|0}function Z3(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Q3(e){e=e|0;return(r[e+4>>2]|0)<7|0}function q3(e){e=e|0;return r[e+52>>2]|0}function Y3(e){e=e|0;return e+16|0}function J3(e){e=e|0;return(r[e+4>>2]|0)<20|0}function K3(e){e=e|0;return(r[e+4>>2]|0)==28|0}function $3(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function e8(e){e=e|0;return r[e+8>>2]|0}function t8(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function i8(e){e=e|0;return(r[e+4>>2]|0)==32|0}function n8(e){e=e|0;return r[e+4>>2]|0}function _8(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function r8(e){e=e|0;return r[e+28>>2]|0}function o8(e){e=e|0;return r[e+24>>2]|0}function s8(e){e=e|0;return+ +p[e+1080>>2]}function a8(e){e=e|0;return+ +p[e+1108>>2]}function p8(e){e=e|0;return+ +p[e+1076>>2]}function l8(e,t){e=e|0;t=+t;p[e+244>>2]=t;return}function d8(e){e=e|0;return(n[e+20|0]&1)!=0|0}function c8(e){e=e|0;return(n[e+1088|0]&1)!=0|0}function b8(e,t){e=e|0;t=t|0;n[e+41|0]=t&1;return}function u8(e,t){e=e|0;t=+t;p[e+224>>2]=t;return}function m8(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43552]|0)==0){if((ui(43552)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9154]=r[t>>2];r[9155]=r[t+4>>2];r[9156]=r[t+8>>2];r[9157]=r[t+12>>2];d=i;return 36616}function h8(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function f8(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+60>>2]&1023](e,t,i,n);return}function g8(e,t,i){e=e|0;t=t|0;i=i|0;CPe(r[e+52>>2]|0,r[e+48>>2]|0,t,i);JFe(e|0);return}function C8(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0}function S8(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0,c=0;o=d;d=d+48|0;s=o|0;a=o+16|0;l=o+32|0;c=r[e+48>>2]|0;r[l>>2]=18760;r[l+4>>2]=c;r[l+8>>2]=t;t=r[e+52>>2]|0;e=t|0;c=l|0;vBe(s|0,0,16);vBe(a|0,0,16);if((n[t+60|0]&1)==0){vwe(e,c,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],s,a);d=o;return}else{xwe(e,c,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],s,a,r[t+56>>2]|0);d=o;return}}function y8(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function v8(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function x8(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function M8(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function T8(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;t=e+61|0;i=e+52|0;do{if((n[t]&1)!=0){_=r[i>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[i>>2]|0;if((_|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[_-172+168>>2]|0)}}while(0);r[9806]=(r[9806]|0)+1;_=hBe(191)|0;if((_|0)==0){o=0}else{s=-(_+4|0)&15;r[_+s>>2]=_;o=_+(s+4)|0}r[o+52>>2]=278;n[o+60|0]=0;n[o+80|0]=1;r[o+76>>2]=0;r[o+68>>2]=0;r[o+72>>2]=0;n[o+100|0]=1;r[o+96>>2]=0;r[o+88>>2]=0;r[o+92>>2]=0;n[o+120|0]=1;r[o+116>>2]=0;r[o+108>>2]=0;r[o+112>>2]=0;n[o+140|0]=1;r[o+136>>2]=0;r[o+128>>2]=0;r[o+132>>2]=0;r[o+144>>2]=0;n[o+164|0]=1;r[o+160>>2]=0;r[o+152>>2]=0;r[o+156>>2]=0;r[o+168>>2]=0;p[o+4>>2]=-3.4028234663852886e+38;p[o+8>>2]=-3.4028234663852886e+38;p[o+12>>2]=-3.4028234663852886e+38;p[o+16>>2]=0.0;p[o+20>>2]=3.4028234663852886e+38;p[o+24>>2]=3.4028234663852886e+38;p[o+28>>2]=3.4028234663852886e+38;p[o+32>>2]=0.0;r[o>>2]=25376;r[i>>2]=o;gPe(o,r[e+48>>2]|0,(n[e+60|0]&1)!=0,e+16|0,e+32|0);n[t]=1;return}function D8(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function P8(e){e=e|0;JFe(e|0);return}function w8(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function A8(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0.0;n=t|0;_=t+4|0;o=t+8|0;s=i|0;a=i+4|0;l=i+8|0;MPe(r[e+52>>2]|0,r[e+48>>2]|0,+p[n>>2],+p[_>>2],+p[o>>2],+p[s>>2],+p[a>>2],+p[l>>2]);d=e+16|0;c=+p[n>>2];if(c<+p[d>>2]){p[d>>2]=c}d=e+20|0;c=+p[_>>2];if(c<+p[d>>2]){p[d>>2]=c}d=e+24|0;c=+p[o>>2];if(c<+p[d>>2]){p[d>>2]=c}d=e+28|0;c=+p[t+12>>2];if(c<+p[d>>2]){p[d>>2]=c}d=e+32|0;c=+p[s>>2];if(+p[d>>2]<c){p[d>>2]=c}d=e+36|0;c=+p[a>>2];if(+p[d>>2]<c){p[d>>2]=c}d=e+40|0;c=+p[l>>2];if(+p[d>>2]<c){p[d>>2]=c}d=e+44|0;c=+p[i+12>>2];if(+p[d>>2]>=c){return}p[d>>2]=c;return}function F8(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,c=0;a=d;d=d+16|0;l=a|0;c=r[e+48>>2]|0;r[l>>2]=18728;r[l+4>>2]=c;r[l+8>>2]=t;t=r[e+52>>2]|0;e=t|0;c=l|0;if((n[t+60|0]&1)==0){vwe(e,c,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],o,s);d=a;return}else{xwe(e,c,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],o,s,r[t+56>>2]|0);d=a;return}}function R8(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43224]|0)==0){if((ui(43224)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+68>>2]&511](_,e|0,t);t=_;r[9758]=r[t>>2];r[9759]=r[t+4>>2];r[9760]=r[t+8>>2];r[9761]=r[t+12>>2];d=i;return 39032}function I8(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function B8(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function V8(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function E8(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function N8(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function k8(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+72>>2]&2047](e,t);return}function O8(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0.0,a=0.0,l=0.0;i=d;d=d+16|0;_=i|0;p[_>>2]=1.0;p[_+4>>2]=1.0;p[_+8>>2]=1.0;p[_+12>>2]=0.0;r[e+52>>2]=t;n[e+61|0]=0;t=e|0;o=Knt[r[(r[e>>2]|0)+28>>2]&4095](t)|0;s=+p[o>>2]+-1.0;a=+p[o+4>>2]+-1.0;l=+p[o+8>>2]+-1.0;if(s*s+a*a+l*l<=1.1920928955078125e-7){d=i;return}eRe(t,_);d=i;return}function L8(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0.0,s=0.0,a=0.0;r[e+52>>2]=t;n[e+61|0]=0;t=e|0;_=Knt[r[(r[e>>2]|0)+28>>2]&4095](t)|0;o=+p[_>>2]-+p[i>>2];s=+p[_+4>>2]-+p[i+4>>2];a=+p[_+8>>2]-+p[i+8>>2];if(o*o+s*s+a*a<=1.1920928955078125e-7){return}eRe(t,i);return}function U8(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+8>>2]&511](e,t,i)|0}function G8(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e|0,t);return}function W8(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+ +k_t[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_)}function z8(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+8>>2]&255](e|0,t,i,n,_);return}function H8(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e|0);return}function j8(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function X8(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function Z8(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function Q8(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function q8(e){e=e|0;var t=0.0,i=0.0,_=0.0,o=0.0,s=0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0;do{if((n[43864]|0)==0){if((ui(43864)|0)==0){break}}}while(0);t=(+p[e+176>>2]+ +p[e+180>>2])*.5;i=+p[e+944>>2]*t+ +p[e+960>>2];_=t*+p[e+948>>2]+ +p[e+964>>2];o=t*+p[e+952>>2]+ +p[e+968>>2];s=r[e+24>>2]|0;t=+p[s+4>>2];a=+p[s+20>>2];l=+p[s+36>>2];d=+p[s+8>>2];c=+p[s+24>>2];b=+p[s+40>>2];u=+p[s+12>>2];m=+p[s+28>>2];h=+p[s+44>>2];f=-0.0-+p[s+52>>2];g=-0.0-+p[s+56>>2];C=-0.0-+p[s+60>>2];p[9754]=t*f+a*g+l*C+(t*i+a*_+l*o);p[9755]=d*f+c*g+b*C+(d*i+c*_+b*o);p[9756]=u*f+m*g+h*C+(u*i+m*_+h*o);p[9757]=0.0;return 39016}function Y8(e,t){e=e|0;t=+t;p[e+216>>2]=t;return}function J8(e){e=e|0;return(n[e+288|0]&1)!=0|0}function K8(e){e=e|0;return(n[e+41|0]&1)!=0|0}function $8(e){e=e|0;return+ +p[e+1112>>2]}function e6(e,t){e=e|0;t=+t;p[e+212>>2]=t;return}function t6(e){e=e|0;return(n[e+21|0]&1)!=0|0}function i6(e){e=e|0;return+ +p[e+1096>>2]}function n6(e){e=e|0;return r[e+4>>2]|0}function _6(e,t){e=e|0;t=+t;p[e+264>>2]=t;return}function r6(e){e=e|0;return(n[e+289|0]&1)!=0|0}function o6(e,t){e=e|0;t=t|0;n[e+1104|0]=t&1;return}function s6(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function a6(e){e=e|0;return+ +p[e+1072>>2]}function p6(e){e=e|0;return e+880|0}function l6(e){e=e|0;return e+816|0}function d6(e){e=e|0;return r[e+4>>2]|0}function c6(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function b6(e,t){e=e|0;t=+t;p[e+200>>2]=t;return}function u6(e){e=e|0;return+ +p[e+188>>2]}function m6(e){e=e|0;return+ +p[e+244>>2]}function h6(e){e=e|0;return+ +p[e+256>>2]}function f6(e,t){e=e|0;t=+t;p[e+176>>2]=t;return}function g6(e){e=e|0;return+ +p[e+196>>2]}function C6(e,t){e=e|0;t=t|0;r[t>>2]=6;r[t+4>>2]=0;return}function S6(e,t){e=e|0;t=+t;p[e+228>>2]=t;return}function y6(e){e=e|0;return r[e+12>>2]|0}function v6(e,t){e=e|0;t=+t;p[e+1092>>2]=t;return}function x6(e){e=e|0;return+ +p[e+180>>2]}function M6(e,t){e=e|0;t=+t;p[e+1096>>2]=t;return}function T6(e){e=e|0;return+ +p[e+184>>2]}function D6(e){e=e|0;return+ +p[e+16>>2]}function P6(e,t){e=e|0;t=+t;p[e+192>>2]=t;return}function w6(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function A6(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function F6(e){e=e|0;return e+44|0}function R6(e){e=e|0;return e+108|0}function I6(e){e=e|0;return+ +p[e+216>>2]}function B6(e){e=e|0;return+ +p[e+228>>2]}function V6(e){e=e|0;return+ +p[e+272>>2]}function E6(e,t){e=e|0;t=+t;p[e+256>>2]=t;return}function N6(e,t){e=e|0;t=+t;p[e+240>>2]=t;return}function k6(e){e=e|0;return+ +p[e+200>>2]}function O6(e){e=e|0;return+ +p[e+36>>2]}function L6(e){e=e|0;return r[e+12>>2]|0}function U6(e){e=e|0;return+ +p[e+224>>2]}function G6(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function W6(e,t){e=e|0;t=t|0;n[e+1088|0]=t&1;return}function z6(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function H6(e){e=e|0;return+ +p[e+1024>>2]}function j6(e){e=e|0;return+ +p[e+232>>2]}function X6(e){e=e|0;return+ +p[e+212>>2]}function Z6(e){e=e|0;return+ +p[e+32>>2]}function Q6(e){e=e|0;return+ +p[e+248>>2]}function q6(e,t){e=e|0;t=+t;p[e+260>>2]=t;return}function Y6(e,t){e=e|0;t=+t;p[e+196>>2]=t;return}function J6(e,t){e=e|0;t=+t;p[e+248>>2]=t;return}function K6(e){e=e|0;do{if((n[43856]|0)==0){if((ui(43856)|0)==0){break}}}while(0);TBe(39e3,e+156|0,16);return 39e3}function $6(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function e9(e){e=e|0;hge(e);return}function t9(e,t){e=e|0;t=+t;var i=0.0,n=0.0;i=+Bi(+t,6.2831854820251465);do{if(i<-3.1415927410125732){n=i+6.2831854820251465}else{if(i<=3.1415927410125732){n=i;break}n=i-6.2831854820251465}}while(0);p[e+188>>2]=n;return}function i9(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;gge(e,t,i,n,_,r,o,s);return}function n9(e,t,i){e=e|0;t=t|0;i=i|0;uge(e,t,i);return}function _9(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function r9(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n);return}function o9(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function s9(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function a9(e){e=e|0;return r[e+12>>2]|0}function p9(e,t){e=e|0;t=+t;p[e+208>>2]=t;return}function l9(e,t){e=e|0;t=+t;p[e+180>>2]=t;return}function d9(e,t){e=e|0;t=+t;p[e+1108>>2]=t;return}function c9(e){e=e|0;return+ +p[e+208>>2]}function b9(e,t){e=e|0;t=+t;p[e+1112>>2]=t;return}function u9(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function m9(e){e=e|0;return r[e+4>>2]|0}function h9(e){e=e|0;return(n[e+1104|0]&1)!=0|0}function f9(e){e=e|0;return+ +p[e+280>>2]}function g9(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function C9(e){e=e|0;return+ +p[e+260>>2]}function S9(e){e=e|0;return+ +p[e+1092>>2]}function y9(e){e=e|0;var t=0,i=0,_=0.0,r=0.0,o=0.0;t=e+288|0;n[t]=0;i=e+1024|0;_=+p[i>>2];p[e+1072>>2]=_;r=+p[e+176>>2];o=+p[e+180>>2];if(r>o){p[i>>2]=0.0;return}if(_>o){p[i>>2]=_-o;n[t]=1;return}if(_<r){p[i>>2]=_-r;n[t]=1;return}else{p[i>>2]=0.0;return}}function v9(e){e=e|0;return+ +p[e+176>>2]}function x9(e,t){e=e|0;t=+t;p[e+280>>2]=t;return}function M9(e){e=e|0;return r[e+8>>2]|0}function T9(e,t){e=e|0;t=+t;p[e+276>>2]=t;return}function D9(e){e=e|0;return+ +p[e+276>>2]}function P9(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function w9(e){e=e|0;return+ +p[e+264>>2]}function A9(e){e=e|0;return+ +p[e+32>>2]}function F9(e){e=e|0;return+ +p[e+240>>2]}function R9(e,t){e=e|0;t=+t;p[e+272>>2]=t;return}function I9(e,t){e=e|0;t=+t;p[e+232>>2]=t;return}function B9(e){e=e|0;return+ +p[e+192>>2]}function V9(e){e=e|0;return(n[e+172|0]&1)!=0|0}function E9(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function N9(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function k9(e){e=e|0;return+ +p[e+12>>2]}function O9(e,t){e=e|0;t=+t;p[e>>2]=t;return}function L9(e){e=e|0;return+ +p[e+16>>2]}function U9(e){e=e|0;return+ +p[e+8>>2]}function G9(e){e=e|0;return+ +p[e>>2]}function W9(e){e=e|0;return+ +p[e+4>>2]}function z9(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function H9(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function j9(e,t){e=e|0;t=+t;p[e+20>>2]=t;return}function X9(e){e=e|0;return+ +p[e+20>>2]}function Z9(e){e=e|0;return r[e+28>>2]|0}function Q9(e){e=e|0;return r[e+24>>2]|0}function q9(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function Y9(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function J9(e,t){e=e|0;t=+t;var i=0.0,n=0.0;i=+Bi(+t,6.2831854820251465);do{if(i<-3.1415927410125732){n=i+6.2831854820251465}else{if(i<=3.1415927410125732){n=i;break}n=i-6.2831854820251465}}while(0);p[e+184>>2]=n;return}function K9(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function $9(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=e+44|0;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+60|0;n=t+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+76|0;_=t+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+92|0;n=t+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+108|0;_=i;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+124|0;n=i+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+140|0;_=i+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+156|0;n=i+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];uge(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);jnt[r[(r[e>>2]|0)+8>>2]&2047](e|0);return}function e5(e){e=e|0;if((e|0)==0){return}SBe(e);return}function t5(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function i5(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0;_=d;d=d+112|0;o=_|0;s=_+48|0;a=i&1;while(1){l=hBe(1120)|0;if((l|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){c=80;break}prt[i&63]()}if((c|0)==80){c=Di(4)|0;r[c>>2]=19096;Ht(c|0,34368,676);return 0}c=l;i=s;Pge();r[l+4>>2]=7;r[l+8>>2]=-1;r[l+12>>2]=-1;p[l+16>>2]=3.4028234663852886e+38;n[l+20|0]=1;n[l+21|0]=0;b=l+24|0;r[b>>2]=41520;u=l+28|0;r[u>>2]=e;p[l+32>>2]=0.0;p[l+36>>2]=.30000001192092896;r[l>>2]=23056;n[l+40|0]=0;m=l+108|0;h=t;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];h=l+124|0;f=t+16|0;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];f=l+140|0;h=t+32|0;r[f>>2]=r[h>>2];r[f+4>>2]=r[h+4>>2];r[f+8>>2]=r[h+8>>2];r[f+12>>2]=r[h+12>>2];h=l+156|0;f=t+48|0;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];n[l+172|0]=a;a=l+44|0;f=e+4|0;h=o;gue(o,f|0,m);g=+p[l+156>>2];C=+p[l+160>>2];S=+p[l+164>>2];y=+p[f>>2]*g+ +p[e+8>>2]*C+ +p[e+12>>2]*S+ +p[e+52>>2];v=+p[e+20>>2]*g+ +p[e+24>>2]*C+ +p[e+28>>2]*S+ +p[e+56>>2];x=+p[e+36>>2]*g+ +p[e+40>>2]*C+ +p[e+44>>2]*S+ +p[e+60>>2];e=s+48|0;f=s|0;do{f=f+16|0}while((f|0)!=(e|0));r[i>>2]=r[h>>2];r[i+4>>2]=r[h+4>>2];r[i+8>>2]=r[h+8>>2];r[i+12>>2]=r[h+12>>2];h=s+16|0;e=o+16|0;r[h>>2]=r[e>>2];r[h+4>>2]=r[e+4>>2];r[h+8>>2]=r[e+8>>2];r[h+12>>2]=r[e+12>>2];e=s+32|0;f=o+32|0;r[e>>2]=r[f>>2];r[e+4>>2]=r[f+4>>2];r[e+8>>2]=r[f+8>>2];r[e+12>>2]=r[f+12>>2];p[s+48>>2]=y;p[s+52>>2]=v;p[s+56>>2]=x;p[s+60>>2]=0.0;r[a>>2]=r[i>>2];r[a+4>>2]=r[i+4>>2];r[a+8>>2]=r[i+8>>2];r[a+12>>2]=r[i+12>>2];i=l+60|0;r[i>>2]=r[h>>2];r[i+4>>2]=r[h+4>>2];r[i+8>>2]=r[h+8>>2];r[i+12>>2]=r[h+12>>2];h=l+76|0;r[h>>2]=r[e>>2];r[h+4>>2]=r[e+4>>2];r[h+8>>2]=r[e+8>>2];r[h+12>>2]=r[e+12>>2];e=l+92|0;h=s+48|0;r[e>>2]=r[h>>2];r[e+4>>2]=r[h+4>>2];r[e+8>>2]=r[h+8>>2];r[e+12>>2]=r[h+12>>2];p[l+176>>2]=1.0;p[l+180>>2]=-1.0;p[l+184>>2]=0.0;p[l+188>>2]=0.0;p[l+192>>2]=1.0;p[l+196>>2]=.699999988079071;p[l+200>>2]=0.0;p[l+204>>2]=0.0;p[l+208>>2]=1.0;p[l+212>>2]=.699999988079071;p[l+216>>2]=0.0;p[l+220>>2]=0.0;p[l+256>>2]=1.0;p[l+260>>2]=.699999988079071;p[l+264>>2]=1.0;p[l+268>>2]=0.0;p[l+272>>2]=1.0;p[l+276>>2]=.699999988079071;p[l+280>>2]=1.0;p[l+284>>2]=0.0;p[l+224>>2]=1.0;p[l+228>>2]=.699999988079071;p[l+232>>2]=1.0;p[l+236>>2]=0.0;p[l+240>>2]=1.0;p[l+244>>2]=.699999988079071;p[l+248>>2]=1.0;p[l+252>>2]=0.0;n[l+1088|0]=0;p[l+1108>>2]=0.0;p[l+1112>>2]=0.0;p[l+1116>>2]=0.0;r[l+292>>2]=0;vBe(l+1092|0,0,13);n[l+41|0]=1;uge(c,(r[b>>2]|0)+4|0,(r[u>>2]|0)+4|0);d=_;return c|0}function n5(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,d=0;s=o&1;while(1){a=hBe(1120)|0;if((a|0)!=0){l=99;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){break}prt[o&63]()}if((l|0)==99){l=a;r[a+4>>2]=7;r[a+8>>2]=-1;r[a+12>>2]=-1;p[a+16>>2]=3.4028234663852886e+38;n[a+20|0]=1;n[a+21|0]=0;r[a+24>>2]=e;r[a+28>>2]=t;p[a+32>>2]=0.0;p[a+36>>2]=.30000001192092896;r[a>>2]=23056;n[a+40|0]=0;o=a+44|0;d=i;r[o>>2]=r[d>>2];r[o+4>>2]=r[d+4>>2];r[o+8>>2]=r[d+8>>2];r[o+12>>2]=r[d+12>>2];d=a+60|0;o=i+16|0;r[d>>2]=r[o>>2];r[d+4>>2]=r[o+4>>2];r[d+8>>2]=r[o+8>>2];r[d+12>>2]=r[o+12>>2];o=a+76|0;d=i+32|0;r[o>>2]=r[d>>2];r[o+4>>2]=r[d+4>>2];r[o+8>>2]=r[d+8>>2];r[o+12>>2]=r[d+12>>2];d=a+92|0;o=i+48|0;r[d>>2]=r[o>>2];r[d+4>>2]=r[o+4>>2];r[d+8>>2]=r[o+8>>2];r[d+12>>2]=r[o+12>>2];o=a+108|0;d=_;r[o>>2]=r[d>>2];r[o+4>>2]=r[d+4>>2];r[o+8>>2]=r[d+8>>2];r[o+12>>2]=r[d+12>>2];d=a+124|0;o=_+16|0;r[d>>2]=r[o>>2];r[d+4>>2]=r[o+4>>2];r[d+8>>2]=r[o+8>>2];r[d+12>>2]=r[o+12>>2];o=a+140|0;d=_+32|0;r[o>>2]=r[d>>2];r[o+4>>2]=r[d+4>>2];r[o+8>>2]=r[d+8>>2];r[o+12>>2]=r[d+12>>2];d=a+156|0;o=_+48|0;r[d>>2]=r[o>>2];r[d+4>>2]=r[o+4>>2];r[d+8>>2]=r[o+8>>2];r[d+12>>2]=r[o+12>>2];n[a+172|0]=s;p[a+176>>2]=1.0;p[a+180>>2]=-1.0;p[a+184>>2]=0.0;p[a+188>>2]=0.0;p[a+192>>2]=1.0;p[a+196>>2]=.699999988079071;p[a+200>>2]=0.0;p[a+204>>2]=0.0;p[a+208>>2]=1.0;p[a+212>>2]=.699999988079071;p[a+216>>2]=0.0;p[a+220>>2]=0.0;p[a+256>>2]=1.0;p[a+260>>2]=.699999988079071;p[a+264>>2]=1.0;p[a+268>>2]=0.0;p[a+272>>2]=1.0;p[a+276>>2]=.699999988079071;p[a+280>>2]=1.0;p[a+284>>2]=0.0;p[a+224>>2]=1.0;p[a+228>>2]=.699999988079071;p[a+232>>2]=1.0;p[a+236>>2]=0.0;p[a+240>>2]=1.0;p[a+244>>2]=.699999988079071;p[a+248>>2]=1.0;p[a+252>>2]=0.0;n[a+1088|0]=0;p[a+1108>>2]=0.0;p[a+1112>>2]=0.0;p[a+1116>>2]=0.0;r[a+292>>2]=0;vBe(a+1092|0,0,13);n[a+41|0]=1;uge(l,e+4|0,t+4|0);return l|0}l=Di(4)|0;r[l>>2]=19096;Ht(l|0,34368,676);return 0}function _5(){var e=0,t=0,i=0;while(1){e=hBe(24)|0;if((e|0)!=0){t=111;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==111){p[e>>2]=5.880000114440918;p[e+4>>2]=.8299999833106995;p[e+8>>2]=.8799999952316284;p[e+12>>2]=500.0;p[e+16>>2]=10.5;p[e+20>>2]=6.0e3;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function r5(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function o5(e){e=e|0;return e+40|0}function s5(e){e=e|0;return r[e+12>>2]|0}function a5(e){e=e|0;return r[e+4>>2]|0}function p5(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function l5(e){e=e|0;return(n[e+20|0]&1)!=0|0}function d5(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function c5(e){e=e|0;return r[e+4>>2]|0}function b5(e){e=e|0;return+ +p[e+36>>2]}function u5(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function m5(e){e=e|0;return(n[e+21|0]&1)!=0|0}function h5(e){e=e|0;return r[e+4>>2]|0}function f5(e){e=e|0;return r[e+12>>2]|0}function g5(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function C5(e){e=e|0;return r[e+12>>2]|0}function S5(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function y5(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function v5(e){e=e|0;return+ +p[e+32>>2]}function x5(e){e=e|0;return+ +p[e+16>>2]}function M5(e){e=e|0;return r[e+8>>2]|0}function T5(e){e=e|0;return+ +p[e+32>>2]}function D5(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function P5(e){e=e|0;return+ +p[e+136>>2]}function w5(e){e=e|0;return+ +p[e+140>>2]}function A5(e,t){e=e|0;t=+t;p[e+112>>2]=t;return}function F5(e,t){e=e|0;t=+t;p[e+136>>2]=t;return}function R5(e){e=e|0;return+ +p[e+84>>2]}function I5(e){e=e|0;return r[e+92>>2]|0}function B5(e){e=e|0;return r[e+96>>2]|0}function V5(e){e=e|0;return e+64|0}function E5(e,t){e=e|0;t=+t;p[e+84>>2]=t;return}function N5(e){e=e|0;return r[e+104>>2]|0}function k5(e){e=e|0;return r[e+100>>2]|0}function O5(e,t){e=e|0;t=t|0;r[e+108>>2]=t;return}function L5(e,t){e=e|0;t=+t;p[e+140>>2]=t;return}function U5(e){e=e|0;return+ +p[e+112>>2]}function G5(e){e=e|0;return r[e+108>>2]|0}function W5(e){e=e|0;return+ +p[e+80>>2]}function z5(e){e=e|0;return r[e+144>>2]|0}function H5(e){e=e|0;return e+32|0}function j5(e){e=e|0;return e+48|0}function X5(e,t){e=e|0;t=t|0;r[e+92>>2]=t;return}function Z5(e,t){e=e|0;t=t|0;r[e+96>>2]=t;return}function Q5(e,t){e=e|0;t=+t;p[e+80>>2]=t;return}function q5(e){e=e|0;return+ +p[e+120>>2]}function Y5(e){e=e|0;return+ +p[e+124>>2]}function J5(e,t){e=e|0;t=t|0;n[e+116|0]=t&1;return}function K5(e){e=e|0;return r[e+144>>2]|0}function $5(e,t){e=e|0;t=t|0;r[e+100>>2]=t;return}function e7(e){e=e|0;return+ +p[e+128>>2]}function t7(e){e=e|0;return+ +p[e+132>>2]}function i7(e,t){e=e|0;t=t|0;r[e+104>>2]=t;return}function n7(e){e=e|0;return e+148|0}function _7(e,t){e=e|0;t=+t;p[e+88>>2]=t;return}function r7(e){e=e|0;return e+48|0}function o7(e){e=e|0;return e+164|0}function s7(e){e=e|0;return e+32|0}function a7(e,t){e=e|0;t=+t;p[e+120>>2]=t;return}function p7(e,t){e=e|0;t=+t;p[e+124>>2]=t;return}function l7(e){e=e|0;return(n[e+116|0]&1)!=0|0}function d7(e){e=e|0;return+ +p[e+88>>2]}function c7(e,t){e=e|0;t=+t;p[e+128>>2]=t;return}function b7(e,t){e=e|0;t=+t;p[e+132>>2]=t;return}function u7(e){e=e|0;return e+16|0}function m7(e){e=e|0;return e|0}function h7(e,t){e=e|0;t=+t;p[e+80>>2]=t;return}function f7(e){e=e|0;return+ +p[e+80>>2]}function g7(e){e=e|0;return+ +p[e+112>>2]}function C7(e,t){e=e|0;t=t|0;r[e+144>>2]=t;return}function S7(e){e=e|0;return e+4|0}function y7(e){e=e|0;return r[e+28>>2]|0}function v7(e){e=e|0;return r[e+12>>2]|0}function x7(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function M7(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function T7(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function D7(e){e=e|0;return r[e+12>>2]|0}function P7(e){e=e|0;return r[e+4>>2]|0}function w7(e){e=e|0;return r[e+24>>2]|0}function A7(e,t){e=e|0;t=t|0;n[e+336|0]=t&1;return}function F7(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e|0,t,i)|0}function R7(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e|0,t,i,-1);return}function I7(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e|0,t,i,n);return}function B7(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e|0,t,-1)}function V7(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e|0,t,i)}function E7(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function N7(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function k7(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function O7(e,t){e=e|0;t=t|0;var i=0;i=e+40|0;e=t;yBe(i|0,e|0,1140)|0;return}function L7(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function U7(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function G7(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n);return}function W7(e,t){e=e|0;t=t|0;var i=0;i=e+148|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function z7(e,t){e=e|0;t=t|0;var i=0;i=e+48|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function H7(e,t){e=e|0;t=t|0;var i=0;i=e+32|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function j7(e){e=e|0;if((e|0)==0){return}SBe(e);return}function X7(e,t){e=e|0;t=t|0;var i=0;i=e+64|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Z7(e,t){e=e|0;t=t|0;var i=0;i=e+164|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Q7(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function q7(e,t){e=e|0;t=t|0;var i=0;i=e;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Y7(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;H_t[r[(r[e>>2]|0)+16>>2]&63](e,t,i,n,_,o,s,a,p,0);return}function J7(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[r[(r[e>>2]|0)+16>>2]&63](e,t,i,n,_,o,s,a,p,l);return}function K7(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function $7(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=d;d=d+40|0;_=n|0;r[_>>2]=18624;p[_+4>>2]=999999984306749400.0;p[_+8>>2]=999999984306749400.0;p[_+12>>2]=999999984306749400.0;p[_+16>>2]=0.0;p[_+20>>2]=-999999984306749400.0;p[_+24>>2]=-999999984306749400.0;p[_+28>>2]=-999999984306749400.0;p[_+32>>2]=0.0;p[t>>2]=-999999984306749400.0;p[t+4>>2]=-999999984306749400.0;p[t+8>>2]=-999999984306749400.0;p[t+12>>2]=0.0;p[i>>2]=999999984306749400.0;p[i+4>>2]=999999984306749400.0;p[i+8>>2]=999999984306749400.0;p[i+12>>2]=0.0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,_|0,t,i);e=t;t=_+4|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];t=i;i=_+20|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];d=n;return}function eee(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+56>>2]&511](e,t,i)|0}function tee(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e,t);return}function iee(e){e=e|0;return Knt[r[(r[e>>2]|0)+52>>2]&4095](e)|0}function nee(e,t){e=e|0;t=t|0;var i=0;i=e+4|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function _ee(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function ree(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function oee(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+48>>2]&511](e,t,i);return}function see(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function aee(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;H_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a,p,0);return}function pee(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a,p,l);return}function lee(e){e=e|0;return Knt[r[(r[e>>2]|0)+40>>2]&4095](e)|0}function dee(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function cee(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function bee(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Hhe(e,t,i,n);return}function uee(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function mee(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function hee(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function fee(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function gee(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function Cee(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function See(){var e=0,t=0,i=0;while(1){e=hBe(276)|0;if((e|0)!=0){t=254;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==254){r[e+108>>2]=0;p[e+112>>2]=0.0;n[e+116|0]=0;vBe(e+120|0,0,28);return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function yee(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0;while(1){o=hBe(276)|0;if((o|0)!=0){s=266;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==266){s=e;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=o+16|0;e=t;r[s>>2]=r[e>>2];r[s+4>>2]=r[e+4>>2];r[s+8>>2]=r[e+8>>2];r[s+12>>2]=r[e+12>>2];e=o+64|0;s=i;r[e>>2]=r[s>>2];r[e+4>>2]=r[s+4>>2];r[e+8>>2]=r[s+8>>2];r[e+12>>2]=r[s+12>>2];p[o+80>>2]=_;p[o+84>>2]=0.0;p[o+88>>2]=0.0;r[o+108>>2]=0;p[o+112>>2]=0.0;n[o+116|0]=0;p[o+208>>2]=0.0;p[o+240>>2]=0.0;p[o+272>>2]=0.0;vBe(o+120|0,0,28);return o|0}o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}function vee(e,t){e=e|0;t=+t;return}function xee(e){e=e|0;return r[e+4>>2]|0}function Mee(e){e=e|0;return e+292|0}function Tee(e){e=e|0;return e+308|0}function Dee(e){e=e|0;return e+340|0}function Pee(e){e=e|0;return(n[e+20|0]&1)!=0|0}function wee(e){e=e|0;return r[e+4>>2]|0}function Aee(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function Fee(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function Ree(e){e=e|0;return(n[e+21|0]&1)!=0|0}function Iee(e){e=e|0;return r[e+12>>2]|0}function Bee(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+336|0]&1)==0){r[i>>2]=3;r[t+4>>2]=3;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function Vee(e){e=e|0;return+ +p[e+36>>2]}function Eee(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function Nee(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function kee(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function Oee(e){e=e|0;return+ +p[e+32>>2]}function Lee(e){e=e|0;return(n[e+336|0]&1)!=0|0}function Uee(e){e=e|0;return+ +p[e+16>>2]}function Gee(e){e=e|0;return r[e+8>>2]|0}function Wee(e){e=e|0;return+ +p[e+32>>2]}function zee(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function Hee(e){e=e|0;return(r[e+4>>2]|0)==31|0}function jee(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Xee(e){e=e|0;return r[e+52>>2]|0}function Zee(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Qee(e){e=e|0;return e+12|0}function qee(e){e=e|0;return+ +p[e+44>>2]}function Yee(e){e=e|0;return(r[e+4>>2]|0)<20|0}function Jee(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Kee(e){e=e|0;return r[e+8>>2]|0}function $ee(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function ete(e){e=e|0;return e+28|0}function tte(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function ite(e){e=e|0;return(r[e+4>>2]|0)==32|0}function nte(e){e=e|0;return e+28|0}function _te(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function rte(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function ote(e,t){e=e|0;t=t|0;var i=0;i=e+340|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];return}function ste(e,t){e=e|0;t=t|0;var i=0;i=e+292|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function ate(e,t){e=e|0;t=t|0;var i=0;i=e+308|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function pte(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function lte(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function dte(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e|0,t,i,n,_);return}function cte(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n);return}function bte(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function ute(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43648]|0)==0){if((ui(43648)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9746]=r[t>>2];r[9747]=r[t+4>>2];r[9748]=r[t+8>>2];r[9749]=r[t+12>>2];d=i;return 38984}function mte(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function hte(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function fte(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function gte(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+84>>2]&1023](e)}function Cte(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function Ste(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function yte(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function vte(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43176]|0)==0){if((ui(43176)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9742]=r[t>>2];r[9743]=r[t+4>>2];r[9744]=r[t+8>>2];r[9745]=r[t+12>>2];d=i;return 38968}function xte(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Mte(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function Tte(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function Dte(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43496]|0)==0){if((ui(43496)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9738]=r[t>>2];r[9739]=r[t+4>>2];r[9740]=r[t+8>>2];r[9741]=r[t+12>>2];d=i;return 38952}function Pte(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function wte(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Ate(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function Fte(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43352]|0)==0){if((ui(43352)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9734]=r[t>>2];r[9735]=r[t+4>>2];r[9736]=r[t+8>>2];r[9737]=r[t+12>>2];d=i;return 38936}function Rte(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function Ite(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Bte(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function Vte(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Ete(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Nte(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function kte(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function Ote(e){e=e|0;var t=0,i=0,n=0,_=0,o=0.0,s=0.0;r[9806]=(r[9806]|0)+1;t=hBe(75)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}n=i+4|0;r[n>>2]=35;r[i+8>>2]=0;t=i|0;p[i+12>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;p[i+44>>2]=.03999999910593033;r[t>>2]=24848;_=i+52|0;r[_>>2]=1;o=+p[e+4>>2]+-.03999999910593033;s=+p[e+8>>2]+-.03999999910593033;p[i+28>>2]=+p[e>>2]+-.03999999910593033;p[i+32>>2]=o;p[i+36>>2]=s;p[i+40>>2]=0.0;r[n>>2]=13;r[t>>2]=24152;r[_>>2]=2;return i|0}function Lte(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function Ute(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Gte(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0;while(1){i=hBe(352)|0;if((i|0)!=0){_=386;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){_=383;break}prt[o&63]()}if((_|0)==383){o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}else if((_|0)==386){Dge(i,3,e);r[i>>2]=21336;_=i+292|0;o=t;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];s=+p[t>>2];a=+p[t+4>>2];l=+p[t+8>>2];d=+p[e+56>>2]+(s*+p[e+20>>2]+a*+p[e+24>>2]+l*+p[e+28>>2]);c=+p[e+60>>2]+(s*+p[e+36>>2]+a*+p[e+40>>2]+l*+p[e+44>>2]);p[i+308>>2]=+p[e+52>>2]+(+p[e+4>>2]*s+ +p[e+8>>2]*a+ +p[e+12>>2]*l);p[i+312>>2]=d;p[i+316>>2]=c;p[i+320>>2]=0.0;r[i+324>>2]=0;n[i+336|0]=0;p[i+340>>2]=.30000001192092896;p[i+344>>2]=1.0;p[i+348>>2]=0.0;return i|0}return 0}function Wte(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0;while(1){o=hBe(352)|0;if((o|0)!=0){s=400;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==400){r[o+4>>2]=3;r[o+8>>2]=-1;r[o+12>>2]=-1;p[o+16>>2]=3.4028234663852886e+38;n[o+20|0]=1;n[o+21|0]=0;r[o+24>>2]=e;r[o+28>>2]=t;p[o+32>>2]=0.0;p[o+36>>2]=.30000001192092896;r[o>>2]=21336;t=o+292|0;e=i;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];e=o+308|0;t=_;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];r[o+324>>2]=0;n[o+336|0]=0;p[o+340>>2]=.30000001192092896;p[o+344>>2]=1.0;p[o+348>>2]=0.0;return o|0}o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}function zte(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Hte(e){e=e|0;return r[e+4>>2]|0}function jte(e){e=e|0;return r[e+16>>2]|0}function Xte(e){e=e|0;return r[e+12>>2]|0}function Zte(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function Qte(e,t){e=e|0;t=t|0;_[e>>1]=_[t>>1]|0;_[e+2>>1]=_[t+2>>1]|0;_[e+4>>1]=_[t+4>>1]|0;_[e+6>>1]=_[t+6>>1]|0;_[e+8>>1]=_[t+8>>1]|0;_[e+10>>1]=_[t+10>>1]|0;return}function qte(e,t){e=e|0;t=t|0;r[e+16>>2]=t;return}function Yte(e){e=e|0;return e+28|0}function Jte(e,t){e=e|0;t=t|0;_[e+8>>1]=t;return}function Kte(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function $te(e){e=e|0;return+ +p[e+4>>2]}function eie(e){e=e|0;return r[e+76>>2]|0}function tie(e,t){e=e|0;t=t|0;r[e+76>>2]=t;return}function iie(e){e=e|0;return e+44|0}function nie(e){e=e|0;return e+60|0}function _ie(e){e=e|0;return _[e+10>>1]|0}function rie(e){e=e|0;return+p[e+4>>2]<1.0|0}function oie(e){e=e|0;return e+12|0}function sie(e){e=e|0;return _[e+8>>1]|0}function aie(e,t){e=e|0;t=t|0;_[e+10>>1]=t;return}function pie(e){e=e|0;return+ +p[e+88>>2]}function lie(e){e=e|0;return r[e+28>>2]|0}function die(e){e=e|0;return r[e+12>>2]|0}function cie(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function bie(e,t){e=e|0;t=t|0;n[e+20|0]=t&1;return}function uie(e){e=e|0;return e+40|0}function mie(e,t){e=e|0;t=t|0;return+ +p[e+1248+(t<<2)>>2]}function hie(e){e=e|0;return e+104|0}function fie(e){e=e|0;return e+1056|0}function gie(e){e=e|0;return r[e+12>>2]|0}function Cie(e){e=e|0;return r[e+4>>2]|0}function Sie(e){e=e|0;return r[e+24>>2]|0}function yie(e){e=e|0;return+ +p[e+16>>2]}function vie(e,t,i){e=e|0;t=t|0;i=+i;p[e+1356+(t<<2)>>2]=i;return}function xie(e,t){e=e|0;t=t|0;var i=0;i=e;e=0;while(1){if((e|0)>=3){break}p[t+(e<<2)>>2]=+p[i+860+(e<<6)>>2];e=e+1|0}return}function Mie(e,t,i){e=e|0;t=t|0;i=+i;p[e+1308+(t<<2)>>2]=i;return}function Tie(e){e=e|0;var t=0.0,i=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;do{if((n[43656]|0)==0){if((ui(43656)|0)==0){break}}}while(0);t=+p[e+28>>2];i=+p[e+32>>2];_=+p[e+36>>2];o=+p[e+40>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=_+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s);p[9730]=t+l;p[9731]=i+d;p[9732]=c;p[9733]=o;return 38920}function Die(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-32+28>>2]|0);return}function Pie(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(51)|0;if((e|0)==0){t=0;return t|0}i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0;return t|0}function wie(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function Aie(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+8>>2]&2047](e,t);return}function Fie(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Rie(e,t){e=e|0;t=t|0;return j_t[r[(r[e>>2]|0)+8>>2]&511](e|0,t)|0}function Iie(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i)}function Bie(e,t){e=e|0;t=t|0;var i=0;i=e+60|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Vie(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Eie(e,t){e=e|0;t=t|0;var i=0;i=e+44|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Nie(e,t){e=e|0;t=t|0;var i=0;i=e+12|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function kie(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0,M=0,T=0;n=d;d=d+96|0;_=n|0;o=n+16|0;s=n+32|0;a=n+48|0;l=n+64|0;c=n+80|0;b=_;u=o;m=t+48|0;h=i+48|0;mn(t|0,_);mn(i|0,o);i=e+88|0;t=e+32|0;if(+p[i>>2]>0.0){mue(t,m,e|0,_,s,a);_=e+48|0;f=e+16|0;mue(_,h,f,o,l,c);g=+p[a>>2];C=+p[a+4>>2];S=+p[a+8>>2];y=+j(+(g*g+C*C+S*S));S=y*+p[e+80>>2];y=+p[c>>2];C=+p[c+4>>2];g=+p[c+8>>2];v=+j(+(y*y+C*C+g*g));g=(+p[l>>2]-+p[s>>2])*+p[e+64>>2]+(+p[l+4>>2]-+p[s+4>>2])*+p[e+68>>2]+(+p[l+8>>2]-+p[s+8>>2])*+p[e+72>>2];p[i>>2]=+p[i>>2]-(S+v*+p[e+84>>2]+(g<0.0?0.0:g));x=t;M=_;T=f}else{x=t;M=e+48|0;T=e+16|0}t=x;x=m;r[t>>2]=r[x>>2];r[t+4>>2]=r[x+4>>2];r[t+8>>2]=r[x+8>>2];r[t+12>>2]=r[x+12>>2];x=M;M=h;r[x>>2]=r[M>>2];r[x+4>>2]=r[M+4>>2];r[x+8>>2]=r[M+8>>2];r[x+12>>2]=r[M+12>>2];M=e;r[M>>2]=r[b>>2];r[M+4>>2]=r[b+4>>2];r[M+8>>2]=r[b+8>>2];r[M+12>>2]=r[b+12>>2];b=T;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];d=n;return}function Oie(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Lie(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0;o=d;d=d+32|0;s=o|0;a=o+16|0;l=s;c=a;p[e+88>>2]=i;if(i<=0.0){d=o;return}b=e+64|0;u=t;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];mn(n|0,s);mn(_|0,a);a=e+32|0;s=n+48|0;r[a>>2]=r[s>>2];r[a+4>>2]=r[s+4>>2];r[a+8>>2]=r[s+8>>2];r[a+12>>2]=r[s+12>>2];s=e+48|0;a=_+48|0;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=e;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=e+16|0;r[l>>2]=r[c>>2];r[l+4>>2]=r[c+4>>2];r[l+8>>2]=r[c+8>>2];r[l+12>>2]=r[c+12>>2];d=o;return}function Uie(e){e=e|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function Gie(e,t,i){e=e|0;t=t|0;i=+i;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,-1);return}function Wie(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;i_t[r[(r[e>>2]|0)+28>>2]&127](e,t,i,n);return}function zie(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;hhe(e,t,i,n,_,r,o,s);return}function Hie(e,t){e=e|0;t=t|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,-1)}function jie(e,t,i){e=e|0;t=t|0;i=i|0;return+ +F_t[r[(r[e>>2]|0)+32>>2]&127](e,t,i)}function Xie(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function Zie(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function Qie(e){e=e|0;jnt[r[(r[e>>2]|0)+44>>2]&2047](e);return}function qie(e){e=e|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);p[e+1308>>2]=+p[e+1248>>2];p[e+1312>>2]=+p[e+1252>>2];p[e+1316>>2]=+p[e+1256>>2];p[e+1320>>2]=+p[e+1184>>2];p[e+1324>>2]=+p[e+1188>>2];p[e+1328>>2]=+p[e+1192>>2];return}function Yie(e,t){e=e|0;t=t|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);if((t|0)<3){p[e+1308+(t<<2)>>2]=+p[e+1248+(t<<2)>>2];return}else{p[e+1308+(t<<2)>>2]=+p[e+1184+(t-3<<2)>>2];return}}function Jie(e,t){e=e|0;t=t|0;var i=0,n=0,o=0;while(1){i=hBe(80)|0;if((i|0)!=0){n=508;break}o=(R=r[10744]|0,r[10744]=R+0,R);if((o|0)==0){break}prt[o&63]()}if((n|0)==508){p[i+4>>2]=1.0;_[i+8>>1]=1;_[i+10>>1]=-1;r[i>>2]=19448;n=i+12|0;o=e;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];o=i+28|0;n=t;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];r[i+76>>2]=0;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function Kie(e,t){e=+e;t=+t;var i=0,n=0,_=0;while(1){i=hBe(92)|0;if((i|0)!=0){n=520;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==520){p[i+80>>2]=e;p[i+84>>2]=t;p[i+88>>2]=0.0;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function $ie(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0;while(1){s=hBe(1380)|0;if((s|0)!=0){a=532;break}l=(R=r[10744]|0,r[10744]=R+0,R);if((l|0)==0){break}prt[l&63]()}if((a|0)==532){the(s,e,t,i,_,o);r[s>>2]=20024;r[s+4>>2]=9;n[s+1301|0]=0;p[s+1308>>2]=0.0;p[s+1332>>2]=0.0;p[s+1356>>2]=1.0;n[s+1302|0]=0;p[s+1312>>2]=0.0;p[s+1336>>2]=0.0;p[s+1360>>2]=1.0;n[s+1303|0]=0;p[s+1316>>2]=0.0;p[s+1340>>2]=0.0;p[s+1364>>2]=1.0;n[s+1304|0]=0;p[s+1320>>2]=0.0;p[s+1344>>2]=0.0;p[s+1368>>2]=1.0;n[s+1305|0]=0;p[s+1324>>2]=0.0;p[s+1348>>2]=0.0;p[s+1372>>2]=1.0;n[s+1306|0]=0;p[s+1328>>2]=0.0;p[s+1352>>2]=0.0;p[s+1376>>2]=1.0;return s|0}s=Di(4)|0;r[s>>2]=19096;Ht(s|0,34368,676);return 0}function ene(e,t){e=e|0;t=+t;return}function tne(e){e=e|0;return(e|0)==28|0}function ine(e){e=e|0;return(e|0)==31|0}function nne(e){e=e|0;return(e|0)<7|0}function _ne(e){e=e|0;return(e|0)<20|0}function rne(e){e=e|0;return((e|0)>20&(e|0)<30?(e|0)!=25:0)|0}function one(e){e=e|0;return((e|0)==17?1:(e|0)==18)|0}function sne(e){e=e|0;return(e|0)==32|0}function ane(e){e=e|0;return((e|0)>20?(e|0)<30:0)|0}function pne(e){e=e|0;return+ +p[e+32>>2]}function lne(e){e=e|0;return(n[e+20|0]&1)!=0|0}function dne(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function cne(e){e=e|0;return r[e+4>>2]|0}function bne(e,t){e=e|0;t=t|0;n[e+21|0]=t&1;return}function une(e,t){e=e|0;t=t|0;n[e+1293|0]=t&1;return}function mne(e){e=e|0;return(n[e+21|0]&1)!=0|0}function hne(e){e=e|0;return r[e+4>>2]|0}function fne(e,t){e=e|0;t=t|0;return e+860+(t<<6)|0}function gne(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+1300|0]&1)==0){r[i>>2]=6;r[t+4>>2]=0;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function Cne(e){e=e|0;return+ +p[e+36>>2]}function Sne(e,t){e=e|0;t=+t;p[e+36>>2]=t;return}function yne(e,t){e=e|0;t=t|0;var i=0,n=0;i=e;if((t|0)<3){n=+p[e+688+(t<<2)>>2]>=+p[e+672+(t<<2)>>2];return n|0}e=t-3|0;if(+p[i+860+(e<<6)>>2]>+p[i+860+(e<<6)+4>>2]){n=0;return n|0}n=1;return n|0}function vne(e){e=e|0;return(n[e+1293|0]&1)!=0|0}function xne(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Mne(e,t,i){e=e|0;t=t|0;i=i|0;var _=0;_=i&1;n[e+1301+t|0]=_;if((t|0)<3){n[e+(t+780)|0]=_;return}else{n[e+860+(t-3<<6)+44|0]=_;return}}function Tne(e){e=e|0;return e+1120|0}function Dne(e,t){e=e|0;t=+t;p[e+32>>2]=t;return}function Pne(e,t){e=e|0;t=+t;p[e+16>>2]=t;return}function wne(e){e=e|0;return(n[e+1300|0]&1)!=0|0}function Ane(e){e=e|0;return+ +p[e+32>>2]}function Fne(e,t){e=e|0;t=t|0;n[e+1300|0]=t&1;return}function Rne(e){e=e|0;return e+672|0}function Ine(e,t){e=e|0;t=t|0;return+ +p[e+1184+(t<<2)>>2]}function Bne(e,t){e=e|0;t=t|0;var i=0;i=e;e=0;while(1){if((e|0)>=3){break}p[t+(e<<2)>>2]=+p[i+860+(e<<6)+4>>2];e=e+1|0}return}function Vne(e){e=e|0;return r[e+8>>2]|0}function Ene(e,t,i){e=e|0;t=t|0;i=+i;p[e+1332+(t<<2)>>2]=i;return}function Nne(e){e=e|0;return r[e+12>>2]|0}function kne(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function One(e){e=e|0;return r[e>>2]|0}function Lne(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function Une(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Gne(e){e=e|0;return e+16|0}function Wne(e,t){e=e|0;t=t|0;r[e+12>>2]=t;return}function zne(e){e=e|0;return _[e+6>>1]|0}function Hne(e){e=e|0;return r[e+12>>2]|0}function jne(e){e=e|0;return e+32|0}function Xne(e,t){e=e|0;t=t|0;_[e+4>>1]=t;return}function Zne(e){e=e|0;return r[e+12>>2]|0}function Qne(e,t){e=e|0;t=t|0;_[e+6>>1]=t;return}function qne(e){e=e|0;return r[e+8>>2]|0}function Yne(e){e=e|0;return _[e+4>>1]|0}function Jne(e){e=e|0;return e+20|0}function Kne(e){e=e|0;return e+4|0}function $ne(e,t){e=e|0;t=t|0;do{if((n[43752]|0)==0){if((ui(43752)|0)==0){break}}}while(0);TBe(38904,e+1200+(t<<4)|0,16);return 38904}function e_e(e,t){e=e|0;t=t|0;var i=0;i=e+688|0;e=t;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];return}function t_e(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+40>>2]&511](e,t,i)|0}function i_e(e,t){e=e|0;t=t|0;var i=0;i=e+672|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function n_e(e,t){e=e|0;t=t|0;var i=0;i=e+672|0;e=t;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];return}function __e(e){e=e|0;ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function r_e(e,t,i){e=e|0;t=t|0;i=i|0;ihe(e,t,i);return}function o_e(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function s_e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return che(e,t,i,n,_,r,o,s,a,p,l,d,0)|0}function a_e(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return che(e,t,i,n,_,r,o,s,a,p,l,d,c)|0}function p_e(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;Ou(e,t,i,n);return}function l_e(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function d_e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;Ynt[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n,_);return}function c_e(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=e;e=0;while(1){if((e|0)>=3){break}n=+Bi(+ +p[t+(e<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[i+860+(e<<6)>>2]=_;e=e+1|0}return}function b_e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+24>>2]&127](e,t,i,n);return}function u_e(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=e;_=e+40|0;o=t;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+56|0;_=t+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+72|0;o=t+32|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+88|0;_=t+48|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+104|0;o=i;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+120|0;_=i+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=e+136|0;o=i+32|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];o=e+152|0;_=i+48|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];jnt[r[(r[e>>2]|0)+8>>2]&2047](n);ihe(n,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function m_e(e,t){e=e|0;t=t|0;var i=0;i=e+688|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function h_e(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0;i=e;e=0;while(1){if((e|0)>=3){break}n=+Bi(+ +p[t+(e<<2)>>2],6.2831854820251465);do{if(n<-3.1415927410125732){_=n+6.2831854820251465}else{if(n<=3.1415927410125732){_=n;break}_=n-6.2831854820251465}}while(0);p[i+860+(e<<6)+4>>2]=_;e=e+1|0}return}function f_e(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+48>>2]&511](e,t,i);return}function g_e(e,t){e=e|0;t=t|0;return _he(e,t)|0}function C_e(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(67)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t>>2]=0;r[t+8>>2]=0;return t|0}function S_e(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var s=0,a=0,p=0;r[9806]=(r[9806]|0)+1;s=hBe(67)|0;if((s|0)==0){a=0}else{p=-(s+4|0)&15;r[s+p>>2]=s;a=s+(p+4)|0}r[a>>2]=i;_[a+4>>1]=n;_[a+6>>1]=o;o=a+16|0;n=e;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];n=a+32|0;o=t;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];r[a+8>>2]=0;return a|0}function y_e(e,t,i,n,o,s){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;s=s|0;var a=0,p=0,l=0;r[9806]=(r[9806]|0)+1;a=hBe(67)|0;if((a|0)==0){p=0}else{l=-(a+4|0)&15;r[a+l>>2]=a;p=a+(l+4)|0}r[p>>2]=i;_[p+4>>1]=n;_[p+6>>1]=o;o=p+16|0;n=e;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];n=p+32|0;o=t;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];r[p+8>>2]=s;return p|0}function v_e(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function x_e(e,t){e=e|0;t=t|0;var i=0;i=e+32|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function M_e(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-48+44>>2]|0);return}function T_e(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;H_t[r[(r[e>>2]|0)+16>>2]&63](e,t,i,n,_,o,s,a,p,0);return}function D_e(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[r[(r[e>>2]|0)+16>>2]&63](e,t,i,n,_,o,s,a,p,l);return}function P_e(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+36>>2]&2047](e,t);return}function w_e(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=d;d=d+40|0;_=n|0;r[_>>2]=18624;p[_+4>>2]=999999984306749400.0;p[_+8>>2]=999999984306749400.0;p[_+12>>2]=999999984306749400.0;p[_+16>>2]=0.0;p[_+20>>2]=-999999984306749400.0;p[_+24>>2]=-999999984306749400.0;p[_+28>>2]=-999999984306749400.0;p[_+32>>2]=0.0;p[t>>2]=-999999984306749400.0;p[t+4>>2]=-999999984306749400.0;p[t+8>>2]=-999999984306749400.0;p[t+12>>2]=0.0;p[i>>2]=999999984306749400.0;p[i+4>>2]=999999984306749400.0;p[i+8>>2]=999999984306749400.0;p[i+12>>2]=0.0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,_|0,t,i);e=t;t=_+4|0;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];t=i;i=_+20|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];d=n;return}function A_e(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function F_e(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e,t);return}function R_e(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+56>>2]&511](e|0,t,i)|0}function I_e(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(103)|0;t=-(e+4|0)&15;r[e+t>>2]=e;i=e+(t+4)|0;p[i+4>>2]=1.0;p[i+8>>2]=1.0;p[i+12>>2]=1.0;p[i+16>>2]=0.0;r[i>>2]=20368;n[i+36|0]=1;r[i+32>>2]=0;r[i+24>>2]=0;r[i+28>>2]=0;r[i+48>>2]=0;return i|0}function B_e(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0,u=0;a=d;d=d+32|0;l=a|0;r[9806]=(r[9806]|0)+1;c=hBe(103)|0;if((c|0)==0){b=0}else{u=-(c+4|0)&15;r[c+u>>2]=c;b=c+(u+4)|0}p[b+4>>2]=1.0;p[b+8>>2]=1.0;p[b+12>>2]=1.0;p[b+16>>2]=0.0;r[b>>2]=20368;n[b+36|0]=1;r[b+32>>2]=0;r[b+24>>2]=0;r[b+28>>2]=0;r[b+48>>2]=0;r[l+24>>2]=2;r[l+28>>2]=0;r[l>>2]=e;r[l+4>>2]=t;r[l+8>>2]=i;r[l+12>>2]=_;r[l+16>>2]=o;r[l+20>>2]=s;bF(b,l,2);d=a;return b|0}function V_e(e,t){e=e|0;t=t|0;var i=0;i=e+4|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function E_e(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function N_e(e){e=e|0;return(r[e+4>>2]|0)<7|0}function k_e(e){e=e|0;return e+12|0}function O_e(e){e=e|0;return(r[e+4>>2]|0)==31|0}function L_e(e){e=e|0;return+ +p[e+44>>2]}function U_e(e){e=e|0;return(r[e+4>>2]|0)<20|0}function G_e(e){e=e|0;return(r[e+4>>2]|0)==28|0}function W_e(e){e=e|0;return r[e+8>>2]|0}function z_e(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function H_e(e){e=e|0;return e+28|0}function j_e(e){e=e|0;return(r[e+4>>2]|0)==32|0}function X_e(e){e=e|0;return e+28|0}function Z_e(e){e=e|0;return r[e+52>>2]|0}function Q_e(e){e=e|0;return r[e+4>>2]|0}function q_e(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Y_e(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function J_e(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function K_e(e){e=e|0;return(r[e+4>>2]|0)<7|0}function $_e(e){e=e|0;return e+12|0}function ere(e){e=e|0;return Knt[r[(r[e>>2]|0)+52>>2]&4095](e|0)|0}function tre(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e,t,i);return}function ire(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function nre(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+48>>2]&511](e,t,i);return}function _re(e,t){e=e|0;t=t|0;bF(e,t,2);return}function rre(e,t,i){e=e|0;t=t|0;i=i|0;bF(e,t,i);return}function ore(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0}function sre(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;H_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a,p,0);return}function are(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[r[(r[e>>2]|0)+12>>2]&63](e,t,i,n,_,o,s,a,p,l);return}function pre(e){e=e|0;return Knt[r[(r[e>>2]|0)+40>>2]&4095](e)|0}function lre(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function dre(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function cre(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function bre(e){e=e|0;return Knt[r[(r[e>>2]|0)+104>>2]&4095](e)|0}function ure(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43800]|0)==0){if((ui(43800)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9722]=r[t>>2];r[9723]=r[t+4>>2];r[9724]=r[t+8>>2];r[9725]=r[t+12>>2];d=i;return 38888}function mre(e,t,i){e=e|0;t=t|0;i=+i;return D_t[r[(r[e>>2]|0)+112>>2]&127](e,t,i)|0}function hre(e){e=e|0;return Knt[r[(r[e>>2]|0)+88>>2]&4095](e)|0}function fre(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function gre(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e)|0}function Cre(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43344]|0)==0){if((ui(43344)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9714]=r[t>>2];r[9715]=r[t+4>>2];r[9716]=r[t+8>>2];r[9717]=r[t+12>>2];d=i;return 38856}function Sre(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+100>>2]&511](e,t,i);return}function yre(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+116>>2]&511](e,t,i);return}function vre(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43640]|0)==0){if((ui(43640)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9710]=r[t>>2];r[9711]=r[t+4>>2];r[9712]=r[t+8>>2];r[9713]=r[t+12>>2];d=i;return 38840}function xre(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function Mre(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function Tre(e){e=e|0;return Knt[r[(r[e>>2]|0)+92>>2]&4095](e)|0}function Dre(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Pre(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+96>>2]&1023](e,t,i,n);return}function wre(e){e=e|0;var t=0,i=0,n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0;r[9806]=(r[9806]|0)+1;t=hBe(75)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}r[i+8>>2]=0;n=i+12|0;p[n>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;p[i+44>>2]=.03999999910593033;r[i+52>>2]=0;r[i>>2]=26200;r[i+4>>2]=0;t=i;_=i;o=+LCe(t);s=+z_t[r[(r[_>>2]|0)+44>>2]&1023](t);a=+z_t[r[(r[_>>2]|0)+44>>2]&1023](t);l=+p[e+4>>2]*+p[i+16>>2]-s;s=+p[e+8>>2]*+p[i+20>>2]-a;p[i+28>>2]=+p[e>>2]*+p[n>>2]-o;p[i+32>>2]=l;p[i+36>>2]=s;p[i+40>>2]=0.0;return i|0}function Are(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Fre(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Rre(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function Ire(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function Bre(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Vre(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Ere(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e,t,i);return}function Nre(e){e=e|0;return Knt[r[(r[e>>2]|0)+84>>2]&4095](e|0)|0}function kre(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43512]|0)==0){if((ui(43512)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9706]=r[t>>2];r[9707]=r[t+4>>2];r[9708]=r[t+8>>2];r[9709]=r[t+12>>2];d=i;return 38824}function Ore(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 13:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function Lre(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Ure(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function Gre(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Wre(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function zre(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Hre(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function jre(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+108>>2]&1023](e,t,i,n);return}function Xre(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function Zre(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Qre(e){e=e|0;var t=0.0,i=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;do{if((n[43808]|0)==0){if((ui(43808)|0)==0){break}}}while(0);t=+p[e+28>>2];i=+p[e+32>>2];_=+p[e+36>>2];o=+p[e+40>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=_+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s);p[9702]=t+l;p[9703]=i+d;p[9704]=c;p[9705]=o;return 38808}function qre(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e,t,i);return}function Yre(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+8>>2]&511](e,t,i);return}function Jre(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;nrt[r[(r[e>>2]|0)+16>>2]&127](e,t,i,n);return}function Kre(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function $re(e){e=e|0;return Knt[r[(r[e>>2]|0)+104>>2]&4095](e|0)|0}function eoe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43240]|0)==0){if((ui(43240)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9698]=r[t>>2];r[9699]=r[t+4>>2];r[9700]=r[t+8>>2];r[9701]=r[t+12>>2];d=i;return 38792}function toe(e,t,i){e=e|0;t=t|0;i=+i;return D_t[r[(r[e>>2]|0)+112>>2]&127](e|0,t,i)|0}function ioe(e){e=e|0;return Knt[r[(r[e>>2]|0)+88>>2]&4095](e|0)|0}function noe(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function _oe(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function roe(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+100>>2]&511](e|0,t,i);return}function ooe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43120]|0)==0){if((ui(43120)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9694]=r[t>>2];r[9695]=r[t+4>>2];r[9696]=r[t+8>>2];r[9697]=r[t+12>>2];d=i;return 38776}function soe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function aoe(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function poe(e){e=e|0;return Knt[r[(r[e>>2]|0)+92>>2]&4095](e|0)|0}function loe(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function doe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+96>>2]&1023](e|0,t,i,n);return}function coe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43064]|0)==0){if((ui(43064)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9690]=r[t>>2];r[9691]=r[t+4>>2];r[9692]=r[t+8>>2];r[9693]=r[t+12>>2];d=i;return 38760}function boe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function uoe(e){e=e|0;return(r[e+4>>2]|0)<20|0}function moe(e){e=e|0;return(r[e+4>>2]|0)==28|0}function hoe(e){e=e|0;return r[e+8>>2]|0}function foe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function goe(e){e=e|0;return+ +p[e+44>>2]}function Coe(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Soe(e){e=e|0;return e+28|0}function yoe(e){e=e|0;return(r[e+4>>2]|0)==31|0}function voe(e){e=e|0;return r[e+52>>2]|0}function xoe(e){e=e|0;return r[e+4>>2]|0}function Moe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Toe(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Doe(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Poe(e){e=e|0;return r[e+52>>2]|0}function woe(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Aoe(e){e=e|0;return+ +p[e+28+((((r[e+52>>2]|0)+2|0)%3|0)<<2)>>2]}function Foe(e){e=e|0;return+ +p[e+28+(r[e+52>>2]<<2)>>2]}function Roe(e){e=e|0;return e+12|0}function Ioe(e){e=e|0;return+ +p[e+44>>2]}function Boe(e){e=e|0;return(r[e+4>>2]|0)<20|0}function Voe(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Eoe(e){e=e|0;return r[e+8>>2]|0}function Noe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function koe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Ooe(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Loe(e){e=e|0;return e+28|0}function Uoe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Goe(e){e=e|0;return r[e+4>>2]|0}function Woe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43080]|0)==0){if((ui(43080)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9686]=r[t>>2];r[9687]=r[t+4>>2];r[9688]=r[t+8>>2];r[9689]=r[t+12>>2];d=i;return 38744}function zoe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Hoe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function joe(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function Xoe(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Zoe(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Qoe(e){e=e|0;dwe(e);return}function qoe(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function Yoe(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function Joe(e){e=e|0;return Knt[r[(r[e>>2]|0)+84>>2]&4095](e|0)|0}function Koe(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function $oe(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function ese(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function tse(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function ise(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function nse(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function _se(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function rse(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+108>>2]&1023](e|0,t,i,n);return}function ose(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function sse(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;io(e,t,i,n,_);return}function ase(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0;t=d;d=d+8|0;i=t|0;if((e|0)==0){d=t;return}n=r[9152]|0;_=n+16|0;o=(r[_>>2]|0)-1|0;r[_>>2]=o;do{if((o|0)==0){if((r[n+4>>2]|0)==0){s=n}else{hi(i|0,0)|0;a=r[10742]|0;l=n+8|0;p[l>>2]=+(((r[i+4>>2]|0)-(r[a+4>>2]|0)+(((r[i>>2]|0)-(r[a>>2]|0)|0)*1e6|0)-(r[n+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[l>>2];if((r[_>>2]|0)!=0){break}s=r[9152]|0}r[9152]=r[s+20>>2]}}while(0);SBe(e|0);d=t;return}function pse(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function lse(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43712]|0)==0){if((ui(43712)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9682]=r[t>>2];r[9683]=r[t+4>>2];r[9684]=r[t+8>>2];r[9685]=r[t+12>>2];d=i;return 38728}function dse(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function cse(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function bse(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function use(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function mse(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function hse(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function fse(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43216]|0)==0){if((ui(43216)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9678]=r[t>>2];r[9679]=r[t+4>>2];r[9680]=r[t+8>>2];r[9681]=r[t+12>>2];d=i;return 38712}function gse(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43408]|0)==0){if((ui(43408)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9670]=r[t>>2];r[9671]=r[t+4>>2];r[9672]=r[t+8>>2];r[9673]=r[t+12>>2];d=i;return 38680}function Cse(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function Sse(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function yse(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43544]|0)==0){if((ui(43544)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9666]=r[t>>2];r[9667]=r[t+4>>2];r[9668]=r[t+8>>2];r[9669]=r[t+12>>2];d=i;return 38664}function vse(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function xse(e,t){e=+e;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(75)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;p[n+44>>2]=.03999999910593033;r[n+4>>2]=10;r[n>>2]=25144;r[n+52>>2]=0;p[n+28>>2]=t*.5;p[n+32>>2]=e;p[n+36>>2]=e;p[n+40>>2]=0.0;return n|0}function Mse(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function Tse(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function Dse(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function Pse(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function wse(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function Ase(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Fse(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function Rse(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Ise(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Bse(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Vse(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function Ese(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Nse(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[44008]|0)==0){if((ui(44008)|0)==0){break}}}while(0);qse(_,e,t);t=_;r[9662]=r[t>>2];r[9663]=r[t+4>>2];r[9664]=r[t+8>>2];r[9665]=r[t+12>>2];d=i;return 38648}function kse(e){e=e|0;var t=0,i=0,n=0;while(1){t=hBe(1)|0;if((t|0)!=0){i=950;break}n=(R=r[10744]|0,r[10744]=R+0,R);if((n|0)==0){i=947;break}prt[n&63]()}if((i|0)==947){n=Di(4)|0;r[n>>2]=19096;Ht(n|0,34368,676);return 0}else if((i|0)==950){sBe(e);return t|0}return 0}function Ose(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(n<+p[i>>2]){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(n>=+p[i>>2]){return}p[i>>2]=n;return}function Lse(e){e=e|0;return+ +p[e>>2]}function Use(e){e=e|0;return+ +p[e+4>>2]}function Gse(e){e=e|0;return+ +p[e+8>>2]}function Wse(e,t){e=e|0;t=t|0;var i=0;i=e|0;p[i>>2]=+p[i>>2]-+p[t>>2];i=e+4|0;p[i>>2]=+p[i>>2]-+p[t+4>>2];i=e+8|0;p[i>>2]=+p[i>>2]-+p[t+8>>2];i=e+12|0;p[i>>2]=+p[i>>2]-+p[t+12>>2];return e|0}function zse(e){e=e|0;return+ +p[e+12>>2]}function Hse(e,t){e=e|0;t=t|0;var i=0,n=0.0;i=e|0;n=+p[t>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+4|0;n=+p[t+4>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+8|0;n=+p[t+8>>2];if(+p[i>>2]<n){p[i>>2]=n}i=e+12|0;n=+p[t+12>>2];if(+p[i>>2]>=n){return}p[i>>2]=n;return}function jse(e,t){e=e|0;t=t|0;var i=0;i=e|0;p[i>>2]=+p[i>>2]+ +p[t>>2];i=e+4|0;p[i>>2]=+p[i>>2]+ +p[t+4>>2];i=e+8|0;p[i>>2]=+p[i>>2]+ +p[t+8>>2];i=e+12|0;p[i>>2]=+p[i>>2]+ +p[t+12>>2];return e|0}function Xse(e,t){e=e|0;t=+t;var i=0;i=e|0;p[i>>2]=+p[i>>2]*t;i=e+4|0;p[i>>2]=+p[i>>2]*t;i=e+8|0;p[i>>2]=+p[i>>2]*t;i=e+12|0;p[i>>2]=+p[i>>2]*t;return e|0}function Zse(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=0.0;return}function Qse(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;p[e>>2]=t;p[e+4>>2]=i;p[e+8>>2]=n;p[e+12>>2]=_;return}function qse(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0;n=+p[t>>2];_=+p[i>>2];o=n-_;s=+p[t+4>>2];a=+p[i+4>>2];l=s-a;d=+p[t+8>>2];c=+p[i+8>>2];b=d-c;u=+p[t+12>>2];m=+p[i+12>>2];h=u-m;f=n+_;n=s+a;s=d+c;d=u+m;if(o*o+l*l+b*b+h*h<f*f+n*n+s*s+d*d){t=e;g=i;r[t>>2]=r[g>>2];r[t+4>>2]=r[g+4>>2];r[t+8>>2]=r[g+8>>2];r[t+12>>2]=r[g+12>>2];return}else{p[e>>2]=-0.0-_;p[e+4>>2]=-0.0-a;p[e+8>>2]=-0.0-c;p[e+12>>2]=-0.0-m;return}}function Yse(e,t){e=e|0;t=t|0;var i=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0;do{if((n[43960]|0)==0){if((ui(43960)|0)==0){break}}}while(0);i=+p[e>>2];_=+p[t>>2];r=i-_;o=+p[e+4>>2];s=+p[t+4>>2];a=o-s;l=+p[e+8>>2];d=+p[t+8>>2];c=l-d;b=+p[e+12>>2];u=+p[t+12>>2];m=b-u;h=i+_;i=o+s;o=l+d;l=b+u;if(r*r+a*a+c*c+m*m>h*h+i*i+o*o+l*l){f=_;g=s;C=d;S=u;p[9658]=f;p[9659]=g;p[9660]=C;p[9661]=S;return 38632}f=-0.0-_;g=-0.0-s;C=-0.0-d;S=-0.0-u;p[9658]=f;p[9659]=g;p[9660]=C;p[9661]=S;return 38632}function Jse(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0,r=0;_=d;d=d+8|0;r=_|0;p[r>>2]=n;Kse(e,t,i,r);d=_;return}function Kse(e,t,i,n){e=e|0;t=+t;i=+i;n=n|0;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;_=t*.5;t=i*.5;i=+p[n>>2]*.5;r=+Z(+_);o=+Q(+_);_=+Z(+t);s=+Q(+t);t=+Z(+i);a=+Q(+i);i=t*s;l=a*_;d=t*_;_=a*s;p[e>>2]=i*r+l*o;p[e+4>>2]=d*o-_*r;p[e+8>>2]=l*r-i*o;p[e+12>>2]=d*r+_*o;return}function $se(e){e=e|0;var t=0,i=0.0,n=0,_=0.0,r=0,o=0.0,s=0,a=0.0,l=0.0;t=e|0;i=+p[t>>2];n=e+4|0;_=+p[n>>2];r=e+8|0;o=+p[r>>2];s=e+12|0;a=+p[s>>2];l=1.0/+j(+(i*i+_*_+o*o+a*a));p[t>>2]=i*l;p[n>>2]=_*l;p[r>>2]=o*l;p[s>>2]=a*l;return e|0}function eae(e,t,i){e=e|0;t=t|0;i=+i;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0;do{if((n[44096]|0)==0){if((ui(44096)|0)==0){break}}}while(0);_=+nae(e,t);if(_==0.0){r=+p[e>>2];o=+p[e+4>>2];s=+p[e+8>>2];a=+p[e+12>>2];p[9654]=r;p[9655]=o;p[9656]=s;p[9657]=a;return 38616}l=1.0/+Q(+_);d=+Q(+((1.0-i)*_));c=+Q(+(_*i));i=+p[e>>2];_=+p[t>>2];b=+p[e+4>>2];u=+p[t+4>>2];m=+p[e+8>>2];h=+p[t+8>>2];f=+p[e+12>>2];g=+p[t+12>>2];C=i*d;if(i*_+b*u+m*h+f*g<0.0){r=(C+c*(-0.0-_))*l;o=(b*d+c*(-0.0-u))*l;s=(m*d+c*(-0.0-h))*l;a=(f*d+c*(-0.0-g))*l;p[9654]=r;p[9655]=o;p[9656]=s;p[9657]=a;return 38616}else{r=(C+_*c)*l;o=(b*d+u*c)*l;s=(m*d+h*c)*l;a=(f*d+g*c)*l;p[9654]=r;p[9655]=o;p[9656]=s;p[9657]=a;return 38616}return 0}function tae(e){e=e|0;var t=0.0,i=0.0,_=0.0;do{if((n[44016]|0)==0){if((ui(44016)|0)==0){break}}}while(0);t=-0.0-+p[e+4>>2];i=-0.0-+p[e+8>>2];_=+p[e+12>>2];p[9650]=-0.0-+p[e>>2];p[9651]=t;p[9652]=i;p[9653]=_;return 38600}function iae(e,t){e=e|0;t=t|0;return+ +nae(e,t)}function nae(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0;i=+p[e>>2];n=+p[e+4>>2];_=+p[e+8>>2];r=+p[e+12>>2];o=+p[t>>2];s=+p[t+4>>2];a=+p[t+8>>2];l=+p[t+12>>2];d=(i*o+n*s+_*a+r*l)/+j(+((i*i+n*n+_*_+r*r)*(o*o+s*s+a*a+l*l)));if(d<-1.0){c=-1.0;b=+Y(+c);return+b}if(d<=1.0){c=d;b=+Y(+c);return+b}c=1.0;b=+Y(+c);return+b}function _ae(e){e=e|0;var t=0.0,i=0.0,_=0.0,r=0.0,o=0.0;do{if((n[44024]|0)==0){if((ui(44024)|0)==0){break}}}while(0);t=1.0-+X(+ +p[e+12>>2],2.0);if(t<11920928955078125.0e-22){i=1.0;_=0.0;r=0.0}else{o=+j(+t);i=+p[e>>2]/o;_=+p[e+4>>2]/o;r=+p[e+8>>2]/o}p[9646]=i;p[9647]=_;p[9648]=r;p[9649]=0.0;return 38584}function rae(){if((n[43032]|0)!=0){return 42736}if((ui(43032)|0)==0){return 42736}p[10684]=0.0;p[10685]=0.0;p[10686]=0.0;p[10687]=1.0;return 42736}function oae(e,t,i){e=e|0;t=t|0;i=+i;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0;n=+p[t>>2];_=+p[t+4>>2];r=+p[t+8>>2];o=+j(+(n*n+_*_+r*r));s=i*.5;i=+Q(+s)/o;o=+Z(+s);p[e>>2]=n*i;p[e+4>>2]=_*i;p[e+8>>2]=r*i;p[e+12>>2]=o;return}function sae(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0;_=t*.5;t=i*.5;i=n*.5;n=+Z(+_);r=+Q(+_);_=+Z(+t);o=+Q(+t);t=+Z(+i);s=+Q(+i);i=s*_;a=t*o;l=t*_;_=s*o;p[e>>2]=i*n-a*r;p[e+4>>2]=a*n+i*r;p[e+8>>2]=l*r-_*n;p[e+12>>2]=l*n+_*r;return}function aae(){var e=0,t=0,i=0;while(1){e=hBe(16)|0;if((e|0)!=0){t=1051;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==1051){return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function pae(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;while(1){i=hBe(16)|0;if((i|0)!=0){n=1063;break}_=(R=r[10744]|0,r[10744]=R+0,R);if((_|0)==0){break}prt[_&63]()}if((n|0)==1063){o=+p[e>>2];s=+p[e+4>>2];a=+p[e+8>>2];l=+j(+(o*o+s*s+a*a));d=t*.5;t=+Q(+d)/l;l=+Z(+d);p[i>>2]=o*t;p[i+4>>2]=s*t;p[i+8>>2]=a*t;p[i+12>>2]=l;return i|0}i=Di(4)|0;r[i>>2]=19096;Ht(i|0,34368,676);return 0}function lae(e,t,i){e=+e;t=+t;i=+i;var n=0,_=0,o=0,s=0,a=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;while(1){o=hBe(16)|0;if((o|0)!=0){s=1075;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==1075){s=o;Kse(s,e,t,_);d=n;return s|0}s=Di(4)|0;r[s>>2]=19096;Ht(s|0,34368,676);return 0}function dae(e,t){e=e|0;t=+t;var i=0.0,n=0;i=1.0/t;n=e|0;p[n>>2]=+p[n>>2]*i;n=e+4|0;p[n>>2]=+p[n>>2]*i;n=e+8|0;p[n>>2]=+p[n>>2]*i;n=e+12|0;p[n>>2]=+p[n>>2]*i;return e|0}function cae(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function bae(e,t){e=e|0;t=+t;p[e>>2]=t;return}function uae(e,t){e=e|0;t=+t;p[e+4>>2]=t;return}function mae(e,t){e=e|0;t=+t;p[e+8>>2]=t;return}function hae(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];_=+p[e+12>>2];return+(t*t+i*i+n*n+_*_)}function fae(e){e=e|0;return+ +p[e+12>>2]}function gae(e){e=e|0;return+ +p[e+4>>2]}function Cae(e){e=e|0;return+ +p[e>>2]}function Sae(e){e=e|0;return+ +p[e+8>>2]}function yae(e,t){e=e|0;t=t|0;return+(+p[e>>2]*+p[t>>2]+ +p[e+4>>2]*+p[t+4>>2]+ +p[e+8>>2]*+p[t+8>>2]+ +p[e+12>>2]*+p[t+12>>2])}function vae(e){e=e|0;return(r[e+4>>2]|0)==31|0}function xae(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Mae(e){e=e|0;return r[e+52>>2]|0}function Tae(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Dae(e){e=e|0;return+ +p[e+28+((((r[e+52>>2]|0)+2|0)%3|0)<<2)>>2]}function Pae(e){e=e|0;return+ +p[e+28+(r[e+52>>2]<<2)>>2]}function wae(e){e=e|0;return e+12|0}function Aae(e){e=e|0;return+ +p[e+44>>2]}function Fae(e){e=e|0;return(r[e+4>>2]|0)<20|0}function Rae(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Iae(e){e=e|0;return r[e+8>>2]|0}function Bae(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function Vae(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Eae(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Nae(e){e=e|0;return e+28|0}function kae(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Oae(e){e=e|0;return r[e+4>>2]|0}function Lae(e){e=e|0;return+ +p[e+224>>2]}function Uae(e){e=e|0;return+ +p[e+220>>2]}function Gae(e,t){e=e|0;t=t|0;r[e+212>>2]=t;return}function Wae(e){e=e|0;return+ +p[e+244>>2]}function zae(e,t){e=e|0;t=+t;p[e+224>>2]=t;return}function Hae(e,t){e=e|0;t=t|0;r[e+196>>2]=t;return}function jae(e,t){e=e|0;t=+t;p[e+184>>2]=t;return}function Xae(e){e=e|0;return e+132|0}function Zae(e){e=e|0;return(r[e+204>>2]&7|0)==0|0}function Qae(e,t){e=e|0;t=+t;p[e+248>>2]=t;return}function qae(e){e=e|0;return r[e+208>>2]|0}function Yae(e){e=e|0;return r[e+260>>2]|0}function Jae(e,t){e=e|0;t=t|0;r[e+236>>2]=t;return}function Kae(e){e=e|0;var t=0.0,i=0.0,_=0.0,r=0.0,o=0.0;do{if((n[43952]|0)==0){if((ui(43952)|0)==0){break}}}while(0);t=+p[e>>2];i=+p[e+4>>2];_=+p[e+8>>2];r=+p[e+12>>2];o=1.0/+j(+(t*t+i*i+_*_+r*r));p[9642]=t*o;p[9643]=i*o;p[9644]=_*o;p[9645]=r*o;return 38568}function $ae(e){e=e|0;if((e|0)==0){return}SBe(e);return}function epe(e){e=e|0;var t=0.0,i=0.0;t=+p[e+12>>2];do{if(t<-1.0){i=-1.0}else{if(t<=1.0){i=t;break}i=1.0}}while(0);return+(+Y(+i)*2.0)}function tpe(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0.0;t=+p[e>>2];i=+p[e+4>>2];n=+p[e+8>>2];_=+p[e+12>>2];return+ +j(+(t*t+i*i+n*n+_*_))}function ipe(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function npe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43704]|0)==0){if((ui(43704)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e|0,t);t=_;r[9638]=r[t>>2];r[9639]=r[t+4>>2];r[9640]=r[t+8>>2];r[9641]=r[t+12>>2];d=i;return 38552}function _pe(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function rpe(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function ope(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function spe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function ape(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function ppe(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function lpe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43208]|0)==0){if((ui(43208)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9634]=r[t>>2];r[9635]=r[t+4>>2];r[9636]=r[t+8>>2];r[9637]=r[t+12>>2];d=i;return 38536}function dpe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43400]|0)==0){if((ui(43400)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e|0,t);t=_;r[9626]=r[t>>2];r[9627]=r[t+4>>2];r[9628]=r[t+8>>2];r[9629]=r[t+12>>2];d=i;return 38504}function cpe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function bpe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function upe(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43536]|0)==0){if((ui(43536)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9622]=r[t>>2];r[9623]=r[t+4>>2];r[9624]=r[t+8>>2];r[9625]=r[t+12>>2];d=i;return 38488}function mpe(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function hpe(e,t){e=+e;t=+t;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(75)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;p[n+44>>2]=.03999999910593033;r[n+4>>2]=10;r[n>>2]=25040;r[n+52>>2]=2;p[n+28>>2]=e;p[n+32>>2]=e;p[n+36>>2]=t*.5;p[n+40>>2]=0.0;return n|0}function fpe(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0)}function gpe(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function Cpe(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e|0,t);return}function Spe(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function ype(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 0:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 10:{i=+p[t+44>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function vpe(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function xpe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,t,i,n);return}function Mpe(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Tpe(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function Dpe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function Ppe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function wpe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Ape(e,t,i){e=e|0;t=t|0;i=i|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,0);return}function Fpe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+32>>2]&1023](e,t,i,n);return}function Rpe(e,t){e=e|0;t=t|0;var i=0;i=e+132|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Ipe(e,t){e=e|0;t=t|0;var i=0;i=e+148|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Bpe(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+20>>2]&511](e|0,t,i)|0}function Vpe(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+68|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+84|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+100|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+116|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function Epe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,t);return}function Npe(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+28>>2]&511](e,t,0);return}function kpe(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+28>>2]&511](e,t,i);return}function Ope(e,t){e=e|0;t=t|0;var i=0;if((r[e+252>>2]|0)==0){i=1;return i|0}i=j_t[r[r[e>>2]>>2]&511](e|0,t)|0;return i|0}function Lpe(e,t,i,n){e=+e;t=+t;i=+i;n=+n;var _=0,o=0,s=0;while(1){_=hBe(16)|0;if((_|0)!=0){o=1209;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]()}if((o|0)==1209){p[_>>2]=e;p[_+4>>2]=t;p[_+8>>2]=i;p[_+12>>2]=n;return _|0}_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}function Upe(e){e=e|0;return e+148|0}function Gpe(e,t){e=e|0;t=t|0;r[e+216>>2]=t;return}function Wpe(e){e=e|0;var t=0;if((r[e+204>>2]&3|0)!=0){return}t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function zpe(e,t){e=e|0;t=t|0;do{if(!t){if((r[e+204>>2]&3|0)==0){break}return}}while(0);t=e+216|0;if(((r[t>>2]|0)-4|0)>>>0>=2){r[t>>2]=1}p[e+220>>2]=0.0;return}function Hpe(e,t){e=e|0;t=t|0;r[e+208>>2]=t;return}function jpe(e,t){e=e|0;t=+t;p[e+240>>2]=t;return}function Xpe(e,t){e=e|0;t=+t;p[e+244>>2]=t;return}function Zpe(e){e=e|0;return e+68|0}function Qpe(e,t){e=e|0;t=t|0;return r[(r[e+268>>2]|0)+(t<<2)>>2]|0}function qpe(e){e=e|0;return(r[e+204>>2]&1|0)!=0|0}function Ype(e){e=e|0;return r[e+192>>2]|0}function Jpe(e){e=e|0;return r[e+216>>2]|0}function Kpe(e){e=e|0;return r[e+188>>2]|0}function $pe(e){e=e|0;return+ +p[e+228>>2]}function ele(e){e=e|0;return r[e+236>>2]|0}function tle(e){e=e|0;return e+4|0}function ile(e){e=e|0;var t=0.0;t=+p[e+248>>2];return+(t*t)}function nle(e,t){e=e|0;t=t|0;r[e+192>>2]=t;return}function _le(e){e=e|0;return+ +p[e+248>>2]}function rle(e){e=e|0;return r[e+212>>2]|0}function ole(e){e=e|0;var t=0;t=r[e+216>>2]|0;return((t|0)==2?0:(t|0)!=5)|0}function sle(e){e=e|0;return r[e+232>>2]|0}function ale(e){e=e|0;return(r[e+204>>2]&4|0)==0|0}function ple(e){e=e|0;var t=0;if((r[e+232>>2]|0)==4){t=e}else{t=0}return t|0}function lle(e,t){e=e|0;t=t|0;var i=0;i=e+216|0;if(((r[i>>2]|0)-4|0)>>>0<2){return}r[i>>2]=t;return}function dle(e){e=e|0;return r[e+200>>2]|0}function cle(e){e=e|0;return+ +p[e+184>>2]}function ble(e){e=e|0;return r[e+204>>2]|0}function ule(e){e=e|0;return+ +p[e+240>>2]}function mle(e){e=e|0;return e+164|0}function hle(e,t){e=e|0;t=+t;p[e+220>>2]=t;return}function fle(e){e=e|0;return r[e+196>>2]|0}function gle(e,t){e=e|0;t=t|0;r[e+204>>2]=t;return}function Cle(e){e=e|0;return(r[e+204>>2]&3|0)!=0|0}function Sle(e,t){e=e|0;t=+t;p[e+228>>2]=t;return}function yle(e){e=e|0;return(r[e+180>>2]|0)!=0|0}function vle(e,t){e=e|0;t=t|0;r[e+188>>2]=t;return}function xle(e){e=e|0;return(r[e+204>>2]&2|0)!=0|0}function Mle(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Tle(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Dle(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Ple(e){e=e|0;return(r[e+4>>2]|0)<20|0}function wle(e){e=e|0;return(r[e+4>>2]|0)==28|0}function Ale(e){e=e|0;return r[e+8>>2]|0}function Fle(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function Rle(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function Ile(e){e=e|0;return(r[e+4>>2]|0)==32|0}function Ble(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function Vle(e){e=e|0;return r[e+4>>2]|0}function Ele(e){e=e|0;return+ +p[e+104>>2]}function Nle(e){e=e|0;return+ +p[e+100>>2]}function kle(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0;_=d;d=d+128|0;o=_|0;s=_+64|0;p[o>>2]=1.0;vBe(o+4|0,0,16);p[o+20>>2]=1.0;vBe(o+24|0,0,16);p[o+40>>2]=1.0;r[o+44>>2]=0;a=o+48|0;l=t;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];p[s>>2]=1.0;vBe(s+4|0,0,16);p[s+20>>2]=1.0;vBe(s+24|0,0,16);p[s+40>>2]=1.0;r[s+44>>2]=0;l=s+48|0;a=i;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=e+260|0;if((r[a>>2]|0)<=0){d=_;return}l=e+268|0;e=n;i=0;do{t=r[(r[l>>2]|0)+(i<<2)>>2]|0;if(j_t[r[(r[e>>2]|0)+8>>2]&511](n,r[t+188>>2]|0)|0){Bye(o,s,t,r[t+192>>2]|0,t+4|0,n)}i=i+1|0}while((i|0)<(r[a>>2]|0));d=_;return}function Ole(e){e=e|0;return Knt[r[(r[e>>2]|0)+16>>2]&4095](e|0)|0}function Lle(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function Ule(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;IDe(e,t,i,n,_,0.0);return}function Gle(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;IDe(e,t,i,n,_,r);return}function Wle(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+164|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];do{if(+p[t>>2]!=1.0){_=1}else{if(+p[t+4>>2]!=1.0){_=1;break}_=+p[t+8>>2]!=1.0|0}}while(0);r[e+180>>2]=_;return}function zle(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(295)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}p[t+164>>2]=1.0;p[t+168>>2]=1.0;p[t+172>>2]=1.0;p[t+176>>2]=0.0;r[t+180>>2]=0;p[t+184>>2]=999999984306749400.0;vBe(t+188|0,0,16);r[t+204>>2]=1;r[t+208>>2]=-1;r[t+212>>2]=-1;r[t+216>>2]=1;p[t+220>>2]=0.0;p[t+224>>2]=.5;p[t+228>>2]=0.0;r[t+236>>2]=0;p[t+240>>2]=1.0;p[t+244>>2]=0.0;p[t+248>>2]=0.0;r[t+252>>2]=0;p[t+4>>2]=1.0;vBe(t+8|0,0,16);p[t+24>>2]=1.0;vBe(t+28|0,0,16);p[t+44>>2]=1.0;vBe(t+48|0,0,20);r[t>>2]=25632;n[t+272|0]=1;r[t+268>>2]=0;r[t+260>>2]=0;r[t+264>>2]=0;r[t+232>>2]=4;return t|0}function Hle(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+4|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+20|0;i=t+16|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];i=e+36|0;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];n=e+52|0;e=t+48|0;r[n>>2]=r[e>>2];r[n+4>>2]=r[e+4>>2];r[n+8>>2]=r[e+8>>2];r[n+12>>2]=r[e+12>>2];return}function jle(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function Xle(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e|0,t,i);return}function Zle(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Qle(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function qle(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+60>>2]&1023](e,t,i,n);return}function Yle(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function Jle(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function Kle(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function $le(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e|0,t,i,n);return}function ede(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function tde(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function ide(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function nde(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function _de(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function rde(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function ode(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function sde(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function ade(e){e=e|0;return Knt[r[(r[e>>2]|0)+8>>2]&4095](e)|0}function pde(e,t){e=e|0;t=+t;p[e+84>>2]=t;return}function lde(e){e=e|0;return+ +p[e+96>>2]}function dde(e,t){e=e|0;t=+t;p[e+92>>2]=t;return}function cde(e,t){e=e|0;t=+t;p[e+88>>2]=t;return}function bde(e){e=e|0;return+ +p[e+92>>2]}function ude(e){e=e|0;return+ +p[e+84>>2]}function mde(e,t){e=e|0;t=+t;p[e+96>>2]=t;return}function hde(e,t){e=e|0;t=+t;p[e+100>>2]=t;return}function fde(e,t){e=e|0;t=+t;p[e+104>>2]=t;return}function gde(e){e=e|0;return+ +p[e+88>>2]}function Cde(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function Sde(e){e=e|0;return e+8|0}function yde(e){e=e|0;return r[e>>2]|0}function vde(e,t){e=e|0;t=+t;p[e+40>>2]=t;return}function xde(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function Mde(e){e=e|0;return+ +p[e+40>>2]}function Tde(e){e=e|0;return r[e+4>>2]|0}function Dde(e){e=e|0;return e+24|0}function Pde(e){e=e|0;return r[e+60>>2]|0}function wde(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0,l=0,d=0,c=0;_=(+p[i>>2]-+p[e+12>>2])*+p[e+44>>2];o=(+p[i+4>>2]-+p[e+16>>2])*+p[e+48>>2];s=(+p[i+8>>2]-+p[e+20>>2])*+p[e+52>>2];do{if(_>0.0){i=r[e+8>>2]|0;if(_<+(i>>>0>>>0)){a=~~_&r[e+4>>2]|n;break}else{a=i&r[e+4>>2]|n;break}}else{a=n}}while(0);r[t>>2]=a;do{if(o>0.0){a=r[e+8>>2]|0;if(o<+(a>>>0>>>0)){l=~~o&r[e+4>>2]|n;break}else{l=a&r[e+4>>2]|n;break}}else{l=n}}while(0);r[t+4>>2]=l;if(s<=0.0){d=n;c=t+8|0;r[c>>2]=d;return}l=r[e+8>>2]|0;if(s<+(l>>>0>>>0)){d=~~s&r[e+4>>2]|n;c=t+8|0;r[c>>2]=d;return}else{d=l&r[e+4>>2]|n;c=t+8|0;r[c>>2]=d;return}}function Ade(e){e=e|0;return r[e+104>>2]|0}function Fde(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;i=d;d=d+16|0;_=i|0;o=i+8|0;p[e+84>>2]=+p[t+16>>2];p[e+88>>2]=+p[t+20>>2];p[e+92>>2]=+p[t+24>>2];p[e+96>>2]=+p[t+28>>2];p[e+104>>2]=+p[t+32>>2];s=e+4|0;e=t+40|0;a=r[e>>2]|0;r[_>>2]=0;uue(s,a,_);_=t|0;a=s+12|0;l=0;while(1){if((l|0)>=(r[e>>2]|0)){break}r[(r[a>>2]|0)+(l<<2)>>2]=r[(r[_>>2]|0)+(l<<2)>>2];l=l+1|0}l=t+36|0;_=r[l>>2]|0;r[o>>2]=0;uue(s+20|0,_,o);o=t+4|0;_=s+32|0;a=0;while(1){if((a|0)>=(r[l>>2]|0)){break}r[(r[_>>2]|0)+(a<<2)>>2]=r[(r[o>>2]|0)+(a<<2)>>2];a=a+1|0}a=t+44|0;o=r[a>>2]|0;_=s+44|0;l=r[_>>2]|0;e:do{if((o|0)<(l|0)){e=o;while(1){if((e|0)>=(l|0)){break}e=e+1|0}c=s+52|0}else{do{if((o|0)>(l|0)){e=s+48|0;if((r[e>>2]|0)>=(o|0)){break}do{if((o|0)==0){b=0}else{r[9806]=(r[9806]|0)+1;u=hBe((o<<4|4)+15|0)|0;if((u|0)==0){b=0;break}m=-(u+4|0)&15;r[u+m>>2]=u;b=u+(m+4)|0}}while(0);m=r[_>>2]|0;u=s+52|0;h=0;while(1){if((h|0)>=(m|0)){break}f=b+(h<<4)|0;if((f|0)!=0){g=f;f=(r[u>>2]|0)+(h<<4)|0;r[g>>2]=r[f>>2];r[g+4>>2]=r[f+4>>2];r[g+8>>2]=r[f+8>>2];r[g+12>>2]=r[f+12>>2]}h=h+1|0}h=r[_>>2]|0;m=0;while(1){if((m|0)>=(h|0)){break}m=m+1|0}m=r[u>>2]|0;h=s+56|0;if((m|0)==0){C=h}else{if((n[h]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-16+12>>2]|0)}r[u>>2]=0;C=h}n[C]=1;r[u>>2]=b;r[e>>2]=o}}while(0);h=s+52|0;m=l;while(1){if((m|0)>=(o|0)){c=h;break e}f=r[h>>2]|0;g=f+(m<<4)|0;if((g|0)!=0){r[g>>2]=0;p[f+(m<<4)+4>>2]=6.2831854820251465;p[f+(m<<4)+8>>2]=6.2831854820251465;p[f+(m<<4)+12>>2]=6.2831854820251465}m=m+1|0}}}while(0);r[_>>2]=o;o=t+8|0;_=0;while(1){if((_|0)>=(r[a>>2]|0)){break}p[(r[c>>2]|0)+(_<<4)+4>>2]=+p[(r[o>>2]|0)+(_<<4)+4>>2];p[(r[c>>2]|0)+(_<<4)+8>>2]=+p[(r[o>>2]|0)+(_<<4)+8>>2];p[(r[c>>2]|0)+(_<<4)+12>>2]=+p[(r[o>>2]|0)+(_<<4)+12>>2];r[(r[c>>2]|0)+(_<<4)>>2]=r[(r[o>>2]|0)+(_<<4)>>2];_=_+1|0}_=t+48|0;o=r[_>>2]|0;c=s+64|0;a=r[c>>2]|0;e:do{if((o|0)<(a|0)){l=o;while(1){if((l|0)>=(a|0)){break}l=l+1|0}S=s+72|0}else{do{if((o|0)>(a|0)){l=s+68|0;if((r[l>>2]|0)>=(o|0)){break}do{if((o|0)==0){y=0}else{r[9806]=(r[9806]|0)+1;b=hBe((o<<2)+19|0)|0;if((b|0)==0){y=0;break}C=-(b+4|0)&15;r[b+C>>2]=b;y=b+(C+4)|0}}while(0);e=r[c>>2]|0;u=s+72|0;C=0;while(1){if((C|0)>=(e|0)){break}b=y+(C<<2)|0;if((b|0)!=0){r[b>>2]=r[(r[u>>2]|0)+(C<<2)>>2]}C=C+1|0}C=r[c>>2]|0;e=0;while(1){if((e|0)>=(C|0)){break}e=e+1|0}e=r[u>>2]|0;C=s+76|0;if((e|0)==0){v=C}else{if((n[C]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0)}r[u>>2]=0;v=C}n[v]=1;r[u>>2]=y;r[l>>2]=o}}while(0);C=s+72|0;e=a;while(1){if((e|0)>=(o|0)){S=C;break e}b=(r[C>>2]|0)+(e<<2)|0;if((b|0)!=0){r[b>>2]=0}e=e+1|0}}}while(0);r[c>>2]=o;o=t+12|0;t=0;while(1){if((t|0)>=(r[_>>2]|0)){break}r[(r[S>>2]|0)+(t<<2)>>2]=r[(r[o>>2]|0)+(t<<2)>>2];t=t+1|0}d=i;return}function Rde(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+12>>2]&511](e,t,i)|0}function Ide(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Bde(e,t){e=e|0;t=t|0;var i=0;i=e+8|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Vde(e,t){e=e|0;t=t|0;var i=0;i=e+24|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Ede(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return Nde(e|0,t,i,n,_,r,o,s)|0}function Nde(e,t,i,n,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;s=s|0;a=a|0;p=p|0;var l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;l=d;d=d+32|0;c=l|0;b=l+16|0;wde(e,c|0,t,0);wde(e,b|0,i,1);i=e+72|0;t=r[i>>2]|0;u=e+68|0;m=r[u>>2]|0;r[i>>2]=r[m+(t*76|0)+48>>2];i=e+60|0;r[i>>2]=(r[i>>2]|0)+1;r[m+(t*76|0)+12>>2]=t;r[m+(t*76|0)>>2]=n;_[m+(t*76|0)+4>>1]=o;_[m+(t*76|0)+6>>1]=s;r[m+(t*76|0)+8>>2]=p;p=r[i>>2]<<1;i=p|1;s=p-1|0;o=0;while(1){if(o>>>0>=3){break}n=(r[u>>2]|0)+60+(o<<2)|0;r[n>>2]=(r[n>>2]|0)+2;n=e+76+(o<<2)|0;h=r[n>>2]|0;f=h+(s<<3)|0;g=h+(i<<3)|0;h=r[f+4>>2]|0;r[g>>2]=r[f>>2];r[g+4>>2]=h;r[(r[n>>2]|0)+(s<<3)>>2]=r[c+(o<<2)>>2];r[(r[n>>2]|0)+(s<<3)+4>>2]=t;r[(r[n>>2]|0)+(p<<3)>>2]=r[b+(o<<2)>>2];r[(r[n>>2]|0)+(p<<3)+4>>2]=t;r[m+(t*76|0)+48+(o<<2)>>2]=s;r[m+(t*76|0)+60+(o<<2)>>2]=p;o=o+1|0}jbe(e,0,r[m+(t*76|0)+48>>2]|0,0);Jbe(e,0,r[m+(t*76|0)+60>>2]|0,a,0);jbe(e,1,r[m+(t*76|0)+52>>2]|0,0);Jbe(e,1,r[m+(t*76|0)+64>>2]|0,a,0);jbe(e,2,r[m+(t*76|0)+56>>2]|0,1);Jbe(e,2,r[m+(t*76|0)+68>>2]|0,a,1);d=l;return t|0}function kde(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;wde(e|0,t,i,n);return}function Ode(e,t,i){e=e|0;t=t|0;i=i|0;Lde(e|0,t,i);return}function Lde(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0;n=e+68|0;_=r[n>>2]|0;o=e+100|0;s=r[o>>2]|0;if(!(Knt[r[(r[s>>2]|0)+56>>2]&4095](s)|0)){s=r[o>>2]|0;srt[r[(r[s>>2]|0)+16>>2]&511](s|0,_+(t*76|0)|0,i)}s=e+60|0;o=r[s>>2]<<1;a=0;while(1){if((a|0)>=3){break}p=(r[n>>2]|0)+60+(a<<2)|0;r[p>>2]=(r[p>>2]|0)-2;a=a+1|0}a=e+8|0;p=o-1|0;o=0;while(1){if((o|0)>=3){break}l=r[e+76+(o<<2)>>2]|0;d=r[_+(t*76|0)+60+(o<<2)>>2]|0;r[l+(d<<3)>>2]=r[a>>2];qbe(e,o,d,0);d=r[_+(t*76|0)+48+(o<<2)>>2]|0;r[l+(d<<3)>>2]=r[a>>2];Ybe(e,o,d,i,0);r[l+(p<<3)+4>>2]=0;r[l+(p<<3)>>2]=r[a>>2];o=o+1|0}o=e+72|0;r[(r[n>>2]|0)+(t*76|0)+48>>2]=r[o>>2];r[o>>2]=t;r[s>>2]=(r[s>>2]|0)-1;return}function Ude(e,t){e=e|0;t=t|0;Ai(e|0,t|0);return}function Gde(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;var o=0,s=0,a=0;while(1){o=hBe(44)|0;if((o|0)!=0){s=1465;break}a=(R=r[10744]|0,r[10744]=R+0,R);if((a|0)==0){break}prt[a&63]()}if((s|0)==1465){r[o>>2]=e;r[o+4>>2]=t;t=o+8|0;e=i;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];e=o+24|0;t=n;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];p[o+40>>2]=_;return o|0}o=Di(4)|0;r[o>>2]=19096;Ht(o|0,34368,676);return 0}function Wde(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;e=t;t=i;i=0;while(1){if((i|0)>=3){n=1;_=1474;break}if((r[e+60+(i<<2)>>2]|0)>>>0<(r[t+48+(i<<2)>>2]|0)>>>0){n=0;_=1472;break}if((r[t+60+(i<<2)>>2]|0)>>>0<(r[e+48+(i<<2)>>2]|0)>>>0){n=0;_=1473;break}i=i+1|0}if((_|0)==1472){return n|0}else if((_|0)==1473){return n|0}else if((_|0)==1474){return n|0}return 0}function zde(e,t){e=e|0;t=t|0;r[e+104>>2]=t;return}function Hde(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0.0,u=0.0,m=0.0,h=0;_=r[e+76>>2]|0;o=(r[_+(r[t+60>>2]<<3)>>2]|0)+1&65535;s=r[e+80>>2]|0;a=(r[s+(r[t+64>>2]<<3)>>2]|0)+1&65535;l=r[e+84>>2]|0;d=(r[l+(r[t+68>>2]<<3)>>2]|0)+1&65535;c=e+44|0;b=+((r[_+(r[t+48>>2]<<3)>>2]&65535)>>>0)/+p[c>>2];_=e+48|0;u=+((r[s+(r[t+52>>2]<<3)>>2]&65535)>>>0)/+p[_>>2];s=e+52|0;m=+((r[l+(r[t+56>>2]<<3)>>2]&65535)>>>0)/+p[s>>2];t=i|0;p[t>>2]=b;l=i+4|0;p[l>>2]=u;h=i+8|0;p[h>>2]=m;p[i+12>>2]=0.0;i=e+12|0;p[t>>2]=b+ +p[i>>2];t=e+16|0;p[l>>2]=u+ +p[t>>2];l=e+20|0;p[h>>2]=m+ +p[l>>2];m=+((o&65535)>>>0)/+p[c>>2];u=+((a&65535)>>>0)/+p[_>>2];b=+((d&65535)>>>0)/+p[s>>2];s=n|0;p[s>>2]=m;d=n+4|0;p[d>>2]=u;_=n+8|0;p[_>>2]=b;p[n+12>>2]=0.0;p[s>>2]=m+ +p[i>>2];p[d>>2]=u+ +p[t>>2];p[_>>2]=b+ +p[l>>2];return}function jde(e,t){e=e|0;t=t|0;return(r[e+68>>2]|0)+(t*76|0)|0}function Xde(e){e=e|0;return(r[e+4>>2]|0)==31|0}function Zde(e,t){e=e|0;t=t|0;r[e+8>>2]=t;return}function Qde(e){e=e|0;return+ +p[e+44>>2]}function qde(e){e=e|0;return(r[e+4>>2]|0)<7|0}function Yde(e){e=e|0;return+(+p[e+28>>2]*+p[e+12>>2])}function Jde(e){e=e|0;return e+12|0}function Kde(e,t){e=e|0;t=+t;p[e+28>>2]=t;p[e+44>>2]=t;return}function $de(e){e=e|0;return(r[e+4>>2]|0)<20|0}function ece(e){e=e|0;return(r[e+4>>2]|0)==28|0}function tce(e){e=e|0;return r[e+8>>2]|0}function ice(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20&(t|0)<30?(t|0)!=25:0)|0}function nce(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)==17?1:(t|0)==18)|0}function _ce(e){e=e|0;return(r[e+4>>2]|0)==32|0}function rce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(o|0,0,16);vBe(s|0,0,16);M_t[a&127](e|0,t,i,n,o,s);d=_;return}function oce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;o=d;d=d+16|0;s=o|0;a=r[(r[e>>2]|0)+24>>2]|0;vBe(s|0,0,16);M_t[a&127](e|0,t,i,n,_,s);d=o;return}function sce(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;M_t[r[(r[e>>2]|0)+24>>2]&127](e|0,t,i,n,_,o);return}function ace(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+16>>2]&255](e|0,t,i,n,_);return}function pce(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+48>>2]&2047](e|0,t);return}function lce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+20>>2]&1023](e|0,t,i,n);return}function dce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;cce(e|0,t,i,n,_);return}function cce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;o=d;d=d+32|0;s=o|0;a=o+16|0;p=r[e+68>>2]|0;wde(e,s|0,i,0);wde(e,a|0,n,1);n=0;while(1){if((n|0)>=3){break}i=r[p+(t*76|0)+48+(n<<2)>>2]|0;l=r[p+(t*76|0)+60+(n<<2)>>2]|0;c=r[s+(n<<2)>>2]|0;b=e+76+(n<<2)|0;u=r[b>>2]|0;m=u+(i<<3)|0;h=c-(r[m>>2]|0)|0;f=r[a+(n<<2)>>2]|0;g=f-(r[u+(l<<3)>>2]|0)|0;r[m>>2]=c;r[(r[b>>2]|0)+(l<<3)>>2]=f;if((h|0)<0){jbe(e,n,i,1)}if((g|0)>0){qbe(e,n,l,1)}if((h|0)>0){Ybe(e,n,i,_,1)}if((g|0)<0){Jbe(e,n,l,_,1)}n=n+1|0}d=o;return}function bce(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;r[9806]=(r[9806]|0)+1;i=hBe(143)|0;if((i|0)==0){n=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;n=i+(_+4)|0}_=n;Ige(_,e,t,15e5,0,0);return _|0}function uce(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;r[9806]=(r[9806]|0)+1;n=hBe(143)|0;if((n|0)==0){_=0}else{o=-(n+4|0)&15;r[n+o>>2]=n;_=n+(o+4)|0}o=_;Ige(o,e,t,i,0,0);return o|0}function mce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;r[9806]=(r[9806]|0)+1;_=hBe(143)|0;if((_|0)==0){o=0}else{s=-(_+4|0)&15;r[_+s>>2]=_;o=_+(s+4)|0}s=o;Ige(s,e,t,i,n,0);return s|0}function hce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0;r[9806]=(r[9806]|0)+1;o=hBe(143)|0;if((o|0)==0){s=0}else{a=-(o+4|0)&15;r[o+a>>2]=o;s=o+(a+4)|0}a=s;Ige(a,e,t,i,n,_);return a|0}function fce(e){e=e|0;jnt[r[(r[e>>2]|0)+52>>2]&2047](e|0);return}function gce(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;return R_t[r[(r[e>>2]|0)+8>>2]&63](e|0,t,i,n,_,o,s,a,p)|0}function Cce(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Sce(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+32>>2]&2047](e|0,t);return}function yce(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e|0)|0}function vce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+28>>2]&1023](e|0,t,i,n);return}function xce(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+44>>2]&511](e|0,t,i);return}function Mce(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,i);return}function Tce(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+16>>2]&2047](e,t);return}function Dce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+ +k_t[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n,_)}function Pce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;Unt[r[(r[e>>2]|0)+8>>2]&255](e,t,i,n,_);return}function wce(e,t,i){e=e|0;t=+t;i=i|0;y_t[r[(r[e>>2]|0)+32>>2]&255](e,t,i);return}function Ace(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43728]|0)==0){if((ui(43728)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+60>>2]&511](_,e,t);t=_;r[9618]=r[t>>2];r[9619]=r[t+4>>2];r[9620]=r[t+8>>2];r[9621]=r[t+12>>2];d=i;return 38472}function Fce(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+52>>2]&511](e|0,t,i)|0}function Rce(e){e=e|0;return Knt[r[(r[e>>2]|0)+28>>2]&4095](e|0)|0}function Ice(e){e=e|0;return Knt[r[(r[e>>2]|0)+76>>2]&4095](e|0)|0}function Bce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;aMe(e|0,t,i,n);return}function Vce(e){e=e|0;return Knt[r[(r[e>>2]|0)+48>>2]&4095](e|0)|0}function Ece(e){e=e|0;return Knt[r[(r[e>>2]|0)+36>>2]&4095](e)|0}function Nce(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43264]|0)==0){if((ui(43264)|0)==0){break}}}while(0);Qxe(_,e|0,t);t=_;r[9614]=r[t>>2];r[9615]=r[t+4>>2];r[9616]=r[t+8>>2];r[9617]=r[t+12>>2];d=i;return 38456}function kce(e,t){e=e|0;t=t|0;var i=0;i=e+28|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Oce(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e|0,t);return}function Lce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function Uce(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43584]|0)==0){if((ui(43584)|0)==0){break}}}while(0);qxe(_,e|0,t);t=_;r[9610]=r[t>>2];r[9611]=r[t+4>>2];r[9612]=r[t+8>>2];r[9613]=r[t+12>>2];d=i;return 38440}function Gce(e,t){e=e|0;t=+t;return+ +g_t[r[(r[e>>2]|0)+20>>2]&127](e|0,t)}function Wce(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}function zce(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+80>>2]&511](e|0,t,i);return}function Hce(e,t){e=e|0;t=+t;Wnt[r[(r[e>>2]|0)+40>>2]&1023](e,t);return}function jce(e){e=+e;var t=0,i=0,n=0;r[9806]=(r[9806]|0)+1;t=hBe(71)|0;if((t|0)==0){i=0}else{n=-(t+4|0)&15;r[t+n>>2]=t;i=t+(n+4)|0}r[i+8>>2]=0;p[i+12>>2]=1.0;p[i+16>>2]=1.0;p[i+20>>2]=1.0;p[i+24>>2]=0.0;r[i>>2]=25528;r[i+4>>2]=8;p[i+28>>2]=e;p[i+44>>2]=e;return i|0}function Xce(e,t){e=e|0;t=t|0;var i=0,_=0;i=d;d=d+16|0;_=i|0;do{if((n[43424]|0)==0){if((ui(43424)|0)==0){break}}}while(0);srt[r[(r[e>>2]|0)+64>>2]&511](_,e,t);t=_;r[9606]=r[t>>2];r[9607]=r[t+4>>2];r[9608]=r[t+8>>2];r[9609]=r[t+12>>2];d=i;return 38424}function Zce(e){e=e|0;var t=0,i=0.0;t=e|0;switch(r[e+4>>2]|0){case 10:{i=+p[t+44>>2];break};case 1:{i=+p[t+44>>2];break};case 13:{i=+p[t+44>>2];break};case 8:{i=+p[t+28>>2]*+p[t+12>>2];break};case 5:case 4:{i=+p[t+44>>2];break};case 0:{i=+p[t+44>>2];break};default:{i=+z_t[r[(r[e>>2]|0)+44>>2]&1023](t)}}return+i}function Qce(){return 0}function qce(e){e=e|0;return}function Yce(e){e=e|0;return}function Jce(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return}function Kce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return}function $ce(e){e=e|0;return e+28|0}function ebe(e){e=e|0;var t=0;t=r[e+4>>2]|0;return((t|0)>20?(t|0)<30:0)|0}function tbe(e){e=e|0;return r[e+4>>2]|0}function ibe(e,t){e=e|0;t=t|0;r[e+144>>2]=t;return}function nbe(e){e=e|0;return e+104|0}function _be(e,t,i){e=e|0;t=t|0;i=i|0;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0;_=+p[t>>2]+-1.0;r=+p[t+4>>2]+-1.0;o=+p[t+8>>2]+-1.0;p[e+4>>2]=_;p[e+8>>2]=r;p[e+12>>2]=o;p[e+16>>2]=0.0;s=+p[i>>2]+1.0;a=+p[i+4>>2]+1.0;l=+p[i+8>>2]+1.0;p[e+20>>2]=s;p[e+24>>2]=a;p[e+28>>2]=l;p[e+32>>2]=0.0;p[e+36>>2]=65533.0/(s-_);p[e+40>>2]=65533.0/(a-r);p[e+44>>2]=65533.0/(l-o);p[e+48>>2]=0.0;n[e+60|0]=1;return}function rbe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;r=+p[t>>2]-_;o=+p[t+4>>2]-_;s=+p[t+8>>2]-_;p[e+4>>2]=r;p[e+8>>2]=o;p[e+12>>2]=s;p[e+16>>2]=0.0;a=+p[i>>2]+_;l=+p[i+4>>2]+_;d=+p[i+8>>2]+_;p[e+20>>2]=a;p[e+24>>2]=l;p[e+28>>2]=d;p[e+32>>2]=0.0;p[e+36>>2]=65533.0/(a-r);p[e+40>>2]=65533.0/(l-o);p[e+44>>2]=65533.0/(d-s);p[e+48>>2]=0.0;n[e+60|0]=1;return}function obe(e){e=e|0;return(n[e+60|0]&1)!=0|0}function sbe(e){e=e|0;return(r[e+168>>2]<<5)+172+(r[e+56>>2]<<((n[e+60|0]&1)==0?6:4))|0}function abe(e){e=e|0;return e+124|0}function pbe(e){e=e|0;return e+148|0}function lbe(e){e=e|0;return r[e>>2]|0}function dbe(e,t){e=e|0;t=t|0;r[e+4>>2]=t;return}function cbe(e,t){e=e|0;t=t|0;r[e>>2]=t;return}function bbe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0;i=r[e>>2]|0;e=r[t>>2]|0;if((i|0)==(e|0)){_=1;return _|0}else{o=i;s=e}while(1){a=n[o]|0;p=n[s]|0;if(a<<24>>24!=p<<24>>24){l=1618;break}if(a<<24>>24==0){d=0;break}o=o+1|0;s=s+1|0}do{if((l|0)==1618){s=(a&255)-(p&255)|0;if((s|0)<0){d=-1;break}else{c=s}d=(c|0)>0?1:c}}while(0);_=(d|0)==0;return _|0}function ube(e){e=e|0;return r[e+4>>2]|0}function mbe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,r=0,o=0,s=0;e=i;i=t;while(1){_=n[i]|0;r=n[e]|0;if(_<<24>>24!=r<<24>>24){break}if(_<<24>>24==0){o=0;s=1633;break}e=e+1|0;i=i+1|0}if((s|0)==1633){return o|0}s=(_&255)-(r&255)|0;if((s|0)<0){o=-1;return o|0}else{o=s;return((o|0)>0?1:o)|0}return 0}function hbe(e){e=e|0;return r[e+4>>2]|0}function fbe(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function gbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+68>>2]&1023](e,t,i,n);return}function Cbe(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0;n=d;d=d+8|0;_=n|0;p[_>>2]=i;srt[r[(r[e>>2]|0)+12>>2]&511](e|0,t,_);d=n;return}function Sbe(e){e=e|0;return+ +z_t[r[(r[e>>2]|0)+16>>2]&1023](e|0)}function ybe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+56>>2]&2047](e|0,t);return}function vbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function xbe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;vye(e|0,t,i,n,_,r,o);return}function Mbe(e){e=e|0;hwe(e);return}function Tbe(e,t,i){e=e|0;t=t|0;i=i|0;return(h_t[r[(r[e>>2]|0)+16>>2]&511](e,t,i)|0)!=0|0}function Dbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+8>>2]&127](e,t,i,n)|0}function Pbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Sg(e,t,i,n);return}function wbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Swe(e,t,i,n);return}function Abe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0;o=d;d=d+32|0;s=o|0;a=o+16|0;vBe(s|0,0,16);vBe(a|0,0,16);if((n[e+60|0]&1)==0){vwe(e,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],s,a);d=o;return}else{xwe(e,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],s,a,r[e+56>>2]|0);d=o;return}}function Fbe(e,t,i){e=e|0;t=t|0;i=i|0;return Twe(e,t,i)|0}function Rbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;lC(e,t,i,n);return}function Ibe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+24>>2]&2047](e,t);return}function Bbe(e){e=e|0;return Knt[r[(r[e>>2]|0)+12>>2]&4095](e)|0}function Vbe(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function Ebe(){var e=0,t=0,i=0;r[9806]=(r[9806]|0)+1;e=hBe(191)|0;if((e|0)==0){t=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;t=e+(i+4)|0}r[t>>2]=25328;r[t+52>>2]=278;n[t+60|0]=0;n[t+80|0]=1;r[t+76>>2]=0;r[t+68>>2]=0;r[t+72>>2]=0;n[t+100|0]=1;r[t+96>>2]=0;r[t+88>>2]=0;r[t+92>>2]=0;n[t+120|0]=1;r[t+116>>2]=0;r[t+108>>2]=0;r[t+112>>2]=0;n[t+140|0]=1;r[t+136>>2]=0;r[t+128>>2]=0;r[t+132>>2]=0;r[t+144>>2]=0;n[t+164|0]=1;r[t+160>>2]=0;r[t+152>>2]=0;r[t+156>>2]=0;r[t+168>>2]=0;p[t+4>>2]=-3.4028234663852886e+38;p[t+8>>2]=-3.4028234663852886e+38;p[t+12>>2]=-3.4028234663852886e+38;p[t+16>>2]=0.0;p[t+20>>2]=3.4028234663852886e+38;p[t+24>>2]=3.4028234663852886e+38;p[t+28>>2]=3.4028234663852886e+38;p[t+32>>2]=0.0;return t|0}function Nbe(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);return}function kbe(e,t){e=e|0;t=t|0;var i=0.0,_=0.0;do{if((n[43920]|0)==0){if((ui(43920)|0)==0){break}}}while(0);i=+((s[t+2>>1]|0)>>>0)/+p[e+40>>2]+ +p[e+8>>2];_=+((s[t+4>>1]|0)>>>0)/+p[e+44>>2]+ +p[e+12>>2];p[9602]=+((s[t>>1]|0)>>>0)/+p[e+36>>2]+ +p[e+4>>2];p[9603]=i;p[9604]=_;p[9605]=0.0;return 38408}function Obe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;if((n[e+60|0]&1)==0){vwe(e,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],o,s);return}else{xwe(e,t,i,+p[_>>2],+p[_+4>>2],+p[_+8>>2],o,s,r[e+56>>2]|0);return}}function Lbe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Ube(e,t,i){e=e|0;t=t|0;i=i|0;return h_t[r[(r[e>>2]|0)+8>>2]&511](e,t,i)|0}function Gbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return drt[r[(r[e>>2]|0)+12>>2]&127](e,t,i,n)|0}function Wbe(e){e=e|0;if((e|0)==0){return}jnt[r[(r[e>>2]|0)+4>>2]&2047](e);return}function zbe(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[e>>2]|0)+16>>2]&511](e,t,i);return}function Hbe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function jbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;_=r[e+76+(t<<2)>>2]|0;o=r[_+(i<<3)+4>>2]|0;s=e+68|0;a=r[s>>2]|0;p=a+(o*76|0)+48+(t<<2)|0;l=1<<t&3;d=1<<l&3;c=a+(o*76|0)+60+(l<<2)|0;b=e+100|0;u=a+(o*76|0)|0;m=e+104|0;e=a+(o*76|0)+48+(l<<2)|0;h=a+(o*76|0)+60+(d<<2)|0;f=a+(o*76|0)+48+(d<<2)|0;o=_+(i<<3)|0;a=_+(i-1<<3)|0;while(1){i=r[a>>2]|0;if((r[o>>2]|0)>>>0>=i>>>0){break}_=r[a+4>>2]|0;g=r[s>>2]|0;if((i&1|0)==0){i=g+(_*76|0)+48+(t<<2)|0;r[i>>2]=(r[i>>2]|0)+1}else{do{if(n){if((r[c>>2]|0)>>>0<(r[g+(_*76|0)+48+(l<<2)>>2]|0)>>>0){break}if((r[g+(_*76|0)+60+(l<<2)>>2]|0)>>>0<(r[e>>2]|0)>>>0){break}if((r[h>>2]|0)>>>0<(r[g+(_*76|0)+48+(d<<2)>>2]|0)>>>0){break}if((r[g+(_*76|0)+60+(d<<2)>>2]|0)>>>0<(r[f>>2]|0)>>>0){break}i=r[b>>2]|0;C=i|0;S=r[(r[i>>2]|0)+8>>2]|0;i=g+(_*76|0)|0;h_t[S&511](C,u,i)|0;C=r[m>>2]|0;if((C|0)==0){break}S=r[(r[C>>2]|0)+8>>2]|0;h_t[S&511](C,u,i)|0}}while(0);i=g+(_*76|0)+60+(t<<2)|0;r[i>>2]=(r[i>>2]|0)+1}r[p>>2]=(r[p>>2]|0)-1;i=o;C=r[i>>2]|0;S=r[i+4>>2]|0;y=a;v=r[y+4>>2]|0;r[i>>2]=r[y>>2];r[i+4>>2]=v;r[y>>2]=C;r[y+4>>2]=S;o=o-8|0;a=a-8|0}return}function Xbe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;while(1){t=hBe(8)|0;if((t|0)!=0){break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){_=1720;break}prt[i&63]()}if((_|0)==1720){_=Di(4)|0;r[_>>2]=19096;Ht(_|0,34368,676);return 0}_=t;r[t>>2]=e;i=0;o=-2128831035;while(1){s=n[e+i|0]|0;if(s<<24>>24==0){break}i=i+1|0;o=ne(o^s<<24>>24,16777619)|0}r[t+4>>2]=o;return _|0}function Zbe(){var e=0,t=0,i=0;while(1){e=hBe(4)|0;if((e|0)!=0){t=1738;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==1738){r[e>>2]=22888;return e|0}e=Di(4)|0;r[e>>2]=19096;Ht(e|0,34368,676);return 0}function Qbe(e){e=e|0;return}function qbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;_=r[e+76+(t<<2)>>2]|0;o=r[_+(i<<3)+4>>2]|0;s=e+68|0;a=r[s>>2]|0;p=1<<t&3;l=1<<p&3;d=a+(o*76|0)+60+(p<<2)|0;c=e+100|0;b=e+104|0;e=a+(o*76|0)+48+(p<<2)|0;u=a+(o*76|0)+60+(l<<2)|0;m=a+(o*76|0)+48+(l<<2)|0;h=a+(o*76|0)+60+(t<<2)|0;o=_+(i<<3)|0;a=_+(i+1<<3)|0;while(1){i=r[a+4>>2]|0;if((i|0)==0){f=1755;break}_=r[a>>2]|0;if((r[o>>2]|0)>>>0<_>>>0){f=1756;break}g=r[s>>2]|0;if((_&1|0)==0){do{if(n){if((r[d>>2]|0)>>>0<(r[g+(i*76|0)+48+(p<<2)>>2]|0)>>>0){break}if((r[g+(i*76|0)+60+(p<<2)>>2]|0)>>>0<(r[e>>2]|0)>>>0){break}if((r[u>>2]|0)>>>0<(r[g+(i*76|0)+48+(l<<2)>>2]|0)>>>0){break}if((r[g+(i*76|0)+60+(l<<2)>>2]|0)>>>0<(r[m>>2]|0)>>>0){break}_=r[c>>2]|0;C=_|0;S=r[(r[_>>2]|0)+8>>2]|0;_=g+((r[o+4>>2]|0)*76|0)|0;y=g+(i*76|0)|0;h_t[S&511](C,_,y)|0;C=r[b>>2]|0;if((C|0)==0){break}S=r[(r[C>>2]|0)+8>>2]|0;h_t[S&511](C,_,y)|0}}while(0);y=g+(i*76|0)+48+(t<<2)|0;r[y>>2]=(r[y>>2]|0)-1}else{y=g+(i*76|0)+60+(t<<2)|0;r[y>>2]=(r[y>>2]|0)-1}r[h>>2]=(r[h>>2]|0)+1;y=o;_=r[y>>2]|0;C=r[y+4>>2]|0;S=a;v=r[S+4>>2]|0;r[y>>2]=r[S>>2];r[y+4>>2]=v;r[S>>2]=_;r[S+4>>2]=C;o=o+8|0;a=a+8|0}if((f|0)==1755){return}else if((f|0)==1756){return}}function Ybe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0;o=r[e+76+(t<<2)>>2]|0;s=e+68|0;a=(r[s>>2]|0)+((r[o+(i<<3)+4>>2]|0)*76|0)+48+(t<<2)|0;p=1<<t&3;l=1<<p&3;d=e+100|0;c=e+104|0;e=o+(i<<3)|0;b=o+(i+1<<3)|0;while(1){i=r[b+4>>2]|0;if((i|0)==0){u=1773;break}o=r[b>>2]|0;if((r[e>>2]|0)>>>0<o>>>0){u=1772;break}m=r[s>>2]|0;if((o&1|0)==0){o=m+(i*76|0)+48+(t<<2)|0;r[o>>2]=(r[o>>2]|0)-1}else{o=r[e+4>>2]|0;do{if(_){if((r[m+(o*76|0)+60+(p<<2)>>2]|0)>>>0<(r[m+(i*76|0)+48+(p<<2)>>2]|0)>>>0){break}if((r[m+(i*76|0)+60+(p<<2)>>2]|0)>>>0<(r[m+(o*76|0)+48+(p<<2)>>2]|0)>>>0){break}if((r[m+(o*76|0)+60+(l<<2)>>2]|0)>>>0<(r[m+(i*76|0)+48+(l<<2)>>2]|0)>>>0){break}if((r[m+(i*76|0)+60+(l<<2)>>2]|0)>>>0<(r[m+(o*76|0)+48+(l<<2)>>2]|0)>>>0){break}h=r[d>>2]|0;f=h|0;g=r[(r[h>>2]|0)+12>>2]|0;h=m+(o*76|0)|0;C=m+(i*76|0)|0;drt[g&127](f,h,C,n)|0;f=r[c>>2]|0;if((f|0)==0){break}g=r[(r[f>>2]|0)+12>>2]|0;drt[g&127](f,h,C,n)|0}}while(0);o=m+(i*76|0)+60+(t<<2)|0;r[o>>2]=(r[o>>2]|0)-1}r[a>>2]=(r[a>>2]|0)+1;o=e;C=r[o>>2]|0;h=r[o+4>>2]|0;f=b;g=r[f+4>>2]|0;r[o>>2]=r[f>>2];r[o+4>>2]=g;r[f>>2]=C;r[f+4>>2]=h;e=e+8|0;b=b+8|0}if((u|0)==1772){return}else if((u|0)==1773){return}}function Jbe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;o=r[e+76+(t<<2)>>2]|0;s=e+68|0;a=1<<t&3;p=1<<a&3;l=e+100|0;d=e+104|0;e=(r[s>>2]|0)+((r[o+(i<<3)+4>>2]|0)*76|0)+60+(t<<2)|0;c=o+(i<<3)|0;b=o+(i-1<<3)|0;while(1){i=r[b>>2]|0;if((r[c>>2]|0)>>>0>=i>>>0){break}o=r[b+4>>2]|0;u=r[s>>2]|0;if((i&1|0)==0){i=r[c+4>>2]|0;do{if(_){if((r[u+(i*76|0)+60+(a<<2)>>2]|0)>>>0<(r[u+(o*76|0)+48+(a<<2)>>2]|0)>>>0){break}if((r[u+(o*76|0)+60+(a<<2)>>2]|0)>>>0<(r[u+(i*76|0)+48+(a<<2)>>2]|0)>>>0){break}if((r[u+(i*76|0)+60+(p<<2)>>2]|0)>>>0<(r[u+(o*76|0)+48+(p<<2)>>2]|0)>>>0){break}if((r[u+(o*76|0)+60+(p<<2)>>2]|0)>>>0<(r[u+(i*76|0)+48+(p<<2)>>2]|0)>>>0){break}m=r[l>>2]|0;h=m|0;f=r[(r[m>>2]|0)+12>>2]|0;m=u+(i*76|0)|0;g=u+(o*76|0)|0;drt[f&127](h,m,g,n)|0;h=r[d>>2]|0;if((h|0)==0){break}f=r[(r[h>>2]|0)+12>>2]|0;drt[f&127](h,m,g,n)|0}}while(0);i=u+(o*76|0)+48+(t<<2)|0;r[i>>2]=(r[i>>2]|0)+1}else{i=u+(o*76|0)+60+(t<<2)|0;r[i>>2]=(r[i>>2]|0)+1}r[e>>2]=(r[e>>2]|0)-1;i=c;g=r[i>>2]|0;m=r[i+4>>2]|0;h=b;f=r[h+4>>2]|0;r[i>>2]=r[h>>2];r[i+4>>2]=f;r[h>>2]=g;r[h+4>>2]=m;c=c-8|0;b=b-8|0}return}function Kbe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;o=r[e+68+(t<<2)>>2]|0;a=i&65535;i=e+60|0;p=r[i>>2]|0;l=s[o+(a<<2)+2>>1]|0;d=p+(l<<6)+48+(t<<1)|0;c=1<<t&3;b=1<<c&3;u=p+(l<<6)+54+(c<<1)|0;m=e+92|0;h=p+(l<<6)|0;f=e+96|0;e=p+(l<<6)+48+(c<<1)|0;g=p+(l<<6)+54+(b<<1)|0;C=p+(l<<6)+48+(b<<1)|0;l=o+(a<<2)|0;p=o+(a-1<<2)|0;while(1){a=_[p>>1]|0;if((s[l>>1]|0)>=(a&65535)){break}o=r[i>>2]|0;S=s[p+2>>1]|0;if((a&1)==0){a=o+(S<<6)+48+(t<<1)|0;_[a>>1]=(_[a>>1]|0)+1&65535}else{do{if(n){if((s[u>>1]|0)<(s[o+(S<<6)+48+(c<<1)>>1]|0)){break}if((s[o+(S<<6)+54+(c<<1)>>1]|0)<(s[e>>1]|0)){break}if((s[g>>1]|0)<(s[o+(S<<6)+48+(b<<1)>>1]|0)){break}if((s[o+(S<<6)+54+(b<<1)>>1]|0)<(s[C>>1]|0)){break}a=r[m>>2]|0;y=a|0;v=r[(r[a>>2]|0)+8>>2]|0;a=o+(S<<6)|0;h_t[v&511](y,h,a)|0;y=r[f>>2]|0;if((y|0)==0){break}v=r[(r[y>>2]|0)+8>>2]|0;h_t[v&511](y,h,a)|0}}while(0);a=o+(S<<6)+54+(t<<1)|0;_[a>>1]=(_[a>>1]|0)+1&65535}_[d>>1]=(_[d>>1]|0)-1&65535;a=l;y=s[a>>1]|s[a+2>>1]<<16;v=p;T=s[v>>1]|s[v+2>>1]<<16;_[a>>1]=T&65535;_[a+2>>1]=T>>16;T=y;_[v>>1]=T&65535;_[v+2>>1]=T>>16;l=l-4|0;p=p-4|0}return}function $be(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0;o=r[e+68+(t<<2)>>2]|0;a=i&65535;i=e+60|0;p=r[i>>2]|0;l=s[o+(a<<2)+2>>1]|0;d=1<<t&3;c=1<<d&3;b=p+(l<<6)+54+(d<<1)|0;u=e+92|0;m=e+96|0;e=p+(l<<6)+48+(d<<1)|0;h=p+(l<<6)+54+(c<<1)|0;f=p+(l<<6)+48+(c<<1)|0;g=p+(l<<6)+54+(t<<1)|0;l=o+(a<<2)|0;p=o+(a+1<<2)|0;while(1){a=_[p+2>>1]|0;if(a<<16>>16==0){C=1817;break}o=_[p>>1]|0;if((s[l>>1]|0)<(o&65535)){C=1818;break}S=r[i>>2]|0;y=a&65535;if((o&1)==0){do{if(n){if((s[b>>1]|0)<(s[S+(y<<6)+48+(d<<1)>>1]|0)){break}if((s[S+(y<<6)+54+(d<<1)>>1]|0)<(s[e>>1]|0)){break}if((s[h>>1]|0)<(s[S+(y<<6)+48+(c<<1)>>1]|0)){break}if((s[S+(y<<6)+54+(c<<1)>>1]|0)<(s[f>>1]|0)){break}o=r[u>>2]|0;a=o|0;v=r[(r[o>>2]|0)+8>>2]|0;o=S+((s[l+2>>1]|0)<<6)|0;x=S+(y<<6)|0;h_t[v&511](a,o,x)|0;a=r[m>>2]|0;if((a|0)==0){break}v=r[(r[a>>2]|0)+8>>2]|0;h_t[v&511](a,o,x)|0}}while(0);x=S+(y<<6)+48+(t<<1)|0;_[x>>1]=(_[x>>1]|0)-1&65535}else{x=S+(y<<6)+54+(t<<1)|0;_[x>>1]=(_[x>>1]|0)-1&65535}_[g>>1]=(_[g>>1]|0)+1&65535;x=l;o=s[x>>1]|s[x+2>>1]<<16;a=p;T=s[a>>1]|s[a+2>>1]<<16;_[x>>1]=T&65535;_[x+2>>1]=T>>16;T=o;_[a>>1]=T&65535;_[a+2>>1]=T>>16;l=l+4|0;p=p+4|0}if((C|0)==1817){return}else if((C|0)==1818){return}}function eue(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0;a=r[e+68+(t<<2)>>2]|0;p=i&65535;i=e+60|0;l=(r[i>>2]|0)+((s[a+(p<<2)+2>>1]|0)<<6)+48+(t<<1)|0;d=1<<t&3;c=1<<d&3;b=e+92|0;u=e+96|0;e=a+(p<<2)|0;m=a+(p+1<<2)|0;while(1){p=_[m+2>>1]|0;if(p<<16>>16==0){h=1834;break}a=_[m>>1]|0;if((s[e>>1]|0)<(a&65535)){h=1835;break}f=r[i>>2]|0;g=p&65535;if((a&1)==0){a=f+(g<<6)+48+(t<<1)|0;_[a>>1]=(_[a>>1]|0)-1&65535}else{a=s[e+2>>1]|0;do{if(o){if((s[f+(a<<6)+54+(d<<1)>>1]|0)<(s[f+(g<<6)+48+(d<<1)>>1]|0)){break}if((s[f+(g<<6)+54+(d<<1)>>1]|0)<(s[f+(a<<6)+48+(d<<1)>>1]|0)){break}if((s[f+(a<<6)+54+(c<<1)>>1]|0)<(s[f+(g<<6)+48+(c<<1)>>1]|0)){break}if((s[f+(g<<6)+54+(c<<1)>>1]|0)<(s[f+(a<<6)+48+(c<<1)>>1]|0)){break}p=r[b>>2]|0;C=p|0;S=r[(r[p>>2]|0)+12>>2]|0;p=f+(a<<6)|0;y=f+(g<<6)|0;drt[S&127](C,p,y,n)|0;C=r[u>>2]|0;if((C|0)==0){break}S=r[(r[C>>2]|0)+12>>2]|0;drt[S&127](C,p,y,n)|0}}while(0);a=f+(g<<6)+54+(t<<1)|0;_[a>>1]=(_[a>>1]|0)-1&65535}_[l>>1]=(_[l>>1]|0)+1&65535;a=e;y=s[a>>1]|s[a+2>>1]<<16;p=m;T=s[p>>1]|s[p+2>>1]<<16;_[a>>1]=T&65535;_[a+2>>1]=T>>16;T=y;_[p>>1]=T&65535;_[p+2>>1]=T>>16;e=e+4|0;m=m+4|0}if((h|0)==1834){return}else if((h|0)==1835){return}}function tue(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0;a=r[e+68+(t<<2)>>2]|0;p=i&65535;i=e+60|0;l=1<<t&3;d=1<<l&3;c=e+92|0;b=e+96|0;e=(r[i>>2]|0)+((s[a+(p<<2)+2>>1]|0)<<6)+54+(t<<1)|0;u=a+(p<<2)|0;m=a+(p-1<<2)|0;while(1){p=_[m>>1]|0;if((s[u>>1]|0)>=(p&65535)){break}a=r[i>>2]|0;h=s[m+2>>1]|0;if((p&1)==0){p=s[u+2>>1]|0;do{if(o){if((s[a+(p<<6)+54+(l<<1)>>1]|0)<(s[a+(h<<6)+48+(l<<1)>>1]|0)){break}if((s[a+(h<<6)+54+(l<<1)>>1]|0)<(s[a+(p<<6)+48+(l<<1)>>1]|0)){break}if((s[a+(p<<6)+54+(d<<1)>>1]|0)<(s[a+(h<<6)+48+(d<<1)>>1]|0)){break}if((s[a+(h<<6)+54+(d<<1)>>1]|0)<(s[a+(p<<6)+48+(d<<1)>>1]|0)){break}f=r[c>>2]|0;g=f|0;C=r[(r[f>>2]|0)+12>>2]|0;f=a+(p<<6)|0;S=a+(h<<6)|0;drt[C&127](g,f,S,n)|0;g=r[b>>2]|0;if((g|0)==0){break}C=r[(r[g>>2]|0)+12>>2]|0;drt[C&127](g,f,S,n)|0}}while(0);p=a+(h<<6)+48+(t<<1)|0;_[p>>1]=(_[p>>1]|0)+1&65535}else{p=a+(h<<6)+54+(t<<1)|0;_[p>>1]=(_[p>>1]|0)+1&65535}_[e>>1]=(_[e>>1]|0)-1&65535;p=u;S=s[p>>1]|s[p+2>>1]<<16;f=m;T=s[f>>1]|s[f+2>>1]<<16;_[p>>1]=T&65535;_[p+2>>1]=T>>16;T=S;_[f>>1]=T&65535;_[f+2>>1]=T>>16;u=u-4|0;m=m-4|0}return}function iue(e){e=e|0;if((e|0)==0){return}SBe(e);return}function nue(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;e=r[t>>2]|0;n=r[i>>2]|0;if((r[e+232>>2]|0)==4){_=e}else{_=0}if((r[n+232>>2]|0)==4){o=n}else{o=0}if((_|0)!=0){srt[r[(r[_>>2]|0)+28>>2]&511](_,i,t)}if((o|0)==0){return 0}srt[r[(r[o>>2]|0)+28>>2]&511](o,t,i);return 0}function _ue(e,t,i){e=e|0;t=t|0;i=i|0;return}function rue(e){e=e|0;return}function oue(e){e=e|0;return}function sue(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return 0}function aue(e){e=e|0;return}function pue(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+0.0}function lue(e,t){e=e|0;t=+t;p[e+44>>2]=t;return}function due(e,t){e=e|0;t=t|0;var i=0;if((_[t+4>>1]&_[e+10>>1])<<16>>16==0){i=0;return i|0}i=(_[e+8>>1]&_[t+6>>1])<<16>>16!=0;return i|0}function cue(e,t){e=e|0;t=t|0;var i=0;if((_[t+4>>1]&_[e+6>>1])<<16>>16==0){i=0;return i|0}i=(_[e+4>>1]&_[t+6>>1])<<16>>16!=0;return i|0}function bue(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;e=r[t>>2]|0;_=r[i>>2]|0;if((r[e+232>>2]|0)==4){o=e}else{o=0}if((r[_+232>>2]|0)==4){s=_}else{s=0}if((o|0)!=0){mrt[r[(r[o>>2]|0)+32>>2]&1023](o,i,n,t)}if((s|0)==0){return 0}mrt[r[(r[s>>2]|0)+32>>2]&1023](s,t,n,i);return 0}function uue(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0;_=e+4|0;o=r[_>>2]|0;if((o|0)>(t|0)){s=t;while(1){if((s|0)>=(o|0)){break}s=s+1|0}r[_>>2]=t;return}do{if((o|0)<(t|0)){s=e+8|0;if((r[s>>2]|0)>=(t|0)){break}do{if((t|0)==0){a=0}else{r[9806]=(r[9806]|0)+1;p=hBe((t<<2)+19|0)|0;if((p|0)==0){a=0;break}l=-(p+4|0)&15;r[p+l>>2]=p;a=p+(l+4)|0}}while(0);l=r[_>>2]|0;p=e+12|0;d=0;while(1){if((d|0)>=(l|0)){break}c=a+(d<<2)|0;if((c|0)!=0){r[c>>2]=r[(r[p>>2]|0)+(d<<2)>>2]}d=d+1|0}d=r[_>>2]|0;l=0;while(1){if((l|0)>=(d|0)){break}l=l+1|0}l=r[p>>2]|0;d=e+16|0;if((l|0)==0){b=d}else{if((n[d]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[l-4>>2]|0)}r[p>>2]=0;b=d}n[b]=1;r[p>>2]=a;r[s>>2]=t}}while(0);a=e+12|0;e=o;while(1){if((e|0)>=(t|0)){break}o=(r[a>>2]|0)+(e<<2)|0;if((o|0)!=0){r[o>>2]=r[i>>2]}e=e+1|0}r[_>>2]=t;return}function mue(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;var o=0,s=0,a=0.0,l=0.0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0;o=d;d=d+16|0;s=o|0;a=+p[t+4>>2]-+p[e+4>>2];l=+p[t+8>>2]-+p[e+8>>2];p[_>>2]=+p[t>>2]-+p[e>>2];p[_+4>>2]=a;p[_+8>>2]=l;p[_+12>>2]=0.0;_=i+12|0;e=i+8|0;do{if(+p[_>>2]==+p[n+12>>2]){if(+p[e>>2]!=+p[n+8>>2]){c=e;b=1926;break}t=i+4|0;if(+p[t>>2]!=+p[n+4>>2]){c=e;b=1926;break}u=i|0;if(+p[u>>2]!=+p[n>>2]){m=u;h=t;f=e;break}vBe(r|0,0,16);d=o;return}else{c=e;b=1926}}while(0);if((b|0)==1926){m=i|0;h=i+4|0;f=c}qse(s,i,n);l=-0.0-+p[m>>2];a=-0.0-+p[h>>2];g=-0.0-+p[f>>2];C=+p[_>>2];S=+p[s+12>>2];y=+p[s>>2];v=+p[s+4>>2];x=+p[s+8>>2];M=S*l+y*C+v*g-x*a;T=S*a+v*C+x*l-y*g;D=S*g+x*C+y*a-v*l;P=S*C-y*l-v*a-x*g;do{if(P<-1.0){w=-1.0}else{if(P<=1.0){w=P;break}w=1.0}}while(0);P=+Y(+w)*2.0;w=M*M+T*T+D*D;if(w<1.4210854715202004e-14){A=0.0;F=0.0;R=1.0}else{g=1.0/+j(+w);A=D*g;F=T*g;R=M*g}p[r>>2]=R*P;p[r+4>>2]=F*P;p[r+8>>2]=A*P;p[r+12>>2]=0.0;d=o;return}function hue(e){e=e|0;if((e|0)==0){return}SBe(e);return}function fue(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0;n=t+40|0;p[e+4>>2]=+p[n>>2];_=r[t>>2]|0;r[e+76>>2]=_;if(i){i=e+44|0;o=t+8|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];s=e+60|0;a=t+24|0;l=s;d=a;r[l>>2]=r[d>>2];r[l+4>>2]=r[d+4>>2];r[l+8>>2]=r[d+8>>2];r[l+12>>2]=r[d+12>>2];c=+p[n>>2];return+c}else{b=+p[t+8>>2];u=+p[t+12>>2];m=+p[t+16>>2];h=+p[_+20>>2]*b+ +p[_+24>>2]*u+ +p[_+28>>2]*m;f=+p[_+36>>2]*b+ +p[_+40>>2]*u+ +p[_+44>>2]*m;p[e+44>>2]=+p[_+4>>2]*b+ +p[_+8>>2]*u+ +p[_+12>>2]*m;p[e+48>>2]=h;p[e+52>>2]=f;p[e+56>>2]=0.0;s=e+60|0;a=t+24|0;l=s;d=a;r[l>>2]=r[d>>2];r[l+4>>2]=r[d+4>>2];r[l+8>>2]=r[d+8>>2];r[l+12>>2]=r[d+12>>2];c=+p[n>>2];return+c}return 0.0}function gue(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,r=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0;n=d;d=d+72|0;_=n|0;r=n+8|0;o=n+16|0;s=n+24|0;a=n+32|0;l=n+40|0;c=n+48|0;b=n+56|0;u=n+64|0;m=+p[i>>2];h=+p[t>>2];f=+p[i+16>>2];g=+p[t+4>>2];C=+p[i+32>>2];S=+p[t+8>>2];p[_>>2]=m*h+f*g+C*S;y=+p[i+4>>2];v=+p[i+20>>2];x=+p[i+36>>2];p[r>>2]=y*h+v*g+x*S;M=+p[i+8>>2];T=+p[i+24>>2];D=+p[i+40>>2];p[o>>2]=M*h+T*g+D*S;S=+p[t+16>>2];g=+p[t+20>>2];h=+p[t+24>>2];p[s>>2]=m*S+f*g+C*h;p[a>>2]=y*S+v*g+x*h;p[l>>2]=M*S+T*g+D*h;h=+p[t+32>>2];g=+p[t+36>>2];S=+p[t+40>>2];p[c>>2]=m*h+f*g+C*S;p[b>>2]=y*h+v*g+x*S;p[u>>2]=M*h+T*g+D*S;tn(e,_,r,o,s,a,l,c,b,u);d=n;return}function Cue(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Sue(e,t,i,n,_,o,s,a,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=+a;l=l|0;d=+d;var c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0;c=e;b=o;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];u=+p[n+4>>2];m=+p[e+8>>2];h=+p[n+8>>2];f=+p[e+4>>2];g=u*m-h*f;C=+p[e>>2];S=+p[n>>2];y=h*C-S*m;h=S*f-u*C;u=+p[t>>2]*g+ +p[t+4>>2]*y+ +p[t+8>>2]*h;S=+p[t+16>>2]*g+ +p[t+20>>2]*y+ +p[t+24>>2]*h;v=+p[t+32>>2]*g+ +p[t+36>>2]*y+ +p[t+40>>2]*h;p[e+16>>2]=u;p[e+20>>2]=S;p[e+24>>2]=v;p[e+28>>2]=0.0;h=-0.0-C;C=-0.0-f;f=-0.0-m;m=+p[_+4>>2];y=+p[_+8>>2];g=m*f-y*C;x=+p[_>>2];M=y*h-x*f;f=x*C-m*h;h=+p[i>>2]*g+ +p[i+4>>2]*M+ +p[i+8>>2]*f;m=+p[i+16>>2]*g+ +p[i+20>>2]*M+ +p[i+24>>2]*f;C=+p[i+32>>2]*g+ +p[i+36>>2]*M+ +p[i+40>>2]*f;p[e+32>>2]=h;p[e+36>>2]=m;p[e+40>>2]=C;p[e+44>>2]=0.0;f=+p[s>>2]*u;M=+p[s+4>>2]*S;g=+p[s+8>>2]*v;p[e+48>>2]=f;p[e+52>>2]=M;p[e+56>>2]=g;p[e+60>>2]=0.0;x=+p[l>>2]*h;y=+p[l+4>>2]*m;T=+p[l+8>>2]*C;p[e+64>>2]=x;p[e+68>>2]=y;p[e+72>>2]=T;p[e+76>>2]=0.0;p[e+80>>2]=f*u+M*S+g*v+a+d+(x*h+y*m+T*C);return}function yue(e){e=e|0;if((e|0)==0){return}SBe(e);return}function vue(e){e=e|0;return}function xue(e){e=e|0;return}function Mue(e,t){e=e|0;t=t|0;var i=0;if((_[t+4>>1]&_[e+14>>1])<<16>>16==0){i=0;return i|0}i=(_[e+12>>1]&_[t+6>>1])<<16>>16!=0;return i|0}function Tue(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0;r[e>>2]=19512;t=e+116|0;i=r[t>>2]|0;_=0;while(1){if((_|0)>=(i|0)){break}_=_+1|0}_=e+124|0;i=r[_>>2]|0;o=e+128|0;if((i|0)==0){s=o}else{if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}r[_>>2]=0;s=o}n[s]=1;r[_>>2]=0;r[t>>2]=0;r[e+120>>2]=0;t=e+96|0;_=r[t>>2]|0;s=0;while(1){if((s|0)>=(_|0)){break}s=s+1|0}s=e+104|0;_=r[s>>2]|0;o=e+108|0;if((_|0)==0){a=o}else{if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[s>>2]=0;a=o}n[a]=1;r[s>>2]=0;r[t>>2]=0;r[e+100>>2]=0;t=e+76|0;s=r[t>>2]|0;a=0;while(1){if((a|0)>=(s|0)){break}a=a+1|0}a=e+84|0;s=r[a>>2]|0;o=e+88|0;if((s|0)==0){p=o}else{if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[s-16+12>>2]|0)}r[a>>2]=0;p=o}n[p]=1;r[a>>2]=0;r[t>>2]=0;r[e+80>>2]=0;t=e+24|0;a=r[t>>2]|0;p=0;while(1){if((p|0)>=(a|0)){break}p=p+1|0}p=e+32|0;a=r[p>>2]|0;o=e+36|0;if((a|0)==0){l=o;n[l]=1;r[p>>2]=0;r[t>>2]=0;d=e+28|0;r[d>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-4>>2]|0)}r[p>>2]=0;l=o;n[l]=1;r[p>>2]=0;r[t>>2]=0;d=e+28|0;r[d>>2]=0;return}function Due(e){e=e|0;Tue(e);if((e|0)==0){return}SBe(e);return}function Pue(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0.0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=t|0;l=e+8|0;r[l>>2]=r[a>>2];c=e+24|0;b=r[c>>2]|0;u=e+28|0;do{if((b|0)==(r[u>>2]|0)){m=(b|0)==0?1:b<<1;if((b|0)>=(m|0)){h=b;break}do{if((m|0)==0){f=0}else{r[9806]=(r[9806]|0)+1;g=hBe((m<<2)+19|0)|0;if((g|0)==0){f=0;break}C=-(g+4|0)&15;r[g+C>>2]=g;f=g+(C+4)|0}}while(0);C=r[c>>2]|0;g=e+32|0;S=0;while(1){if((S|0)>=(C|0)){break}y=f+(S<<2)|0;if((y|0)!=0){r[y>>2]=r[(r[g>>2]|0)+(S<<2)>>2]}S=S+1|0}S=r[c>>2]|0;C=0;while(1){if((C|0)>=(S|0)){break}C=C+1|0}C=r[g>>2]|0;y=e+36|0;if((C|0)==0){v=S;x=y}else{if((n[y]&1)==0){M=S}else{r[9804]=(r[9804]|0)+1;SBe(r[C-4>>2]|0);M=r[c>>2]|0}r[g>>2]=0;v=M;x=y}n[x]=1;r[g>>2]=f;r[u>>2]=m;h=v}else{h=b}}while(0);b=(r[e+32>>2]|0)+(h<<2)|0;if((b|0)==0){T=h}else{r[b>>2]=r[a>>2];T=r[c>>2]|0}r[c>>2]=T+1;if(i){i=o;T=t+8|0;r[i>>2]=r[T>>2];r[i+4>>2]=r[T+4>>2];r[i+8>>2]=r[T+8>>2];r[i+12>>2]=r[T+12>>2]}else{T=r[l>>2]|0;D=+p[t+8>>2];P=+p[t+12>>2];w=+p[t+16>>2];A=+p[T+20>>2]*D+ +p[T+24>>2]*P+ +p[T+28>>2]*w;F=+p[T+36>>2]*D+ +p[T+40>>2]*P+ +p[T+44>>2]*w;p[o>>2]=+p[T+4>>2]*D+ +p[T+8>>2]*P+ +p[T+12>>2]*w;p[o+4>>2]=A;p[o+8>>2]=F;p[o+12>>2]=0.0}wue(e+72|0,o);o=t+24|0;F=+p[o>>2];A=1.0-F;p[s>>2]=A*+p[e+40>>2]+ +p[e+56>>2]*F;p[s+4>>2]=A*+p[e+44>>2]+F*+p[e+60>>2];p[s+8>>2]=A*+p[e+48>>2]+F*+p[e+64>>2];wue(e+92|0,s);s=e+116|0;t=r[s>>2]|0;T=e+120|0;do{if((t|0)==(r[T>>2]|0)){l=(t|0)==0?1:t<<1;if((t|0)>=(l|0)){R=t;break}do{if((l|0)==0){I=0}else{r[9806]=(r[9806]|0)+1;i=hBe((l<<2)+19|0)|0;if((i|0)==0){I=0;break}c=-(i+4|0)&15;r[i+c>>2]=i;I=i+(c+4)|0}}while(0);m=r[s>>2]|0;g=e+124|0;S=0;while(1){if((S|0)>=(m|0)){break}c=I+(S<<2)|0;if((c|0)!=0){p[c>>2]=+p[(r[g>>2]|0)+(S<<2)>>2]}S=S+1|0}S=r[s>>2]|0;m=0;while(1){if((m|0)>=(S|0)){break}m=m+1|0}m=r[g>>2]|0;c=e+128|0;if((m|0)==0){B=S;V=c}else{if((n[c]&1)==0){E=S}else{r[9804]=(r[9804]|0)+1;SBe(r[m-4>>2]|0);E=r[s>>2]|0}r[g>>2]=0;B=E;V=c}n[V]=1;r[g>>2]=I;r[T>>2]=l;R=B}else{R=t}}while(0);t=(r[e+124>>2]|0)+(R<<2)|0;if((t|0)==0){N=R;k=N+1|0;r[s>>2]=k;O=e+4|0;L=+p[O>>2];d=_;return+L}p[t>>2]=+p[o>>2];N=r[s>>2]|0;k=N+1|0;r[s>>2]=k;O=e+4|0;L=+p[O>>2];d=_;return+L}function wue(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0;i=e+4|0;_=r[i>>2]|0;o=e+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}do{if((s|0)==0){p=0}else{r[9806]=(r[9806]|0)+1;l=hBe((s<<4|4)+15|0)|0;if((l|0)==0){p=0;break}d=-(l+4|0)&15;r[l+d>>2]=l;p=l+(d+4)|0}}while(0);d=r[i>>2]|0;l=e+12|0;c=0;while(1){if((c|0)>=(d|0)){break}b=p+(c<<4)|0;if((b|0)!=0){u=b;b=(r[l>>2]|0)+(c<<4)|0;r[u>>2]=r[b>>2];r[u+4>>2]=r[b+4>>2];r[u+8>>2]=r[b+8>>2];r[u+12>>2]=r[b+12>>2]}c=c+1|0}c=r[i>>2]|0;d=0;while(1){if((d|0)>=(c|0)){break}d=d+1|0}d=r[l>>2]|0;b=e+16|0;if((d|0)==0){m=c;h=b}else{if((n[b]&1)==0){f=c}else{r[9804]=(r[9804]|0)+1;SBe(r[d-16+12>>2]|0);f=r[i>>2]|0}r[l>>2]=0;m=f;h=b}n[h]=1;r[l>>2]=p;r[o>>2]=s;a=m}else{a=_}}while(0);_=(r[e+12>>2]|0)+(a<<4)|0;if((_|0)==0){g=a;C=g+1|0;r[i>>2]=C;return}a=_;_=t;r[a>>2]=r[_>>2];r[a+4>>2]=r[_+4>>2];r[a+8>>2]=r[_+8>>2];r[a+12>>2]=r[_+12>>2];g=r[i>>2]|0;C=g+1|0;r[i>>2]=C;return}function Aue(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Fue(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0;n=t+24|0;p[e+4>>2]=+p[n>>2];_=r[t>>2]|0;r[e+8>>2]=_;if(i){i=e+52|0;o=t+8|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2]}else{s=+p[t+8>>2];a=+p[t+12>>2];l=+p[t+16>>2];d=+p[_+20>>2]*s+ +p[_+24>>2]*a+ +p[_+28>>2]*l;c=+p[_+36>>2]*s+ +p[_+40>>2]*a+ +p[_+44>>2]*l;p[e+52>>2]=+p[_+4>>2]*s+ +p[_+8>>2]*a+ +p[_+12>>2]*l;p[e+56>>2]=d;p[e+60>>2]=c;p[e+64>>2]=0.0}c=+p[n>>2];d=1.0-c;p[e+68>>2]=d*+p[e+20>>2]+ +p[e+36>>2]*c;p[e+72>>2]=d*+p[e+24>>2]+c*+p[e+40>>2];p[e+76>>2]=d*+p[e+28>>2]+c*+p[e+44>>2];return+ +p[n>>2]}function Rue(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Iue(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0;i=d;d=d+224|0;n=i|0;_=i+48|0;o=i+96|0;s=i+160|0;a=_;tn(_,e+68|0,e+84|0,e+100|0,e+72|0,e+88|0,e+104|0,e+76|0,e+92|0,e+108|0);l=-0.0-+p[e+116>>2];c=-0.0-+p[e+120>>2];b=-0.0-+p[e+124>>2];u=+p[_>>2]*l+ +p[_+4>>2]*c+ +p[_+8>>2]*b;m=+p[_+16>>2]*l+ +p[_+20>>2]*c+ +p[_+24>>2]*b;h=+p[_+32>>2]*l+ +p[_+36>>2]*c+ +p[_+40>>2]*b;f=s+48|0;g=s|0;do{g=g+16|0}while((g|0)!=(f|0));f=s;r[f>>2]=r[a>>2];r[f+4>>2]=r[a+4>>2];r[f+8>>2]=r[a+8>>2];r[f+12>>2]=r[a+12>>2];a=s+16|0;f=_+16|0;r[a>>2]=r[f>>2];r[a+4>>2]=r[f+4>>2];r[a+8>>2]=r[f+8>>2];r[a+12>>2]=r[f+12>>2];f=s+32|0;a=_+32|0;r[f>>2]=r[a>>2];r[f+4>>2]=r[a+4>>2];r[f+8>>2]=r[a+8>>2];r[f+12>>2]=r[a+12>>2];a=s+48|0;p[a>>2]=u;f=s+52|0;p[f>>2]=m;_=s+56|0;p[_>>2]=h;p[s+60>>2]=0.0;g=n;gue(n,s|0,e+4|0);h=+p[e+52>>2];m=+p[e+56>>2];u=+p[e+60>>2];b=+p[s>>2]*h+ +p[s+4>>2]*m+ +p[s+8>>2]*u+ +p[a>>2];c=+p[s+16>>2]*h+ +p[s+20>>2]*m+ +p[s+24>>2]*u+ +p[f>>2];l=+p[s+32>>2]*h+ +p[s+36>>2]*m+ +p[s+40>>2]*u+ +p[_>>2];_=o+48|0;s=o|0;do{s=s+16|0}while((s|0)!=(_|0));_=o;r[_>>2]=r[g>>2];r[_+4>>2]=r[g+4>>2];r[_+8>>2]=r[g+8>>2];r[_+12>>2]=r[g+12>>2];g=o+16|0;s=n+16|0;r[g>>2]=r[s>>2];r[g+4>>2]=r[s+4>>2];r[g+8>>2]=r[s+8>>2];r[g+12>>2]=r[s+12>>2];s=o+32|0;g=n+32|0;r[s>>2]=r[g>>2];r[s+4>>2]=r[g+4>>2];r[s+8>>2]=r[g+8>>2];r[s+12>>2]=r[g+12>>2];p[o+48>>2]=b;p[o+52>>2]=c;p[o+56>>2]=l;p[o+60>>2]=0.0;g=t;r[g>>2]=r[_>>2];r[g+4>>2]=r[_+4>>2];r[g+8>>2]=r[_+8>>2];r[g+12>>2]=r[_+12>>2];_=t+16|0;g=o+16|0;r[_>>2]=r[g>>2];r[_+4>>2]=r[g+4>>2];r[_+8>>2]=r[g+8>>2];r[_+12>>2]=r[g+12>>2];g=t+32|0;_=o+32|0;r[g>>2]=r[_>>2];r[g+4>>2]=r[_+4>>2];r[g+8>>2]=r[_+8>>2];r[g+12>>2]=r[_+12>>2];_=t+48|0;t=o+48|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];d=i;return}function Bue(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0;i=d;d=d+112|0;n=i|0;_=i+48|0;o=e+4|0;s=n;gue(n,t|0,e+68|0);a=+p[e+116>>2];l=+p[e+120>>2];c=+p[e+124>>2];b=+p[t>>2]*a+ +p[t+4>>2]*l+ +p[t+8>>2]*c+ +p[t+48>>2];u=+p[t+16>>2]*a+ +p[t+20>>2]*l+ +p[t+24>>2]*c+ +p[t+52>>2];m=+p[t+32>>2]*a+ +p[t+36>>2]*l+ +p[t+40>>2]*c+ +p[t+56>>2];t=_+48|0;h=_|0;do{h=h+16|0}while((h|0)!=(t|0));t=_;r[t>>2]=r[s>>2];r[t+4>>2]=r[s+4>>2];r[t+8>>2]=r[s+8>>2];r[t+12>>2]=r[s+12>>2];s=_+16|0;h=n+16|0;r[s>>2]=r[h>>2];r[s+4>>2]=r[h+4>>2];r[s+8>>2]=r[h+8>>2];r[s+12>>2]=r[h+12>>2];h=_+32|0;s=n+32|0;r[h>>2]=r[s>>2];r[h+4>>2]=r[s+4>>2];r[h+8>>2]=r[s+8>>2];r[h+12>>2]=r[s+12>>2];p[_+48>>2]=b;p[_+52>>2]=u;p[_+56>>2]=m;p[_+60>>2]=0.0;s=o;r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];t=e+20|0;s=_+16|0;r[t>>2]=r[s>>2];r[t+4>>2]=r[s+4>>2];r[t+8>>2]=r[s+8>>2];r[t+12>>2]=r[s+12>>2];s=e+36|0;t=_+32|0;r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];t=e+52|0;e=_+48|0;r[t>>2]=r[e>>2];r[t+4>>2]=r[e+4>>2];r[t+8>>2]=r[e+8>>2];r[t+12>>2]=r[e+12>>2];d=i;return}function Vue(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,r=0,o=0.0,s=0.0,a=0,l=0;n=e+8|0;_=+p[n>>2];if(+H(+_)>.7071067690849304){r=e+4|0;o=+p[r>>2];s=o*o+_*_;_=1.0/+j(+s);p[t>>2]=0.0;a=t+4|0;p[a>>2]=_*(-0.0-+p[n>>2]);l=t+8|0;p[l>>2]=+p[r>>2]*_;p[i>>2]=s*_;r=e|0;p[i+4>>2]=+p[l>>2]*(-0.0-+p[r>>2]);p[i+8>>2]=+p[r>>2]*+p[a>>2];return}else{a=e|0;_=+p[a>>2];s=+p[e+4>>2];o=_*_+s*s;_=1.0/+j(+o);e=t|0;p[e>>2]=_*(-0.0-s);s=+p[a>>2]*_;p[t+4>>2]=s;p[t+8>>2]=0.0;p[i>>2]=s*(-0.0-+p[n>>2]);p[i+4>>2]=+p[n>>2]*+p[e>>2];p[i+8>>2]=o*_;return}}function Eue(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0.0;i=t|0;if((n[e+519|0]&1)!=0){r[i>>2]=0;r[t+4>>2]=0;return}r[i>>2]=3;_=t+4|0;r[_>>2]=3;t=r[e+24>>2]|0;o=r[e+28>>2]|0;Nue(e,t+4|0,o+4|0,t+256|0,o+256|0);do{if((n[e+518|0]&1)!=0){o=r[i>>2]|0;r[i>>2]=o+1;t=r[_>>2]|0;r[_>>2]=t-1;s=+p[e+448>>2];if(+p[e+436>>2]>=s){break}if(+p[e+440>>2]>=s){break}r[i>>2]=o+2;r[_>>2]=t-2}}while(0);if((n[e+517|0]&1)==0){return}r[i>>2]=(r[i>>2]|0)+1;r[_>>2]=(r[_>>2]|0)-1;return}function Nue(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,C=0,S=0,y=0,v=0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0,O=0.0,L=0.0,U=0,G=0,W=0,z=0,X=0.0,q=0.0,J=0.0,K=0,ee=0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0.0,ke=0.0,Oe=0.0,Le=0.0,Ue=0.0,Ge=0.0,We=0.0,ze=0.0,He=0.0,je=0.0,Xe=0.0,Ze=0.0,Qe=0.0,qe=0.0,Ye=0.0,Je=0.0,Ke=0.0;s=d;d=d+368|0;a=s|0;l=s+48|0;c=s+96|0;b=s+160|0;u=s+224|0;m=s+288|0;h=s+304|0;f=s+320|0;C=s+336|0;S=s+352|0;y=e+496|0;p[y>>2]=0.0;p[e+492>>2]=0.0;v=e+517|0;n[v]=0;x=e+518|0;n[x]=0;do{if((n[e+544|0]&1)!=0){if((n[e+519|0]&1)!=0){break}M=+p[e+548>>2];T=+p[e+552>>2];D=+p[e+556>>2];P=+p[e+560>>2];w=2.0/(M*M+T*T+D*D+P*P);A=M*w;F=T*w;R=D*w;w=P*A;I=P*F;B=P*R;P=M*A;A=M*F;V=M*R;M=T*F;F=T*R;T=D*R;R=1.0-(M+T);D=A-B;E=V+I;N=A+B;B=1.0-(P+T);T=F-w;A=V-I;I=F+w;w=1.0-(P+M);k=l;gue(l,t|0,e+292|0);M=+p[e+340>>2];P=+p[e+344>>2];F=+p[e+348>>2];V=+p[t>>2]*M+ +p[t+4>>2]*P+ +p[t+8>>2]*F+ +p[t+48>>2];O=+p[t+16>>2]*M+ +p[t+20>>2]*P+ +p[t+24>>2]*F+ +p[t+52>>2];L=+p[t+32>>2]*M+ +p[t+36>>2]*P+ +p[t+40>>2]*F+ +p[t+56>>2];U=c+48|0;G=c|0;do{G=G+16|0}while((G|0)!=(U|0));U=c;r[U>>2]=r[k>>2];r[U+4>>2]=r[k+4>>2];r[U+8>>2]=r[k+8>>2];r[U+12>>2]=r[k+12>>2];U=c+16|0;G=l+16|0;r[U>>2]=r[G>>2];r[U+4>>2]=r[G+4>>2];r[U+8>>2]=r[G+8>>2];r[U+12>>2]=r[G+12>>2];G=c+32|0;U=l+32|0;r[G>>2]=r[U>>2];r[G+4>>2]=r[U+4>>2];r[G+8>>2]=r[U+8>>2];r[G+12>>2]=r[U+12>>2];U=c+48|0;p[U>>2]=V;G=c+52|0;p[G>>2]=O;W=c+56|0;p[W>>2]=L;p[c+60>>2]=0.0;z=a;gue(a,i|0,e+356|0);F=+p[e+404>>2];P=+p[e+408>>2];M=+p[e+412>>2];X=+p[i>>2]*F+ +p[i+4>>2]*P+ +p[i+8>>2]*M+ +p[i+48>>2];q=+p[i+16>>2]*F+ +p[i+20>>2]*P+ +p[i+24>>2]*M+ +p[i+52>>2];J=+p[i+32>>2]*F+ +p[i+36>>2]*P+ +p[i+40>>2]*M+ +p[i+56>>2];K=b+48|0;ee=b|0;do{ee=ee+16|0}while((ee|0)!=(K|0));K=b;r[K>>2]=r[z>>2];r[K+4>>2]=r[z+4>>2];r[K+8>>2]=r[z+8>>2];r[K+12>>2]=r[z+12>>2];K=b+16|0;ee=a+16|0;r[K>>2]=r[ee>>2];r[K+4>>2]=r[ee+4>>2];r[K+8>>2]=r[ee+8>>2];r[K+12>>2]=r[ee+12>>2];ee=b+32|0;K=a+32|0;r[ee>>2]=r[K>>2];r[ee+4>>2]=r[K+4>>2];r[ee+8>>2]=r[K+8>>2];r[ee+12>>2]=r[K+12>>2];p[b+48>>2]=X;p[b+52>>2]=q;p[b+56>>2]=J;p[b+60>>2]=0.0;L=+p[b>>2];O=+p[b+4>>2];V=+p[b+8>>2];M=L*R+N*O+A*V;P=L*D+O*B+I*V;F=L*E+T*O+w*V;te=+p[b+16>>2];ie=+p[b+20>>2];ne=+p[b+24>>2];_e=R*te+N*ie+A*ne;re=D*te+B*ie+I*ne;oe=E*te+T*ie+w*ne;se=+p[b+32>>2];ae=+p[b+36>>2];pe=+p[b+40>>2];le=R*se+N*ae+A*pe;de=D*se+B*ae+I*pe;ce=E*se+T*ae+w*pe;be=+p[c>>2];ue=+p[c+16>>2];me=+p[c+32>>2];he=+p[c+4>>2];fe=+p[c+20>>2];ge=+p[c+36>>2];Ce=+p[c+8>>2];Se=+p[c+24>>2];ye=+p[c+40>>2];ve=-0.0-+p[U>>2];xe=-0.0-+p[G>>2];Me=-0.0-+p[W>>2];Te=be*ve+ue*xe+me*Me;De=he*ve+fe*xe+ge*Me;Pe=Ce*ve+Se*xe+ye*Me;p[u>>2]=M*be+P*he+F*Ce;p[u+4>>2]=M*ue+P*fe+F*Se;p[u+8>>2]=M*me+P*ge+F*ye;p[u+12>>2]=0.0;p[u+16>>2]=_e*be+re*he+oe*Ce;p[u+20>>2]=_e*ue+re*fe+oe*Se;p[u+24>>2]=_e*me+re*ge+oe*ye;p[u+28>>2]=0.0;p[u+32>>2]=le*be+de*he+ce*Ce;p[u+36>>2]=le*ue+de*fe+ce*Se;p[u+40>>2]=le*me+de*ge+ce*ye;p[u+44>>2]=0.0;p[u+48>>2]=L*0.0+O*0.0+V*0.0+X+(F*Pe+(M*Te+P*De));p[u+52>>2]=te*0.0+ie*0.0+ne*0.0+q+(oe*Pe+(_e*Te+re*De));p[u+56>>2]=se*0.0+ae*0.0+pe*0.0+J+(ce*Pe+(le*Te+de*De));p[u+60>>2]=0.0;mn(u|0,m);De=+p[m>>2];de=+p[m+4>>2];Te=+p[m+8>>2];p[e+464>>2]=0.0;le=1.0/+j(+(De*De+de*de+Te*Te));p[e+452>>2]=De*le;p[e+456>>2]=de*le;p[e+460>>2]=Te*le;le=+p[m+12>>2];Te=le<-1.0?-1.0:le;le=+Y(+(Te>1.0?1.0:Te))*2.0;p[y>>2]=le;if(+H(+le)<1.1920928955078125e-7){d=s;return}n[x]=1;d=s;return}}while(0);mn(t|0,h);m=e+292|0;mn(m,f);le=+p[h+12>>2];Te=+p[f>>2];de=+p[h>>2];De=+p[f+12>>2];Pe=+p[h+4>>2];ce=+p[f+8>>2];pe=+p[h+8>>2];ae=+p[f+4>>2];se=le*Te+de*De+Pe*ce-pe*ae;re=Te*pe+(De*Pe+le*ae)-de*ce;_e=le*ce+De*pe+de*ae-Te*Pe;oe=le*De-Te*de-Pe*ae-ce*pe;mn(i|0,C);f=e+356|0;mn(f,S);pe=+p[C+12>>2];ce=+p[S>>2];ae=+p[C>>2];Pe=+p[S+12>>2];de=+p[C+4>>2];Te=+p[S+8>>2];De=+p[C+8>>2];le=+p[S+4>>2];ne=pe*ce+ae*Pe+de*Te-De*le;ie=ce*De+(Pe*de+pe*le)-ae*Te;te=pe*Te+Pe*De+ae*le-ce*de;P=pe*Pe-ce*ae-de*le-Te*De;De=-0.0-ne;Te=-0.0-ie;le=-0.0-te;de=se*P+oe*De+_e*Te-re*le;ae=se*le+(re*P+oe*Te)-_e*De;ce=re*De+(_e*P+oe*le)-se*Te;Pe=oe*P-se*De-re*Te-_e*le;pe=ae*0.0;M=ce*0.0;F=Pe+pe-M;V=Pe*0.0;O=de*0.0;L=ce+V-O;ye=V+O-ae;O=-0.0-de;V=O-pe-M;M=-0.0-ae;pe=-0.0-ce;ge=L*pe+(Pe*F+V*O)-ye*M;me=ye*O+(Pe*L+V*M)-F*pe;Se=F*M+(Pe*ye+V*pe)-L*O;O=1.0/+j(+(Se*Se+(ge*ge+me*me)));L=O*ge;ge=O*me;me=O*Se;Se=ge*0.0;O=me*0.0;pe=O+(Se+L);do{if(pe<-.9999998807907104){if(+H(0.0)>.7071067690849304){we=0.0;Ae=g;Fe=g;Re=0.0;break}we=-0.0;Ae=1.0;Fe=0.0;Re=0.0}else{V=L*0.0;ye=+j(+((pe+1.0)*2.0));M=1.0/ye;we=(O-Se)*M;Ae=(V-me)*M;Fe=(ge-V)*M;Re=ye*.5}}while(0);ge=1.0/+j(+(Re*Re+(Fe*Fe+(Ae*Ae+we*we))));me=we*ge;we=Ae*ge;Ae=Fe*ge;Fe=Re*ge;ge=-0.0-me;Re=-0.0-we;Se=-0.0-Ae;O=ce*Re+(de*Fe+Pe*ge)-ae*Se;pe=de*Se+(ae*Fe+Pe*Re)-ce*ge;L=ae*ge+(ce*Fe+Pe*Se)-de*Re;ye=Pe*Fe-de*ge-ae*Re-ce*Se;Se=1.0/+j(+(ye*ye+(L*L+(O*O+pe*pe))));ce=Se*O;O=Se*pe;pe=Se*L;L=Se*ye;ye=+p[e+436>>2];Se=+p[e+448>>2];S=ye<Se;do{if(S){Ie=2138}else{Re=+p[e+440>>2];if(Re<Se){Ie=2138;break}ae=Fe<-1.0?-1.0:Fe;ge=+Y(+(ae>1.0?1.0:ae))*2.0;do{if(ge>1.1920928955078125e-7){ae=1.0/+j(+(Ae*Ae+(me*me+we*we)));de=me*ae;Pe=we*ae;M=Ae*ae;if(+H(+Pe)<=1.1920928955078125e-7){Be=de;Ve=Pe;Ee=M;Ne=ye;break}ae=M*M/(Pe*Pe);Be=de;Ve=Pe;Ee=M;Ne=+j(+((ae+1.0)/(1.0/(Re*Re)+ae/(ye*ye))))}else{Be=0.0;Ve=0.0;Ee=0.0;Ne=0.0}}while(0);J=+p[e+420>>2];q=Ne*J;if(ge<=q){break}n[x]=1;X=ge-q;if(ge<Ne&J<.9999998807907104){ke=X/(Ne-q)}else{ke=1.0}p[e+520>>2]=ke;p[y>>2]=X;if(+H(+Ve)>1.1920928955078125e-7){X=+H(+(Ve*(-0.0-Ee)/Ve*(Re/ye)));if(Ee<-0.0){Oe=X}else{Oe=-0.0-X}X=Oe;q=1.0/+j(+(Ve*Ve+Be*Be+X*X));Le=Be*q;Ue=Ve*q;Ge=q*(-0.0-X)}else{Le=Be;Ue=Ve;Ge=Ee}X=-0.0-Le;q=-0.0-Ue;J=-0.0-Ge;w=ie*J+P*X-te*q;T=P*q+te*X-ne*J;E=P*J+ne*q-ie*X;X=ne*Le-ie*q-te*J;J=T*le+(X*De+P*w)-E*Te;q=E*De+(X*Te+P*T)-w*le;I=w*Te+(P*E+X*le)-T*De;p[e+452>>2]=J;p[e+456>>2]=q;p[e+460>>2]=I;p[e+464>>2]=0.0;vBe(e+528|0,0,16);p[e+484>>2]=1.0/(J*(+p[_>>2]*J+ +p[_+16>>2]*q+ +p[_+32>>2]*I)+q*(J*+p[_+4>>2]+q*+p[_+20>>2]+I*+p[_+36>>2])+I*(J*+p[_+8>>2]+q*+p[_+24>>2]+I*+p[_+40>>2])+(J*(J*+p[o>>2]+q*+p[o+16>>2]+I*+p[o+32>>2])+q*(J*+p[o+4>>2]+q*+p[o+20>>2]+I*+p[o+36>>2])+I*(J*+p[o+8>>2]+q*+p[o+24>>2]+I*+p[o+40>>2])))}}while(0);e:do{if((Ie|0)==2138){Le=+p[m>>2];Ge=+p[e+308>>2];Ue=+p[e+324>>2];Ee=+p[t>>2];Ve=+p[t+4>>2];Be=+p[t+8>>2];Oe=Le*Ee+Ge*Ve+Ue*Be;ke=+p[t+16>>2];Ne=+p[t+20>>2];Ae=+p[t+24>>2];we=Le*ke+Ge*Ne+Ue*Ae;me=+p[t+32>>2];Fe=+p[t+36>>2];I=+p[t+40>>2];q=Le*me+Ge*Fe+Ue*I;Ue=+p[e+296>>2];Ge=+p[e+312>>2];Le=+p[e+328>>2];J=Ee*Ue+Ve*Ge+Be*Le;T=ke*Ue+Ne*Ge+Ae*Le;X=me*Ue+Fe*Ge+I*Le;Le=+p[e+300>>2];Ge=+p[e+316>>2];Ue=+p[e+332>>2];E=Ee*Le+Ve*Ge+Be*Ue;Be=ke*Le+Ne*Ge+Ae*Ue;Ae=me*Le+Fe*Ge+I*Ue;Ue=+p[f>>2];I=+p[e+372>>2];Ge=+p[e+388>>2];Fe=Ue*+p[i>>2]+I*+p[i+4>>2]+Ge*+p[i+8>>2];Le=Ue*+p[i+16>>2]+I*+p[i+20>>2]+Ge*+p[i+24>>2];me=Ue*+p[i+32>>2]+I*+p[i+36>>2]+Ge*+p[i+40>>2];Ge=Oe*Fe+we*Le+q*me;I=J*Fe+T*Le+X*me;Ue=E*Fe+Be*Le+Ae*me;do{if(ye<Se){Ne=+p[e+440>>2];W=+H(+I)<1.1920928955078125e-7;if(Ne<Se){if(W){if(+H(+Ue)<1.1920928955078125e-7){break e}}n[x]=1;p[e+452>>2]=-0.0-(q*Le-we*me);p[e+456>>2]=-0.0-(Oe*me-q*Fe);p[e+460>>2]=-0.0-(we*Fe-Oe*Le);p[e+464>>2]=0.0;break e}if(W){We=Ge;ze=I;He=Ue;break}n[x]=1;if(Ne<Se){We=Ge;ze=I;He=Ue;break}ke=+$(+Ue,+Ge);if(ke>Ne){Ve=+Z(+Ne);We=Ve;ze=0.0;He=+Q(+Ne);break}if(ke>=-0.0-Ne){We=Ge;ze=0.0;He=Ue;break}ke=+Z(+Ne);We=ke;ze=0.0;He=-0.0-+Q(+Ne)}else{if(+H(+Ue)<1.1920928955078125e-7){We=Ge;ze=I;He=Ue;break}n[x]=1;if(S){We=Ge;ze=I;He=Ue;break}Ne=+$(+I,+Ge);if(Ne>ye){ke=+Z(+ye);We=ke;ze=+Q(+ye);He=0.0;break}if(Ne>=-0.0-ye){We=Ge;ze=I;He=0.0;break}Ne=+Z(+ye);We=Ne;ze=-0.0-+Q(+ye);He=0.0}}while(0);I=E*He+(J*ze+Oe*We);Ge=Be*He+(T*ze+we*We);Ue=Ae*He+(X*ze+q*We);Re=1.0/+j(+(Ue*Ue+(I*I+Ge*Ge)));ge=Re*I;I=Re*Ge;Ge=Re*Ue;Ue=Le*Ge-me*I;Re=me*ge-Fe*Ge;Ge=Fe*I-Le*ge;p[e+464>>2]=0.0;ge=+j(+(Ue*Ue+Re*Re+Ge*Ge));p[y>>2]=ge;I=1.0/ge;p[e+452>>2]=I*(-0.0-Ue);p[e+456>>2]=I*(-0.0-Re);p[e+460>>2]=I*(-0.0-Ge)}}while(0);We=+p[e+444>>2];y=e+504|0;if(We<0.0){p[y>>2]=0.0;d=s;return}ze=L<-1.0?-1.0:L;He=+Y(+(ze>1.0?1.0:ze))*2.0;if(He>3.1415927410125732){ze=L>1.0?-1.0:-0.0-L;je=-0.0-ce;Xe=-0.0-O;Ze=-0.0-pe;Qe=+Y(+(ze>1.0?1.0:ze))*2.0}else{je=ce;Xe=O;Ze=pe;Qe=He}p[y>>2]=Qe;if(Qe>1.1920928955078125e-7){He=1.0/+j(+(Ze*Ze+(Xe*Xe+je*je)));qe=je*He;Ye=Xe*He;Je=Ze*He}else{qe=je;Ye=Xe;Je=Ze}Ze=+p[e+420>>2];Xe=We*Ze;if(Qe>Xe+1.0e-4){n[v]=1;je=Qe-Xe;if(Qe<We&Ze<.9999998807907104){Ke=je/(We-Xe)}else{Ke=1.0}p[e+524>>2]=Ke;p[e+500>>2]=je;je=-0.0-qe;Ke=-0.0-Ye;Xe=-0.0-Je;We=ie*Xe+P*je-te*Ke;Ze=P*Ke+te*je-ne*Xe;Qe=P*Xe+ne*Ke-ie*je;je=ne*qe-ie*Ke-te*Xe;Xe=Ze*le+(je*De+P*We)-Qe*Te;te=Qe*De+(je*Te+P*Ze)-We*le;Ke=We*Te+(P*Qe+je*le)-Ze*De;p[e+468>>2]=Xe;p[e+472>>2]=te;p[e+476>>2]=Ke;p[e+480>>2]=0.0;p[e+488>>2]=1.0/(Xe*(+p[_>>2]*Xe+ +p[_+16>>2]*te+ +p[_+32>>2]*Ke)+te*(Xe*+p[_+4>>2]+te*+p[_+20>>2]+Ke*+p[_+36>>2])+Ke*(Xe*+p[_+8>>2]+te*+p[_+24>>2]+Ke*+p[_+40>>2])+(Xe*(Xe*+p[o>>2]+te*+p[o+16>>2]+Ke*+p[o+32>>2])+te*(Xe*+p[o+4>>2]+te*+p[o+20>>2]+Ke*+p[o+36>>2])+Ke*(Xe*+p[o+8>>2]+te*+p[o+24>>2]+Ke*+p[o+40>>2])))}if((n[x]&1)==0){d=s;return}Ke=-0.0-qe;te=-0.0-Ye;Ye=-0.0-Je;Je=re*Ye+oe*Ke-_e*te;Xe=oe*te+_e*Ke-se*Ye;De=oe*Ye+se*te-re*Ke;Ke=-0.0-se;Ze=se*qe-re*te-_e*Ye;Ye=-0.0-re;re=-0.0-_e;p[e+528>>2]=Xe*re+(Ze*Ke+oe*Je)-De*Ye;p[e+532>>2]=De*Ke+(Ze*Ye+oe*Xe)-Je*re;p[e+536>>2]=Je*Ye+(oe*De+Ze*re)-Xe*Ke;p[e+540>>2]=0.0;d=s;return}function kue(e,t){e=e|0;t=t|0;var i=0,n=0;i=r[e+24>>2]|0;n=r[e+28>>2]|0;Oue(e,t,i+4|0,n+4|0,i+256|0,n+256|0);return}function Oue(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0.0,u=0,m=0.0,h=0,f=0.0,g=0.0,C=0,S=0,y=0,v=0.0,x=0,M=0,T=0,D=0.0,P=0,w=0,A=0,F=0,R=0.0,I=0.0,B=0.0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0.0,Z=0,Q=0,q=0,Y=0.0;a=d;d=d+112|0;l=a|0;c=a+48|0;Nue(e,i,_,o,s);s=t+8|0;p[r[s>>2]>>2]=1.0;o=t+24|0;p[(r[s>>2]|0)+((r[o>>2]|0)+1<<2)>>2]=1.0;p[(r[s>>2]|0)+((r[o>>2]<<1)+2<<2)>>2]=1.0;s=i|0;b=+p[e+340>>2];u=i+4|0;m=+p[e+344>>2];h=i+8|0;f=+p[e+348>>2];g=+p[s>>2]*b+ +p[u>>2]*m+ +p[h>>2]*f;C=i+16|0;S=i+20|0;y=i+24|0;v=b*+p[C>>2]+m*+p[S>>2]+f*+p[y>>2];x=i+32|0;M=i+36|0;T=i+40|0;D=b*+p[x>>2]+m*+p[M>>2]+f*+p[T>>2];P=t+12|0;w=r[P>>2]|0;A=r[o>>2]|0;F=A<<1;p[w>>2]=0.0;p[w+4>>2]=D;p[w+8>>2]=-0.0-v;p[w+12>>2]=0.0;p[w+(A<<2)>>2]=-0.0-D;p[w+(A+1<<2)>>2]=0.0;p[w+(A+2<<2)>>2]=g;p[w+(A+3<<2)>>2]=0.0;p[w+(F<<2)>>2]=v;p[w+((F|1)<<2)>>2]=-0.0-g;p[w+(F+2<<2)>>2]=0.0;p[w+(F+3<<2)>>2]=0.0;f=+p[e+404>>2];m=+p[e+408>>2];b=+p[e+412>>2];R=+p[_>>2]*f+ +p[_+4>>2]*m+ +p[_+8>>2]*b;I=f*+p[_+16>>2]+m*+p[_+20>>2]+b*+p[_+24>>2];B=f*+p[_+32>>2]+m*+p[_+36>>2]+b*+p[_+40>>2];F=t+20|0;w=r[F>>2]|0;A=r[o>>2]|0;V=A<<1;p[w>>2]=0.0;p[w+4>>2]=-0.0-B;p[w+8>>2]=I;p[w+12>>2]=0.0;p[w+(A<<2)>>2]=B;p[w+(A+1<<2)>>2]=0.0;p[w+(A+2<<2)>>2]=-0.0-R;p[w+(A+3<<2)>>2]=0.0;p[w+(V<<2)>>2]=-0.0-I;p[w+((V|1)<<2)>>2]=R;p[w+(V+2<<2)>>2]=0.0;p[w+(V+3<<2)>>2]=0.0;V=e+584|0;w=t|0;b=+p[((r[V>>2]&2|0)==0?t+4|0:e+592|0)>>2]*+p[w>>2];A=t+28|0;E=t+36|0;N=t+40|0;k=e+588|0;O=t+32|0;t=i+48|0;p[r[A>>2]>>2]=b*(R+ +p[_+48>>2]-g-+p[t>>2]);p[r[E>>2]>>2]=-3.4028234663852886e+38;p[r[N>>2]>>2]=3.4028234663852886e+38;if((r[V>>2]&1|0)!=0){p[r[O>>2]>>2]=+p[k>>2]}L=i+52|0;p[(r[A>>2]|0)+(r[o>>2]<<2)>>2]=b*(I+ +p[_+52>>2]-v-+p[L>>2]);p[(r[E>>2]|0)+(r[o>>2]<<2)>>2]=-3.4028234663852886e+38;p[(r[N>>2]|0)+(r[o>>2]<<2)>>2]=3.4028234663852886e+38;if((r[V>>2]&1|0)!=0){p[(r[O>>2]|0)+(r[o>>2]<<2)>>2]=+p[k>>2]}U=i+56|0;p[(r[A>>2]|0)+(r[o>>2]<<1<<2)>>2]=b*(B+ +p[_+56>>2]-D-+p[U>>2]);p[(r[E>>2]|0)+(r[o>>2]<<1<<2)>>2]=-3.4028234663852886e+38;p[(r[N>>2]|0)+(r[o>>2]<<1<<2)>>2]=3.4028234663852886e+38;if((r[V>>2]&1|0)!=0){p[(r[O>>2]|0)+(r[o>>2]<<1<<2)>>2]=+p[k>>2]}k=(r[o>>2]|0)*3|0;e:do{if((n[e+518|0]&1)==0){G=k}else{_=r[P>>2]|0;W=r[F>>2]|0;D=+p[e+448>>2];do{if(+p[e+436>>2]<D){if(+p[e+440>>2]>=D){break}z=l;gue(l,i|0,e+292|0);B=+p[e+340>>2];b=+p[e+344>>2];v=+p[e+348>>2];I=+p[s>>2]*B+ +p[u>>2]*b+ +p[h>>2]*v+ +p[t>>2];g=+p[C>>2]*B+ +p[S>>2]*b+ +p[y>>2]*v+ +p[L>>2];R=+p[x>>2]*B+ +p[M>>2]*b+ +p[T>>2]*v+ +p[U>>2];H=c+48|0;j=c|0;do{j=j+16|0}while((j|0)!=(H|0));H=c;r[H>>2]=r[z>>2];r[H+4>>2]=r[z+4>>2];r[H+8>>2]=r[z+8>>2];r[H+12>>2]=r[z+12>>2];H=c+16|0;j=l+16|0;r[H>>2]=r[j>>2];r[H+4>>2]=r[j+4>>2];r[H+8>>2]=r[j+8>>2];r[H+12>>2]=r[j+12>>2];j=c+32|0;H=l+32|0;r[j>>2]=r[H>>2];r[j+4>>2]=r[H+4>>2];r[j+8>>2]=r[H+8>>2];r[j+12>>2]=r[H+12>>2];p[c+48>>2]=I;p[c+52>>2]=g;p[c+56>>2]=R;p[c+60>>2]=0.0;v=+p[c+4>>2];b=+p[c+20>>2];B=+p[c+36>>2];m=+p[c+8>>2];f=+p[c+24>>2];X=+p[c+40>>2];H=(r[o>>2]|0)+k|0;p[_+(k<<2)>>2]=v;j=k+1|0;p[_+(j<<2)>>2]=b;Z=k+2|0;p[_+(Z<<2)>>2]=B;p[_+(H<<2)>>2]=m;Q=H+1|0;p[_+(Q<<2)>>2]=f;q=H+2|0;p[_+(q<<2)>>2]=X;p[W+(k<<2)>>2]=-0.0-v;p[W+(j<<2)>>2]=-0.0-b;p[W+(Z<<2)>>2]=-0.0-B;p[W+(H<<2)>>2]=-0.0-m;p[W+(Q<<2)>>2]=-0.0-f;p[W+(q<<2)>>2]=-0.0-X;Y=+p[w>>2]*+p[e+428>>2];q=e+452|0;Q=e+456|0;Z=e+460|0;p[(r[A>>2]|0)+(k<<2)>>2]=Y*(v*+p[q>>2]+b*+p[Q>>2]+B*+p[Z>>2]);p[(r[A>>2]|0)+(H<<2)>>2]=Y*(m*+p[q>>2]+f*+p[Q>>2]+X*+p[Z>>2]);p[(r[E>>2]|0)+(k<<2)>>2]=-3.4028234663852886e+38;p[(r[N>>2]|0)+(k<<2)>>2]=3.4028234663852886e+38;p[(r[E>>2]|0)+(H<<2)>>2]=-3.4028234663852886e+38;p[(r[N>>2]|0)+(H<<2)>>2]=3.4028234663852886e+38;G=(r[o>>2]|0)+H|0;break e}}while(0);D=+p[e+428>>2];X=D*+p[e+452>>2]*D;f=D*D*+p[e+456>>2];m=D*D*+p[e+460>>2];p[_+(k<<2)>>2]=X;H=k+1|0;p[_+(H<<2)>>2]=f;Z=k+2|0;p[_+(Z<<2)>>2]=m;p[W+(k<<2)>>2]=-0.0-X;p[W+(H<<2)>>2]=-0.0-f;p[W+(Z<<2)>>2]=-0.0-m;p[(r[A>>2]|0)+(k<<2)>>2]=+p[w>>2]*+p[e+424>>2]*+p[e+496>>2];if((r[V>>2]&4|0)!=0){p[(r[O>>2]|0)+(k<<2)>>2]=+p[e+596>>2]}p[(r[E>>2]|0)+(k<<2)>>2]=0.0;p[(r[N>>2]|0)+(k<<2)>>2]=3.4028234663852886e+38;G=(r[o>>2]|0)+k|0}}while(0);if((n[e+517|0]&1)==0){d=a;return}m=+p[e+428>>2];f=m*+p[e+468>>2]*m;X=m*m*+p[e+472>>2];D=m*m*+p[e+476>>2];k=r[P>>2]|0;P=r[F>>2]|0;p[k+(G<<2)>>2]=f;F=G+1|0;p[k+(F<<2)>>2]=X;o=G+2|0;p[k+(o<<2)>>2]=D;p[P+(G<<2)>>2]=-0.0-f;p[P+(F<<2)>>2]=-0.0-X;p[P+(o<<2)>>2]=-0.0-D;o=e+500|0;p[(r[A>>2]|0)+(G<<2)>>2]=+p[w>>2]*+p[e+424>>2]*+p[o>>2];if((r[V>>2]&4|0)!=0){p[(r[O>>2]|0)+(G<<2)>>2]=+p[e+596>>2]}if(+p[e+444>>2]<=0.0){p[(r[E>>2]|0)+(G<<2)>>2]=-3.4028234663852886e+38;p[(r[N>>2]|0)+(G<<2)>>2]=3.4028234663852886e+38;d=a;return}e=(r[E>>2]|0)+(G<<2)|0;if(+p[o>>2]>0.0){p[e>>2]=0.0;p[(r[N>>2]|0)+(G<<2)>>2]=3.4028234663852886e+38;d=a;return}else{p[e>>2]=-3.4028234663852886e+38;p[(r[N>>2]|0)+(G<<2)>>2]=0.0;d=a;return}}function Lue(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0;t=d;d=d+176|0;i=t|0;_=t+48|0;o=t+96|0;s=t+144|0;a=t+160|0;if((n[e+519|0]&1)==0){d=t;return}p[e+32>>2]=0.0;p[e+512>>2]=0.0;p[e+508>>2]=0.0;vBe(e+568|0,0,16);l=e+24|0;if((n[e+516|0]&1)==0){c=r[l>>2]|0;b=+p[e+340>>2];u=+p[e+344>>2];m=+p[e+348>>2];h=+p[c+56>>2]+(b*+p[c+20>>2]+u*+p[c+24>>2]+m*+p[c+28>>2]);f=e+28|0;g=r[f>>2]|0;C=+p[e+404>>2];S=+p[e+408>>2];y=+p[e+412>>2];v=+p[g+56>>2]+(C*+p[g+20>>2]+S*+p[g+24>>2]+y*+p[g+28>>2]);x=+p[g+60>>2]+(C*+p[g+36>>2]+S*+p[g+40>>2]+y*+p[g+44>>2]);M=v-h;T=+p[c+52>>2]+(+p[c+4>>2]*b+ +p[c+8>>2]*u+ +p[c+12>>2]*m);D=+p[c+60>>2]+(b*+p[c+36>>2]+u*+p[c+40>>2]+m*+p[c+44>>2]);m=+p[g+52>>2]+(+p[g+4>>2]*C+ +p[g+8>>2]*S+ +p[g+12>>2]*y);y=m-T;S=x-D;C=y*y+M*M+S*S;if(C>1.1920928955078125e-7){u=1.0/+j(+C);C=y*u;y=M*u;M=S*u;p[i>>2]=C;p[i+4>>2]=y;p[i+8>>2]=M;p[i+12>>2]=0.0;P=M;w=y;A=C}else{p[i>>2]=1.0;p[i+4>>2]=0.0;p[i+8>>2]=0.0;p[i+12>>2]=0.0;P=0.0;w=0.0;A=1.0}g=i+16|0;c=i+32|0;if(+H(+P)>.7071067690849304){C=P*P+w*w;y=1.0/+j(+C);p[g>>2]=0.0;M=y*(-0.0-P);p[i+20>>2]=M;u=y*w;p[i+24>>2]=u;p[c>>2]=C*y;p[i+36>>2]=u*(-0.0-A);p[i+40>>2]=A*M}else{M=A*A+w*w;u=1.0/+j(+M);y=u*(-0.0-w);p[g>>2]=y;w=u*A;p[i+20>>2]=w;p[i+24>>2]=0.0;p[c>>2]=w*(-0.0-P);p[i+36>>2]=P*y;p[i+40>>2]=M*u}c=_|0;g=_+4|0;F=_+8|0;R=_+12|0;I=_+16|0;B=_+20|0;V=_+24|0;E=_+28|0;N=_+32|0;k=_+36|0;O=_+40|0;L=_+44|0;U=o|0;G=o+4|0;W=o+8|0;z=o+12|0;X=o+16|0;Z=o+20|0;Q=o+24|0;q=o+28|0;Y=o+32|0;J=o+36|0;K=o+40|0;$=o+44|0;ee=s|0;te=s+4|0;ie=s+8|0;ne=s+12|0;_e=a|0;re=a+4|0;oe=a+8|0;se=a+12|0;ae=0;while(1){pe=e+40+(ae*84|0)|0;if((pe|0)!=0){le=r[l>>2]|0;p[c>>2]=+p[le+4>>2];p[g>>2]=+p[le+20>>2];p[F>>2]=+p[le+36>>2];p[R>>2]=0.0;p[I>>2]=+p[le+8>>2];p[B>>2]=+p[le+24>>2];p[V>>2]=+p[le+40>>2];p[E>>2]=0.0;p[N>>2]=+p[le+12>>2];p[k>>2]=+p[le+28>>2];p[O>>2]=+p[le+44>>2];p[L>>2]=0.0;de=r[f>>2]|0;p[U>>2]=+p[de+4>>2];p[G>>2]=+p[de+20>>2];p[W>>2]=+p[de+36>>2];p[z>>2]=0.0;p[X>>2]=+p[de+8>>2];p[Z>>2]=+p[de+24>>2];p[Q>>2]=+p[de+40>>2];p[q>>2]=0.0;p[Y>>2]=+p[de+12>>2];p[J>>2]=+p[de+28>>2];p[K>>2]=+p[de+44>>2];p[$>>2]=0.0;u=h-+p[le+56>>2];M=D-+p[le+60>>2];p[ee>>2]=T-+p[le+52>>2];p[te>>2]=u;p[ie>>2]=M;p[ne>>2]=0.0;M=v-+p[de+56>>2];u=x-+p[de+60>>2];p[_e>>2]=m-+p[de+52>>2];p[re>>2]=M;p[oe>>2]=u;p[se>>2]=0.0;Sue(pe,_,o,s,a,i+(ae<<4)|0,le+388|0,+p[le+336>>2],de+388|0,+p[de+336>>2])}de=ae+1|0;if((de|0)<3){ae=de}else{ce=f;break}}}else{ce=e+28|0}f=r[l>>2]|0;l=r[ce>>2]|0;Nue(e,f+4|0,l+4|0,f+256|0,l+256|0);d=t;return}function Uue(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0.0,T=0,D=0.0,P=0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0,N=0,k=0,O=0,L=0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0,J=0,K=0,$=0.0,ee=0,te=0.0,ie=0,ne=0.0,_e=0,re=0,oe=0,se=0,ae=0.0,pe=0,le=0.0,de=0,ce=0.0,be=0.0,ue=0.0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0.0,Ae=0,Fe=0.0,Re=0.0,Ie=0.0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0.0,ke=0.0,Oe=0.0,Le=0.0,Ue=0.0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0.0,it=0.0,nt=0.0,_t=0.0,rt=0.0,ot=0.0,st=0.0,at=0.0,pt=0.0,lt=0.0,dt=0.0,ct=0.0,bt=0.0,ut=0.0,mt=0.0,ht=0,ft=0.0,gt=0.0,Ct=0.0,St=0.0,yt=0.0;o=d;d=d+464|0;s=o|0;a=o+16|0;l=o+24|0;c=o+40|0;b=o+48|0;u=o+112|0;m=o+176|0;h=o+192|0;f=o+208|0;g=o+272|0;C=o+336|0;S=o+400|0;if((n[e+519|0]&1)==0){d=o;return}y=e+24|0;v=r[y>>2]|0;x=e+340|0;M=+p[x>>2];T=e+344|0;D=+p[T>>2];P=e+348|0;w=+p[P>>2];A=+p[v+52>>2];F=A+(+p[v+4>>2]*M+ +p[v+8>>2]*D+ +p[v+12>>2]*w);R=+p[v+56>>2];I=R+(M*+p[v+20>>2]+D*+p[v+24>>2]+w*+p[v+28>>2]);B=+p[v+60>>2];V=B+(M*+p[v+36>>2]+D*+p[v+40>>2]+w*+p[v+44>>2]);E=e+28|0;N=r[E>>2]|0;k=e+404|0;w=+p[k>>2];O=e+408|0;D=+p[O>>2];L=e+412|0;M=+p[L>>2];U=+p[N+52>>2];G=U+(+p[N+4>>2]*w+ +p[N+8>>2]*D+ +p[N+12>>2]*M);W=+p[N+56>>2];z=W+(w*+p[N+20>>2]+D*+p[N+24>>2]+M*+p[N+28>>2]);H=+p[N+60>>2];X=H+(w*+p[N+36>>2]+D*+p[N+40>>2]+M*+p[N+44>>2]);e:do{if((n[e+516|0]&1)==0){M=F-A;D=I-R;w=V-B;Z=G-U;Q=z-W;q=X-H;N=t+504|0;Y=t+508|0;J=t+512|0;K=t+520|0;$=+p[t+320>>2]+ +p[K>>2];ee=t+524|0;te=+p[t+324>>2]+ +p[ee>>2];ie=t+528|0;ne=+p[t+328>>2]+ +p[ie>>2];_e=i+504|0;re=i+508|0;oe=i+512|0;se=i+520|0;ae=+p[i+320>>2]+ +p[se>>2];pe=i+524|0;le=+p[i+324>>2]+ +p[pe>>2];de=i+528|0;ce=+p[i+328>>2]+ +p[de>>2];be=+p[t+304>>2]+ +p[N>>2]+(w*te-D*ne)-(+p[i+304>>2]+ +p[_e>>2]+(q*le-Q*ce));ue=+p[t+308>>2]+ +p[Y>>2]+(M*ne-w*$)-(+p[i+308>>2]+ +p[re>>2]+(Z*ce-q*ae));ce=+p[t+312>>2]+ +p[J>>2]+(D*$-M*te)-(+p[i+312>>2]+ +p[oe>>2]+(Q*ae-Z*le));le=F-G;ae=I-z;te=V-X;me=e+32|0;he=t+336|0;fe=t+536|0;ge=t+540|0;Ce=t+544|0;Se=i+336|0;ye=i+536|0;ve=i+540|0;xe=i+544|0;Me=0;Te=v;while(1){$=1.0/+p[e+40+(Me*84|0)+80>>2];De=e+40+(Me*84|0)|0;ne=+p[De>>2];Pe=e+40+(Me*84|0)+4|0;we=+p[Pe>>2];Ae=e+40+(Me*84|0)+8|0;Fe=+p[Ae>>2];Re=$*((le*ne+ae*we+te*Fe)*-.30000001192092896/_)-$*(be*ne+ue*we+ce*Fe);p[me>>2]=+p[me>>2]+Re;Fe=+p[Ae>>2];we=+p[Pe>>2];ne=D*Fe-w*we;$=+p[De>>2];Ie=w*$-M*Fe;Be=M*we-D*$;Ve=Q*Fe-q*we;Ee=q*$-Z*Fe;Ne=Z*we-Q*$;ke=+p[Te+336>>2];if(+p[he>>2]!=0.0){Oe=Ie*+p[Te+292>>2]+ne*+p[Te+288>>2]+Be*+p[Te+296>>2];Le=Ie*+p[Te+276>>2]+ne*+p[Te+272>>2]+Be*+p[Te+280>>2];Ue=Ie*+p[Te+260>>2]+ne*+p[Te+256>>2]+Be*+p[Te+264>>2];p[N>>2]=Re*$*ke+ +p[N>>2];p[Y>>2]=Re*we*ke+ +p[Y>>2];p[J>>2]=Re*Fe*ke+ +p[J>>2];ke=Le*Re*+p[ge>>2];Le=Oe*Re*+p[Ce>>2];p[K>>2]=Ue*Re*+p[fe>>2]+ +p[K>>2];p[ee>>2]=ke+ +p[ee>>2];p[ie>>2]=Le+ +p[ie>>2]}Ge=r[E>>2]|0;Le=+p[Ge+336>>2];ke=-0.0-Re;if(+p[Se>>2]!=0.0){Re=Ee*+p[Ge+292>>2]+Ve*+p[Ge+288>>2]+Ne*+p[Ge+296>>2];Ue=Ee*+p[Ge+276>>2]+Ve*+p[Ge+272>>2]+Ne*+p[Ge+280>>2];Oe=Ee*+p[Ge+260>>2]+Ve*+p[Ge+256>>2]+Ne*+p[Ge+264>>2];Ne=Le*+p[Pe>>2]*ke;Ve=Le*+p[Ae>>2]*ke;p[_e>>2]=+p[_e>>2]+Le*+p[De>>2]*ke;p[re>>2]=Ne+ +p[re>>2];p[oe>>2]=Ve+ +p[oe>>2];Ve=Ue*+p[ve>>2]*ke;Ue=Re*+p[xe>>2]*ke;p[se>>2]=Oe*+p[ye>>2]*ke+ +p[se>>2];p[pe>>2]=Ve+ +p[pe>>2];p[de>>2]=Ue+ +p[de>>2]}De=Me+1|0;if((De|0)>=3){break e}Me=De;Te=r[y>>2]|0}}}while(0);do{if((n[e+544|0]&1)==0){X=+p[e+432>>2];v=t+320|0;if(X<=1.1920928955078125e-7){We=v;ze=t+520|0;He=t+324|0;je=t+524|0;Xe=t+328|0;Ze=t+528|0;Qe=i+320|0;qe=i+520|0;Ye=i+324|0;Je=i+524|0;Ke=i+328|0;$e=i+528|0;break}Te=t+520|0;V=+p[Te>>2];Me=t+324|0;de=t+524|0;z=+p[de>>2];pe=t+328|0;se=t+528|0;I=+p[se>>2];ye=i+320|0;xe=i+520|0;ve=i+324|0;oe=i+524|0;re=i+328|0;_e=i+528|0;G=+p[ye>>2]+ +p[xe>>2]-(+p[v>>2]+V);F=+p[ve>>2]+ +p[oe>>2]-(+p[Me>>2]+z);H=+p[re>>2]+ +p[_e>>2]-(+p[pe>>2]+I);W=G*G+F*F+H*H;if(W<=1.1920928955078125e-7){We=v;ze=Te;He=Me;je=de;Xe=pe;Ze=se;Qe=ye;qe=xe;Ye=ve;Je=oe;Ke=re;$e=_e;break}U=1.0/+j(+W);W=G*U;B=F*U;R=H*U;Se=r[y>>2]|0;U=+p[Se+256>>2];A=+p[Se+272>>2];Q=+p[Se+288>>2];Z=+p[Se+260>>2];q=+p[Se+276>>2];D=+p[Se+292>>2];M=+p[Se+264>>2];w=+p[Se+280>>2];ce=+p[Se+296>>2];Se=r[E>>2]|0;ue=X*(1.0/(W*(W*U+B*A+R*Q)+B*(W*Z+B*q+R*D)+R*(W*M+B*w+R*ce)+(W*(W*+p[Se+256>>2]+B*+p[Se+272>>2]+R*+p[Se+288>>2])+B*(W*+p[Se+260>>2]+B*+p[Se+276>>2]+R*+p[Se+292>>2])+R*(W*+p[Se+264>>2]+B*+p[Se+280>>2]+R*+p[Se+296>>2]))));R=G*ue;G=F*ue;F=H*ue;ue=+j(+(F*F+(R*R+G*G)));H=1.0/ue;B=H*R;R=H*G;G=H*F;if(+p[t+336>>2]!=0.0){F=ue*0.0;ie=t+504|0;p[ie>>2]=F+ +p[ie>>2];ie=t+508|0;p[ie>>2]=F+ +p[ie>>2];ie=t+512|0;p[ie>>2]=F+ +p[ie>>2];F=(R*q+B*A+G*w)*ue*+p[t+540>>2];w=(R*D+B*Q+G*ce)*ue*+p[t+544>>2];p[Te>>2]=(R*Z+B*U+G*M)*ue*+p[t+536>>2]+V;p[de>>2]=F+z;p[se>>2]=w+I;et=r[E>>2]|0}else{et=Se}I=-0.0-ue;if(+p[i+336>>2]==0.0){We=v;ze=Te;He=Me;je=de;Xe=pe;Ze=se;Qe=ye;qe=xe;Ye=ve;Je=oe;Ke=re;$e=_e;break}w=R*+p[et+292>>2]+B*+p[et+288>>2]+G*+p[et+296>>2];z=R*+p[et+276>>2]+B*+p[et+272>>2]+G*+p[et+280>>2];F=R*+p[et+260>>2]+B*+p[et+256>>2]+G*+p[et+264>>2];G=ue*-0.0;Se=i+504|0;p[Se>>2]=G+ +p[Se>>2];Se=i+508|0;p[Se>>2]=G+ +p[Se>>2];Se=i+512|0;p[Se>>2]=G+ +p[Se>>2];G=z*+p[i+540>>2]*I;z=w*+p[i+544>>2]*I;p[xe>>2]=F*+p[i+536>>2]*I+ +p[xe>>2];p[oe>>2]=G+ +p[oe>>2];p[_e>>2]=z+ +p[_e>>2];We=v;ze=Te;He=Me;je=de;Xe=pe;Ze=se;Qe=ye;qe=xe;Ye=ve;Je=oe;Ke=re;$e=_e}else{_e=r[y>>2]|0;re=b;oe=_e+4|0;r[re>>2]=r[oe>>2];r[re+4>>2]=r[oe+4>>2];r[re+8>>2]=r[oe+8>>2];r[re+12>>2]=r[oe+12>>2];oe=b+16|0;re=_e+20|0;r[oe>>2]=r[re>>2];r[oe+4>>2]=r[re+4>>2];r[oe+8>>2]=r[re+8>>2];r[oe+12>>2]=r[re+12>>2];re=b+32|0;oe=_e+36|0;r[re>>2]=r[oe>>2];r[re+4>>2]=r[oe+4>>2];r[re+8>>2]=r[oe+8>>2];r[re+12>>2]=r[oe+12>>2];oe=b+48|0;re=_e+52|0;r[oe>>2]=r[re>>2];r[oe+4>>2]=r[re+4>>2];r[oe+8>>2]=r[re+8>>2];r[oe+12>>2]=r[re+12>>2];re=r[E>>2]|0;oe=u;_e=re+4|0;r[oe>>2]=r[_e>>2];r[oe+4>>2]=r[_e+4>>2];r[oe+8>>2]=r[_e+8>>2];r[oe+12>>2]=r[_e+12>>2];_e=u+16|0;oe=re+20|0;r[_e>>2]=r[oe>>2];r[_e+4>>2]=r[oe+4>>2];r[_e+8>>2]=r[oe+8>>2];r[_e+12>>2]=r[oe+12>>2];oe=u+32|0;_e=re+36|0;r[oe>>2]=r[_e>>2];r[oe+4>>2]=r[_e+4>>2];r[oe+8>>2]=r[_e+8>>2];r[oe+12>>2]=r[_e+12>>2];_e=u+48|0;oe=re+52|0;r[_e>>2]=r[oe>>2];r[_e+4>>2]=r[oe+4>>2];r[_e+8>>2]=r[oe+8>>2];r[_e+12>>2]=r[oe+12>>2];oe=t+320|0;_e=t+520|0;re=t+324|0;ve=t+524|0;z=+p[re>>2]+ +p[ve>>2];xe=t+328|0;ye=t+528|0;G=+p[xe>>2]+ +p[ye>>2];se=m|0;p[se>>2]=+p[oe>>2]+ +p[_e>>2];pe=m+4|0;p[pe>>2]=z;de=m+8|0;p[de>>2]=G;p[m+12>>2]=0.0;Me=i+320|0;Te=i+520|0;v=i+324|0;Se=i+524|0;G=+p[v>>2]+ +p[Se>>2];ie=i+328|0;ee=i+528|0;z=+p[ie>>2]+ +p[ee>>2];K=h|0;p[K>>2]=+p[Me>>2]+ +p[Te>>2];fe=h+4|0;p[fe>>2]=G;Ce=h+8|0;p[Ce>>2]=z;p[h+12>>2]=0.0;ge=f|0;p[ge>>2]=1.0;J=f+4|0;Y=f+20|0;vBe(J|0,0,16);p[Y>>2]=1.0;N=f+24|0;he=f+40|0;vBe(N|0,0,16);p[he>>2]=1.0;vBe(f+44|0,0,20);jue(b,0.0,0.0,0.0,m,_,f);me=g|0;p[me>>2]=1.0;De=g+4|0;Ae=g+20|0;vBe(De|0,0,16);p[Ae>>2]=1.0;Pe=g+24|0;Ge=g+40|0;vBe(Pe|0,0,16);p[Ge>>2]=1.0;vBe(g+44|0,0,20);jue(u,0.0,0.0,0.0,h,_,g);z=+p[e+548>>2];G=+p[e+552>>2];I=+p[e+556>>2];F=+p[e+560>>2];w=2.0/(z*z+G*G+I*I+F*F);ue=z*w;B=G*w;R=I*w;w=F*ue;V=F*B;M=F*R;F=z*ue;ue=z*B;U=z*R;z=G*B;B=G*R;G=I*R;R=1.0-(z+G);I=ue-M;Z=U+V;ce=ue+M;M=1.0-(F+G);G=B-w;ue=U-V;V=B+w;w=1.0-(F+z);z=+p[e+356>>2];F=+p[e+360>>2];B=+p[e+364>>2];U=ue*B+(F*ce+z*R);Q=B*V+(z*I+F*M);D=z*Z+F*G+B*w;A=+p[e+372>>2];q=+p[e+376>>2];H=+p[e+380>>2];W=R*A+ce*q+ue*H;X=I*A+M*q+V*H;be=Z*A+G*q+w*H;te=+p[e+388>>2];ae=+p[e+392>>2];le=+p[e+396>>2];Ue=R*te+ce*ae+ue*le;ue=I*te+M*ae+V*le;V=Z*te+G*ae+w*le;w=+p[e+292>>2];G=+p[e+308>>2];Z=+p[e+324>>2];M=+p[e+296>>2];I=+p[e+312>>2];ce=+p[e+328>>2];R=+p[e+300>>2];Ve=+p[e+316>>2];ke=+p[e+332>>2];Oe=-0.0-+p[x>>2];Re=-0.0-+p[T>>2];Ne=-0.0-+p[P>>2];Le=w*Oe+G*Re+Z*Ne;Ee=M*Oe+I*Re+ce*Ne;Fe=R*Oe+Ve*Re+ke*Ne;Ne=U*w+Q*M+D*R;Re=U*G+Q*I+D*Ve;Oe=U*Z+Q*ce+D*ke;we=W*w+X*M+be*R;$=W*G+X*I+be*Ve;Be=W*Z+X*ce+be*ke;ne=Ue*w+ue*M+V*R;R=Ue*G+ue*I+V*Ve;Ve=Ue*Z+ue*ce+V*ke;ke=z*0.0+F*0.0+B*0.0+ +p[k>>2]+(D*Fe+(U*Le+Q*Ee));Q=A*0.0+q*0.0+H*0.0+ +p[O>>2]+(be*Fe+(W*Le+X*Ee));X=te*0.0+ae*0.0+le*0.0+ +p[L>>2]+(V*Fe+(Ue*Le+ue*Ee));Ee=+p[me>>2];ue=+p[De>>2];Le=+p[g+8>>2];Ue=+p[g+16>>2];Fe=+p[Ae>>2];V=+p[Pe>>2];le=+p[g+32>>2];ae=+p[g+36>>2];te=+p[Ge>>2];W=+p[g+48>>2]+(Le*X+(Ee*ke+ue*Q));be=V*X+(Ue*ke+Fe*Q)+ +p[g+52>>2];H=ke*le+Q*ae+X*te+ +p[g+56>>2];p[C>>2]=Ne*Ee+we*ue+ne*Le;p[C+4>>2]=Re*Ee+$*ue+R*Le;p[C+8>>2]=Oe*Ee+Be*ue+Ve*Le;p[C+12>>2]=0.0;p[C+16>>2]=Ne*Ue+we*Fe+ne*V;p[C+20>>2]=Re*Ue+$*Fe+R*V;p[C+24>>2]=Oe*Ue+Be*Fe+Ve*V;p[C+28>>2]=0.0;p[C+32>>2]=Ne*le+we*ae+ne*te;p[C+36>>2]=Re*le+$*ae+R*te;p[C+40>>2]=Oe*le+Be*ae+Ve*te;p[C+44>>2]=0.0;p[C+48>>2]=W;p[C+52>>2]=be;p[C+56>>2]=H;p[C+60>>2]=0.0;H=-0.0-ke;ke=-0.0-Q;Q=-0.0-X;X=ne*Q+(Ne*H+we*ke);be=R*Q+(Re*H+$*ke);W=Ve*Q+(Oe*H+Be*ke);ke=+p[ge>>2];H=+p[J>>2];Q=+p[f+8>>2];te=+p[f+16>>2];ae=+p[Y>>2];le=+p[N>>2];V=+p[f+32>>2];Fe=+p[f+36>>2];Ue=+p[he>>2];Le=X*ke+be*H+W*Q+ +p[f+48>>2];ue=X*te+be*ae+W*le+ +p[f+52>>2];Ee=X*V+be*Fe+W*Ue+ +p[f+56>>2];p[S>>2]=Ne*ke+Re*H+Oe*Q;p[S+4>>2]=we*ke+$*H+Be*Q;p[S+8>>2]=ne*ke+R*H+Ve*Q;p[S+12>>2]=0.0;p[S+16>>2]=Ne*te+Re*ae+Oe*le;p[S+20>>2]=we*te+$*ae+Be*le;p[S+24>>2]=ne*te+R*ae+Ve*le;p[S+28>>2]=0.0;p[S+32>>2]=Ne*V+Re*Fe+Oe*Ue;p[S+36>>2]=we*V+$*Fe+Be*Ue;p[S+40>>2]=ne*V+R*Fe+Ve*Ue;p[S+44>>2]=0.0;p[S+48>>2]=Le;p[S+52>>2]=ue;p[S+56>>2]=Ee;p[S+60>>2]=0.0;Ee=1.0/_;tme(b,C,s,a);ue=+p[a>>2];Le=Ee*+p[s>>2]*ue;Ue=Ee*ue*+p[s+4>>2];Ve=Ee*ue*+p[s+8>>2];tme(u,S,l,c);ue=+p[c>>2];Fe=Le-+p[se>>2];Le=Ue-+p[pe>>2];Ue=Ve-+p[de>>2];Ve=Ee*+p[l>>2]*ue-+p[K>>2];R=Ee*ue*+p[l+4>>2]-+p[fe>>2];V=Ee*ue*+p[l+8>>2]-+p[Ce>>2];ue=Fe*Fe+Le*Le+Ue*Ue;if(ue>1.1920928955078125e-7){Ee=1.0/+j(+ue);ue=Fe*Ee;ne=Le*Ee;Be=Ue*Ee;Ce=r[y>>2]|0;tt=ue*(ue*+p[Ce+256>>2]+ne*+p[Ce+272>>2]+Be*+p[Ce+288>>2])+ne*(ue*+p[Ce+260>>2]+ne*+p[Ce+276>>2]+Be*+p[Ce+292>>2])+Be*(ue*+p[Ce+264>>2]+ne*+p[Ce+280>>2]+Be*+p[Ce+296>>2]);it=ue;nt=ne;_t=Be}else{tt=0.0;it=0.0;nt=0.0;_t=0.0}Be=Ve*Ve+R*R+V*V;if(Be>1.1920928955078125e-7){ne=1.0/+j(+Be);Be=Ve*ne;ue=R*ne;Ee=V*ne;Ce=r[E>>2]|0;rt=Be*(Be*+p[Ce+256>>2]+ue*+p[Ce+272>>2]+Ee*+p[Ce+288>>2])+ue*(Be*+p[Ce+260>>2]+ue*+p[Ce+276>>2]+Ee*+p[Ce+292>>2])+Ee*(Be*+p[Ce+264>>2]+ue*+p[Ce+280>>2]+Ee*+p[Ce+296>>2]);ot=Be;st=ue;at=Ee}else{rt=0.0;ot=0.0;st=0.0;at=0.0}Ee=it*tt+ot*rt;ue=nt*tt+st*rt;Be=_t*tt+at*rt;ne=Be*Be+(Ee*Ee+ue*ue);if(ne<=1.1920928955078125e-7){We=oe;ze=_e;He=re;je=ve;Xe=xe;Ze=ye;Qe=Me;qe=Te;Ye=v;Je=Se;Ke=ie;$e=ee;break}$=1.0/+j(+ne);ne=Ee*$;Ee=ue*$;ue=Be*$;Ce=r[y>>2]|0;fe=Ce+256|0;K=Ce+272|0;de=Ce+288|0;pe=Ce+260|0;se=Ce+276|0;he=Ce+292|0;N=Ce+264|0;Y=Ce+280|0;J=Ce+296|0;$=ne*(ne*+p[fe>>2]+Ee*+p[K>>2]+ue*+p[de>>2])+Ee*(ne*+p[pe>>2]+Ee*+p[se>>2]+ue*+p[he>>2])+ue*(ne*+p[N>>2]+Ee*+p[Y>>2]+ue*+p[J>>2]);Ce=r[E>>2]|0;Be=ne*(ne*+p[Ce+256>>2]+Ee*+p[Ce+272>>2]+ue*+p[Ce+288>>2])+Ee*(ne*+p[Ce+260>>2]+Ee*+p[Ce+276>>2]+ue*+p[Ce+292>>2])+ue*(ne*+p[Ce+264>>2]+Ee*+p[Ce+280>>2]+ue*+p[Ce+296>>2]);ue=$+Be;Ee=1.0/(ue*ue);ue=Ee*(Fe*$-Ve*Be);Ve=Ee*(Le*$-R*Be);R=Ee*(Ue*$-V*Be);Be=+p[e+564>>2];if(Be<0.0){pt=ue;lt=Ve;dt=R}else{if((n[e+545|0]&1)==0){ct=Be}else{ct=Be/$}ge=e+568|0;$=+p[ge>>2];Be=ue+$;Ge=e+572|0;V=+p[Ge>>2];Ue=Ve+V;Pe=e+576|0;Ee=+p[Pe>>2];Le=R+Ee;Fe=+j(+(Be*Be+Ue*Ue+Le*Le));if(Fe>ct){ne=1.0/Fe;bt=ct*Be*ne-$;ut=ct*Ue*ne-V;mt=ct*Le*ne-Ee}else{bt=ue;ut=Ve;mt=R}p[ge>>2]=bt+$;p[Ge>>2]=ut+V;p[Pe>>2]=mt+Ee;pt=bt;lt=ut;dt=mt}Ee=+j(+(dt*dt+(lt*lt+pt*pt)));V=1.0/Ee;$=pt*V;R=lt*V;Ve=dt*V;if(+p[t+336>>2]!=0.0){V=R*+p[he>>2]+$*+p[de>>2]+Ve*+p[J>>2];ue=R*+p[se>>2]+$*+p[K>>2]+Ve*+p[Y>>2];ne=R*+p[pe>>2]+$*+p[fe>>2]+Ve*+p[N>>2];Le=Ee*0.0;N=t+504|0;p[N>>2]=Le+ +p[N>>2];N=t+508|0;p[N>>2]=Le+ +p[N>>2];N=t+512|0;p[N>>2]=Le+ +p[N>>2];Le=ue*Ee*+p[t+540>>2];ue=V*Ee*+p[t+544>>2];p[_e>>2]=ne*Ee*+p[t+536>>2]+ +p[_e>>2];p[ve>>2]=Le+ +p[ve>>2];p[ye>>2]=ue+ +p[ye>>2];ht=r[E>>2]|0}else{ht=Ce}ue=-0.0-Ee;if(+p[i+336>>2]==0.0){We=oe;ze=_e;He=re;je=ve;Xe=xe;Ze=ye;Qe=Me;qe=Te;Ye=v;Je=Se;Ke=ie;$e=ee;break}Le=R*+p[ht+292>>2]+$*+p[ht+288>>2]+Ve*+p[ht+296>>2];ne=R*+p[ht+276>>2]+$*+p[ht+272>>2]+Ve*+p[ht+280>>2];V=R*+p[ht+260>>2]+$*+p[ht+256>>2]+Ve*+p[ht+264>>2];Ve=Ee*-0.0;Ce=i+504|0;p[Ce>>2]=Ve+ +p[Ce>>2];Ce=i+508|0;p[Ce>>2]=Ve+ +p[Ce>>2];Ce=i+512|0;p[Ce>>2]=Ve+ +p[Ce>>2];Ve=ne*+p[i+540>>2]*ue;ne=Le*+p[i+544>>2]*ue;p[Te>>2]=V*+p[i+536>>2]*ue+ +p[Te>>2];p[Se>>2]=Ve+ +p[Se>>2];p[ee>>2]=ne+ +p[ee>>2];We=oe;ze=_e;He=re;je=ve;Xe=xe;Ze=ye;Qe=Me;qe=Te;Ye=v;Je=Se;Ke=ie;$e=ee}}while(0);dt=+p[We>>2]+ +p[ze>>2];lt=+p[He>>2]+ +p[je>>2];pt=+p[Xe>>2]+ +p[Ze>>2];mt=+p[Qe>>2]+ +p[qe>>2];ut=+p[Ye>>2]+ +p[Je>>2];bt=+p[Ke>>2]+ +p[$e>>2];do{if((n[e+518|0]&1)!=0){ct=+p[e+520>>2];rt=ct*+p[e+496>>2]*+p[e+424>>2]/_;at=+p[e+452>>2];tt=+p[e+456>>2];_t=+p[e+460>>2];st=(mt-dt)*at+(ut-lt)*tt+(bt-pt)*_t;if(st>0.0){ft=rt+ct*st*+p[e+428>>2]}else{ft=rt}Ke=e+508|0;rt=+p[Ke>>2];st=rt+ft*+p[e+484>>2];ct=st>0.0?st:0.0;p[Ke>>2]=ct;st=ct-rt;rt=at*st;at=tt*st;tt=_t*st;st=+p[e+528>>2];_t=+p[e+532>>2];ct=+p[e+536>>2];nt=st*rt+at*_t+tt*ct;ot=rt-st*nt;st=at-_t*nt;_t=tt-ct*nt;nt=+j(+(_t*_t+(ot*ot+st*st)));ct=1.0/nt;tt=ct*ot;ot=ct*st;st=ct*_t;Ke=r[y>>2]|0;if(+p[t+336>>2]!=0.0){_t=ot*+p[Ke+292>>2]+tt*+p[Ke+288>>2]+st*+p[Ke+296>>2];ct=ot*+p[Ke+276>>2]+tt*+p[Ke+272>>2]+st*+p[Ke+280>>2];at=ot*+p[Ke+260>>2]+tt*+p[Ke+256>>2]+st*+p[Ke+264>>2];rt=nt*0.0;Ke=t+504|0;p[Ke>>2]=rt+ +p[Ke>>2];Ke=t+508|0;p[Ke>>2]=rt+ +p[Ke>>2];Ke=t+512|0;p[Ke>>2]=rt+ +p[Ke>>2];rt=ct*nt*+p[t+540>>2];ct=_t*nt*+p[t+544>>2];p[ze>>2]=at*nt*+p[t+536>>2]+ +p[ze>>2];p[je>>2]=rt+ +p[je>>2];p[Ze>>2]=ct+ +p[Ze>>2]}Ke=r[E>>2]|0;ct=-0.0-nt;if(+p[i+336>>2]==0.0){break}rt=ot*+p[Ke+292>>2]+tt*+p[Ke+288>>2]+st*+p[Ke+296>>2];at=ot*+p[Ke+276>>2]+tt*+p[Ke+272>>2]+st*+p[Ke+280>>2];_t=ot*+p[Ke+260>>2]+tt*+p[Ke+256>>2]+st*+p[Ke+264>>2];st=nt*-0.0;Ke=i+504|0;p[Ke>>2]=st+ +p[Ke>>2];Ke=i+508|0;p[Ke>>2]=st+ +p[Ke>>2];Ke=i+512|0;p[Ke>>2]=st+ +p[Ke>>2];st=at*+p[i+540>>2]*ct;at=rt*+p[i+544>>2]*ct;p[qe>>2]=_t*+p[i+536>>2]*ct+ +p[qe>>2];p[Je>>2]=st+ +p[Je>>2];p[$e>>2]=at+ +p[$e>>2]}}while(0);if((n[e+517|0]&1)==0){d=o;return}ft=+p[e+524>>2];at=ft*+p[e+500>>2]*+p[e+424>>2]/_;Ke=e+468|0;_=+p[Ke>>2];Ye=e+472|0;st=+p[Ye>>2];Qe=e+476|0;ct=+p[Qe>>2];_t=(mt-dt)*_+(ut-lt)*st+(bt-pt)*ct;if(_t>0.0){gt=at+ft*_t*+p[e+428>>2]}else{gt=at}Xe=e+512|0;at=+p[Xe>>2];_t=at+gt*+p[e+488>>2];gt=_t>0.0?_t:0.0;p[Xe>>2]=gt;_t=gt-at;Xe=r[y>>2]|0;if(+p[t+336>>2]!=0.0){at=st*+p[Xe+292>>2]+_*+p[Xe+288>>2]+ct*+p[Xe+296>>2];gt=st*+p[Xe+276>>2]+_*+p[Xe+272>>2]+ct*+p[Xe+280>>2];ft=st*+p[Xe+260>>2]+_*+p[Xe+256>>2]+ct*+p[Xe+264>>2];pt=_t*0.0;Xe=t+504|0;p[Xe>>2]=pt+ +p[Xe>>2];Xe=t+508|0;p[Xe>>2]=pt+ +p[Xe>>2];Xe=t+512|0;p[Xe>>2]=pt+ +p[Xe>>2];pt=gt*_t*+p[t+540>>2];gt=at*_t*+p[t+544>>2];p[ze>>2]=ft*_t*+p[t+536>>2]+ +p[ze>>2];p[je>>2]=pt+ +p[je>>2];p[Ze>>2]=gt+ +p[Ze>>2];Ct=+p[Ke>>2];St=+p[Ye>>2];yt=+p[Qe>>2]}else{Ct=_;St=st;yt=ct}Qe=r[E>>2]|0;ct=-0.0-_t;if(+p[i+336>>2]==0.0){d=o;return}st=St*+p[Qe+292>>2]+Ct*+p[Qe+288>>2]+yt*+p[Qe+296>>2];_=St*+p[Qe+276>>2]+Ct*+p[Qe+272>>2]+yt*+p[Qe+280>>2];gt=St*+p[Qe+260>>2]+Ct*+p[Qe+256>>2]+yt*+p[Qe+264>>2];yt=_t*-0.0;Qe=i+504|0;p[Qe>>2]=yt+ +p[Qe>>2];Qe=i+508|0;p[Qe>>2]=yt+ +p[Qe>>2];Qe=i+512|0;p[Qe>>2]=yt+ +p[Qe>>2];yt=_*+p[i+540>>2]*ct;_=st*+p[i+544>>2]*ct;p[qe>>2]=gt*+p[i+536>>2]*ct+ +p[qe>>2];p[Je>>2]=yt+ +p[Je>>2];p[$e>>2]=_+ +p[$e>>2];d=o;return}function Gue(e){e=e|0;return}function Wue(e){e=e|0;return 204}function zue(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;var _=0;if((t|0)==1|(t|0)==2){if(n>>>0<3){p[e+592>>2]=i;_=e+584|0;r[_>>2]=r[_>>2]|2;return}else{p[e+424>>2]=i;return}}else if((t|0)==3|(t|0)==4){if(n>>>0<3){p[e+588>>2]=i;n=e+584|0;r[n>>2]=r[n>>2]|1;return}else{p[e+596>>2]=i;n=e+584|0;r[n>>2]=r[n>>2]|4;return}}else{return}}function Hue(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;do{if((t|0)==1|(t|0)==2){if(i>>>0<3){n=+p[e+592>>2];break}if((i-3|0)>>>0>=3){n=0.0;break}n=+p[e+424>>2]}else if((t|0)==3|(t|0)==4){if(i>>>0<3){n=+p[e+588>>2];break}if((i-3|0)>>>0>=3){n=0.0;break}n=+p[e+596>>2]}else{n=0.0}}while(0);return+n}function jue(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=_|0;r=+r;o=o|0;var s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0;s=d;d=d+16|0;a=s|0;l=i*r+ +p[e+52>>2];i=n*r+ +p[e+56>>2];p[o+48>>2]=t*r+ +p[e+48>>2];p[o+52>>2]=l;p[o+56>>2]=i;p[o+60>>2]=0.0;i=+p[_>>2];l=+p[_+4>>2];t=+p[_+8>>2];n=+j(+(i*i+l*l+t*t));if(n*r>.7853981852531433){c=.7853981852531433/r}else{c=n}if(c<.0010000000474974513){b=r*.5-c*r*r*r*.02083333395421505*c}else{b=+Q(+(c*.5*r))/c}n=b*i;i=b*l;l=b*t;t=+Z(+(c*r*.5));mn(e|0,a);r=+p[a>>2];c=+p[a+12>>2];b=+p[a+8>>2];u=+p[a+4>>2];m=t*r+n*c+i*b-l*u;h=l*r+(i*c+t*u)-n*b;f=l*c+t*b+n*u-i*r;g=t*c-n*r-i*u-l*b;b=1.0/+j(+(g*g+(f*f+(m*m+h*h))));l=m*b;m=b*h;h=b*f;f=b*g;g=2.0/(f*f+(h*h+(l*l+m*m)));b=l*g;u=g*m;i=g*h;g=f*b;r=f*u;n=f*i;f=l*b;b=l*u;c=l*i;l=m*u;u=m*i;m=h*i;p[o>>2]=1.0-(m+l);p[o+4>>2]=b-n;p[o+8>>2]=c+r;p[o+12>>2]=0.0;p[o+16>>2]=n+b;p[o+20>>2]=1.0-(f+m);p[o+24>>2]=u-g;p[o+28>>2]=0.0;p[o+32>>2]=c-r;p[o+36>>2]=g+u;p[o+40>>2]=1.0-(f+l);p[o+44>>2]=0.0;d=s;return}function Xue(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;var _=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0;_=+Z(+i);r=+Q(+i);i=+p[t+436>>2];if(+H(+_)>1.1920928955078125e-7){o=r*r;s=_*_;a=o/s;l=+p[t+440>>2];d=+j(+((a+1.0)/(1.0/(l*l)+a/(i*i))));c=s;b=o}else{d=i;c=_*_;b=r*r}i=+j(+(c+0.0+b));b=d*.5;d=+Q(+b)/i;i=d*0.0;c=_*d;_=d*(-0.0-r);r=+Z(+b);b=c*0.0;d=_*0.0;o=r*n+b-d;s=r*0.0;a=i*0.0;l=_*n+s-a;u=s+a-c*n;a=-0.0-i;i=n*a-b-d;d=-0.0-c;c=-0.0-_;p[e>>2]=l*c+(r*o+i*a)-u*d;p[e+4>>2]=u*a+(r*l+i*d)-o*c;p[e+8>>2]=o*d+(r*u+i*c)-l*a;p[e+12>>2]=0.0;return}function Zue(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,X=0.0,q=0.0,J=0.0;i=e+548|0;n=i;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+560|0;o=+p[_>>2];n=e+552|0;s=+p[n>>2];a=s*0.0;t=e+556|0;l=+p[t>>2];d=l*0.0;c=o+a-d;b=o*0.0;u=+p[i>>2];m=u*0.0;h=l+b-m;f=b+m-s;m=-0.0-u;b=m-a-d;d=-0.0-s;a=-0.0-l;C=h*a+(o*c+b*m)-f*d;S=f*m+(o*h+b*d)-c*a;y=c*d+(o*f+b*a)-h*m;m=S*0.0;h=y*0.0;a=h+(m+C);do{if(a<-.9999998807907104){if(+H(0.0)>.7071067690849304){v=0.0;x=g;M=g;T=0.0;break}v=-0.0;x=1.0;M=0.0;T=0.0}else{b=C*0.0;f=+j(+((a+1.0)*2.0));d=1.0/f;v=(h-m)*d;x=(b-y)*d;M=(S-b)*d;T=f*.5}}while(0);S=1.0/+j(+(T*T+(M*M+(x*x+v*v))));y=v*S;v=x*S;x=M*S;M=T*S;S=-0.0-y;T=-0.0-v;m=-0.0-x;h=M*u+o*S+l*T-s*m;a=u*m+(o*T+M*s)-l*S;C=o*m+M*l+s*S-u*T;f=M*o-u*S-s*T-l*m;m=1.0/+j(+(f*f+(C*C+(h*h+a*a))));l=h*m;h=m*a;a=m*C;C=m*f;f=+p[e+436>>2];do{if(f<.05000000074505806){D=y;P=v;w=x;A=M}else{m=+p[e+440>>2];if(m<.05000000074505806){D=y;P=v;w=x;A=M;break}T=M<-1.0?-1.0:M;s=+Y(+(T>1.0?1.0:T))*2.0;do{if(s>1.1920928955078125e-7){T=1.0/+j(+(x*x+(y*y+v*v)));S=y*T;u=v*T;o=x*T;if(+H(+u)<=1.1920928955078125e-7){F=S;R=u;I=o;B=f;break}T=o*o/(u*u);F=S;R=u;I=o;B=+j(+((T+1.0)/(1.0/(m*m)+T/(f*f))))}else{F=0.0;R=0.0;I=0.0;B=0.0}}while(0);if(+H(+s)<=1.1920928955078125e-7){D=y;P=v;w=x;A=M;break}do{if(s>B){V=B}else{m=-0.0-B;if(s>=m){V=s;break}V=m}}while(0);s=+j(+(I*I+(R*R+F*F)));m=V*.5;T=+Q(+m)/s;D=F*T;P=R*T;w=I*T;A=+Z(+m)}}while(0);I=+p[e+444>>2];do{if(I<.05000000074505806){E=l;N=h;k=a;O=C}else{R=C<-1.0?-1.0:C;F=+Y(+(R>1.0?1.0:R))*2.0;if(F>3.1415927410125732){R=C>1.0?-1.0:-0.0-C;L=-0.0-l;U=-0.0-h;G=-0.0-a;W=+Y(+(R>1.0?1.0:R))*2.0}else{L=l;U=h;G=a;W=F}if(W>1.1920928955078125e-7){F=1.0/+j(+(G*G+(U*U+L*L)));z=L*F;X=U*F;q=G*F}else{z=L;X=U;q=G}if(+H(+W)<=1.1920928955078125e-7){E=l;N=h;k=a;O=C;break}do{if(W>I){J=I}else{F=-0.0-I;if(W>=F){J=W;break}J=F}}while(0);F=+j(+(q*q+(X*X+z*z)));R=J*.5;V=+Q(+R)/F;E=z*V;N=X*V;k=q*V;O=+Z(+R)}}while(0);p[e+548>>2]=P*k+(D*O+A*E)-w*N;p[n>>2]=w*E+(P*O+A*N)-D*k;p[t>>2]=w*O+A*k+D*N-P*E;p[_>>2]=A*O-D*E-P*N-w*k;return}function Que(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=e+292|0;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+308|0;n=t+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+324|0;_=t+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+340|0;n=t+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+356|0;_=i;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+372|0;n=i+16|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=e+388|0;_=i+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+404|0;n=i+48|0;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];jnt[r[(r[e>>2]|0)+8>>2]&2047](e);return}function que(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Yue(e){e=e|0;return 3}function Jue(e,t){e=e|0;t=t|0;return}function Kue(e,t){e=e|0;t=t|0;r[e+80>>2]=t;return}function $ue(e){e=e|0;return r[e+80>>2]|0}function eme(e,t,i){e=e|0;t=t|0;i=i|0;wge(e|0,t,i)|0;p[t+44>>2]=+p[e+292>>2];p[t+48>>2]=+p[e+296>>2];p[t+52>>2]=+p[e+300>>2];p[t+56>>2]=+p[e+304>>2];p[t+60>>2]=+p[e+308>>2];p[t+64>>2]=+p[e+312>>2];p[t+68>>2]=+p[e+316>>2];p[t+72>>2]=+p[e+320>>2];p[t+76>>2]=+p[e+324>>2];p[t+80>>2]=+p[e+328>>2];p[t+84>>2]=+p[e+332>>2];p[t+88>>2]=+p[e+336>>2];p[t+92>>2]=+p[e+340>>2];p[t+96>>2]=+p[e+344>>2];p[t+100>>2]=+p[e+348>>2];p[t+104>>2]=+p[e+352>>2];p[t+108>>2]=+p[e+356>>2];p[t+112>>2]=+p[e+360>>2];p[t+116>>2]=+p[e+364>>2];p[t+120>>2]=+p[e+368>>2];p[t+124>>2]=+p[e+372>>2];p[t+128>>2]=+p[e+376>>2];p[t+132>>2]=+p[e+380>>2];p[t+136>>2]=+p[e+384>>2];p[t+140>>2]=+p[e+388>>2];p[t+144>>2]=+p[e+392>>2];p[t+148>>2]=+p[e+396>>2];p[t+152>>2]=+p[e+400>>2];p[t+156>>2]=+p[e+404>>2];p[t+160>>2]=+p[e+408>>2];p[t+164>>2]=+p[e+412>>2];p[t+168>>2]=+p[e+416>>2];p[t+172>>2]=+p[e+436>>2];p[t+176>>2]=+p[e+440>>2];p[t+180>>2]=+p[e+444>>2];p[t+184>>2]=+p[e+420>>2];p[t+188>>2]=+p[e+424>>2];p[t+192>>2]=+p[e+428>>2];p[t+196>>2]=+p[e+432>>2];return 18136}function tme(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0;_=d;d=d+64|0;r=_|0;o=_+48|0;s=+p[e+20>>2];a=+p[e+40>>2];l=+p[e+24>>2];c=+p[e+36>>2];b=s*a-l*c;u=+p[e+32>>2];m=+p[e+16>>2];h=l*u-a*m;f=c*m-s*u;g=+p[e>>2];C=+p[e+4>>2];S=+p[e+8>>2];y=1.0/(b*g+C*h+f*S);v=b*y;b=y*(c*S-a*C);x=y*(l*C-s*S);M=h*y;h=y*(a*g-u*S);a=y*(m*S-l*g);l=f*y;f=y*(u*C-c*g);c=y*(s*g-m*C);C=+p[t>>2];m=+p[t+4>>2];g=+p[t+8>>2];s=+p[t+16>>2];y=+p[t+20>>2];u=+p[t+24>>2];S=+p[t+32>>2];T=+p[t+36>>2];D=+p[t+40>>2];p[r>>2]=v*C+M*m+l*g;p[r+4>>2]=C*b+m*h+f*g;p[r+8>>2]=C*x+m*a+c*g;p[r+12>>2]=0.0;p[r+16>>2]=v*s+M*y+l*u;p[r+20>>2]=b*s+h*y+f*u;p[r+24>>2]=x*s+a*y+c*u;p[r+28>>2]=0.0;p[r+32>>2]=v*S+M*T+l*D;p[r+36>>2]=b*S+h*T+f*D;p[r+40>>2]=x*S+a*T+c*D;p[r+44>>2]=0.0;mn(r,o);r=o|0;D=+p[r>>2];t=o+4|0;c=+p[t>>2];e=o+8|0;T=+p[e>>2];P=o+12|0;a=+p[P>>2];S=1.0/+j(+(D*D+c*c+T*T+a*a));x=D*S;p[r>>2]=x;D=c*S;p[t>>2]=D;c=T*S;p[e>>2]=c;T=a*S;p[P>>2]=T;S=T<-1.0?-1.0:T;p[n>>2]=+Y(+(S>1.0?1.0:S))*2.0;n=i|0;p[n>>2]=x;P=i+4|0;p[P>>2]=D;e=i+8|0;p[e>>2]=c;t=i+12|0;p[t>>2]=0.0;S=x*x+D*D+c*c;if(S<1.4210854715202004e-14){p[n>>2]=1.0;p[P>>2]=0.0;p[e>>2]=0.0;p[t>>2]=0.0;d=_;return}else{T=1.0/+j(+S);p[n>>2]=x*T;p[P>>2]=T*D;p[e>>2]=T*c;d=_;return}}function ime(e){e=e|0;lme(e|0);if((e|0)==0){return}SBe(e);return}function nme(e){e=e|0;lme(e|0);return}function _me(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0,G=0;i=d;d=d+32|0;n=i|0;_=i+16|0;o=e+8|0;s=r[o>>2]|0;if((s|0)>0){a=e+16|0;l=_|0;c=_+4|0;b=_+8|0;u=n|0;m=n+4|0;h=n+8|0;f=n+12|0;g=_+12|0;C=e+76|0;S=e+24|0;y=0;v=s;while(1){s=r[(r[a>>2]|0)+(y<<2)>>2]|0;if((r[s+232>>2]&2|0)==0|(s|0)==0){x=v}else{M=r[s+192>>2]|0;mrt[r[(r[M>>2]|0)+8>>2]&1023](M,s+4|0,n,_);T=+p[l>>2];D=+p[c>>2];P=+p[b>>2];w=+p[u>>2];A=+p[m>>2];F=+p[h>>2];R=+p[s+304>>2]*t;I=+p[s+308>>2]*t;B=+p[s+312>>2]*t;if(R>0.0){V=w;E=T+R}else{V=w+R;E=T}if(I>0.0){N=A;k=D+I}else{N=A+I;k=D}if(B>0.0){O=F;L=P+B}else{O=F+B;L=P}p[u>>2]=V;p[m>>2]=N;p[h>>2]=O;p[f>>2]=0.0;p[g>>2]=0.0;p[l>>2]=E+0.0;p[c>>2]=k+0.0;p[b>>2]=L+0.0;M=r[C>>2]|0;Unt[r[(r[M>>2]|0)+16>>2]&255](M,r[s+188>>2]|0,n,_,r[S>>2]|0);x=r[o>>2]|0}s=y+1|0;if((s|0)<(x|0)){y=s;v=x}else{U=C;G=S;break}}}else{U=e+76|0;G=e+24|0}S=r[U>>2]|0;Znt[r[(r[S>>2]|0)+32>>2]&2047](S,r[G>>2]|0);G=e+28|0;p[G>>2]=t;p[e+40>>2]=1.0;r[e+32>>2]=0;S=e+36|0;r[S>>2]=2;U=e+24|0;C=r[U>>2]|0;if((C|0)==0){r[S>>2]=1;d=i;return}x=r[(r[C>>2]|0)+32>>2]|0;v=r[e+76>>2]|0;e=Knt[r[(r[v>>2]|0)+36>>2]&4095](v)|0;mrt[x&1023](C,e,G,r[U>>2]|0);r[S>>2]=1;d=i;return}function rme(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0,a=0,c=0,b=0.0,u=0.0,m=0,h=0,f=0;i=d;d=d+16|0;n=i|0;_=e|0;tBe();o=e|0;s=r[e+92>>2]|0;if((s|0)!=0){Wnt[s&1023](o,t)}s=e|0;a=e;jnt[r[(r[a>>2]|0)+8>>2]&2047](s);c=e;Wnt[r[(r[c>>2]|0)+136>>2]&1023](_,t);p[e+28>>2]=t;r[e+32>>2]=0;r[e+48>>2]=Knt[r[(r[e>>2]|0)+16>>2]&4095](s)|0;jnt[r[(r[a>>2]|0)+40>>2]&2047](s);jnt[r[(r[e>>2]|0)+148>>2]&2047](_);p[e+112>>2]=t;Znt[r[(r[e>>2]|0)+152>>2]&2047](_,e+100|0);Wnt[r[(r[e>>2]|0)+176>>2]&1023](e,t);b=+p[e+40>>2];if(b<0.0){u=b;qt(17384,(a=d,d=d+8|0,l[a>>3]=u,a)|0)|0;d=a}Wnt[r[(r[c>>2]|0)+140>>2]&1023](_,b*t);sBe(16856);c=e+248|0;if((r[c>>2]|0)>0){a=e+256|0;m=0;do{h=r[(r[a>>2]|0)+(m<<2)>>2]|0;crt[r[(r[h>>2]|0)+8>>2]&255](h,s,t);m=m+1|0}while((m|0)<(r[c>>2]|0))}c=r[9152]|0;m=c+16|0;s=(r[m>>2]|0)-1|0;r[m>>2]=s;do{if((s|0)==0){if((r[c+4>>2]|0)==0){f=c}else{hi(n|0,0)|0;a=r[10742]|0;h=c+8|0;p[h>>2]=+(((r[n+4>>2]|0)-(r[a+4>>2]|0)+(((r[n>>2]|0)-(r[a>>2]|0)|0)*1e6|0)-(r[c+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[h>>2];if((r[m>>2]|0)!=0){break}f=r[9152]|0}r[9152]=r[f+20>>2]}}while(0);fme(_,t);_=r[e+88>>2]|0;if((_|0)==0){d=i;return}Wnt[_&1023](o,t);d=i;return}function ome(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,d=0;Tye(e|0,t,i,o);r[e+88>>2]=0;r[e+92>>2]=0;r[e+96>>2]=0;p[e+100>>2]=.6000000238418579;p[e+104>>2]=1.0;p[e+108>>2]=.30000001192092896;p[e+116>>2]=0.0;p[e+124>>2]=20.0;r[e+120>>2]=10;p[e+132>>2]=.20000000298023224;p[e+136>>2]=.10000000149011612;p[e+140>>2]=0.0;p[e+128>>2]=1.0;r[e+144>>2]=0;p[e+148>>2]=-.019999999552965164;p[e+152>>2]=0.0;p[e+156>>2]=.8500000238418579;r[e+160>>2]=260;r[e+164>>2]=2;r[e+168>>2]=128;r[e>>2]=21464;o=e+172|0;r[o>>2]=_;n[e+196|0]=1;r[e+192>>2]=0;r[e+184>>2]=0;r[e+188>>2]=0;n[e+216|0]=1;r[e+212>>2]=0;r[e+204>>2]=0;r[e+208>>2]=0;p[e+220>>2]=0.0;p[e+224>>2]=-10.0;p[e+228>>2]=0.0;p[e+232>>2]=0.0;p[e+236>>2]=0.0;n[e+242|0]=0;n[e+260|0]=1;r[e+256>>2]=0;r[e+248>>2]=0;r[e+252>>2]=0;r[e+264>>2]=0;if((_|0)==0){r[9806]=(r[9806]|0)+1;_=hBe(147)|0;do{if((_|0)==0){s=0}else{i=-(_+4|0)&15;t=_+(i+4)|0;r[_+i>>2]=_;if((t|0)==0){s=0;break}r[t>>2]=19632;n[_+(i+24)|0]=1;r[_+(i+20)>>2]=0;r[_+(i+12)>>2]=0;r[_+(i|16)>>2]=0;n[_+(i+44)|0]=1;r[_+(i+40)>>2]=0;r[_+(i|32)>>2]=0;r[_+(i+36)>>2]=0;n[_+(i|64)|0]=1;r[_+(i+60)>>2]=0;r[_+(i+52)>>2]=0;r[_+(i+56)>>2]=0;n[_+(i+84)|0]=1;r[_+(i|80)>>2]=0;r[_+(i+72)>>2]=0;r[_+(i+76)>>2]=0;n[_+(i+104)|0]=1;r[_+(i+100)>>2]=0;r[_+(i+92)>>2]=0;r[_+(i|96)>>2]=0;n[_+(i+124)|0]=1;r[_+(i+120)>>2]=0;r[_+(i|112)>>2]=0;r[_+(i+116)>>2]=0;r[_+(i|128)>>2]=0;s=t}}while(0);r[o>>2]=s;n[e+241|0]=1}else{n[e+241|0]=0}r[9806]=(r[9806]|0)+1;s=hBe(87)|0;if((s|0)==0){a=0;l=e+176|0;r[l>>2]=a;d=e+240|0;n[d]=1;return}o=-(s+4|0)&15;_=s+(o+4)|0;r[s+o>>2]=s;if((_|0)==0){a=0;l=e+176|0;r[l>>2]=a;d=e+240|0;n[d]=1;return}r[_>>2]=20520;n[s+(o+24)|0]=1;r[s+(o+20)>>2]=0;r[s+(o+12)>>2]=0;r[s+(o|16)>>2]=0;n[s+(o+44)|0]=1;r[s+(o+40)>>2]=0;r[s+(o|32)>>2]=0;r[s+(o+36)>>2]=0;n[s+(o|64)|0]=1;r[s+(o+60)>>2]=0;r[s+(o+52)>>2]=0;r[s+(o+56)>>2]=0;n[s+(o+68)|0]=1;a=_;l=e+176|0;r[l>>2]=a;d=e+240|0;n[d]=1;return}function sme(e){e=e|0;lme(e);if((e|0)==0){return}SBe(e);return}function ame(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0;i=e+8|0;n=r[i>>2]|0;if((n|0)<=0){return}_=e+16|0;e=0;o=n;while(1){n=r[(r[_>>2]|0)+(e<<2)>>2]|0;do{if((r[n+232>>2]&2|0)==0){s=o}else{if((n|0)==0){s=o;break}if((r[n+216>>2]|0)==2){s=o;break}if((r[n+204>>2]&2|0)==0){s=o;break}mfe(n,t);s=r[i>>2]|0}}while(0);n=e+1|0;if((n|0)<(s|0)){e=n;o=s}else{break}}return}function pme(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0,a=0,l=0;i=d;d=d+16|0;n=i|0;sBe(16856);_=e+248|0;if((r[_>>2]|0)>0){o=e+256|0;s=e|0;e=0;do{a=r[(r[o>>2]|0)+(e<<2)>>2]|0;crt[r[(r[a>>2]|0)+8>>2]&255](a,s,t);e=e+1|0}while((e|0)<(r[_>>2]|0))}_=r[9152]|0;e=_+16|0;s=(r[e>>2]|0)-1|0;r[e>>2]=s;if((s|0)!=0){d=i;return}do{if((r[_+4>>2]|0)==0){l=_}else{hi(n|0,0)|0;s=r[10742]|0;o=_+8|0;p[o>>2]=+(((r[n+4>>2]|0)-(r[s+4>>2]|0)+(((r[n>>2]|0)-(r[s>>2]|0)|0)*1e6|0)-(r[_+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[o>>2];if((r[e>>2]|0)==0){l=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[l+20>>2];d=i;return}function lme(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0;r[e>>2]=21464;do{if((n[e+240|0]&1)!=0){t=e+176|0;i=r[t>>2]|0;jnt[r[r[i>>2]>>2]&2047](i);i=r[t>>2]|0;if((i|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[i-68+64>>2]|0)}}while(0);do{if((n[e+241|0]&1)!=0){i=e+172|0;t=r[i>>2]|0;jnt[r[r[t>>2]>>2]&2047](t);t=r[i>>2]|0;if((t|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}}while(0);t=e+248|0;i=e+256|0;_=r[i>>2]|0;o=e+260|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+252>>2]=0;t=e+204|0;i=e+212|0;o=r[i>>2]|0;_=e+216|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+208>>2]=0;t=e+184|0;i=e+192|0;_=r[i>>2]|0;o=e+196|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+188|0;r[s>>2]=0;a=e|0;Pye(a);return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+188|0;r[s>>2]=0;a=e|0;Pye(a);return}function dme(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0;t=d;d=d+16|0;i=t|0;sBe(17208);n=e|0;Hye(n);_=e;e:do{if((Knt[r[(r[_>>2]|0)+16>>2]&4095](n)|0)!=0){o=Knt[r[(r[_>>2]|0)+16>>2]&4095](n)|0;if(((Knt[r[(r[o>>2]|0)+48>>2]&4095](o)|0)&6144|0)==0){break}o=e;s=Knt[r[(r[e>>2]|0)+100>>2]&4095](e)|0;while(1){a=s-1|0;if((s|0)<=0){break e}cme(e,j_t[r[(r[o>>2]|0)+104>>2]&511](e,a)|0);s=a}}}while(0);do{if((Knt[r[(r[_>>2]|0)+16>>2]&4095](n)|0)!=0){s=Knt[r[(r[_>>2]|0)+16>>2]&4095](n)|0;if(((Knt[r[(r[s>>2]|0)+48>>2]&4095](s)|0)&3|0)==0){break}if((Knt[r[(r[_>>2]|0)+16>>2]&4095](n)|0)==0){break}s=Knt[r[(r[_>>2]|0)+16>>2]&4095](n)|0;if((Knt[r[(r[s>>2]|0)+48>>2]&4095](s)|0)==0){break}s=e+248|0;if((r[s>>2]|0)<=0){break}o=e+256|0;a=e+80|0;l=0;do{c=r[(r[o>>2]|0)+(l<<2)>>2]|0;Znt[r[(r[c>>2]|0)+12>>2]&2047](c,r[a>>2]|0);l=l+1|0}while((l|0)<(r[s>>2]|0))}}while(0);e=r[9152]|0;n=e+16|0;_=(r[n>>2]|0)-1|0;r[n>>2]=_;if((_|0)!=0){d=t;return}do{if((r[e+4>>2]|0)==0){b=e}else{hi(i|0,0)|0;_=r[10742]|0;s=e+8|0;p[s>>2]=+(((r[i+4>>2]|0)-(r[_+4>>2]|0)+(((r[i>>2]|0)-(r[_>>2]|0)|0)*1e6|0)-(r[e+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[s>>2];if((r[n>>2]|0)==0){b=r[9152]|0;break}else{d=t;return}}}while(0);r[9152]=r[b+20>>2];d=t;return}function cme(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0,le=0,de=0,ce=0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0;i=d;d=d+1392|0;_=i|0;o=i+48|0;s=i+96|0;a=i+144|0;l=i+192|0;c=i+240|0;b=i+288|0;u=i+336|0;m=i+384|0;h=i+448|0;f=i+512|0;g=i+576|0;C=i+592|0;S=i+608|0;y=i+624|0;v=i+688|0;x=i+752|0;M=i+768|0;T=i+784|0;D=i+800|0;P=i+816|0;w=i+880|0;A=i+944|0;F=i+960|0;R=i+976|0;I=i+992|0;B=i+1008|0;V=i+1072|0;E=i+1088|0;N=i+1104|0;k=i+1120|0;O=i+1136|0;L=i+1152|0;U=i+1168|0;G=i+1184|0;W=i+1200|0;z=i+1216|0;H=i+1232|0;j=i+1296|0;X=i+1312|0;q=i+1328|0;Y=i+1344|0;J=i+1360|0;K=i+1376|0;$=e|0;ee=e;e=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;te=(Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0)>>>11;e=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;ie=(Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0)>>>12;ne=+p[t+36>>2];if(ne<=0.0){d=i;return}switch(r[t+4>>2]|0){case 3:{p[m>>2]=1.0;vBe(m+4|0,0,16);p[m+20>>2]=1.0;vBe(m+24|0,0,16);p[m+40>>2]=1.0;vBe(m+44|0,0,20);_e=+p[t+292>>2];re=+p[t+296>>2];oe=+p[t+300>>2];e=r[t+24>>2]|0;se=+p[e+56>>2]+(_e*+p[e+20>>2]+re*+p[e+24>>2]+oe*+p[e+28>>2]);ae=+p[e+60>>2]+(_e*+p[e+36>>2]+re*+p[e+40>>2]+oe*+p[e+44>>2]);pe=m+48|0;p[pe>>2]=+p[e+52>>2]+(_e*+p[e+4>>2]+re*+p[e+8>>2]+oe*+p[e+12>>2]);e=m+52|0;p[e>>2]=se;le=m+56|0;p[le>>2]=ae;de=m+60|0;p[de>>2]=0.0;ce=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[ce>>2]|0)+56>>2]&255](ce,m,ne);ae=+p[t+308>>2];se=+p[t+312>>2];oe=+p[t+316>>2];ce=r[t+28>>2]|0;re=+p[ce+56>>2]+(ae*+p[ce+20>>2]+se*+p[ce+24>>2]+oe*+p[ce+28>>2]);_e=+p[ce+60>>2]+(ae*+p[ce+36>>2]+se*+p[ce+40>>2]+oe*+p[ce+44>>2]);p[pe>>2]=+p[ce+52>>2]+(ae*+p[ce+4>>2]+se*+p[ce+8>>2]+oe*+p[ce+12>>2]);p[e>>2]=re;p[le>>2]=_e;p[de>>2]=0.0;if((te&1|0)==0){d=i;return}de=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[de>>2]|0)+56>>2]&255](de,m,ne);d=i;return};case 4:{m=r[t+24>>2]|0;de=m+4|0;le=t+544|0;e=u;gue(u,de|0,le);_e=+p[le+48>>2];re=+p[le+52>>2];oe=+p[le+56>>2];se=+p[de>>2]*_e+ +p[m+8>>2]*re+ +p[m+12>>2]*oe+ +p[m+52>>2];ae=+p[m+20>>2]*_e+ +p[m+24>>2]*re+ +p[m+28>>2]*oe+ +p[m+56>>2];be=+p[m+36>>2]*_e+ +p[m+40>>2]*re+ +p[m+44>>2]*oe+ +p[m+60>>2];m=h+48|0;de=h|0;do{de=de+16|0}while((de|0)!=(m|0));m=h;r[m>>2]=r[e>>2];r[m+4>>2]=r[e+4>>2];r[m+8>>2]=r[e+8>>2];r[m+12>>2]=r[e+12>>2];e=h+16|0;de=u+16|0;r[e>>2]=r[de>>2];r[e+4>>2]=r[de+4>>2];r[e+8>>2]=r[de+8>>2];r[e+12>>2]=r[de+12>>2];de=h+32|0;le=u+32|0;r[de>>2]=r[le>>2];r[de+4>>2]=r[le+4>>2];r[de+8>>2]=r[le+8>>2];r[de+12>>2]=r[le+12>>2];p[h+48>>2]=se;p[h+52>>2]=ae;p[h+56>>2]=be;p[h+60>>2]=0.0;if((te&1|0)==0){le=r[t+28>>2]|0;u=le+4|0;ce=t+608|0;pe=c;gue(c,u|0,ce);be=+p[ce+48>>2];ae=+p[ce+52>>2];se=+p[ce+56>>2];oe=+p[u>>2]*be+ +p[le+8>>2]*ae+ +p[le+12>>2]*se+ +p[le+52>>2];re=+p[le+20>>2]*be+ +p[le+24>>2]*ae+ +p[le+28>>2]*se+ +p[le+56>>2];_e=+p[le+36>>2]*be+ +p[le+40>>2]*ae+ +p[le+44>>2]*se+ +p[le+60>>2];le=f+48|0;u=f|0;do{u=u+16|0}while((u|0)!=(le|0));le=f;r[le>>2]=r[pe>>2];r[le+4>>2]=r[pe+4>>2];r[le+8>>2]=r[pe+8>>2];r[le+12>>2]=r[pe+12>>2];pe=f+16|0;u=c+16|0;r[pe>>2]=r[u>>2];r[pe+4>>2]=r[u+4>>2];r[pe+8>>2]=r[u+8>>2];r[pe+12>>2]=r[u+12>>2];u=f+32|0;ce=c+32|0;r[u>>2]=r[ce>>2];r[u+4>>2]=r[ce+4>>2];r[u+8>>2]=r[ce+8>>2];r[u+12>>2]=r[ce+12>>2];p[f+48>>2]=oe;p[f+52>>2]=re;p[f+56>>2]=_e;p[f+60>>2]=0.0;r[m>>2]=r[le>>2];r[m+4>>2]=r[le+4>>2];r[m+8>>2]=r[le+8>>2];r[m+12>>2]=r[le+12>>2];r[e>>2]=r[pe>>2];r[e+4>>2]=r[pe+4>>2];r[e+8>>2]=r[pe+8>>2];r[e+12>>2]=r[pe+12>>2];r[de>>2]=r[u>>2];r[de+4>>2]=r[u+4>>2];r[de+8>>2]=r[u+8>>2];r[de+12>>2]=r[u+12>>2];u=h+48|0;pe=f+48|0;r[u>>2]=r[pe>>2];r[u+4>>2]=r[pe+4>>2];r[u+8>>2]=r[pe+8>>2];r[u+12>>2]=r[pe+12>>2]}else{pe=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[pe>>2]|0)+56>>2]&255](pe,h,ne);pe=r[t+28>>2]|0;u=pe+4|0;le=t+608|0;ce=b;gue(b,u|0,le);_e=+p[le+48>>2];re=+p[le+52>>2];oe=+p[le+56>>2];se=+p[u>>2]*_e+ +p[pe+8>>2]*re+ +p[pe+12>>2]*oe+ +p[pe+52>>2];ae=+p[pe+20>>2]*_e+ +p[pe+24>>2]*re+ +p[pe+28>>2]*oe+ +p[pe+56>>2];be=+p[pe+36>>2]*_e+ +p[pe+40>>2]*re+ +p[pe+44>>2]*oe+ +p[pe+60>>2];pe=f+48|0;u=f|0;do{u=u+16|0}while((u|0)!=(pe|0));pe=f;r[pe>>2]=r[ce>>2];r[pe+4>>2]=r[ce+4>>2];r[pe+8>>2]=r[ce+8>>2];r[pe+12>>2]=r[ce+12>>2];ce=f+16|0;u=b+16|0;r[ce>>2]=r[u>>2];r[ce+4>>2]=r[u+4>>2];r[ce+8>>2]=r[u+8>>2];r[ce+12>>2]=r[u+12>>2];u=f+32|0;le=b+32|0;r[u>>2]=r[le>>2];r[u+4>>2]=r[le+4>>2];r[u+8>>2]=r[le+8>>2];r[u+12>>2]=r[le+12>>2];p[f+48>>2]=se;p[f+52>>2]=ae;p[f+56>>2]=be;p[f+60>>2]=0.0;r[m>>2]=r[pe>>2];r[m+4>>2]=r[pe+4>>2];r[m+8>>2]=r[pe+8>>2];r[m+12>>2]=r[pe+12>>2];r[e>>2]=r[ce>>2];r[e+4>>2]=r[ce+4>>2];r[e+8>>2]=r[ce+8>>2];r[e+12>>2]=r[ce+12>>2];r[de>>2]=r[u>>2];r[de+4>>2]=r[u+4>>2];r[de+8>>2]=r[u+8>>2];r[de+12>>2]=r[u+12>>2];u=h+48|0;de=f+48|0;r[u>>2]=r[de>>2];r[u+4>>2]=r[de+4>>2];r[u+8>>2]=r[de+8>>2];r[u+12>>2]=r[de+12>>2];de=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[de>>2]|0)+56>>2]&255](de,h,ne)}de=t+680|0;u=t+684|0;be=+Bi(+(+p[de>>2]-+p[u>>2]),6.2831854820251465);do{if(be<-3.1415927410125732){ue=be+6.2831854820251465}else{if(be<=3.1415927410125732){ue=be;break}ue=be-6.2831854820251465}}while(0);be=+Bi(+(+p[de>>2]+ +p[u>>2]),6.2831854820251465);do{if(be<-3.1415927410125732){me=be+6.2831854820251465}else{if(be<=3.1415927410125732){me=be;break}me=be-6.2831854820251465}}while(0);if(ue==me){d=i;return}u=ue>me;if((ie&1|0)==0){d=i;return}p[g>>2]=+p[h+8>>2];p[g+4>>2]=+p[h+24>>2];p[g+8>>2]=+p[h+40>>2];p[g+12>>2]=0.0;p[C>>2]=+p[h>>2];p[C+4>>2]=+p[h+16>>2];p[C+8>>2]=+p[h+32>>2];p[C+12>>2]=0.0;de=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;f=r[(r[de>>2]|0)+60>>2]|0;vBe(S|0,0,16);ert[f&63](de,h+48|0,g,C,ne,ne,u?0.0:ue,u?6.2831854820251465:me,S,u^1,10.0);d=i;return};case 7:{u=t+816|0;S=H;C=u;r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2];C=H+16|0;g=u+16|0;r[C>>2]=r[g>>2];r[C+4>>2]=r[g+4>>2];r[C+8>>2]=r[g+8>>2];r[C+12>>2]=r[g+12>>2];g=H+32|0;h=u+32|0;r[g>>2]=r[h>>2];r[g+4>>2]=r[h+4>>2];r[g+8>>2]=r[h+8>>2];r[g+12>>2]=r[h+12>>2];h=H+48|0;de=u+48|0;r[h>>2]=r[de>>2];r[h+4>>2]=r[de+4>>2];r[h+8>>2]=r[de+8>>2];r[h+12>>2]=r[de+12>>2];if((te&1|0)==0){de=t+880|0;r[S>>2]=r[de>>2];r[S+4>>2]=r[de+4>>2];r[S+8>>2]=r[de+8>>2];r[S+12>>2]=r[de+12>>2];de=t+896|0;r[C>>2]=r[de>>2];r[C+4>>2]=r[de+4>>2];r[C+8>>2]=r[de+8>>2];r[C+12>>2]=r[de+12>>2];de=t+912|0;r[g>>2]=r[de>>2];r[g+4>>2]=r[de+4>>2];r[g+8>>2]=r[de+8>>2];r[g+12>>2]=r[de+12>>2];de=t+928|0;r[h>>2]=r[de>>2];r[h+4>>2]=r[de+4>>2];r[h+8>>2]=r[de+8>>2];r[h+12>>2]=r[de+12>>2]}else{de=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[de>>2]|0)+56>>2]&255](de,H,ne);de=t+880|0;r[S>>2]=r[de>>2];r[S+4>>2]=r[de+4>>2];r[S+8>>2]=r[de+8>>2];r[S+12>>2]=r[de+12>>2];de=t+896|0;r[C>>2]=r[de>>2];r[C+4>>2]=r[de+4>>2];r[C+8>>2]=r[de+8>>2];r[C+12>>2]=r[de+12>>2];de=t+912|0;r[g>>2]=r[de>>2];r[g+4>>2]=r[de+4>>2];r[g+8>>2]=r[de+8>>2];r[g+12>>2]=r[de+12>>2];de=t+928|0;r[h>>2]=r[de>>2];r[h+4>>2]=r[de+4>>2];r[h+8>>2]=r[de+8>>2];r[h+12>>2]=r[de+12>>2];de=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[de>>2]|0)+56>>2]&255](de,H,ne)}if((ie&1|0)==0){d=i;return}H=(n[t+172|0]&1)!=0?u:t+880|0;me=+p[H>>2];ue=+p[H+4>>2];be=+p[H+16>>2];ae=+p[H+20>>2];se=+p[H+32>>2];oe=+p[H+36>>2];re=+p[H+48>>2];_e=+p[H+52>>2];he=+p[H+56>>2];fe=+p[t+176>>2];ge=ue*0.0;Ce=+p[H+8>>2]*0.0;Se=ae*0.0;ye=+p[H+24>>2]*0.0;ve=oe*0.0;xe=+p[H+40>>2]*0.0;p[j>>2]=re+(Ce+(ge+me*fe));p[j+4>>2]=_e+(ye+(Se+be*fe));p[j+8>>2]=he+(xe+(ve+se*fe));p[j+12>>2]=0.0;fe=+p[t+180>>2];p[X>>2]=re+(Ce+(ge+me*fe));p[X+4>>2]=_e+(ye+(Se+be*fe));p[X+8>>2]=he+(xe+(ve+se*fe));p[X+12>>2]=0.0;H=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;u=r[(r[H>>2]|0)+8>>2]|0;vBe(q|0,0,16);mrt[u&1023](H,j,X,q);p[Y>>2]=me;p[Y+4>>2]=be;p[Y+8>>2]=se;p[Y+12>>2]=0.0;p[J>>2]=ue;p[J+4>>2]=ae;p[J+8>>2]=oe;p[J+12>>2]=0.0;oe=+p[t+184>>2];ae=+p[t+188>>2];q=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;X=r[(r[q>>2]|0)+60>>2]|0;vBe(K|0,0,16);ert[X&63](q,t+928|0,Y,J,ne,ne,oe,ae,K,1,10.0);d=i;return};case 9:case 6:{K=t+1056|0;J=B;Y=K;r[J>>2]=r[Y>>2];r[J+4>>2]=r[Y+4>>2];r[J+8>>2]=r[Y+8>>2];r[J+12>>2]=r[Y+12>>2];q=B+16|0;X=K+16|0;r[q>>2]=r[X>>2];r[q+4>>2]=r[X+4>>2];r[q+8>>2]=r[X+8>>2];r[q+12>>2]=r[X+12>>2];j=B+32|0;H=K+32|0;r[j>>2]=r[H>>2];r[j+4>>2]=r[H+4>>2];r[j+8>>2]=r[H+8>>2];r[j+12>>2]=r[H+12>>2];u=B+48|0;de=K+48|0;r[u>>2]=r[de>>2];r[u+4>>2]=r[de+4>>2];r[u+8>>2]=r[de+8>>2];r[u+12>>2]=r[de+12>>2];if((te&1|0)==0){K=t+1120|0;r[J>>2]=r[K>>2];r[J+4>>2]=r[K+4>>2];r[J+8>>2]=r[K+8>>2];r[J+12>>2]=r[K+12>>2];K=t+1136|0;r[q>>2]=r[K>>2];r[q+4>>2]=r[K+4>>2];r[q+8>>2]=r[K+8>>2];r[q+12>>2]=r[K+12>>2];K=t+1152|0;r[j>>2]=r[K>>2];r[j+4>>2]=r[K+4>>2];r[j+8>>2]=r[K+8>>2];r[j+12>>2]=r[K+12>>2];K=t+1168|0;r[u>>2]=r[K>>2];r[u+4>>2]=r[K+4>>2];r[u+8>>2]=r[K+8>>2];r[u+12>>2]=r[K+12>>2]}else{K=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[K>>2]|0)+56>>2]&255](K,B,ne);K=t+1120|0;r[J>>2]=r[K>>2];r[J+4>>2]=r[K+4>>2];r[J+8>>2]=r[K+8>>2];r[J+12>>2]=r[K+12>>2];K=t+1136|0;r[q>>2]=r[K>>2];r[q+4>>2]=r[K+4>>2];r[q+8>>2]=r[K+8>>2];r[q+12>>2]=r[K+12>>2];K=t+1152|0;r[j>>2]=r[K>>2];r[j+4>>2]=r[K+4>>2];r[j+8>>2]=r[K+8>>2];r[j+12>>2]=r[K+12>>2];K=t+1168|0;r[u>>2]=r[K>>2];r[u+4>>2]=r[K+4>>2];r[u+8>>2]=r[K+8>>2];r[u+12>>2]=r[K+12>>2];K=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[K>>2]|0)+56>>2]&255](K,B,ne)}if((ie&1|0)==0){d=i;return}r[J>>2]=r[Y>>2];r[J+4>>2]=r[Y+4>>2];r[J+8>>2]=r[Y+8>>2];r[J+12>>2]=r[Y+12>>2];r[q>>2]=r[X>>2];r[q+4>>2]=r[X+4>>2];r[q+8>>2]=r[X+8>>2];r[q+12>>2]=r[X+12>>2];r[j>>2]=r[H>>2];r[j+4>>2]=r[H+4>>2];r[j+8>>2]=r[H+8>>2];r[j+12>>2]=r[H+12>>2];r[u>>2]=r[de>>2];r[u+4>>2]=r[de+4>>2];r[u+8>>2]=r[de+8>>2];r[u+12>>2]=r[de+12>>2];K=t+1168|0;h=K;p[V>>2]=+p[B+8>>2];p[V+4>>2]=+p[B+24>>2];p[V+8>>2]=+p[B+40>>2];p[V+12>>2]=0.0;g=B|0;C=B+16|0;S=B+32|0;f=E|0;p[f>>2]=+p[g>>2];ce=E+4|0;p[ce>>2]=+p[C>>2];e=E+8|0;p[e>>2]=+p[S>>2];pe=E+12|0;p[pe>>2]=0.0;m=t+924|0;ae=+p[m>>2];oe=+p[m+4>>2];m=t+988|0;ue=+p[m>>2];se=+p[m+4>>2];m=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;le=r[(r[m>>2]|0)+64>>2]|0;vBe(N|0,0,16);Hnt[le&63](m,h,V,E,ne*.8999999761581421,ae,oe,ue,se,N,10.0);se=+p[B+4>>2];ue=+p[B+20>>2];oe=+p[B+36>>2];p[f>>2]=se;p[ce>>2]=ue;p[e>>2]=oe;p[pe>>2]=0.0;ae=+p[t+1188>>2];be=+p[t+1192>>2];me=+Z(+ae);fe=+Q(+ae);ae=+Z(+be);ve=+Q(+be);p[k>>2]=me*ae*se+me*ve*ue-fe*oe;p[k+4>>2]=se*(-0.0-ve)+ae*ue;p[k+8>>2]=fe*ae*se+fe*ve*ue+me*oe;pe=t+1120|0;r[J>>2]=r[pe>>2];r[J+4>>2]=r[pe+4>>2];r[J+8>>2]=r[pe+8>>2];r[J+12>>2]=r[pe+12>>2];pe=t+1136|0;r[q>>2]=r[pe>>2];r[q+4>>2]=r[pe+4>>2];r[q+8>>2]=r[pe+8>>2];r[q+12>>2]=r[pe+12>>2];pe=t+1152|0;r[j>>2]=r[pe>>2];r[j+4>>2]=r[pe+4>>2];r[j+8>>2]=r[pe+8>>2];r[j+12>>2]=r[pe+12>>2];pe=K;r[u>>2]=r[pe>>2];r[u+4>>2]=r[pe+4>>2];r[u+8>>2]=r[pe+8>>2];r[u+12>>2]=r[pe+12>>2];oe=-0.0-+p[C>>2];me=-0.0-+p[S>>2];p[O>>2]=-0.0-+p[g>>2];p[O+4>>2]=oe;p[O+8>>2]=me;p[O+12>>2]=0.0;g=t+860|0;me=+p[g>>2];oe=+p[g+4>>2];do{if(me>oe){g=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;S=r[(r[g>>2]|0)+60>>2]|0;vBe(L|0,0,16);ert[S&63](g,h,O,k,ne,ne,-3.1415927410125732,3.1415927410125732,L,0,10.0)}else{if(me>=oe){break}g=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;S=r[(r[g>>2]|0)+60>>2]|0;vBe(U|0,0,16);ert[S&63](g,h,O,k,ne,ne,me,oe,U,1,10.0)}}while(0);r[J>>2]=r[Y>>2];r[J+4>>2]=r[Y+4>>2];r[J+8>>2]=r[Y+8>>2];r[J+12>>2]=r[Y+12>>2];r[q>>2]=r[X>>2];r[q+4>>2]=r[X+4>>2];r[q+8>>2]=r[X+8>>2];r[q+12>>2]=r[X+12>>2];r[j>>2]=r[H>>2];r[j+4>>2]=r[H+4>>2];r[j+8>>2]=r[H+8>>2];r[j+12>>2]=r[H+12>>2];r[u>>2]=r[de>>2];r[u+4>>2]=r[de+4>>2];r[u+8>>2]=r[de+8>>2];r[u+12>>2]=r[de+12>>2];de=t+672|0;u=G;H=de;r[u>>2]=r[H>>2];r[u+4>>2]=r[H+4>>2];r[u+8>>2]=r[H+8>>2];r[u+12>>2]=r[H+12>>2];H=W;u=de+16|0;r[H>>2]=r[u>>2];r[H+4>>2]=r[u+4>>2];r[H+8>>2]=r[u+8>>2];r[H+12>>2]=r[u+12>>2];u=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;H=r[(r[u>>2]|0)+72>>2]|0;vBe(z|0,0,16);Unt[H&255](u,G,W,B,z);d=i;return};case 5:{z=t;B=t+24|0;W=r[B>>2]|0;G=W+4|0;u=t+292|0;H=l;de=u;gue(l,G|0,de);j=u+48|0;oe=+p[j>>2];X=u+52|0;me=+p[X>>2];q=u+56|0;ue=+p[q>>2];ve=+p[G>>2]*oe+ +p[W+8>>2]*me+ +p[W+12>>2]*ue+ +p[W+52>>2];fe=+p[W+20>>2]*oe+ +p[W+24>>2]*me+ +p[W+28>>2]*ue+ +p[W+56>>2];se=+p[W+36>>2]*oe+ +p[W+40>>2]*me+ +p[W+44>>2]*ue+ +p[W+60>>2];W=y+48|0;G=y|0;do{G=G+16|0}while((G|0)!=(W|0));W=y;r[W>>2]=r[H>>2];r[W+4>>2]=r[H+4>>2];r[W+8>>2]=r[H+8>>2];r[W+12>>2]=r[H+12>>2];H=y+16|0;G=l+16|0;r[H>>2]=r[G>>2];r[H+4>>2]=r[G+4>>2];r[H+8>>2]=r[G+8>>2];r[H+12>>2]=r[G+12>>2];G=y+32|0;u=l+32|0;r[G>>2]=r[u>>2];r[G+4>>2]=r[u+4>>2];r[G+8>>2]=r[u+8>>2];r[G+12>>2]=r[u+12>>2];u=y+48|0;p[u>>2]=ve;l=y+52|0;p[l>>2]=fe;Y=y+56|0;p[Y>>2]=se;p[y+60>>2]=0.0;if((te&1|0)==0){te=r[t+28>>2]|0;J=te+4|0;U=t+356|0;k=s;gue(s,J|0,U);se=+p[U+48>>2];fe=+p[U+52>>2];ve=+p[U+56>>2];ue=+p[J>>2]*se+ +p[te+8>>2]*fe+ +p[te+12>>2]*ve+ +p[te+52>>2];me=+p[te+20>>2]*se+ +p[te+24>>2]*fe+ +p[te+28>>2]*ve+ +p[te+56>>2];oe=+p[te+36>>2]*se+ +p[te+40>>2]*fe+ +p[te+44>>2]*ve+ +p[te+60>>2];te=v+48|0;J=v|0;do{J=J+16|0}while((J|0)!=(te|0));te=v;r[te>>2]=r[k>>2];r[te+4>>2]=r[k+4>>2];r[te+8>>2]=r[k+8>>2];r[te+12>>2]=r[k+12>>2];k=v+16|0;J=s+16|0;r[k>>2]=r[J>>2];r[k+4>>2]=r[J+4>>2];r[k+8>>2]=r[J+8>>2];r[k+12>>2]=r[J+12>>2];J=v+32|0;U=s+32|0;r[J>>2]=r[U>>2];r[J+4>>2]=r[U+4>>2];r[J+8>>2]=r[U+8>>2];r[J+12>>2]=r[U+12>>2];p[v+48>>2]=ue;p[v+52>>2]=me;p[v+56>>2]=oe;p[v+60>>2]=0.0;r[W>>2]=r[te>>2];r[W+4>>2]=r[te+4>>2];r[W+8>>2]=r[te+8>>2];r[W+12>>2]=r[te+12>>2];r[H>>2]=r[k>>2];r[H+4>>2]=r[k+4>>2];r[H+8>>2]=r[k+8>>2];r[H+12>>2]=r[k+12>>2];r[G>>2]=r[J>>2];r[G+4>>2]=r[J+4>>2];r[G+8>>2]=r[J+8>>2];r[G+12>>2]=r[J+12>>2];J=y+48|0;k=v+48|0;r[J>>2]=r[k>>2];r[J+4>>2]=r[k+4>>2];r[J+8>>2]=r[k+8>>2];r[J+12>>2]=r[k+12>>2]}else{k=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[k>>2]|0)+56>>2]&255](k,y,ne);k=r[t+28>>2]|0;J=k+4|0;te=t+356|0;U=a;gue(a,J|0,te);oe=+p[te+48>>2];me=+p[te+52>>2];ue=+p[te+56>>2];ve=+p[J>>2]*oe+ +p[k+8>>2]*me+ +p[k+12>>2]*ue+ +p[k+52>>2];fe=+p[k+20>>2]*oe+ +p[k+24>>2]*me+ +p[k+28>>2]*ue+ +p[k+56>>2];se=+p[k+36>>2]*oe+ +p[k+40>>2]*me+ +p[k+44>>2]*ue+ +p[k+60>>2];k=v+48|0;J=v|0;do{J=J+16|0}while((J|0)!=(k|0));k=v;r[k>>2]=r[U>>2];r[k+4>>2]=r[U+4>>2];r[k+8>>2]=r[U+8>>2];r[k+12>>2]=r[U+12>>2];U=v+16|0;J=a+16|0;r[U>>2]=r[J>>2];r[U+4>>2]=r[J+4>>2];r[U+8>>2]=r[J+8>>2];r[U+12>>2]=r[J+12>>2];J=v+32|0;te=a+32|0;r[J>>2]=r[te>>2];r[J+4>>2]=r[te+4>>2];r[J+8>>2]=r[te+8>>2];r[J+12>>2]=r[te+12>>2];p[v+48>>2]=ve;p[v+52>>2]=fe;p[v+56>>2]=se;p[v+60>>2]=0.0;r[W>>2]=r[k>>2];r[W+4>>2]=r[k+4>>2];r[W+8>>2]=r[k+8>>2];r[W+12>>2]=r[k+12>>2];r[H>>2]=r[U>>2];r[H+4>>2]=r[U+4>>2];r[H+8>>2]=r[U+8>>2];r[H+12>>2]=r[U+12>>2];r[G>>2]=r[J>>2];r[G+4>>2]=r[J+4>>2];r[G+8>>2]=r[J+8>>2];r[G+12>>2]=r[J+12>>2];J=y+48|0;U=v+48|0;r[J>>2]=r[U>>2];r[J+4>>2]=r[U+4>>2];r[J+8>>2]=r[U+8>>2];r[J+12>>2]=r[U+12>>2];U=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;crt[r[(r[U>>2]|0)+56>>2]&255](U,y,ne)}if((ie&1|0)==0){d=i;return}Xue(x,z,6.0868353843688965,ne);ie=y|0;U=x|0;se=+p[U>>2];J=y+4|0;v=x+4|0;fe=+p[v>>2];k=y+8|0;te=x+8|0;ve=+p[te>>2];a=y+16|0;s=y+20|0;O=y+24|0;ue=+p[l>>2]+(se*+p[a>>2]+fe*+p[s>>2]+ve*+p[O>>2]);h=y+32|0;L=y+36|0;g=y+40|0;me=+p[Y>>2]+(se*+p[h>>2]+fe*+p[L>>2]+ve*+p[g>>2]);S=x;p[U>>2]=+p[u>>2]+(+p[ie>>2]*se+ +p[J>>2]*fe+ +p[k>>2]*ve);p[v>>2]=ue;p[te>>2]=me;p[x+12>>2]=0.0;te=M|0;v=M+4|0;U=M+8|0;C=M;pe=M+12|0;K=y+48|0;y=T;e=D;ce=0;do{Xue(M,z,+(ce|0)*6.283185005187988*.03125,ne);me=+p[te>>2];ue=+p[v>>2];ve=+p[U>>2];fe=+p[l>>2]+(me*+p[a>>2]+ue*+p[s>>2]+ve*+p[O>>2]);se=+p[Y>>2]+(me*+p[h>>2]+ue*+p[L>>2]+ve*+p[g>>2]);p[te>>2]=+p[u>>2]+(+p[ie>>2]*me+ +p[J>>2]*ue+ +p[k>>2]*ve);p[v>>2]=fe;p[U>>2]=se;p[pe>>2]=0.0;f=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;N=r[(r[f>>2]|0)+8>>2]|0;vBe(y|0,0,16);mrt[N&1023](f,x,M,T);if((ce&3|0)==0){f=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;N=r[(r[f>>2]|0)+8>>2]|0;vBe(e|0,0,16);mrt[N&1023](f,K,M,D)}r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2];ce=ce+1|0}while((ce|0)<32);se=+p[t+444>>2];fe=+p[t+504>>2];ce=r[t+28>>2]|0;if(+p[ce+336>>2]>0.0){C=ce+4|0;S=t+356|0;t=o;gue(o,C|0,S);ve=+p[S+48>>2];ue=+p[S+52>>2];me=+p[S+56>>2];oe=+p[C>>2]*ve+ +p[ce+8>>2]*ue+ +p[ce+12>>2]*me+ +p[ce+52>>2];ae=+p[ce+20>>2]*ve+ +p[ce+24>>2]*ue+ +p[ce+28>>2]*me+ +p[ce+56>>2];be=+p[ce+36>>2]*ve+ +p[ce+40>>2]*ue+ +p[ce+44>>2]*me+ +p[ce+60>>2];ce=P+48|0;C=P|0;do{C=C+16|0}while((C|0)!=(ce|0));ce=P;r[ce>>2]=r[t>>2];r[ce+4>>2]=r[t+4>>2];r[ce+8>>2]=r[t+8>>2];r[ce+12>>2]=r[t+12>>2];t=P+16|0;C=o+16|0;r[t>>2]=r[C>>2];r[t+4>>2]=r[C+4>>2];r[t+8>>2]=r[C+8>>2];r[t+12>>2]=r[C+12>>2];C=P+32|0;S=o+32|0;r[C>>2]=r[S>>2];r[C+4>>2]=r[S+4>>2];r[C+8>>2]=r[S+8>>2];r[C+12>>2]=r[S+12>>2];p[P+48>>2]=oe;p[P+52>>2]=ae;p[P+56>>2]=be;p[P+60>>2]=0.0;r[W>>2]=r[ce>>2];r[W+4>>2]=r[ce+4>>2];r[W+8>>2]=r[ce+8>>2];r[W+12>>2]=r[ce+12>>2];r[H>>2]=r[t>>2];r[H+4>>2]=r[t+4>>2];r[H+8>>2]=r[t+8>>2];r[H+12>>2]=r[t+12>>2];r[G>>2]=r[C>>2];r[G+4>>2]=r[C+4>>2];r[G+8>>2]=r[C+8>>2];r[G+12>>2]=r[C+12>>2];C=K;t=P+48|0;r[C>>2]=r[t>>2];r[C+4>>2]=r[t+4>>2];r[C+8>>2]=r[t+8>>2];r[C+12>>2]=r[t+12>>2]}else{t=r[B>>2]|0;B=t+4|0;C=_;gue(_,B|0,de);be=+p[j>>2];ae=+p[X>>2];oe=+p[q>>2];me=+p[B>>2]*be+ +p[t+8>>2]*ae+ +p[t+12>>2]*oe+ +p[t+52>>2];ue=+p[t+20>>2]*be+ +p[t+24>>2]*ae+ +p[t+28>>2]*oe+ +p[t+56>>2];ve=+p[t+36>>2]*be+ +p[t+40>>2]*ae+ +p[t+44>>2]*oe+ +p[t+60>>2];t=w+48|0;B=w|0;do{B=B+16|0}while((B|0)!=(t|0));t=w;r[t>>2]=r[C>>2];r[t+4>>2]=r[C+4>>2];r[t+8>>2]=r[C+8>>2];r[t+12>>2]=r[C+12>>2];C=w+16|0;B=_+16|0;r[C>>2]=r[B>>2];r[C+4>>2]=r[B+4>>2];r[C+8>>2]=r[B+8>>2];r[C+12>>2]=r[B+12>>2];B=w+32|0;q=_+32|0;r[B>>2]=r[q>>2];r[B+4>>2]=r[q+4>>2];r[B+8>>2]=r[q+8>>2];r[B+12>>2]=r[q+12>>2];p[w+48>>2]=me;p[w+52>>2]=ue;p[w+56>>2]=ve;p[w+60>>2]=0.0;r[W>>2]=r[t>>2];r[W+4>>2]=r[t+4>>2];r[W+8>>2]=r[t+8>>2];r[W+12>>2]=r[t+12>>2];r[H>>2]=r[C>>2];r[H+4>>2]=r[C+4>>2];r[H+8>>2]=r[C+8>>2];r[H+12>>2]=r[C+12>>2];r[G>>2]=r[B>>2];r[G+4>>2]=r[B+4>>2];r[G+8>>2]=r[B+8>>2];r[G+12>>2]=r[B+12>>2];B=K;G=w+48|0;r[B>>2]=r[G>>2];r[B+4>>2]=r[G+4>>2];r[B+8>>2]=r[G+8>>2];r[B+12>>2]=r[G+12>>2]}G=A;B=K;r[G>>2]=r[B>>2];r[G+4>>2]=r[B+4>>2];r[G+8>>2]=r[B+8>>2];r[G+12>>2]=r[B+12>>2];p[F>>2]=+p[ie>>2];p[F+4>>2]=+p[a>>2];p[F+8>>2]=+p[h>>2];p[F+12>>2]=0.0;p[R>>2]=+p[J>>2];p[R+4>>2]=+p[s>>2];p[R+8>>2]=+p[L>>2];p[R+12>>2]=0.0;L=Knt[r[(r[ee>>2]|0)+16>>2]&4095]($)|0;$=r[(r[L>>2]|0)+60>>2]|0;vBe(I|0,0,16);ert[$&63](L,A,F,R,ne,ne,-0.0-fe-se,se-fe,I,1,10.0);d=i;return};default:{d=i;return}}}function bme(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0.0,l=0.0,d=0;t=e+204|0;i=r[t>>2]|0;if((i|0)<=0){return}n=e+212|0;e=0;_=i;while(1){i=r[(r[n>>2]|0)+(e<<2)>>2]|0;o=r[i+216>>2]|0;do{if((o|0)==5|(o|0)==2){s=_}else{if((r[i+204>>2]&3|0)!=0){s=_;break}a=+p[i+360>>2]*+p[i+344>>2];l=+p[i+364>>2]*+p[i+348>>2];d=i+404|0;p[d>>2]=+p[i+356>>2]*+p[i+340>>2]+ +p[d>>2];d=i+408|0;p[d>>2]=a+ +p[d>>2];d=i+412|0;p[d>>2]=l+ +p[d>>2];s=r[t>>2]|0}}while(0);i=e+1|0;if((i|0)<(s|0)){e=i;_=s}else{break}}return}function ume(e){e=e|0;var t=0,i=0;t=e+204|0;if((r[t>>2]|0)<=0){return}i=e+212|0;e=0;do{vBe((r[(r[i>>2]|0)+(e<<2)>>2]|0)+404|0,0,32);e=e+1|0}while((e|0)<(r[t>>2]|0));return}function mme(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0;t=d;d=d+144|0;i=t|0;_=t+16|0;o=t+80|0;sBe(17984);do{if((n[e+242|0]&1)==0){s=e+204|0;a=r[s>>2]|0;if((a|0)<=0){break}l=e+212|0;c=e+236|0;b=0;u=a;while(1){a=r[(r[l>>2]|0)+(b<<2)>>2]|0;m=r[a+216>>2]|0;do{if((m|0)==5|(m|0)==2){h=u}else{f=a+472|0;if((r[f>>2]|0)==0){h=u;break}if((r[a+204>>2]&3|0)!=0){h=u;break}jue(a+68|0,+p[a+132>>2],+p[a+136>>2],+p[a+140>>2],a+148|0,+p[c>>2]*+p[a+240>>2],o);g=r[f>>2]|0;Znt[r[(r[g>>2]|0)+12>>2]&2047](g,o);h=r[s>>2]|0}}while(0);a=b+1|0;if((a|0)<(h|0)){b=a;u=h}else{break}}}else{u=e+8|0;b=r[u>>2]|0;if((b|0)<=0){break}s=e+16|0;c=e+236|0;l=0;a=b;while(1){b=r[(r[s>>2]|0)+(l<<2)>>2]|0;do{if((r[b+232>>2]&2|0)==0|(b|0)==0){C=a}else{m=b+472|0;if((r[m>>2]|0)==0){C=a;break}if((r[b+204>>2]&3|0)!=0){C=a;break}jue(b+68|0,+p[b+132>>2],+p[b+136>>2],+p[b+140>>2],b+148|0,+p[c>>2]*+p[b+240>>2],_);g=r[m>>2]|0;Znt[r[(r[g>>2]|0)+12>>2]&2047](g,_);C=r[u>>2]|0}}while(0);b=l+1|0;if((b|0)<(C|0)){l=b;a=C}else{break}}}}while(0);C=r[9152]|0;_=C+16|0;e=(r[_>>2]|0)-1|0;r[_>>2]=e;if((e|0)!=0){d=t;return}do{if((r[C+4>>2]|0)==0){S=C}else{hi(i|0,0)|0;e=r[10742]|0;h=C+8|0;p[h>>2]=+(((r[i+4>>2]|0)-(r[e+4>>2]|0)+(((r[i>>2]|0)-(r[e>>2]|0)|0)*1e6|0)-(r[C+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[h>>2];if((r[_>>2]|0)==0){S=r[9152]|0;break}else{d=t;return}}}while(0);r[9152]=r[S+20>>2];d=t;return}function hme(e,t,i,_){e=e|0;t=+t;i=i|0;_=+_;var o=0,s=0,a=0,l=0,c=0,b=0.0,u=0,m=0.0,h=0,f=0;o=d;d=d+16|0;s=o|0;tBe();sBe(17464);a=e+236|0;do{if((i|0)==0){p[a>>2]=t;l=+H(+t)>=1.1920928955078125e-7|0;c=l;b=t;u=l}else{m=+p[a>>2]+t;p[a>>2]=m;if(m<_){c=i;b=_;u=0;break}l=~~(m/_);p[a>>2]=m-+(l|0)*_;c=i;b=_;u=l}}while(0);i=e|0;a=e;if((Knt[r[(r[a>>2]|0)+16>>2]&4095](i)|0)!=0){l=Knt[r[(r[a>>2]|0)+16>>2]&4095](i)|0;n[39240]=(Knt[r[(r[l>>2]|0)+48>>2]&4095](l)|0)>>>4&1}do{if((u|0)==0){jnt[r[(r[e>>2]|0)+76>>2]&2047](e)}else{l=(u|0)>(c|0)?c:u;i=e;Wnt[r[(r[i>>2]|0)+160>>2]&1023](e,b*+(l|0));a=e;jnt[r[(r[a>>2]|0)+164>>2]&2047](e);if((l|0)>0){h=0}else{break}do{Wnt[r[(r[i>>2]|0)+156>>2]&1023](e,b);jnt[r[(r[a>>2]|0)+76>>2]&2047](e);h=h+1|0}while((h|0)<(l|0))}}while(0);jnt[r[(r[e>>2]|0)+116>>2]&2047](e);r[10736]=(r[10736]|0)+1;e=r[9152]|0;h=e+16|0;c=(r[h>>2]|0)-1|0;r[h>>2]=c;if((c|0)!=0){d=o;return u|0}do{if((r[e+4>>2]|0)==0){f=e}else{hi(s|0,0)|0;c=r[10742]|0;l=e+8|0;p[l>>2]=+(((r[s+4>>2]|0)-(r[c+4>>2]|0)+(((r[s>>2]|0)-(r[c>>2]|0)|0)*1e6|0)-(r[e+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[l>>2];if((r[h>>2]|0)==0){f=r[9152]|0;break}else{d=o;return u|0}}}while(0);r[9152]=r[f+20>>2];d=o;return u|0}function fme(e,t){e=e|0;t=+t;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0,T=0,D=0,P=0;i=d;d=d+8|0;_=i|0;sBe(16648);o=e+204|0;if((r[o>>2]|0)>0){s=e+212|0;e=(n[39240]&1)==0;a=0;do{l=r[(r[s>>2]|0)+(a<<2)>>2]|0;e:do{if((l|0)!=0){c=l+216|0;b=r[c>>2]|0;t:do{if((b|0)==2|(b|0)==4){u=b;m=2712}else{h=+p[l+304>>2];f=+p[l+308>>2];g=+p[l+312>>2];C=+p[l+464>>2];do{if(h*h+f*f+g*g<C*C){S=+p[l+320>>2];y=+p[l+324>>2];v=+p[l+328>>2];x=+p[l+468>>2];if(S*S+y*y+v*v>=x*x){break}M=l+220|0;p[M>>2]=+p[M>>2]+t;u=b;m=2712;break t}}while(0);p[l+220>>2]=0.0;if((b-4|0)>>>0<2){u=b;m=2712;break}r[c>>2]=0;T=0}}while(0);if((m|0)==2712){m=0;if((u|0)==4){break}else{T=u}}do{if(e){if((T-2|0)>>>0>=2){if(+p[l+220>>2]<=2.0){break}}if((r[l+204>>2]&3|0)!=0){if((T-4|0)>>>0<2){break e}r[c>>2]=2;break e}if((T|0)==1){r[c>>2]=3;break e}else{D=T}if((D|0)!=2){break e}vBe(l+304|0,0,32);break e}}while(0);if((T-4|0)>>>0<2){break}r[c>>2]=1}}while(0);a=a+1|0}while((a|0)<(r[o>>2]|0))}o=r[9152]|0;a=o+16|0;T=(r[a>>2]|0)-1|0;r[a>>2]=T;if((T|0)!=0){d=i;return}do{if((r[o+4>>2]|0)==0){P=o}else{hi(_|0,0)|0;T=r[10742]|0;D=o+8|0;p[D>>2]=+(((r[_+4>>2]|0)-(r[T+4>>2]|0)+(((r[_>>2]|0)-(r[T>>2]|0)|0)*1e6|0)-(r[o+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[D>>2];if((r[a>>2]|0)==0){P=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[P+20>>2];d=i;return}function gme(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0.0,u=0.0,m=0.0,h=0;i=e+220|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];i=e+204|0;_=r[i>>2]|0;if((_|0)<=0){return}o=e+212|0;e=t|0;s=t+4|0;a=t+8|0;t=0;l=_;while(1){_=r[(r[o>>2]|0)+(t<<2)>>2]|0;d=r[_+216>>2]|0;do{if((d|0)==5|(d|0)==2){c=l}else{if((r[_+496>>2]&1|0)!=0){c=l;break}b=+p[_+336>>2];if(b!=0.0){u=1.0/b;b=u*+p[s>>2];m=u*+p[a>>2];p[_+356>>2]=u*+p[e>>2];p[_+360>>2]=b;p[_+364>>2]=m;p[_+368>>2]=0.0}h=_+372|0;r[h>>2]=r[n>>2];r[h+4>>2]=r[n+4>>2];r[h+8>>2]=r[n+8>>2];r[h+12>>2]=r[n+12>>2];c=r[i>>2]|0}}while(0);_=t+1|0;if((_|0)<(c|0)){t=_;l=c}else{break}}return}function Cme(e,t){e=e|0;t=t|0;var i=0;i=e;e=t+220|0;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Sme(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;wye(e|0,t,i,n);return}function yme(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0;if(!((r[t+232>>2]&2|0)==0|(t|0)==0)){Znt[r[(r[e>>2]|0)+88>>2]&2047](e,t);return}i=t+188|0;n=r[i>>2]|0;if((n|0)!=0){_=e+76|0;o=r[_>>2]|0;s=Knt[r[(r[o>>2]|0)+36>>2]&4095](o)|0;o=e+24|0;srt[r[(r[s>>2]|0)+40>>2]&511](s,n,r[o>>2]|0);s=r[_>>2]|0;srt[r[(r[s>>2]|0)+12>>2]&511](s,n,r[o>>2]|0);r[i>>2]=0}i=e+8|0;o=r[i>>2]|0;n=e+16|0;e=0;while(1){if((e|0)>=(o|0)){a=2759;break}p=r[n>>2]|0;l=p+(e<<2)|0;if((r[l>>2]|0)==(t|0)){break}else{e=e+1|0}}if((a|0)==2759){return}a=o-1|0;r[l>>2]=r[p+(a<<2)>>2];r[(r[n>>2]|0)+(a<<2)>>2]=t;r[i>>2]=(r[i>>2]|0)-1;return}function vme(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0;i=e+204|0;n=r[i>>2]|0;_=e+212|0;o=0;while(1){if((o|0)>=(n|0)){break}s=r[_>>2]|0;a=s+(o<<2)|0;if((r[a>>2]|0)==(t|0)){p=2763;break}else{o=o+1|0}}if((p|0)==2763){o=n-1|0;r[a>>2]=r[s+(o<<2)>>2];r[(r[_>>2]|0)+(o<<2)>>2]=t;r[i>>2]=(r[i>>2]|0)-1}i=t|0;o=t+188|0;t=r[o>>2]|0;if((t|0)!=0){_=e+76|0;s=r[_>>2]|0;a=Knt[r[(r[s>>2]|0)+36>>2]&4095](s)|0;s=e+24|0;srt[r[(r[a>>2]|0)+40>>2]&511](a,t,r[s>>2]|0);a=r[_>>2]|0;srt[r[(r[a>>2]|0)+12>>2]&511](a,t,r[s>>2]|0);r[o>>2]=0}o=e+8|0;s=r[o>>2]|0;t=e+16|0;e=0;while(1){if((e|0)>=(s|0)){p=2772;break}l=r[t>>2]|0;d=l+(e<<2)|0;if((r[d>>2]|0)==(i|0)){break}else{e=e+1|0}}if((p|0)==2772){return}p=s-1|0;r[d>>2]=r[l+(p<<2)>>2];r[(r[t>>2]|0)+(p<<2)>>2]=i;r[o>>2]=(r[o>>2]|0)-1;return}function xme(e,t){e=e|0;t=+t;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;i=d;d=d+32|0;_=i|0;o=i+8|0;sBe(17080);s=e|0;a=r[e+92>>2]|0;if((a|0)!=0){Wnt[a&1023](s,t)}a=e;Wnt[r[(r[a>>2]|0)+136>>2]&1023](e,t);l=e|0;p[e+28>>2]=t;r[e+32>>2]=0;r[e+48>>2]=Knt[r[(r[e>>2]|0)+16>>2]&4095](l)|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](l);if((n[e+44|0]&1)!=0){Wnt[r[(r[a>>2]|0)+144>>2]&1023](e,t)}jnt[r[(r[e>>2]|0)+148>>2]&2047](e);p[e+112>>2]=t;Znt[r[(r[e>>2]|0)+152>>2]&2047](e,e+100|0);Wnt[r[(r[a>>2]|0)+140>>2]&1023](e,t);sBe(16856);a=e+248|0;if((r[a>>2]|0)>0){c=e+256|0;b=0;do{u=r[(r[c>>2]|0)+(b<<2)>>2]|0;crt[r[(r[u>>2]|0)+8>>2]&255](u,l,t);b=b+1|0}while((b|0)<(r[a>>2]|0))}a=r[9152]|0;b=a+16|0;l=(r[b>>2]|0)-1|0;r[b>>2]=l;do{if((l|0)==0){if((r[a+4>>2]|0)==0){m=a}else{hi(o|0,0)|0;c=r[10742]|0;u=a+8|0;p[u>>2]=+(((r[o+4>>2]|0)-(r[c+4>>2]|0)+(((r[o>>2]|0)-(r[c>>2]|0)|0)*1e6|0)-(r[a+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[u>>2];if((r[b>>2]|0)!=0){break}m=r[9152]|0}r[9152]=r[m+20>>2]}}while(0);fme(e,t);m=r[e+88>>2]|0;if((m|0)!=0){Wnt[m&1023](s,t)}s=r[9152]|0;m=s+16|0;e=(r[m>>2]|0)-1|0;r[m>>2]=e;if((e|0)!=0){d=i;return}do{if((r[s+4>>2]|0)==0){h=s}else{hi(_|0,0)|0;e=r[10742]|0;b=s+8|0;p[b>>2]=+(((r[_+4>>2]|0)-(r[e+4>>2]|0)+(((r[_>>2]|0)-(r[e>>2]|0)|0)*1e6|0)-(r[s+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[b>>2];if((r[m>>2]|0)==0){h=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[h+20>>2];d=i;return}function Mme(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0;i=e+184|0;n=r[i>>2]|0;_=e+192|0;e=0;while(1){if((e|0)>=(n|0)){break}o=r[_>>2]|0;s=o+(e<<2)|0;if((r[s>>2]|0)==(t|0)){a=2825;break}else{e=e+1|0}}if((a|0)==2825){e=n-1|0;r[s>>2]=r[o+(e<<2)>>2];r[(r[_>>2]|0)+(e<<2)>>2]=t;r[i>>2]=(r[i>>2]|0)-1}i=r[t+24>>2]|0;e=i+480|0;_=r[e>>2]|0;o=i+488|0;s=0;while(1){if((s|0)>=(_|0)){p=_;break}l=r[o>>2]|0;d=l+(s<<2)|0;if((r[d>>2]|0)==(t|0)){a=2829;break}else{s=s+1|0}}if((a|0)==2829){s=_-1|0;r[d>>2]=r[l+(s<<2)>>2];r[(r[o>>2]|0)+(s<<2)>>2]=t;s=(r[e>>2]|0)-1|0;r[e>>2]=s;p=s}r[i+252>>2]=(p|0)>0;p=r[t+28>>2]|0;i=p+480|0;s=r[i>>2]|0;e=p+488|0;o=0;while(1){if((o|0)>=(s|0)){c=s;a=2835;break}b=r[e>>2]|0;u=b+(o<<2)|0;if((r[u>>2]|0)==(t|0)){break}else{o=o+1|0}}if((a|0)==2835){m=(c|0)>0;h=m&1;f=p+252|0;r[f>>2]=h;return}a=s-1|0;r[u>>2]=r[b+(a<<2)>>2];r[(r[e>>2]|0)+(a<<2)>>2]=t;t=(r[i>>2]|0)-1|0;r[i>>2]=t;c=t;m=(c|0)>0;h=m&1;f=p+252|0;r[f>>2]=h;return}function Tme(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0;i=e+248|0;n=r[i>>2]|0;_=e+256|0;e=0;while(1){if((e|0)>=(n|0)){o=2843;break}s=r[_>>2]|0;a=s+(e<<2)|0;if((r[a>>2]|0)==(t|0)){break}else{e=e+1|0}}if((o|0)==2843){return}o=n-1|0;r[a>>2]=r[s+(o<<2)>>2];r[(r[_>>2]|0)+(o<<2)>>2]=t;r[i>>2]=(r[i>>2]|0)-1;return}function Dme(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0.0,l=0.0,d=0.0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;i=t|0;_=t+204|0;o=r[_>>2]|0;do{if((o&3|0)==0){if((r[t+496>>2]&1|0)!=0){break}s=e+220|0;a=+p[t+336>>2];if(a!=0.0){l=1.0/a;a=l*+p[e+224>>2];d=l*+p[e+228>>2];p[t+356>>2]=l*+p[s>>2];p[t+360>>2]=a;p[t+364>>2]=d;p[t+368>>2]=0.0}c=t+372|0;b=s;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2]}}while(0);if((r[t+192>>2]|0)==0){return}do{if((o&1|0)==0){b=e+204|0;c=r[b>>2]|0;s=e+208|0;do{if((c|0)==(r[s>>2]|0)){u=(c|0)==0?1:c<<1;if((c|0)>=(u|0)){m=c;break}if((u|0)==0){h=0;f=c}else{r[9806]=(r[9806]|0)+1;g=hBe((u<<2)+19|0)|0;if((g|0)==0){C=0}else{S=-(g+4|0)&15;r[g+S>>2]=g;C=g+(S+4)|0}h=C;f=r[b>>2]|0}S=e+212|0;if((f|0)>0){g=0;do{y=h+(g<<2)|0;if((y|0)!=0){r[y>>2]=r[(r[S>>2]|0)+(g<<2)>>2]}g=g+1|0}while((g|0)<(f|0))}g=r[S>>2]|0;y=e+216|0;if((g|0)!=0){if((n[y]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[g-4>>2]|0)}r[S>>2]=0}n[y]=1;r[S>>2]=h;r[s>>2]=u;m=r[b>>2]|0}else{m=c}}while(0);c=(r[e+212>>2]|0)+(m<<2)|0;if((c|0)==0){v=m}else{r[c>>2]=t;v=r[b>>2]|0}r[b>>2]=v+1;x=r[_>>2]|0}else{c=t+216|0;if(((r[c>>2]|0)-4|0)>>>0<2){x=o;break}r[c>>2]=2;x=o}}while(0);if((x&1|0)==0){M=(x&2|0)==0}else{M=0}mrt[r[(r[e>>2]|0)+32>>2]&1023](e,i,M?1:2,M?-1:-3);return}function Pme(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0.0,d=0.0,c=0.0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0;o=t|0;s=r[t+204>>2]|0;do{if((s&3|0)==0){if((r[t+496>>2]&1|0)!=0){break}a=e+220|0;l=+p[t+336>>2];if(l!=0.0){d=1.0/l;l=d*+p[e+224>>2];c=d*+p[e+228>>2];p[t+356>>2]=d*+p[a>>2];p[t+360>>2]=l;p[t+364>>2]=c;p[t+368>>2]=0.0}b=t+372|0;u=a;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2]}}while(0);if((r[t+192>>2]|0)==0){return}do{if((s&1|0)==0){u=e+204|0;b=r[u>>2]|0;a=e+208|0;do{if((b|0)==(r[a>>2]|0)){m=(b|0)==0?1:b<<1;if((b|0)>=(m|0)){h=b;break}if((m|0)==0){f=0;g=b}else{r[9806]=(r[9806]|0)+1;C=hBe((m<<2)+19|0)|0;if((C|0)==0){S=0}else{y=-(C+4|0)&15;r[C+y>>2]=C;S=C+(y+4)|0}f=S;g=r[u>>2]|0}y=e+212|0;if((g|0)>0){C=0;do{v=f+(C<<2)|0;if((v|0)!=0){r[v>>2]=r[(r[y>>2]|0)+(C<<2)>>2]}C=C+1|0}while((C|0)<(g|0))}C=r[y>>2]|0;v=e+216|0;if((C|0)!=0){if((n[v]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[C-4>>2]|0)}r[y>>2]=0}n[v]=1;r[y>>2]=f;r[a>>2]=m;h=r[u>>2]|0}else{h=b}}while(0);b=(r[e+212>>2]|0)+(h<<2)|0;if((b|0)==0){x=h}else{r[b>>2]=t;x=r[u>>2]|0}r[u>>2]=x+1}else{b=t+216|0;if(((r[b>>2]|0)-4|0)>>>0<2){break}r[b>>2]=2}}while(0);mrt[r[(r[e>>2]|0)+32>>2]&1023](e,o,i,_);return}function wme(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;_=e+184|0;o=r[_>>2]|0;s=e+188|0;do{if((o|0)==(r[s>>2]|0)){a=(o|0)==0?1:o<<1;if((o|0)>=(a|0)){p=o;break}if((a|0)==0){l=0;d=o}else{r[9806]=(r[9806]|0)+1;c=hBe((a<<2)+19|0)|0;if((c|0)==0){b=0}else{u=-(c+4|0)&15;r[c+u>>2]=c;b=c+(u+4)|0}l=b;d=r[_>>2]|0}u=e+192|0;if((d|0)>0){c=0;do{m=l+(c<<2)|0;if((m|0)!=0){r[m>>2]=r[(r[u>>2]|0)+(c<<2)>>2]}c=c+1|0}while((c|0)<(d|0))}c=r[u>>2]|0;m=e+196|0;if((c|0)!=0){if((n[m]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-4>>2]|0)}r[u>>2]=0}n[m]=1;r[u>>2]=l;r[s>>2]=a;p=r[_>>2]|0}else{p=o}}while(0);o=(r[e+192>>2]|0)+(p<<2)|0;if((o|0)==0){h=p}else{r[o>>2]=t;h=r[_>>2]|0}r[_>>2]=h+1;if(!i){return}yfe(r[t+24>>2]|0,t);yfe(r[t+28>>2]|0,t);return}function Ame(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;i=e+248|0;_=r[i>>2]|0;o=e+252|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[i>>2]|0}b=e+256|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=e+260|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[i>>2]|0}else{a=_}}while(0);_=(r[e+256>>2]|0)+(a<<2)|0;if((_|0)==0){m=a;h=m+1|0;r[i>>2]=h;return}r[_>>2]=t;m=r[i>>2]|0;h=m+1|0;r[i>>2]=h;return}function Fme(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function Rme(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e,t);return}function Ime(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+60>>2]&2047](e,t);return}function Bme(e,t){e=e|0;t=t|0;Znt[r[(r[e>>2]|0)+64>>2]&2047](e,t);return}function Vme(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0;i=d;d=d+176|0;_=i+8|0;o=i+16|0;s=i+32|0;a=i+48|0;l=i+56|0;c=i+80|0;sBe(16528);b=l+16|0;n[b]=1;u=l+12|0;r[u>>2]=0;m=l+4|0;r[m>>2]=0;h=l+8|0;r[h>>2]=0;f=r[e+184>>2]|0;e:do{if((f|0)>0){r[9806]=(r[9806]|0)+1;g=hBe((f<<2)+19|0)|0;if((g|0)==0){C=0}else{S=-(g+4|0)&15;r[g+S>>2]=g;C=g+(S+4)|0}S=r[m>>2]|0;if((S|0)>0){g=0;do{y=C+(g<<2)|0;if((y|0)!=0){r[y>>2]=r[(r[u>>2]|0)+(g<<2)>>2]}g=g+1|0}while((g|0)<(S|0))}S=r[u>>2]|0;if((S|0)!=0){if((n[b]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[S-4>>2]|0)}r[u>>2]=0}n[b]=1;r[u>>2]=C;r[h>>2]=f;S=0;g=C;while(1){y=g+(S<<2)|0;if((y|0)!=0){r[y>>2]=0}y=S+1|0;if((y|0)>=(f|0)){break e}S=y;g=r[u>>2]|0}}}while(0);r[m>>2]=f;f=e;C=e+192|0;g=0;while(1){if((g|0)>=(Knt[r[(r[f>>2]|0)+100>>2]&4095](e)|0)){break}r[(r[u>>2]|0)+(g<<2)>>2]=r[(r[C>>2]|0)+(g<<2)>>2];g=g+1|0}g=r[m>>2]|0;if((g|0)>1){Qme(l,0,g-1|0)}g=(Knt[r[(r[f>>2]|0)+100>>2]&4095](e)|0)==0;f=g?0:r[u>>2]|0;g=e+172|0;l=r[g>>2]|0;C=r[m>>2]|0;S=e+80|0;y=r[S>>2]|0;v=e+72|0;x=r[v>>2]|0;M=e+24|0;T=r[M>>2]|0;r[c>>2]=18656;r[c+4>>2]=t;r[c+8>>2]=l;r[c+12>>2]=f;r[c+16>>2]=C;r[c+20>>2]=y;r[c+24>>2]=x;r[c+28>>2]=T;n[c+48|0]=1;r[c+44>>2]=0;r[c+36>>2]=0;r[c+40>>2]=0;n[c+68|0]=1;r[c+64>>2]=0;r[c+56>>2]=0;r[c+60>>2]=0;n[c+88|0]=1;r[c+84>>2]=0;r[c+76>>2]=0;r[c+80>>2]=0;x=r[(r[l>>2]|0)+8>>2]|0;y=e+8|0;C=r[y>>2]|0;f=Knt[r[(r[T>>2]|0)+36>>2]&4095](T)|0;srt[x&511](l,C,f);f=r[e+176>>2]|0;C=r[M>>2]|0;M=c|0;sBe(16320);l=f+28|0;x=r[l>>2]|0;if((x|0)<0){T=f+32|0;D=f+36|0;if((r[T>>2]|0)<0){P=r[D>>2]|0;w=f+40|0;if((P|0)!=0){if((n[w]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[P-4>>2]|0)}r[D>>2]=0}n[w]=1;r[D>>2]=0;r[T>>2]=0;A=x}else{A=x}do{x=(r[D>>2]|0)+(A<<2)|0;if((x|0)!=0){r[x>>2]=0}A=A+1|0}while((A|0)<0)}r[l>>2]=0;A=f+4|0;D=f+8|0;x=r[D>>2]|0;do{if((x|0)>0){T=f+16|0;w=0;do{P=r[T>>2]|0;F=P+(w<<3)|0;R=r[F>>2]|0;if((R|0)==(w|0)){I=w;B=P}else{V=P;P=F;F=R;while(1){R=V+(F<<3)|0;r[P>>2]=r[R>>2];E=r[R>>2]|0;R=r[T>>2]|0;N=R+(E<<3)|0;k=r[N>>2]|0;if((E|0)==(k|0)){I=E;B=R;break}else{V=R;P=N;F=k}}}r[B+(w<<3)>>2]=I;w=w+1|0}while((w|0)<(x|0));w=r[D>>2]|0;T=a|0;if((w|0)>1){vRe(A,0,w-1|0);O=T;L=r[D>>2]|0}else{O=T;L=w}if((L|0)<=0){break}w=f+16|0;T=e+16|0;F=0;while(1){P=r[w>>2]|0;V=r[P+(F<<3)>>2]|0;k=F;do{k=k+1|0;U=(k|0)<(L|0);if(!U){break}}while((r[P+(k<<3)>>2]|0)==(V|0));e:do{if((F|0)<(k|0)){N=r[T>>2]|0;R=F;E=1;while(1){G=r[N+(r[P+(R<<3)+4>>2]<<2)>>2]|0;if((r[G+208>>2]|0)==(V|0)){W=r[G+216>>2]|0;z=E&(W|0)!=1&(W|0)!=4}else{z=E}W=R+1|0;if((W|0)<(k|0)){R=W;E=z}else{break}}if(z){E=F;R=P;W=N;while(1){G=r[W+(r[R+(E<<3)+4>>2]<<2)>>2]|0;do{if((r[G+208>>2]|0)==(V|0)){H=G+216|0;if(((r[H>>2]|0)-4|0)>>>0<2){break}r[H>>2]=2}}while(0);G=E+1|0;if((G|0)>=(k|0)){break e}E=G;R=r[w>>2]|0;W=r[T>>2]|0}}else{W=F;R=P;E=N;while(1){G=r[E+(r[R+(W<<3)+4>>2]<<2)>>2]|0;do{if((r[G+208>>2]|0)==(V|0)){H=G+216|0;if((r[H>>2]|0)!=2){break}r[H>>2]=3;p[G+220>>2]=0.0}}while(0);G=W+1|0;if((G|0)>=(k|0)){break e}W=G;R=r[w>>2]|0;E=r[T>>2]|0}}}}while(0);if(U){F=k}else{break}}}else{}}while(0);U=C;z=Knt[r[(r[U>>2]|0)+36>>2]&4095](C)|0;if((z|0)>0){L=C;O=f+64|0;A=C;a=f+32|0;x=f+36|0;I=f+40|0;B=0;do{F=j_t[r[(r[L>>2]|0)+40>>2]&511](C,B)|0;T=r[F+1108>>2]|0;w=T;V=r[F+1112>>2]|0;P=V;if((T|0)==0){j=3037}else{if((r[T+216>>2]|0)==2){j=3037}else{j=3039}}do{if((j|0)==3037){j=0;if((V|0)==0){break}if((r[V+216>>2]|0)!=2){j=3039}}}while(0);do{if((j|0)==3039){j=0;E=T+204|0;do{if((r[E>>2]&2|0)!=0){if((r[T+216>>2]|0)==2){break}if((r[V+204>>2]&3|0)!=0){break}R=V+216|0;if(((r[R>>2]|0)-4|0)>>>0>=2){r[R>>2]=1}p[V+220>>2]=0.0}}while(0);do{if((r[V+204>>2]&2|0)!=0){if((r[V+216>>2]|0)==2){break}if((r[E>>2]&3|0)!=0){break}k=T+216|0;if(((r[k>>2]|0)-4|0)>>>0>=2){r[k>>2]=1}p[T+220>>2]=0.0}}while(0);if((n[O]&1)==0){break}if(!(h_t[r[(r[A>>2]|0)+28>>2]&511](C,w,P)|0)){break}E=r[l>>2]|0;do{if((E|0)==(r[a>>2]|0)){k=(E|0)==0?1:E<<1;if((E|0)>=(k|0)){X=E;break}if((k|0)==0){Z=0;Q=E}else{r[9806]=(r[9806]|0)+1;R=hBe((k<<2)+19|0)|0;if((R|0)==0){q=0}else{W=-(R+4|0)&15;r[R+W>>2]=R;q=R+(W+4)|0}Z=q;Q=r[l>>2]|0}if((Q|0)>0){W=0;do{R=Z+(W<<2)|0;if((R|0)!=0){r[R>>2]=r[(r[x>>2]|0)+(W<<2)>>2]}W=W+1|0}while((W|0)<(Q|0))}W=r[x>>2]|0;if((W|0)!=0){if((n[I]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[W-4>>2]|0)}r[x>>2]=0}n[I]=1;r[x>>2]=Z;r[a>>2]=k;X=r[l>>2]|0}else{X=E}}while(0);E=(r[x>>2]|0)+(X<<2)|0;if((E|0)==0){Y=X}else{r[E>>2]=F;Y=r[l>>2]|0}r[l>>2]=Y+1}}while(0);B=B+1|0}while((B|0)<(z|0))}z=r[9152]|0;B=z+16|0;Y=(r[B>>2]|0)-1|0;r[B>>2]=Y;do{if((Y|0)==0){if((r[z+4>>2]|0)==0){J=z}else{hi(s|0,0)|0;X=r[10742]|0;x=z+8|0;p[x>>2]=+(((r[s+4>>2]|0)-(r[X+4>>2]|0)+(((r[s>>2]|0)-(r[X>>2]|0)|0)*1e6|0)-(r[z+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[x>>2];if((r[B>>2]|0)!=0){break}J=r[9152]|0}r[9152]=r[J+20>>2]}}while(0);J=r[D>>2]|0;sBe(17616);do{if((n[f+64|0]&1)==0){D=Knt[r[(r[C>>2]|0)+44>>2]&4095](C)|0;B=Knt[r[(r[U>>2]|0)+36>>2]&4095](C)|0;M_t[r[(r[c>>2]|0)+8>>2]&127](M,r[e+16>>2]|0,r[y>>2]|0,D,B,-1)}else{B=r[l>>2]|0;if((B|0)>1){RAe(f+24|0,0,B-1|0)}if((J|0)<=0){break}D=f+16|0;z=f+36|0;s=f+48|0;Y=f+52|0;x=f+56|0;X=f+60|0;a=c;Z=e+16|0;I=1;Q=0;q=0;while(1){A=r[D>>2]|0;O=r[A+(q<<3)>>2]|0;e:do{if((q|0)<(J|0)){j=1;L=q;F=A;P=O;while(1){if((P|0)!=(O|0)){K=j;$=L;break e}w=r[(r[Z>>2]|0)+(r[F+(L<<3)+4>>2]<<2)>>2]|0;T=r[s>>2]|0;do{if((T|0)==(r[Y>>2]|0)){V=(T|0)==0?1:T<<1;if((T|0)>=(V|0)){ee=T;break}if((V|0)==0){te=0;ie=T}else{r[9806]=(r[9806]|0)+1;E=hBe((V<<2)+19|0)|0;if((E|0)==0){ne=0}else{W=-(E+4|0)&15;r[E+W>>2]=E;ne=E+(W+4)|0}te=ne;ie=r[s>>2]|0}if((ie|0)>0){W=0;do{E=te+(W<<2)|0;if((E|0)!=0){r[E>>2]=r[(r[x>>2]|0)+(W<<2)>>2]}W=W+1|0}while((W|0)<(ie|0))}W=r[x>>2]|0;if((W|0)!=0){if((n[X]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[W-4>>2]|0)}r[x>>2]=0}n[X]=1;r[x>>2]=te;r[Y>>2]=V;ee=r[s>>2]|0}else{ee=T}}while(0);T=(r[x>>2]|0)+(ee<<2)|0;if((T|0)==0){_e=ee}else{r[T>>2]=w;_e=r[s>>2]|0}r[s>>2]=_e+1;T=r[w+216>>2]|0;W=j&((T|0)==2|(T|0)==5);T=L+1|0;if((T|0)>=(J|0)){K=W;$=T;break e}E=r[D>>2]|0;j=W;L=T;F=E;P=r[E+(T<<3)>>2]|0}}else{K=1;$=q}}while(0);do{if((Q|0)<(B|0)){A=r[z>>2]|0;P=A+(Q<<2)|0;F=r[P>>2]|0;L=r[(r[F+1108>>2]|0)+208>>2]|0;if((L|0)>-1){re=L}else{re=r[(r[F+1112>>2]|0)+208>>2]|0}if((re|0)==(O|0)){oe=Q}else{se=0;ae=0;pe=I;break}do{oe=oe+1|0;if((oe|0)>=(B|0)){break}F=r[A+(oe<<2)>>2]|0;L=r[(r[F+1108>>2]|0)+208>>2]|0;if((L|0)>-1){le=L}else{le=r[(r[F+1112>>2]|0)+208>>2]|0}}while((O|0)==(le|0));se=P;ae=oe-Q|0;pe=oe}else{se=0;ae=0;pe=I}}while(0);if(!K){M_t[r[(r[a>>2]|0)+8>>2]&127](M,r[x>>2]|0,r[s>>2]|0,se,ae,O)}A=(ae|0)==0?Q:pe;F=r[s>>2]|0;if((F|0)<0){if((r[Y>>2]|0)<0){L=r[x>>2]|0;if((L|0)!=0){if((n[X]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[L-4>>2]|0)}r[x>>2]=0}n[X]=1;r[x>>2]=0;r[Y>>2]=0;de=F}else{de=F}do{F=(r[x>>2]|0)+(de<<2)|0;if((F|0)!=0){r[F>>2]=0}de=de+1|0}while((de|0)<0)}r[s>>2]=0;if(($|0)<(J|0)){I=pe;Q=A;q=$}else{break}}}}while(0);$=r[9152]|0;pe=$+16|0;J=(r[pe>>2]|0)-1|0;r[pe>>2]=J;do{if((J|0)==0){if((r[$+4>>2]|0)==0){ce=$}else{hi(o|0,0)|0;de=r[10742]|0;ae=$+8|0;p[ae>>2]=+(((r[o+4>>2]|0)-(r[de+4>>2]|0)+(((r[o>>2]|0)-(r[de>>2]|0)|0)*1e6|0)-(r[$+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[ae>>2];if((r[pe>>2]|0)!=0){break}ce=r[9152]|0}r[9152]=r[ce+20>>2]}}while(0);Eme(c);ce=r[g>>2]|0;mrt[r[(r[ce>>2]|0)+16>>2]&1023](ce,t,r[S>>2]|0,r[v>>2]|0);Kme(c);c=r[u>>2]|0;if((c|0)!=0){if((n[b]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-4>>2]|0)}r[u>>2]=0}n[b]=1;r[u>>2]=0;r[m>>2]=0;r[h>>2]=0;h=r[9152]|0;m=h+16|0;u=(r[m>>2]|0)-1|0;r[m>>2]=u;if((u|0)!=0){d=i;return}do{if((r[h+4>>2]|0)==0){be=h}else{hi(_|0,0)|0;u=r[10742]|0;b=h+8|0;p[b>>2]=+(((r[_+4>>2]|0)-(r[u+4>>2]|0)+(((r[_>>2]|0)-(r[u>>2]|0)|0)*1e6|0)-(r[h+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[b>>2];if((r[m>>2]|0)==0){be=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[be+20>>2];d=i;return}function Eme(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0;t=e+56|0;i=r[t>>2]|0;_=e+76|0;o=r[_>>2]|0;if((o+i|0)>0){s=r[e+8>>2]|0;a=r[(r[s>>2]|0)+12>>2]|0;p=r[e+44>>2]|0;l=e+36|0;d=r[l>>2]|0;c=r[e+64>>2]|0;b=r[e+84>>2]|0;u=r[e+4>>2]|0;m=r[e+20>>2]|0;h=r[e+24>>2]|0;f=r[e+28>>2]|0;+d_t[a&63](s,p,d,c,i,b,o,u,m,h,f);g=l}else{g=e+36|0}l=r[g>>2]|0;if((l|0)<0){f=e+40|0;h=e+44|0;if((r[f>>2]|0)<0){m=r[h>>2]|0;u=e+48|0;if((m|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-4>>2]|0)}r[h>>2]=0}n[u]=1;r[h>>2]=0;r[f>>2]=0;C=l}else{C=l}do{l=(r[h>>2]|0)+(C<<2)|0;if((l|0)!=0){r[l>>2]=0}C=C+1|0}while((C|0)<0)}r[g>>2]=0;g=r[t>>2]|0;if((g|0)<0){C=e+60|0;h=e+64|0;if((r[C>>2]|0)<0){l=r[h>>2]|0;f=e+68|0;if((l|0)!=0){if((n[f]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[l-4>>2]|0)}r[h>>2]=0}n[f]=1;r[h>>2]=0;r[C>>2]=0;S=g}else{S=g}do{g=(r[h>>2]|0)+(S<<2)|0;if((g|0)!=0){r[g>>2]=0}S=S+1|0}while((S|0)<0)}r[t>>2]=0;t=r[_>>2]|0;if((t|0)>=0){r[_>>2]=0;return}S=e+80|0;h=e+84|0;if((r[S>>2]|0)<0){g=r[h>>2]|0;C=e+88|0;if((g|0)!=0){if((n[C]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[g-4>>2]|0)}r[h>>2]=0}n[C]=1;r[h>>2]=0;r[S>>2]=0;y=t}else{y=t}do{t=(r[h>>2]|0)+(y<<2)|0;if((t|0)!=0){r[t>>2]=0}y=y+1|0}while((y|0)<0);r[_>>2]=0;return}function Nme(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0;t=d;d=d+16|0;i=t|0;sBe(16384);n=e+176|0;_=r[n>>2]|0;o=e|0;srt[r[(r[_>>2]|0)+8>>2]&511](_,o,r[e+24>>2]|0);_=r[e+184>>2]|0;if((_|0)>0){s=e+192|0;e=0;do{a=r[(r[s>>2]|0)+(e<<2)>>2]|0;l=r[a+24>>2]|0;c=r[a+28>>2]|0;do{if((l|0)!=0){if((r[l+204>>2]&3|0)!=0|(c|0)==0){break}if((r[c+204>>2]&3|0)!=0){break}a=r[l+216>>2]|0;if((a|0)==5|(a|0)==2){a=r[c+216>>2]|0;if((a|0)==5|(a|0)==2){break}}a=r[l+208>>2]|0;b=r[c+208>>2]|0;u=(r[n>>2]|0)+16|0;m=r[u>>2]|0;h=m+(a<<3)|0;f=r[h>>2]|0;if((f|0)==(a|0)){g=a;C=m}else{a=m;m=h;h=f;while(1){f=a+(h<<3)|0;r[m>>2]=r[f>>2];S=r[f>>2]|0;f=r[u>>2]|0;y=f+(S<<3)|0;v=r[y>>2]|0;if((S|0)==(v|0)){g=S;C=f;break}else{a=f;m=y;h=v}}}h=C+(b<<3)|0;m=r[h>>2]|0;if((m|0)==(b|0)){x=b;M=C}else{a=C;v=h;h=m;while(1){m=a+(h<<3)|0;r[v>>2]=r[m>>2];y=r[m>>2]|0;m=r[u>>2]|0;f=m+(y<<3)|0;S=r[f>>2]|0;if((y|0)==(S|0)){x=y;M=m;break}else{a=m;v=f;h=S}}}if((g|0)==(x|0)){break}r[M+(g<<3)>>2]=x;h=r[u>>2]|0;v=h+(x<<3)+4|0;r[v>>2]=(r[v>>2]|0)+(r[h+(g<<3)+4>>2]|0)}}while(0);e=e+1|0}while((e|0)<(_|0))}_=r[n>>2]|0;Znt[r[(r[_>>2]|0)+12>>2]&2047](_,o);o=r[9152]|0;_=o+16|0;n=(r[_>>2]|0)-1|0;r[_>>2]=n;if((n|0)!=0){d=t;return}do{if((r[o+4>>2]|0)==0){T=o}else{hi(i|0,0)|0;n=r[10742]|0;e=o+8|0;p[e>>2]=+(((r[i+4>>2]|0)-(r[n+4>>2]|0)+(((r[i>>2]|0)-(r[n>>2]|0)|0)*1e6|0)-(r[o+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[e>>2];if((r[_>>2]|0)==0){T=r[9152]|0;break}else{d=t;return}}}while(0);r[9152]=r[T+20>>2];d=t;return}function kme(e){e=e|0;return}function Ome(e,t){e=e|0;t=+t;var i=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0.0,Ne=0,ke=0.0,Oe=0,Le=0.0,Ue=0.0,Ge=0.0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0.0,Qe=0.0,qe=0.0,Ye=0.0,Je=0.0,Ke=0.0,$e=0.0,et=0.0,tt=0.0,it=0.0,nt=0.0,_t=0.0,rt=0.0,ot=0.0,st=0.0,at=0.0,pt=0.0,lt=0.0,dt=0.0,ct=0.0,bt=0.0,ut=0,mt=0,ht=0,ft=0,gt=0;i=d;d=d+376|0;o=i+8|0;s=i+16|0;a=i+24|0;l=i+40|0;c=i+56|0;b=i+72|0;u=i+96|0;m=i+160|0;h=i+256|0;f=i+312|0;sBe(16224);g=e+204|0;if((r[g>>2]|0)>0){C=e+212|0;S=u+48|0;y=S|0;v=u+52|0;x=u+56|0;M=e|0;T=e+44|0;D=e+76|0;P=e+24|0;w=m|0;A=m+4|0;F=m+8|0;R=m+10|0;I=m+12|0;B=m+28|0;V=S;S=m+76|0;E=m+80|0;N=m+84|0;k=m+88|0;O=m+92|0;L=h|0;U=h+4|0;G=h+28|0;W=h+44|0;z=e+56|0;H=m|0;j=f;X=f+16|0;Z=f+32|0;Q=f+48|0;q=h|0;Y=h+8|0;J=h+12|0;K=h+16|0;$=h+20|0;ee=h+24|0;h=m+60|0;te=m+64|0;ie=m+68|0;ne=a|0;_e=a+4|0;re=a+8|0;oe=a+12|0;se=l|0;ae=l+4|0;pe=l+8|0;le=l+12|0;de=m+44|0;ce=m+48|0;be=m+52|0;m=e+132|0;ue=e+112|0;e=c|0;me=c+4|0;he=c+8|0;fe=c+12|0;ge=b|0;Ce=b+4|0;Se=b+8|0;ye=b+12|0;ve=o|0;xe=o+4|0;Me=0;do{Te=r[(r[C>>2]|0)+(Me<<2)>>2]|0;De=Te|0;Pe=Te+240|0;p[Pe>>2]=1.0;we=r[Te+216>>2]|0;e:do{if(!((we|0)==5|(we|0)==2)){if((r[Te+204>>2]&3|0)!=0){break}Ae=Te+4|0;Fe=Te+320|0;Re=Te+304|0;Ie=Te+308|0;Be=Te+312|0;jue(Ae,+p[Re>>2],+p[Ie>>2],+p[Be>>2],Fe,t,u);Ve=Te+52|0;Ee=+p[y>>2]-+p[Ve>>2];Ne=Te+56|0;ke=+p[v>>2]-+p[Ne>>2];Oe=Te+60|0;Le=+p[x>>2]-+p[Oe>>2];do{if((n[T]&1)!=0){Ue=+p[Te+248>>2];Ge=Ue*Ue;if(!(Ge!=0.0&Ge<Ee*Ee+ke*ke+Le*Le)){break}sBe(16048);do{if((r[(r[Te+192>>2]|0)+4>>2]|0)<20){r[9802]=(r[9802]|0)+1;We=r[D>>2]|0;ze=Knt[r[(r[We>>2]|0)+36>>2]&4095](We)|0;We=r[P>>2]|0;p[A>>2]=1.0;_[F>>1]=1;_[R>>1]=-1;r[w>>2]=19448;He=Ve;r[I>>2]=r[He>>2];r[I+4>>2]=r[He+4>>2];r[I+8>>2]=r[He+8>>2];r[I+12>>2]=r[He+12>>2];r[B>>2]=r[V>>2];r[B+4>>2]=r[V+4>>2];r[B+8>>2]=r[V+8>>2];r[B+12>>2]=r[V+12>>2];r[S>>2]=0;r[w>>2]=19728;r[E>>2]=De;p[N>>2]=0.0;r[k>>2]=ze;r[O>>2]=We;Ge=+p[Te+244>>2];r[Y>>2]=0;p[J>>2]=1.0;p[K>>2]=1.0;p[$>>2]=1.0;p[ee>>2]=0.0;r[L>>2]=25528;r[U>>2]=8;p[G>>2]=Ge;p[W>>2]=Ge;p[N>>2]=+p[z>>2];We=Te+188|0;_[F>>1]=_[(r[We>>2]|0)+4>>1]|0;_[R>>1]=_[(r[We>>2]|0)+6>>1]|0;r[Q>>2]=r[V>>2];r[Q+4>>2]=r[V+4>>2];r[Q+8>>2]=r[V+8>>2];r[Q+12>>2]=r[V+12>>2];We=Ae;r[j>>2]=r[We>>2];r[j+4>>2]=r[We+4>>2];r[j+8>>2]=r[We+8>>2];r[j+12>>2]=r[We+12>>2];We=Te+20|0;r[X>>2]=r[We>>2];r[X+4>>2]=r[We+4>>2];r[X+8>>2]=r[We+8>>2];r[X+12>>2]=r[We+12>>2];We=Te+36|0;r[Z>>2]=r[We>>2];r[Z+4>>2]=r[We+4>>2];r[Z+8>>2]=r[We+8>>2];r[Z+12>>2]=r[We+12>>2];Gye(M,q,Ae,f,H,0.0);Ge=+p[A>>2];if(Ge>=1.0){je=0;break}p[Pe>>2]=Ge;jue(Ae,+p[Re>>2],+p[Ie>>2],+p[Be>>2],Fe,Ge*t,u);p[Pe>>2]=0.0;Cfe(Te,u);We=r[S>>2]|0;if((r[We+232>>2]&2|0)==0){Xe=0}else{Xe=We}Ge=+p[h>>2];Ue=Ge-+p[Te+52>>2];Ze=+p[te>>2];Qe=Ze-+p[Ne>>2];qe=+p[ie>>2];Ye=qe-+p[Oe>>2];p[ne>>2]=Ue;p[_e>>2]=Qe;p[re>>2]=Ye;p[oe>>2]=0.0;Je=Ge-+p[We+52>>2];Ke=Ze-+p[We+56>>2];$e=qe-+p[We+60>>2];p[se>>2]=Je;p[ae>>2]=Ke;p[pe>>2]=$e;p[le>>2]=0.0;et=+p[Te+324>>2];tt=+p[Te+328>>2];it=+p[Te+320>>2];ze=(Xe|0)!=0;if(ze){nt=+p[Xe+324>>2];_t=+p[Xe+328>>2];rt=+p[Xe+320>>2];ot=nt*$e-_t*Ke+ +p[Xe+304>>2];st=+p[Xe+308>>2]+(_t*Je-$e*rt);at=Ke*rt-nt*Je+ +p[Xe+312>>2]}else{ot=0.0;st=0.0;at=0.0}Je=+p[de>>2];nt=+p[ce>>2];rt=+p[be>>2];Ke=Je*(et*Ye-tt*Qe+ +p[Re>>2]-ot)+(+p[Ie>>2]+(tt*Ue-Ye*it)-st)*nt+(Qe*it-et*Ue+ +p[Be>>2]-at)*rt;et=rt*Qe-nt*Ye;it=Je*Ye-rt*Ue;tt=nt*Ue-Je*Qe;$e=tt*+p[Te+288>>2]+(+p[Te+256>>2]*et+ +p[Te+272>>2]*it);_t=et*+p[Te+260>>2]+it*+p[Te+276>>2]+tt*+p[Te+292>>2];pt=et*+p[Te+264>>2]+it*+p[Te+280>>2]+tt*+p[Te+296>>2];if(ze){tt=Ge-+p[Xe+52>>2];Ge=Ze-+p[Xe+56>>2];Ze=qe-+p[Xe+60>>2];qe=rt*Ge-nt*Ze;it=Je*Ze-rt*tt;et=nt*tt-Je*Ge;lt=et*+p[Xe+288>>2]+(+p[Xe+256>>2]*qe+ +p[Xe+272>>2]*it);dt=qe*+p[Xe+260>>2]+it*+p[Xe+276>>2]+et*+p[Xe+292>>2];ct=qe*+p[Xe+264>>2]+it*+p[Xe+280>>2]+et*+p[Xe+296>>2];bt=+p[Xe+336>>2]+(rt*(Ge*lt-tt*dt)+(Je*(Ze*dt-Ge*ct)+nt*(tt*ct-Ze*lt)));ut=1}else{bt=0.0;ut=0}lt=1.0/(+p[Te+336>>2]+(rt*(Qe*$e-Ue*_t)+(Je*(Ye*_t-Qe*pt)+nt*(Ue*pt-Ye*$e)))+bt);$e=+p[m>>2]*-0.0/+p[ue>>2]*lt+Ke*(-0.0-(+p[Te+228>>2]*+p[We+228>>2]*(-0.0-Ke)+1.0))*lt;lt=$e<0.0?0.0:$e;p[e>>2]=Je*lt;p[me>>2]=nt*lt;p[he>>2]=rt*lt;p[fe>>2]=0.0;gh(Te,c,a);if(!ut){je=4;break}rt=lt*(-0.0-+p[ce>>2]);nt=lt*(-0.0-+p[be>>2]);p[ge>>2]=lt*(-0.0-+p[de>>2]);p[Ce>>2]=rt;p[Se>>2]=nt;p[ye>>2]=0.0;gh(Xe,b,l);je=4}else{je=0}}while(0);We=r[9152]|0;ze=We+16|0;He=(r[ze>>2]|0)-1|0;r[ze>>2]=He;do{if((He|0)==0){if((r[We+4>>2]|0)==0){mt=We}else{hi(o|0,0)|0;ht=r[10742]|0;ft=We+8|0;p[ft>>2]=+(((r[xe>>2]|0)-(r[ht+4>>2]|0)+(((r[ve>>2]|0)-(r[ht>>2]|0)|0)*1e6|0)-(r[We+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[ft>>2];if((r[ze>>2]|0)!=0){break}mt=r[9152]|0}r[9152]=r[mt+20>>2]}}while(0);if((je|0)==4){break e}}}while(0);Cfe(Te,u)}}while(0);Me=Me+1|0}while((Me|0)<(r[g>>2]|0))}g=r[9152]|0;Me=g+16|0;u=(r[Me>>2]|0)-1|0;r[Me>>2]=u;if((u|0)!=0){d=i;return}do{if((r[g+4>>2]|0)==0){gt=g}else{hi(s|0,0)|0;u=r[10742]|0;je=g+8|0;p[je>>2]=+(((r[s+4>>2]|0)-(r[u+4>>2]|0)+(((r[s>>2]|0)-(r[u>>2]|0)|0)*1e6|0)-(r[g+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[je>>2];if((r[Me>>2]|0)==0){gt=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[gt+20>>2];d=i;return}function Lme(e){e=e|0;return 2}function Ume(e){e=e|0;return r[e+172>>2]|0}function Gme(e){e=e|0;return r[e+184>>2]|0}function Wme(e,t){e=e|0;t=t|0;return r[(r[e+192>>2]|0)+(t<<2)>>2]|0}function zme(e,t){e=e|0;t=t|0;return r[(r[e+192>>2]|0)+(t<<2)>>2]|0}function Hme(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0;i=d;d=d+8|0;n=i|0;sBe(18048);_=e+204|0;o=r[_>>2]|0;if((o|0)>0){s=e+212|0;e=0;a=o;while(1){o=r[(r[s>>2]|0)+(e<<2)>>2]|0;if((r[o+204>>2]&3|0)==0){Sfe(o,t);gfe(o,t);jue(o+4|0,+p[o+304>>2],+p[o+308>>2],+p[o+312>>2],o+320|0,t,o+68|0);l=r[_>>2]|0}else{l=a}o=e+1|0;if((o|0)<(l|0)){e=o;a=l}else{break}}}l=r[9152]|0;a=l+16|0;e=(r[a>>2]|0)-1|0;r[a>>2]=e;if((e|0)!=0){d=i;return}do{if((r[l+4>>2]|0)==0){c=l}else{hi(n|0,0)|0;e=r[10742]|0;_=l+8|0;p[_>>2]=+(((r[n+4>>2]|0)-(r[e+4>>2]|0)+(((r[n>>2]|0)-(r[e>>2]|0)|0)*1e6|0)-(r[l+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[_>>2];if((r[a>>2]|0)==0){c=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[c+20>>2];d=i;return}function jme(e,t){e=e|0;t=t|0;var i=0,_=0;i=e+241|0;_=e+172|0;do{if((n[i]&1)!=0){e=r[_>>2]|0;if((e|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0)}}while(0);n[i]=0;r[_>>2]=t;return}function Xme(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0;i=t;jnt[r[(r[i>>2]|0)+32>>2]&2047](t);n=e+8|0;_=r[n>>2]|0;if((_|0)>0){o=e+16|0;s=t;a=t;p=0;l=_;while(1){_=r[(r[o>>2]|0)+(p<<2)>>2]|0;if((r[_+232>>2]&2|0)==0){d=l}else{c=Knt[r[(r[_>>2]|0)+16>>2]&4095](_)|0;b=h_t[r[(r[s>>2]|0)+16>>2]&511](t,c,1)|0;c=h_t[r[(r[_>>2]|0)+20>>2]&511](_,r[b+8>>2]|0,t)|0;Unt[r[(r[a>>2]|0)+20>>2]&255](t,b,c,1497645650,_);d=r[n>>2]|0}_=p+1|0;if((_|0)<(d|0)){p=_;l=d}else{break}}}d=e+184|0;if((r[d>>2]|0)<=0){u=e|0;qye(u,t);m=r[i>>2]|0;h=m+36|0;f=r[h>>2]|0;jnt[f&2047](t);return}l=e+192|0;p=t;n=t;a=0;do{s=r[(r[l>>2]|0)+(a<<2)>>2]|0;o=Knt[r[(r[s>>2]|0)+36>>2]&4095](s)|0;_=h_t[r[(r[p>>2]|0)+16>>2]&511](t,o,1)|0;o=h_t[r[(r[s>>2]|0)+40>>2]&511](s,r[_+8>>2]|0,t)|0;Unt[r[(r[n>>2]|0)+20>>2]&255](t,_,o,1397641027,s);a=a+1|0}while((a|0)<(r[d>>2]|0));u=e|0;qye(u,t);m=r[i>>2]|0;h=m+36|0;f=r[h>>2]|0;jnt[f&2047](t);return}function Zme(e,t){e=e|0;t=+t;var i=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0.0,Ue=0,Ge=0.0,We=0,ze=0.0,He=0.0,je=0.0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0.0,et=0,tt=0;i=d;d=d+528|0;o=i|0;s=i+16|0;a=i+32|0;l=i+96|0;c=i+192|0;b=i+248|0;u=i+312|0;m=i+336|0;h=i+496|0;f=i+512|0;sBe(18112);g=e+204|0;if((r[g>>2]|0)>0){C=e+212|0;S=a+48|0;y=S|0;v=a+52|0;x=a+56|0;M=e|0;T=e+76|0;D=e+24|0;e=l|0;P=l+4|0;w=l+8|0;A=l+10|0;F=l+12|0;R=l+28|0;I=S;S=l+76|0;B=l+80|0;V=l+84|0;E=l+88|0;N=l+92|0;k=c|0;O=c+4|0;L=c+28|0;U=c+44|0;G=l|0;W=b;z=b+16|0;H=b+32|0;X=b+48|0;Z=X;Q=c|0;q=u+16|0;Y=u+12|0;J=u+4|0;K=u+8|0;$=m+4|0;ee=X|0;X=b+52|0;te=b+56|0;ie=h;ne=l+60|0;_e=h|0;re=h+4|0;oe=h+8|0;se=l+44|0;ae=se|0;pe=l+48|0;le=l+52|0;l=f|0;de=f+4|0;ce=f+8|0;be=f+12|0;ue=c+8|0;me=c+12|0;he=c+16|0;fe=c+20|0;ge=c+24|0;c=m|0;Ce=m+136|0;Se=m+140|0;ye=m+8|0;ve=m+144|0;xe=m+24|0;Me=m+40|0;Te=m+56|0;De=m+72|0;Pe=m+88|0;we=m+104|0;Ae=m+120|0;Fe=o|0;Re=o+4|0;Ie=0;do{Be=r[(r[C>>2]|0)+(Ie<<2)>>2]|0;Ve=Be|0;p[Be+240>>2]=1.0;Ee=r[Be+216>>2]|0;do{if(!((Ee|0)==5|(Ee|0)==2)){if((r[Be+204>>2]&3|0)!=0){break}Ne=Be+4|0;jue(Ne,+p[Be+304>>2],+p[Be+308>>2],+p[Be+312>>2],Be+320|0,t,a);ke=Be+52|0;Oe=ke|0;Le=+p[y>>2]-+p[Oe>>2];Ue=Be+56|0;Ge=+p[v>>2]-+p[Ue>>2];We=Be+60|0;ze=+p[x>>2]-+p[We>>2];He=+p[Be+248>>2];je=He*He;if(!(je!=0.0&je<Le*Le+Ge*Ge+ze*ze)){break}sBe(18080);do{if((r[(r[Be+192>>2]|0)+4>>2]|0)<20){r[9802]=(r[9802]|0)+1;Xe=r[T>>2]|0;Ze=Knt[r[(r[Xe>>2]|0)+36>>2]&4095](Xe)|0;Xe=r[D>>2]|0;p[P>>2]=1.0;_[w>>1]=1;_[A>>1]=-1;r[e>>2]=19448;Qe=ke;r[F>>2]=r[Qe>>2];r[F+4>>2]=r[Qe+4>>2];r[F+8>>2]=r[Qe+8>>2];r[F+12>>2]=r[Qe+12>>2];r[R>>2]=r[I>>2];r[R+4>>2]=r[I+4>>2];r[R+8>>2]=r[I+8>>2];r[R+12>>2]=r[I+12>>2];r[S>>2]=0;r[e>>2]=19728;r[B>>2]=Ve;p[V>>2]=0.0;r[E>>2]=Ze;r[N>>2]=Xe;ze=+p[Be+244>>2];r[ue>>2]=0;p[me>>2]=1.0;p[he>>2]=1.0;p[fe>>2]=1.0;p[ge>>2]=0.0;r[k>>2]=25528;r[O>>2]=8;p[L>>2]=ze;p[U>>2]=ze;Xe=Be+188|0;_[w>>1]=_[(r[Xe>>2]|0)+4>>1]|0;_[A>>1]=_[(r[Xe>>2]|0)+6>>1]|0;r[Z>>2]=r[I>>2];r[Z+4>>2]=r[I+4>>2];r[Z+8>>2]=r[I+8>>2];r[Z+12>>2]=r[I+12>>2];Ze=Ne;r[W>>2]=r[Ze>>2];r[W+4>>2]=r[Ze+4>>2];r[W+8>>2]=r[Ze+8>>2];r[W+12>>2]=r[Ze+12>>2];qe=Be+20|0;r[z>>2]=r[qe>>2];r[z+4>>2]=r[qe+4>>2];r[z+8>>2]=r[qe+8>>2];r[z+12>>2]=r[qe+12>>2];Ye=Be+36|0;r[H>>2]=r[Ye>>2];r[H+4>>2]=r[Ye+4>>2];r[H+8>>2]=r[Ye+8>>2];r[H+12>>2]=r[Ye+12>>2];Gye(M,Q,Ne,b,G,0.0);if(+p[P>>2]>=1.0){break}Je=r[E>>2]|0;Ke=h_t[r[(r[Je>>2]|0)+52>>2]&511](Je,r[Xe>>2]|0,r[(r[S>>2]|0)+188>>2]|0)|0;if((Ke|0)==0){break}Xe=Ke+8|0;if((r[Xe>>2]|0)==0){break}n[q]=1;r[Y>>2]=0;r[J>>2]=0;r[K>>2]=0;Ke=r[Xe>>2]|0;Znt[r[(r[Ke>>2]|0)+16>>2]&2047](Ke,u);do{if((r[J>>2]|0)!=0){Ke=r[S>>2]|0;r[c>>2]=24e3;r[Ce>>2]=Ve;r[Se>>2]=Ke;vBe(ve|0,-1|0,16);r[ye>>2]=r[Ze>>2];r[ye+4>>2]=r[Ze+4>>2];r[ye+8>>2]=r[Ze+8>>2];r[ye+12>>2]=r[Ze+12>>2];r[xe>>2]=r[qe>>2];r[xe+4>>2]=r[qe+4>>2];r[xe+8>>2]=r[qe+8>>2];r[xe+12>>2]=r[qe+12>>2];r[Me>>2]=r[Ye>>2];r[Me+4>>2]=r[Ye+4>>2];r[Me+8>>2]=r[Ye+8>>2];r[Me+12>>2]=r[Ye+12>>2];r[Te>>2]=r[Qe>>2];r[Te+4>>2]=r[Qe+4>>2];r[Te+8>>2]=r[Qe+8>>2];r[Te+12>>2]=r[Qe+12>>2];Xe=Ke+4|0;r[De>>2]=r[Xe>>2];r[De+4>>2]=r[Xe+4>>2];r[De+8>>2]=r[Xe+8>>2];r[De+12>>2]=r[Xe+12>>2];Xe=Ke+20|0;r[Pe>>2]=r[Xe>>2];r[Pe+4>>2]=r[Xe+4>>2];r[Pe+8>>2]=r[Xe+8>>2];r[Pe+12>>2]=r[Xe+12>>2];Xe=Ke+36|0;r[we>>2]=r[Xe>>2];r[we+4>>2]=r[Xe+4>>2];r[we+8>>2]=r[Xe+8>>2];r[we+12>>2]=r[Xe+12>>2];Xe=Ke+52|0;r[Ae>>2]=r[Xe>>2];r[Ae+4>>2]=r[Xe+4>>2];r[Ae+8>>2]=r[Xe+8>>2];r[Ae+12>>2]=r[Xe+12>>2];Xe=r[r[Y>>2]>>2]|0;r[$>>2]=Xe;ze=+p[P>>2];Ge=(+p[ee>>2]-+p[Oe>>2])*ze;Le=(+p[X>>2]-+p[Ue>>2])*ze;je=ze*(+p[te>>2]-+p[We>>2]);ze=je*je+(Ge*Ge+Le*Le);r[ie>>2]=r[ne>>2];r[ie+4>>2]=r[ne+4>>2];r[ie+8>>2]=r[ne+8>>2];r[ie+12>>2]=r[ne+12>>2];if(ze>1.1920928955078125e-7){He=+j(+ze);p[_e>>2]=+p[_e>>2]-Ge;p[re>>2]=+p[re>>2]-Le;p[oe>>2]=+p[oe>>2]-je;$e=He}else{$e=0.0}if((r[Xe+1108>>2]|0)==(Be|0)){JDe(m,se,h,$e);break}else{He=-0.0-+p[pe>>2];je=-0.0-+p[le>>2];p[l>>2]=-0.0-+p[ae>>2];p[de>>2]=He;p[ce>>2]=je;p[be>>2]=0.0;JDe(m,f,h,$e);break}}}while(0);Qe=r[Y>>2]|0;if((Qe|0)!=0){if((n[q]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Qe-4>>2]|0)}r[Y>>2]=0}n[q]=1;r[Y>>2]=0;r[J>>2]=0;r[K>>2]=0}}while(0);We=r[9152]|0;Ue=We+16|0;Oe=(r[Ue>>2]|0)-1|0;r[Ue>>2]=Oe;if((Oe|0)!=0){break}if((r[We+4>>2]|0)==0){et=We}else{hi(o|0,0)|0;Oe=r[10742]|0;Ne=We+8|0;p[Ne>>2]=+(((r[Re>>2]|0)-(r[Oe+4>>2]|0)+(((r[Fe>>2]|0)-(r[Oe>>2]|0)|0)*1e6|0)-(r[We+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[Ne>>2];if((r[Ue>>2]|0)!=0){break}et=r[9152]|0}r[9152]=r[et+20>>2]}}while(0);Ie=Ie+1|0}while((Ie|0)<(r[g>>2]|0))}g=r[9152]|0;Ie=g+16|0;et=(r[Ie>>2]|0)-1|0;r[Ie>>2]=et;if((et|0)!=0){d=i;return}do{if((r[g+4>>2]|0)==0){tt=g}else{hi(s|0,0)|0;et=r[10742]|0;Fe=g+8|0;p[Fe>>2]=+(((r[s+4>>2]|0)-(r[et+4>>2]|0)+(((r[s>>2]|0)-(r[et>>2]|0)|0)*1e6|0)-(r[g+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[Fe>>2];if((r[Ie>>2]|0)==0){tt=r[9152]|0;break}else{d=i;return}}}while(0);r[9152]=r[tt+20>>2];d=i;return}function Qme(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0;n=e+12|0;_=r[n>>2]|0;o=r[_+(((i+t|0)/2|0)<<2)>>2]|0;s=o+24|0;a=o+28|0;o=t;p=i;l=_;while(1){_=r[(r[s>>2]|0)+208>>2]|0;d=(_|0)>-1;if(d){c=o;while(1){b=r[l+(c<<2)>>2]|0;u=r[(r[b+24>>2]|0)+208>>2]|0;if((u|0)>-1){m=u}else{m=r[(r[b+28>>2]|0)+208>>2]|0}if((m|0)<(_|0)){c=c+1|0}else{h=c;f=b;break}}}else{c=r[(r[a>>2]|0)+208>>2]|0;b=o;while(1){u=r[l+(b<<2)>>2]|0;g=r[(r[u+24>>2]|0)+208>>2]|0;if((g|0)>-1){C=g}else{C=r[(r[u+28>>2]|0)+208>>2]|0}if((C|0)<(c|0)){b=b+1|0}else{h=b;f=u;break}}}if(d){b=p;while(1){c=r[l+(b<<2)>>2]|0;u=r[(r[c+24>>2]|0)+208>>2]|0;if((u|0)>-1){S=u}else{S=r[(r[c+28>>2]|0)+208>>2]|0}if((_|0)<(S|0)){b=b-1|0}else{y=b;v=c;break}}}else{b=r[(r[a>>2]|0)+208>>2]|0;_=p;while(1){d=r[l+(_<<2)>>2]|0;c=r[(r[d+24>>2]|0)+208>>2]|0;if((c|0)>-1){x=c}else{x=r[(r[d+28>>2]|0)+208>>2]|0}if((b|0)<(x|0)){_=_-1|0}else{y=_;v=d;break}}}if((h|0)>(y|0)){M=h;T=y}else{r[l+(h<<2)>>2]=v;r[(r[n>>2]|0)+(y<<2)>>2]=f;M=h+1|0;T=y-1|0}if((M|0)>(T|0)){break}o=M;p=T;l=r[n>>2]|0}if((T|0)>(t|0)){Qme(e,t,T)}if((M|0)>=(i|0)){return}Qme(e,M,i);return}function qme(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Yme(e,t){e=e|0;t=t|0;var i=0,n=0,o=0;i=r[t>>2]|0;n=r[e+80>>2]|0;if((i|0)==(n|0)){o=0;return o|0}if((_[e+10>>1]&_[t+4>>1])<<16>>16==0){o=0;return o|0}if((_[t+6>>1]&_[e+8>>1])<<16>>16==0){o=0;return o|0}t=r[e+92>>2]|0;o=h_t[r[(r[t>>2]|0)+28>>2]&511](t,n,i)|0;return o|0}function Jme(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0,a=0,l=0,d=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0;n=t|0;_=r[n>>2]|0;if((_|0)==(r[e+80>>2]|0)){o=1.0;return+o}if((r[_+204>>2]&4|0)!=0){o=1.0;return+o}_=t+8|0;s=t+12|0;a=t+16|0;if((+p[e+28>>2]-+p[e+12>>2])*+p[_>>2]+(+p[e+32>>2]-+p[e+16>>2])*+p[s>>2]+(+p[e+36>>2]-+p[e+20>>2])*+p[a>>2]>=-0.0-+p[e+84>>2]){o=1.0;return+o}l=t+40|0;p[e+4>>2]=+p[l>>2];d=r[n>>2]|0;r[e+76>>2]=d;if(i){i=e+44|0;n=_;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2]}else{c=+p[t+8>>2];b=+p[s>>2];u=+p[a>>2];m=c*+p[d+20>>2]+b*+p[d+24>>2]+u*+p[d+28>>2];h=c*+p[d+36>>2]+b*+p[d+40>>2]+u*+p[d+44>>2];p[e+44>>2]=+p[d+4>>2]*c+ +p[d+8>>2]*b+ +p[d+12>>2]*u;p[e+48>>2]=m;p[e+52>>2]=h;p[e+56>>2]=0.0}d=e+60|0;e=t+24|0;r[d>>2]=r[e>>2];r[d+4>>2]=r[e+4>>2];r[d+8>>2]=r[e+8>>2];r[d+12>>2]=r[e+12>>2];o=+p[l>>2];return+o}function Kme(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=18656;t=e+76|0;i=e+84|0;_=r[i>>2]|0;o=e+88|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+80>>2]=0;t=e+56|0;i=e+64|0;o=r[i>>2]|0;_=e+68|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+60>>2]=0;t=e+36|0;i=e+44|0;_=r[i>>2]|0;o=e+48|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+40|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+40|0;r[s>>2]=0;return}function $me(e){e=e|0;Kme(e);if((e|0)==0){return}SBe(e);return}function ehe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0;a=r[e+16>>2]|0;if((s|0)<0){if((a|0)==(-o|0)){return}p=r[e+8>>2]|0;l=r[(r[p>>2]|0)+12>>2]|0;d=r[e+12>>2]|0;c=r[e+4>>2]|0;b=r[e+20>>2]|0;u=r[e+24>>2]|0;m=r[e+28>>2]|0;+d_t[l&63](p,t,i,_,o,d,a,c,b,u,m);return}m=e+12|0;u=0;while(1){if((u|0)>=(a|0)){h=0;f=0;break}g=r[m>>2]|0;C=g+(u<<2)|0;b=r[C>>2]|0;c=r[(r[b+24>>2]|0)+208>>2]|0;if((c|0)>-1){S=c}else{S=r[(r[b+28>>2]|0)+208>>2]|0}if((S|0)==(s|0)){y=0;v=u;x=3485;break}else{u=u+1|0}}if((x|0)==3485){while(1){x=0;u=r[g+(v<<2)>>2]|0;S=r[(r[u+24>>2]|0)+208>>2]|0;if((S|0)>-1){M=S}else{M=r[(r[u+28>>2]|0)+208>>2]|0}u=((M|0)==(s|0))+y|0;S=v+1|0;if((S|0)<(a|0)){y=u;v=S;x=3485}else{h=u;f=C;break}}}C=e+4|0;x=r[C>>2]|0;if((r[x+68>>2]|0)<2){if((h|0)==(-o|0)){return}v=r[e+8>>2]|0;y=r[(r[v>>2]|0)+12>>2]|0;a=r[e+20>>2]|0;s=r[e+24>>2]|0;M=r[e+28>>2]|0;+d_t[y&63](v,t,i,_,o,f,h,x,a,s,M);return}if((i|0)>0){M=e+36|0;s=e+40|0;a=e+44|0;x=e+48|0;v=0;y=r[M>>2]|0;do{g=t+(v<<2)|0;do{if((y|0)==(r[s>>2]|0)){u=(y|0)==0?1:y<<1;if((y|0)>=(u|0)){T=y;break}if((u|0)==0){D=0;P=y}else{r[9806]=(r[9806]|0)+1;S=hBe((u<<2)+19|0)|0;if((S|0)==0){w=0}else{m=-(S+4|0)&15;r[S+m>>2]=S;w=S+(m+4)|0}D=w;P=r[M>>2]|0}if((P|0)>0){m=0;do{S=D+(m<<2)|0;if((S|0)!=0){r[S>>2]=r[(r[a>>2]|0)+(m<<2)>>2]}m=m+1|0}while((m|0)<(P|0))}m=r[a>>2]|0;if((m|0)!=0){if((n[x]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-4>>2]|0)}r[a>>2]=0}n[x]=1;r[a>>2]=D;r[s>>2]=u;T=r[M>>2]|0}else{T=y}}while(0);m=(r[a>>2]|0)+(T<<2)|0;if((m|0)==0){A=T}else{r[m>>2]=r[g>>2];A=r[M>>2]|0}y=A+1|0;r[M>>2]=y;v=v+1|0}while((v|0)<(i|0))}if((o|0)>0){i=e+56|0;v=e+60|0;y=e+64|0;M=e+68|0;A=0;T=r[i>>2]|0;do{a=_+(A<<2)|0;do{if((T|0)==(r[v>>2]|0)){s=(T|0)==0?1:T<<1;if((T|0)>=(s|0)){F=T;break}if((s|0)==0){R=0;I=T}else{r[9806]=(r[9806]|0)+1;D=hBe((s<<2)+19|0)|0;if((D|0)==0){B=0}else{x=-(D+4|0)&15;r[D+x>>2]=D;B=D+(x+4)|0}R=B;I=r[i>>2]|0}if((I|0)>0){x=0;do{D=R+(x<<2)|0;if((D|0)!=0){r[D>>2]=r[(r[y>>2]|0)+(x<<2)>>2]}x=x+1|0}while((x|0)<(I|0))}x=r[y>>2]|0;if((x|0)!=0){if((n[M]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[x-4>>2]|0)}r[y>>2]=0}n[M]=1;r[y>>2]=R;r[v>>2]=s;F=r[i>>2]|0}else{F=T}}while(0);g=(r[y>>2]|0)+(F<<2)|0;if((g|0)==0){V=F}else{r[g>>2]=r[a>>2];V=r[i>>2]|0}T=V+1|0;r[i>>2]=T;A=A+1|0}while((A|0)<(o|0))}o=e+76|0;if((h|0)>0){A=e+80|0;T=e+84|0;i=e+88|0;V=0;F=r[o>>2]|0;while(1){y=f+(V<<2)|0;do{if((F|0)==(r[A>>2]|0)){v=(F|0)==0?1:F<<1;if((F|0)>=(v|0)){E=F;break}if((v|0)==0){N=0;k=F}else{r[9806]=(r[9806]|0)+1;R=hBe((v<<2)+19|0)|0;if((R|0)==0){O=0}else{M=-(R+4|0)&15;r[R+M>>2]=R;O=R+(M+4)|0}N=O;k=r[o>>2]|0}if((k|0)>0){M=0;do{R=N+(M<<2)|0;if((R|0)!=0){r[R>>2]=r[(r[T>>2]|0)+(M<<2)>>2]}M=M+1|0}while((M|0)<(k|0))}M=r[T>>2]|0;if((M|0)!=0){if((n[i]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[M-4>>2]|0)}r[T>>2]=0}n[i]=1;r[T>>2]=N;r[A>>2]=v;E=r[o>>2]|0}else{E=F}}while(0);a=(r[T>>2]|0)+(E<<2)|0;if((a|0)==0){L=E}else{r[a>>2]=r[y>>2];L=r[o>>2]|0}a=L+1|0;r[o>>2]=a;M=V+1|0;if((M|0)<(h|0)){V=M;F=a}else{U=a;break}}}else{U=r[o>>2]|0}if(((r[e+56>>2]|0)+U|0)<=(r[(r[C>>2]|0)+68>>2]|0)){return}Eme(e);return}function the(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0;r[e+4>>2]=6;r[e+8>>2]=-1;r[e+12>>2]=-1;p[e+16>>2]=3.4028234663852886e+38;n[e+20|0]=1;n[e+21|0]=0;r[e+24>>2]=t;r[e+28>>2]=i;p[e+32>>2]=0.0;p[e+36>>2]=.30000001192092896;r[e>>2]=21400;a=e+40|0;l=_;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=e+56|0;a=_+16|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=e+72|0;l=_+32|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=e+88|0;a=_+48|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=e+104|0;l=o;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=e+120|0;a=o+16|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];a=e+136|0;l=o+32|0;r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];l=e+152|0;a=o+48|0;r[l>>2]=r[a>>2];r[l+4>>2]=r[a+4>>2];r[l+8>>2]=r[a+8>>2];r[l+12>>2]=r[a+12>>2];vBe(e+672|0,0,48);vBe(e+732|0,0,16);p[e+748>>2]=.20000000298023224;p[e+752>>2]=.20000000298023224;p[e+756>>2]=.20000000298023224;vBe(e+760|0,0,20);p[e+720>>2]=.699999988079071;p[e+724>>2]=1.0;p[e+728>>2]=.5;n[e+780|0]=0;p[e+784>>2]=0.0;p[e+800>>2]=0.0;n[e+781|0]=0;p[e+788>>2]=0.0;p[e+804>>2]=0.0;n[e+782|0]=0;p[e+792>>2]=0.0;p[e+808>>2]=0.0;p[e+920>>2]=0.0;p[e+868>>2]=0.0;p[e+872>>2]=.10000000149011612;p[e+876>>2]=300.0;p[e+860>>2]=1.0;p[e+864>>2]=-1.0;p[e+888>>2]=0.0;p[e+892>>2]=.20000000298023224;p[e+896>>2]=0.0;p[e+900>>2]=0.0;p[e+880>>2]=1.0;p[e+884>>2]=.5;r[e+916>>2]=0;p[e+908>>2]=0.0;n[e+904|0]=0;p[e+984>>2]=0.0;p[e+932>>2]=0.0;p[e+936>>2]=.10000000149011612;p[e+940>>2]=300.0;p[e+924>>2]=1.0;p[e+928>>2]=-1.0;p[e+952>>2]=0.0;p[e+956>>2]=.20000000298023224;p[e+960>>2]=0.0;p[e+964>>2]=0.0;p[e+944>>2]=1.0;p[e+948>>2]=.5;r[e+980>>2]=0;p[e+972>>2]=0.0;n[e+968|0]=0;p[e+1048>>2]=0.0;p[e+996>>2]=0.0;p[e+1e3>>2]=.10000000149011612;p[e+1004>>2]=300.0;p[e+988>>2]=1.0;p[e+992>>2]=-1.0;p[e+1016>>2]=0.0;p[e+1020>>2]=.20000000298023224;p[e+1024>>2]=0.0;p[e+1028>>2]=0.0;p[e+1008>>2]=1.0;p[e+1012>>2]=.5;r[e+1044>>2]=0;p[e+1036>>2]=0.0;n[e+1032|0]=0;n[e+1292|0]=s&1;n[e+1293|0]=1;r[e+1296>>2]=0;n[e+1300|0]=0;ihe(e,t+4|0,i+4|0);return}function ihe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0,y=0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0,O=0.0;_=d;d=d+224|0;o=_|0;s=_+48|0;a=_+96|0;l=_+160|0;c=e+1056|0;b=s;gue(s,t|0,e+40|0);u=+p[e+88>>2];m=+p[e+92>>2];h=+p[e+96>>2];f=+p[t>>2]*u+ +p[t+4>>2]*m+ +p[t+8>>2]*h+ +p[t+48>>2];g=+p[t+16>>2]*u+ +p[t+20>>2]*m+ +p[t+24>>2]*h+ +p[t+52>>2];C=+p[t+32>>2]*u+ +p[t+36>>2]*m+ +p[t+40>>2]*h+ +p[t+56>>2];t=a+48|0;S=a|0;do{S=S+16|0}while((S|0)!=(t|0));t=a;r[t>>2]=r[b>>2];r[t+4>>2]=r[b+4>>2];r[t+8>>2]=r[b+8>>2];r[t+12>>2]=r[b+12>>2];b=a+16|0;S=s+16|0;r[b>>2]=r[S>>2];r[b+4>>2]=r[S+4>>2];r[b+8>>2]=r[S+8>>2];r[b+12>>2]=r[S+12>>2];S=a+32|0;y=s+32|0;r[S>>2]=r[y>>2];r[S+4>>2]=r[y+4>>2];r[S+8>>2]=r[y+8>>2];r[S+12>>2]=r[y+12>>2];p[a+48>>2]=f;p[a+52>>2]=g;p[a+56>>2]=C;p[a+60>>2]=0.0;y=c;r[y>>2]=r[t>>2];r[y+4>>2]=r[t+4>>2];r[y+8>>2]=r[t+8>>2];r[y+12>>2]=r[t+12>>2];t=e+1072|0;r[t>>2]=r[b>>2];r[t+4>>2]=r[b+4>>2];r[t+8>>2]=r[b+8>>2];r[t+12>>2]=r[b+12>>2];b=e+1088|0;r[b>>2]=r[S>>2];r[b+4>>2]=r[S+4>>2];r[b+8>>2]=r[S+8>>2];r[b+12>>2]=r[S+12>>2];S=e+1104|0;b=a+48|0;r[S>>2]=r[b>>2];r[S+4>>2]=r[b+4>>2];r[S+8>>2]=r[b+8>>2];r[S+12>>2]=r[b+12>>2];b=e+1120|0;S=o;gue(o,i|0,e+104|0);C=+p[e+152>>2];g=+p[e+156>>2];f=+p[e+160>>2];h=+p[i>>2]*C+ +p[i+4>>2]*g+ +p[i+8>>2]*f+ +p[i+48>>2];m=+p[i+16>>2]*C+ +p[i+20>>2]*g+ +p[i+24>>2]*f+ +p[i+52>>2];u=+p[i+32>>2]*C+ +p[i+36>>2]*g+ +p[i+40>>2]*f+ +p[i+56>>2];i=l+48|0;a=l|0;do{a=a+16|0}while((a|0)!=(i|0));i=l;r[i>>2]=r[S>>2];r[i+4>>2]=r[S+4>>2];r[i+8>>2]=r[S+8>>2];r[i+12>>2]=r[S+12>>2];S=l+16|0;a=o+16|0;r[S>>2]=r[a>>2];r[S+4>>2]=r[a+4>>2];r[S+8>>2]=r[a+8>>2];r[S+12>>2]=r[a+12>>2];a=l+32|0;t=o+32|0;r[a>>2]=r[t>>2];r[a+4>>2]=r[t+4>>2];r[a+8>>2]=r[t+8>>2];r[a+12>>2]=r[t+12>>2];p[l+48>>2]=h;p[l+52>>2]=m;p[l+56>>2]=u;p[l+60>>2]=0.0;t=b;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=e+1136|0;r[i>>2]=r[S>>2];r[i+4>>2]=r[S+4>>2];r[i+8>>2]=r[S+8>>2];r[i+12>>2]=r[S+12>>2];S=e+1152|0;r[S>>2]=r[a>>2];r[S+4>>2]=r[a+4>>2];r[S+8>>2]=r[a+8>>2];r[S+12>>2]=r[a+12>>2];a=e+1168|0;S=l+48|0;r[a>>2]=r[S>>2];r[a+4>>2]=r[S+4>>2];r[a+8>>2]=r[S+8>>2];r[a+12>>2]=r[S+12>>2];u=+p[e+1168>>2]-+p[e+1104>>2];m=+p[e+1172>>2]-+p[e+1108>>2];h=+p[e+1176>>2]-+p[e+1112>>2];f=+p[e+1076>>2];g=+p[e+1096>>2];C=+p[e+1080>>2];v=+p[e+1092>>2];x=f*g-C*v;M=+p[e+1088>>2];T=+p[e+1072>>2];D=C*M-g*T;P=v*T-f*M;w=+p[e+1056>>2];A=+p[e+1060>>2];F=+p[e+1064>>2];R=1.0/(x*w+A*D+P*F);I=x*R;x=R*(v*F-g*A);B=R*(C*A-f*F);V=D*R;D=R*(g*w-M*F);E=R*(T*F-C*w);N=P*R;P=R*(M*A-v*w);v=R*(f*w-T*A);A=I*u+x*m+B*h;T=u*V+m*D+E*h;w=u*N+P*m+v*h;p[e+1248>>2]=A;p[e+1252>>2]=T;p[e+1256>>2]=w;p[e+1260>>2]=0.0;p[e+832>>2]=A;h=+p[e+672>>2];m=+p[e+688>>2];do{if(h>m){r[e+848>>2]=0;p[e+816>>2]=0.0}else{if(h>A){r[e+848>>2]=2;p[e+816>>2]=A-h;break}S=e+848|0;if(m<A){r[S>>2]=1;p[e+816>>2]=A-m;break}else{r[S>>2]=0;p[e+816>>2]=0.0;break}}}while(0);p[e+836>>2]=T;m=+p[e+676>>2];A=+p[e+692>>2];do{if(m>A){r[e+852>>2]=0;p[e+820>>2]=0.0}else{if(m>T){r[e+852>>2]=2;p[e+820>>2]=T-m;break}S=e+852|0;if(A<T){r[S>>2]=1;p[e+820>>2]=T-A;break}else{r[S>>2]=0;p[e+820>>2]=0.0;break}}}while(0);p[e+840>>2]=w;A=+p[e+680>>2];T=+p[e+696>>2];do{if(A>T){r[e+856>>2]=0;p[e+824>>2]=0.0}else{if(A>w){r[e+856>>2]=2;p[e+824>>2]=w-A;break}S=e+856|0;if(T<w){r[S>>2]=1;p[e+824>>2]=w-T;break}else{r[S>>2]=0;p[e+824>>2]=0.0;break}}}while(0);T=+p[e+1120>>2];w=+p[e+1136>>2];A=+p[e+1152>>2];m=T*I+w*x+B*A;h=+p[e+1124>>2];u=+p[e+1140>>2];f=+p[e+1156>>2];R=I*h+x*u+B*f;B=T*V+w*D+E*A;x=V*h+D*u+E*f;E=T*N+P*w+v*A;D=N*h+P*u+v*f;f=N*+p[e+1128>>2]+P*+p[e+1144>>2]+v*+p[e+1160>>2];S=e+1184|0;do{if(E<1.0){if(E>-1.0){p[S>>2]=+$(+(-0.0-D),+f);v=E<-1.0?-1.0:E;p[e+1188>>2]=+J(+(v>1.0?1.0:v));p[e+1192>>2]=+$(+(-0.0-B),+m);break}else{p[S>>2]=-0.0-+$(+R,+x);p[e+1188>>2]=-1.5707963705062866;p[e+1192>>2]=0.0;break}}else{p[S>>2]=+$(+R,+x);p[e+1188>>2]=1.5707963705062866;p[e+1192>>2]=0.0}}while(0);x=A*C-w*g;R=T*g-A*F;m=w*F-T*C;p[e+1228>>2]=0.0;B=g*R-C*m;E=F*m-g*x;g=C*x-F*R;p[e+1212>>2]=0.0;F=w*m-A*R;C=A*x-T*m;A=T*R-w*x;p[e+1244>>2]=0.0;w=1.0/+j(+(B*B+E*E+g*g));p[e+1200>>2]=B*w;p[e+1204>>2]=E*w;p[e+1208>>2]=g*w;w=1.0/+j(+(x*x+R*R+m*m));p[e+1216>>2]=x*w;p[e+1220>>2]=R*w;p[e+1224>>2]=m*w;w=1.0/+j(+(F*F+C*C+A*A));p[e+1232>>2]=F*w;p[e+1236>>2]=C*w;p[e+1240>>2]=A*w;if((n[e+1293|0]&1)==0){d=_;return}w=+p[(r[e+24>>2]|0)+336>>2];A=+p[(r[e+28>>2]|0)+336>>2];if(w<1.1920928955078125e-7){k=1}else{k=A<1.1920928955078125e-7|0}n[e+1272|0]=k;C=w+A;if(C>0.0){w=A/C;p[e+1264>>2]=w;O=w}else{p[e+1264>>2]=.5;O=.5}p[e+1268>>2]=1.0-O;d=_;return}function nhe(e,t,i,n,_,o,s,a,l){e=e|0;t=t|0;i=i|0;n=+n;_=+_;o=+o;s=+s;a=+a;l=+l;var c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0.0;c=d;d=d+128|0;b=c|0;u=c+48|0;m=c+96|0;h=c+112|0;if((t|0)==0){d=c;return}f=r[e+24>>2]|0;p[b>>2]=+p[f+4>>2];p[b+4>>2]=+p[f+20>>2];p[b+8>>2]=+p[f+36>>2];p[b+12>>2]=0.0;p[b+16>>2]=+p[f+8>>2];p[b+20>>2]=+p[f+24>>2];p[b+24>>2]=+p[f+40>>2];p[b+28>>2]=0.0;p[b+32>>2]=+p[f+12>>2];p[b+36>>2]=+p[f+28>>2];p[b+40>>2]=+p[f+44>>2];p[b+44>>2]=0.0;g=r[e+28>>2]|0;p[u>>2]=+p[g+4>>2];p[u+4>>2]=+p[g+20>>2];p[u+8>>2]=+p[g+36>>2];p[u+12>>2]=0.0;p[u+16>>2]=+p[g+8>>2];p[u+20>>2]=+p[g+24>>2];p[u+24>>2]=+p[g+40>>2];p[u+28>>2]=0.0;p[u+32>>2]=+p[g+12>>2];p[u+36>>2]=+p[g+28>>2];p[u+40>>2]=+p[g+44>>2];p[u+44>>2]=0.0;C=_-+p[f+56>>2];_=o-+p[f+60>>2];p[m>>2]=n-+p[f+52>>2];p[m+4>>2]=C;p[m+8>>2]=_;p[m+12>>2]=0.0;_=a-+p[g+56>>2];a=l-+p[g+60>>2];p[h>>2]=s-+p[g+52>>2];p[h+4>>2]=_;p[h+8>>2]=a;p[h+12>>2]=0.0;Sue(t,b,u,m,h,i,f+388|0,+p[f+336>>2],g+388|0,+p[g+336>>2]);d=c;return}function _he(e,t){e=e|0;t=t|0;var i=0,_=0,o=0.0,s=0.0,a=0.0,l=0,d=0;i=e+860+(t<<6)|0;_=e+860+(t<<6)+4|0;o=+rhe(+p[e+1184+(t<<2)>>2],+p[i>>2],+p[_>>2]);p[e+860+(t<<6)+52>>2]=o;s=+p[i>>2];a=+p[_>>2];do{if(s>a){r[e+860+(t<<6)+56>>2]=0;l=3614}else{if(s>o){r[e+860+(t<<6)+56>>2]=1;p[e+860+(t<<6)+48>>2]=o-s;break}_=e+860+(t<<6)+56|0;if(a<o){r[_>>2]=2;p[e+860+(t<<6)+48>>2]=o-a;break}else{r[_>>2]=0;l=3614;break}}}while(0);do{if((l|0)==3614){if((n[e+860+(t<<6)+44|0]&1)==0){d=0}else{break}return d|0}}while(0);d=1;return d|0}function rhe(e,t,i){e=+e;t=+t;i=+i;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0;if(t>=i){n=e;return+n}if(e<t){_=+Bi(+(t-e),6.2831854820251465);do{if(_<-3.1415927410125732){r=_+6.2831854820251465}else{if(_<=3.1415927410125732){r=_;break}r=_-6.2831854820251465}}while(0);_=+H(+r);r=+Bi(+(i-e),6.2831854820251465);do{if(r<-3.1415927410125732){o=r+6.2831854820251465}else{if(r<=3.1415927410125732){o=r;break}o=r-6.2831854820251465}}while(0);if(_<+H(+o)){n=e;return+n}n=e+6.2831854820251465;return+n}if(e<=i){n=e;return+n}o=+Bi(+(e-i),6.2831854820251465);do{if(o<-3.1415927410125732){s=o+6.2831854820251465}else{if(o<=3.1415927410125732){s=o;break}s=o-6.2831854820251465}}while(0);o=+H(+s);s=+Bi(+(e-t),6.2831854820251465);do{if(s<-3.1415927410125732){a=s+6.2831854820251465}else{if(s<=3.1415927410125732){a=s;break}a=s-6.2831854820251465}}while(0);if(+H(+a)>=o){n=e;return+n}n=e-6.2831854820251465;return+n}function ohe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0.0,a=0.0,l=0.0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0.0,y=0.0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0;t=d;d=d+16|0;i=t|0;if((n[e+1300|0]&1)==0){d=t;return}p[e+920>>2]=0.0;p[e+984>>2]=0.0;p[e+1048>>2]=0.0;_=e+24|0;vBe(e+704|0,0,16);o=e+28|0;ihe(e,(r[_>>2]|0)+4|0,(r[o>>2]|0)+4|0);jnt[r[(r[e>>2]|0)+44>>2]&2047](e);s=+p[e+1276>>2];a=+p[e+1280>>2];l=+p[e+1284>>2];c=e+1292|0;b=i|0;u=i+4|0;m=i+8|0;h=i+12|0;if(+p[e+688>>2]>=+p[e+672>>2]){if((n[c]&1)==0){f=e+1152|0;g=e+1136|0;C=e+1120|0}else{f=e+1088|0;g=e+1072|0;C=e+1056|0}S=+p[f>>2];y=+p[g>>2];p[b>>2]=+p[C>>2];p[u>>2]=y;p[m>>2]=S;p[h>>2]=0.0;nhe(e,e+168|0,i,s,a,l,s,a,l)}if(+p[e+692>>2]>=+p[e+676>>2]){if((n[c]&1)==0){v=e+1156|0;x=e+1140|0;M=e+1124|0}else{v=e+1092|0;x=e+1076|0;M=e+1060|0}S=+p[v>>2];y=+p[x>>2];p[b>>2]=+p[M>>2];p[u>>2]=y;p[m>>2]=S;p[h>>2]=0.0;nhe(e,e+252|0,i,s,a,l,s,a,l)}if(+p[e+696>>2]>=+p[e+680>>2]){if((n[c]&1)==0){T=e+1160|0;D=e+1144|0;P=e+1128|0}else{T=e+1096|0;D=e+1080|0;P=e+1064|0}S=+p[T>>2];y=+p[D>>2];p[b>>2]=+p[P>>2];p[u>>2]=y;p[m>>2]=S;p[h>>2]=0.0;nhe(e,e+336|0,i,s,a,l,s,a,l)}h=i;i=0;do{P=e+860+(i<<6)|0;D=e+860+(i<<6)+4|0;l=+rhe(+p[e+1184+(i<<2)>>2],+p[P>>2],+p[D>>2]);p[e+860+(i<<6)+52>>2]=l;a=+p[P>>2];s=+p[D>>2];do{if(a>s){r[e+860+(i<<6)+56>>2]=0;w=3663}else{if(a>l){r[e+860+(i<<6)+56>>2]=1;p[e+860+(i<<6)+48>>2]=l-a;w=3664;break}D=e+860+(i<<6)+56|0;if(s<l){r[D>>2]=2;p[e+860+(i<<6)+48>>2]=l-s;w=3664;break}else{r[D>>2]=0;w=3663;break}}}while(0);if((w|0)==3663){w=0;if((n[e+860+(i<<6)+44|0]&1)!=0){w=3664}}do{if((w|0)==3664){w=0;D=e+1200+(i<<4)|0;r[h>>2]=r[D>>2];r[h+4>>2]=r[D+4>>2];r[h+8>>2]=r[D+8>>2];r[h+12>>2]=r[D+12>>2];D=e+420+(i*84|0)|0;if((D|0)==0){break}P=r[_>>2]|0;s=+p[P+4>>2];l=+p[P+20>>2];a=+p[P+36>>2];S=+p[P+8>>2];y=+p[P+24>>2];A=+p[P+40>>2];F=+p[P+12>>2];R=+p[P+28>>2];I=+p[P+44>>2];T=r[o>>2]|0;B=+p[T+4>>2];V=+p[T+20>>2];E=+p[T+36>>2];N=+p[T+8>>2];k=+p[T+24>>2];O=+p[T+40>>2];L=+p[T+12>>2];U=+p[T+28>>2];G=+p[T+44>>2];vBe(D|0,0,16);W=+p[b>>2];z=+p[u>>2];H=+p[m>>2];j=s*W+l*z+a*H;a=S*W+y*z+A*H;A=F*W+R*z+I*H;p[e+420+(i*84|0)+16>>2]=j;p[e+420+(i*84|0)+20>>2]=a;p[e+420+(i*84|0)+24>>2]=A;p[e+420+(i*84|0)+28>>2]=0.0;I=-0.0-W;W=-0.0-z;z=-0.0-H;H=B*I+V*W+E*z;E=N*I+k*W+O*z;O=L*I+U*W+G*z;p[e+420+(i*84|0)+32>>2]=H;p[e+420+(i*84|0)+36>>2]=E;p[e+420+(i*84|0)+40>>2]=O;p[e+420+(i*84|0)+44>>2]=0.0;z=j*+p[P+388>>2];G=a*+p[P+392>>2];W=A*+p[P+396>>2];p[e+420+(i*84|0)+48>>2]=z;p[e+420+(i*84|0)+52>>2]=G;p[e+420+(i*84|0)+56>>2]=W;p[e+420+(i*84|0)+60>>2]=0.0;U=H*+p[T+388>>2];I=E*+p[T+392>>2];L=O*+p[T+396>>2];p[e+420+(i*84|0)+64>>2]=U;p[e+420+(i*84|0)+68>>2]=I;p[e+420+(i*84|0)+72>>2]=L;p[e+420+(i*84|0)+76>>2]=0.0;p[e+420+(i*84|0)+80>>2]=j*z+a*G+A*W+(H*U+E*I+O*L)}}while(0);i=i+1|0}while((i|0)<3);d=t;return}function she(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0.0,u=0.0,m=0.0;if((n[e+1300|0]&1)!=0){r[t>>2]=0;r[t+4>>2]=0;return}ihe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);i=t|0;r[i>>2]=0;_=t+4|0;r[_>>2]=6;if((r[e+848>>2]|0)==0){if((n[e+780|0]&1)==0){o=0;s=6}else{a=3684}}else{a=3684}if((a|0)==3684){r[i>>2]=1;r[_>>2]=5;o=1;s=5}if((r[e+852>>2]|0)==0){if((n[e+781|0]&1)==0){l=o;d=s}else{a=3698}}else{a=3698}if((a|0)==3698){t=o+1|0;r[i>>2]=t;o=s-1|0;r[_>>2]=o;l=t;d=o}if((r[e+856>>2]|0)==0){if((n[e+782|0]&1)==0){c=0}else{a=3701}}else{a=3701}if((a|0)==3701){r[i>>2]=l+1;r[_>>2]=d-1;c=0}do{d=e+860+(c<<6)|0;l=e+860+(c<<6)+4|0;b=+rhe(+p[e+1184+(c<<2)>>2],+p[d>>2],+p[l>>2]);p[e+860+(c<<6)+52>>2]=b;u=+p[d>>2];m=+p[l>>2];do{if(u>m){r[e+860+(c<<6)+56>>2]=0;a=3693}else{if(u>b){r[e+860+(c<<6)+56>>2]=1;p[e+860+(c<<6)+48>>2]=b-u;a=3694;break}l=e+860+(c<<6)+56|0;if(m<b){r[l>>2]=2;p[e+860+(c<<6)+48>>2]=b-m;a=3694;break}else{r[l>>2]=0;a=3693;break}}}while(0);if((a|0)==3693){a=0;if((n[e+860+(c<<6)+44|0]&1)!=0){a=3694}}if((a|0)==3694){a=0;r[i>>2]=(r[i>>2]|0)+1;r[_>>2]=(r[_>>2]|0)-1}c=c+1|0}while((c|0)<3);return}function ahe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0;i=r[e+24>>2]|0;_=i+4|0;o=r[e+28>>2]|0;s=o+4|0;a=i+304|0;p=o+304|0;l=i+320|0;i=o+320|0;if((n[e+1293|0]&1)==0){o=lhe(e,t,0,_,s,a,p,l,i)|0;phe(e,t,o,_,s,a,p,l,i)|0;return}else{o=phe(e,t,0,_,s,a,p,l,i)|0;lhe(e,t,o,_,s,a,p,l,i)|0;return}}function phe(e,t,i,_,o,s,a,l,c){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;var b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0;b=d;d=d+16|0;u=b|0;m=u;h=e+1296|0;f=t+32|0;g=t+4|0;C=0;S=i;while(1){i=e+860+(C<<6)|0;if((r[e+860+(C<<6)+56>>2]|0)==0){if((n[e+860+(C<<6)+44|0]&1)==0){y=S}else{v=3713}}else{v=3713}if((v|0)==3713){v=0;x=e+1200+(C<<4)|0;r[m>>2]=r[x>>2];r[m+4>>2]=r[x+4>>2];r[m+8>>2]=r[x+8>>2];r[m+12>>2]=r[x+12>>2];x=r[h>>2]>>(C*3|0)+9;if((x&1|0)==0){p[e+860+(C<<6)+28>>2]=+p[r[f>>2]>>2]}if((x&2|0)==0){p[e+860+(C<<6)+36>>2]=+p[r[f>>2]>>2]}if((x&4|0)==0){p[e+860+(C<<6)+32>>2]=+p[g>>2]}y=(che(e,i,_,o,s,a,l,c,t,S,u,1,0)|0)+S|0}i=C+1|0;if((i|0)<3){C=i;S=y}else{break}}d=b;return y|0}function lhe(e,t,i,_,o,s,a,l,c){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;var b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0;b=d;d=d+80|0;u=b|0;m=b+64|0;p[u+60>>2]=0.0;h=u+8|0;p[h>>2]=0.0;f=u+12|0;p[f>>2]=.10000000149011612;g=u+16|0;p[g>>2]=300.0;C=u|0;p[C>>2]=1.0;S=u+4|0;p[S>>2]=-1.0;y=u+28|0;p[y>>2]=0.0;v=u+32|0;p[v>>2]=.20000000298023224;x=u+36|0;p[x>>2]=0.0;M=u+40|0;p[M>>2]=0.0;T=u+20|0;p[T>>2]=1.0;D=u+24|0;p[D>>2]=.5;P=u+56|0;r[P>>2]=0;w=u+48|0;p[w>>2]=0.0;A=u+44|0;n[A]=0;F=u+52|0;R=e+724|0;I=e+720|0;B=m|0;V=m+4|0;E=m+8|0;N=m+12|0;k=e+1296|0;O=t+32|0;L=t+4|0;U=e+1293|0;G=0;W=i;while(1){i=r[e+848+(G<<2)>>2]|0;z=n[e+780+G|0]&1;do{if((i|0)==0&z<<24>>24==0){H=W}else{p[M>>2]=0.0;r[P>>2]=i;p[F>>2]=+p[e+832+(G<<2)>>2];p[w>>2]=+p[e+816+(G<<2)>>2];p[T>>2]=+p[R>>2];n[A]=z;p[S>>2]=+p[e+688+(G<<2)>>2];p[D>>2]=+p[I>>2];p[C>>2]=+p[e+672+(G<<2)>>2];p[g>>2]=0.0;p[f>>2]=+p[e+800+(G<<2)>>2];p[h>>2]=+p[e+784+(G<<2)>>2];p[B>>2]=+p[e+1056+(G<<2)>>2];p[V>>2]=+p[e+1072+(G<<2)>>2];p[E>>2]=+p[e+1088+(G<<2)>>2];p[N>>2]=0.0;j=r[k>>2]>>(G*3|0);if((j&1|0)==0){X=r[O>>2]|0}else{X=e+732+(G<<2)|0}p[y>>2]=+p[X>>2];if((j&2|0)==0){Z=r[O>>2]|0}else{Z=e+764+(G<<2)|0}p[x>>2]=+p[Z>>2];if((j&4|0)==0){Q=L}else{Q=e+748+(G<<2)|0}p[v>>2]=+p[Q>>2];if((n[U]&1)==0){H=(che(e,u,_,o,s,a,l,c,t,W,m,0,0)|0)+W|0;break}j=G+1|0;if((r[e+860+(((j|0)==3?0:j)<<6)+56>>2]|0)==0){q=1}else{q=(r[e+860+(((G+2|0)%3|0)<<6)+56>>2]|0)==0|0}H=(che(e,u,_,o,s,a,l,c,t,W,m,0,q)|0)+W|0}}while(0);z=G+1|0;if((z|0)<3){G=z;W=H}else{break}}d=b;return H|0}function dhe(e){e=e|0;return}function che(e,t,i,_,o,s,a,l,d,c,b,u,m){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;d=d|0;c=c|0;b=b|0;u=u|0;m=m|0;var h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0.0,P=0.0,w=0,A=0.0,F=0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0,te=0,ie=0.0,_e=0.0,re=0.0;h=ne(r[d+24>>2]|0,c)|0;c=(n[t+44|0]&1)==0;f=r[t+56>>2]|0;if(c&(f|0)==0){g=0;return g|0}C=(u|0)!=0;u=d+12|0;S=r[(C?u:d+8|0)>>2]|0;if(C){y=r[d+20>>2]|0}else{y=0}v=b|0;p[S+(h<<2)>>2]=+p[v>>2];x=b+4|0;M=h+1|0;p[S+(M<<2)>>2]=+p[x>>2];T=b+8|0;b=h+2|0;p[S+(b<<2)>>2]=+p[T>>2];do{if(C){p[y+(h<<2)>>2]=-0.0-+p[v>>2];p[y+(M<<2)>>2]=-0.0-+p[x>>2];p[y+(b<<2)>>2]=-0.0-+p[T>>2]}else{S=e+1168|0;D=+p[S>>2];if((n[e+1293|0]&1)==0){P=D-+p[i+48>>2];w=e+1172|0;A=+p[w>>2]-+p[i+52>>2];F=e+1176|0;R=+p[F>>2]-+p[i+56>>2];I=+p[T>>2];B=+p[x>>2];V=+p[v>>2];p[(r[u>>2]|0)+(h<<2)>>2]=A*I-R*B;p[(r[u>>2]|0)+(M<<2)>>2]=R*V-P*I;p[(r[u>>2]|0)+(b<<2)>>2]=P*B-A*V;V=+p[S>>2]-+p[_+48>>2];A=+p[w>>2]-+p[_+52>>2];B=+p[F>>2]-+p[_+56>>2];P=+p[T>>2];I=+p[x>>2];R=+p[v>>2];F=d+20|0;p[(r[F>>2]|0)+(h<<2)>>2]=-0.0-(A*P-B*I);p[(r[F>>2]|0)+(M<<2)>>2]=-0.0-(B*R-V*P);p[(r[F>>2]|0)+(b<<2)>>2]=-0.0-(V*I-A*R);break}R=D-+p[_+48>>2];D=+p[e+1172>>2]-+p[_+52>>2];A=+p[e+1176>>2]-+p[_+56>>2];I=+p[v>>2];V=+p[x>>2];P=+p[T>>2];B=R*I+D*V+A*P;E=I*B;N=V*B;k=P*B;B=+p[e+1104>>2]-+p[i+48>>2];O=+p[e+1108>>2]-+p[i+52>>2];L=+p[e+1112>>2]-+p[i+56>>2];U=I*B+V*O+P*L;G=I*U;W=V*U;z=P*U;U=+p[t+52>>2]-+p[t+48>>2];H=G+I*U-E;j=W+V*U-N;X=z+P*U-k;U=+p[e+1264>>2];Z=B-G+U*H;G=O-W+U*j;W=L-z+U*X;z=+p[e+1268>>2];L=R-E-z*H;H=D-N-z*j;j=A-k-z*X;X=P*G-V*W;k=I*W-P*Z;W=V*Z-I*G;G=P*H-V*j;Z=I*j-P*L;P=V*L-I*H;if((n[e+1272|0]&1)!=0&(m|0)==0){Q=U*X;q=U*k;Y=U*W;J=z*G;K=z*Z;$=z*P}else{Q=X;q=k;Y=W;J=G;K=Z;$=P}p[(r[u>>2]|0)+(h<<2)>>2]=Q;p[(r[u>>2]|0)+(M<<2)>>2]=q;p[(r[u>>2]|0)+(b<<2)>>2]=Y;F=d+20|0;p[(r[F>>2]|0)+(h<<2)>>2]=-0.0-J;p[(r[F>>2]|0)+(M<<2)>>2]=-0.0-K;p[(r[F>>2]|0)+(b<<2)>>2]=-0.0-$}}while(0);b=(f|0)!=0;do{if(b){if(+p[t>>2]!=+p[t+4>>2]){ee=3753;break}M=d+28|0;p[(r[M>>2]|0)+(h<<2)>>2]=0.0;te=M}else{ee=3753}}while(0);do{if((ee|0)==3753){M=d+28|0;p[(r[M>>2]|0)+(h<<2)>>2]=0.0;if(!c){p[(r[d+32>>2]|0)+(h<<2)>>2]=+p[t+28>>2];if(b){te=M;break}$=+p[t+8>>2];if(C){ie=$}else{ie=-0.0-$}K=+p[t+52>>2];J=+p[t>>2];Y=+p[t+4>>2];q=+p[d>>2]*+p[t+32>>2];e:do{if(J>Y){_e=1.0}else{if(J==Y){_e=0.0;break}Q=ie/q;if(Q<0.0){do{if(K>=J){if(J-Q<=K){break}_e=(J-K)/Q;break e}}while(0);_e=K<J?0.0:1.0;break}if(Q<=0.0){_e=0.0;break}do{if(K<=Y){if(Y-Q>=K){break}_e=(Y-K)/Q;break e}}while(0);_e=K>Y?0.0:1.0}}while(0);u=(r[M>>2]|0)+(h<<2)|0;p[u>>2]=_e*$+ +p[u>>2];u=t+12|0;p[(r[d+36>>2]|0)+(h<<2)>>2]=-0.0-+p[u>>2];p[(r[d+40>>2]|0)+(h<<2)>>2]=+p[u>>2]}if(b){te=M;break}else{g=1}return g|0}}while(0);_e=+p[d>>2]*+p[t+32>>2];if(C){b=(r[te>>2]|0)+(h<<2)|0;p[b>>2]=+p[t+48>>2]*(-0.0-_e)+ +p[b>>2]}else{b=(r[te>>2]|0)+(h<<2)|0;p[b>>2]=_e*+p[t+48>>2]+ +p[b>>2]}p[(r[d+32>>2]|0)+(h<<2)>>2]=+p[t+36>>2];if(+p[t>>2]==+p[t+4>>2]){p[(r[d+36>>2]|0)+(h<<2)>>2]=-3.4028234663852886e+38;p[(r[d+40>>2]|0)+(h<<2)>>2]=3.4028234663852886e+38;g=1;return g|0}b=(f|0)==1;f=(r[d+36>>2]|0)+(h<<2)|0;if(b){p[f>>2]=0.0;p[(r[d+40>>2]|0)+(h<<2)>>2]=3.4028234663852886e+38}else{p[f>>2]=-3.4028234663852886e+38;p[(r[d+40>>2]|0)+(h<<2)>>2]=0.0}_e=+p[t+40>>2];if(_e<=0.0){g=1;return g|0}if(C){ie=+p[v>>2];Y=+p[x>>2];K=+p[T>>2];re=+p[a>>2]*ie+ +p[a+4>>2]*Y+ +p[a+8>>2]*K-(ie*+p[l>>2]+Y*+p[l+4>>2]+K*+p[l+8>>2])}else{K=+p[v>>2];Y=+p[x>>2];ie=+p[T>>2];re=+p[o>>2]*K+ +p[o+4>>2]*Y+ +p[o+8>>2]*ie-(K*+p[s>>2]+Y*+p[s+4>>2]+ie*+p[s+8>>2])}if(b){if(re>=0.0){g=1;return g|0}ie=re*(-0.0-_e);b=(r[te>>2]|0)+(h<<2)|0;if(ie<=+p[b>>2]){g=1;return g|0}p[b>>2]=ie;g=1;return g|0}else{if(re<=0.0){g=1;return g|0}ie=re*(-0.0-_e);b=(r[te>>2]|0)+(h<<2)|0;if(ie>=+p[b>>2]){g=1;return g|0}p[b>>2]=ie;g=1;return g|0}return 0}function bhe(e){e=e|0;var t=0.0,i=0.0,n=0.0,_=0.0;t=+p[(r[e+24>>2]|0)+336>>2];i=+p[(r[e+28>>2]|0)+336>>2];if(i==0.0){n=1.0}else{n=t/(t+i)}i=1.0-n;t=n*+p[e+1108>>2]+i*+p[e+1172>>2];_=n*+p[e+1112>>2]+i*+p[e+1176>>2];p[e+1276>>2]=n*+p[e+1104>>2]+i*+p[e+1168>>2];p[e+1280>>2]=t;p[e+1284>>2]=_;p[e+1288>>2]=0.0;return}function uhe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;var _=0,o=0;if(n>>>0<3){if((t|0)==3){p[e+732+(n<<2)>>2]=i;_=e+1296|0;r[_>>2]=r[_>>2]|1<<(n*3|0);return}else if((t|0)==4){p[e+764+(n<<2)>>2]=i;_=e+1296|0;r[_>>2]=r[_>>2]|2<<(n*3|0);return}else if((t|0)==2){p[e+748+(n<<2)>>2]=i;_=e+1296|0;r[_>>2]=r[_>>2]|4<<(n*3|0);return}else{return}}_=n-3|0;if(_>>>0>=3){return}if((t|0)==2){p[e+860+(_<<6)+32>>2]=i;o=e+1296|0;r[o>>2]=r[o>>2]|4<<(n*3|0);return}else if((t|0)==3){p[e+860+(_<<6)+28>>2]=i;o=e+1296|0;r[o>>2]=r[o>>2]|1<<(n*3|0);return}else if((t|0)==4){p[e+860+(_<<6)+36>>2]=i;_=e+1296|0;r[_>>2]=r[_>>2]|2<<(n*3|0);return}else{return}}function mhe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0;do{if(i>>>0<3){if((t|0)==2){n=+p[e+748+(i<<2)>>2];break}else if((t|0)==4){n=+p[e+764+(i<<2)>>2];break}else if((t|0)==3){n=+p[e+732+(i<<2)>>2];break}else{n=0.0;break}}else{_=i-3|0;if(_>>>0>=3){n=0.0;break}if((t|0)==3){n=+p[e+860+(_<<6)+28>>2];break}else if((t|0)==4){n=+p[e+860+(_<<6)+36>>2];break}else if((t|0)==2){n=+p[e+860+(_<<6)+32>>2];break}else{n=0.0;break}}}while(0);return+n}function hhe(e,t,i,_,o,s,a,l){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;var d=0,c=0,b=0.0,u=0.0,m=0.0;ihe(e,i,_);d=e+860|0;c=e+864|0;b=+rhe(+p[e+1184>>2],+p[d>>2],+p[c>>2]);p[e+912>>2]=b;u=+p[d>>2];m=+p[c>>2];do{if(u>m){r[e+916>>2]=0}else{if(u>b){r[e+916>>2]=1;p[e+908>>2]=b-u;break}c=e+916|0;if(m<b){r[c>>2]=2;p[e+908>>2]=b-m;break}else{r[c>>2]=0;break}}}while(0);c=e+924|0;d=e+928|0;m=+rhe(+p[e+1188>>2],+p[c>>2],+p[d>>2]);p[e+976>>2]=m;b=+p[c>>2];u=+p[d>>2];do{if(b>u){r[e+980>>2]=0}else{if(b>m){r[e+980>>2]=1;p[e+972>>2]=m-b;break}d=e+980|0;if(u<m){r[d>>2]=2;p[e+972>>2]=m-u;break}else{r[d>>2]=0;break}}}while(0);d=e+988|0;c=e+992|0;u=+rhe(+p[e+1192>>2],+p[d>>2],+p[c>>2]);p[e+1040>>2]=u;m=+p[d>>2];b=+p[c>>2];do{if(m>b){r[e+1044>>2]=0}else{if(m>u){r[e+1044>>2]=1;p[e+1036>>2]=u-m;break}c=e+1044|0;if(b<u){r[c>>2]=2;p[e+1036>>2]=u-b;break}else{r[c>>2]=0;break}}}while(0);if((n[e+1293|0]&1)==0){c=lhe(e,t,0,i,_,o,s,a,l)|0;phe(e,t,c,i,_,o,s,a,l)|0;return}else{c=phe(e,t,0,i,_,o,s,a,l)|0;lhe(e,t,c,i,_,o,s,a,l)|0;return}}function fhe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ghe(e){e=e|0;return 244}function Che(e){e=e|0;return}function She(e){e=e|0;return 340}function yhe(e){e=e|0;return}function vhe(e,t,i){e=e|0;t=t|0;i=i|0;wge(e|0,t,i)|0;p[t+44>>2]=+p[e+40>>2];p[t+48>>2]=+p[e+44>>2];p[t+52>>2]=+p[e+48>>2];p[t+56>>2]=+p[e+52>>2];p[t+60>>2]=+p[e+56>>2];p[t+64>>2]=+p[e+60>>2];p[t+68>>2]=+p[e+64>>2];p[t+72>>2]=+p[e+68>>2];p[t+76>>2]=+p[e+72>>2];p[t+80>>2]=+p[e+76>>2];p[t+84>>2]=+p[e+80>>2];p[t+88>>2]=+p[e+84>>2];p[t+92>>2]=+p[e+88>>2];p[t+96>>2]=+p[e+92>>2];p[t+100>>2]=+p[e+96>>2];p[t+104>>2]=+p[e+100>>2];p[t+108>>2]=+p[e+104>>2];p[t+112>>2]=+p[e+108>>2];p[t+116>>2]=+p[e+112>>2];p[t+120>>2]=+p[e+116>>2];p[t+124>>2]=+p[e+120>>2];p[t+128>>2]=+p[e+124>>2];p[t+132>>2]=+p[e+128>>2];p[t+136>>2]=+p[e+132>>2];p[t+140>>2]=+p[e+136>>2];p[t+144>>2]=+p[e+140>>2];p[t+148>>2]=+p[e+144>>2];p[t+152>>2]=+p[e+148>>2];p[t+156>>2]=+p[e+152>>2];p[t+160>>2]=+p[e+156>>2];p[t+164>>2]=+p[e+160>>2];p[t+168>>2]=+p[e+164>>2];p[t+220>>2]=+p[e+860>>2];p[t+204>>2]=+p[e+864>>2];p[t+188>>2]=+p[e+672>>2];p[t+172>>2]=+p[e+688>>2];p[t+224>>2]=+p[e+924>>2];p[t+208>>2]=+p[e+928>>2];p[t+192>>2]=+p[e+676>>2];p[t+176>>2]=+p[e+692>>2];p[t+228>>2]=+p[e+988>>2];p[t+212>>2]=+p[e+992>>2];p[t+196>>2]=+p[e+680>>2];p[t+180>>2]=+p[e+696>>2];r[t+236>>2]=n[e+1292|0]&1;r[t+240>>2]=n[e+1293|0]&1;return 17808}function xhe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0.0,s=0.0,a=0;i=t|0;_=t+48|0;if((n[e+1301|0]&1)!=0){o=(+p[e+1248>>2]-+p[e+1308>>2])*+p[e+1332>>2];p[e+784>>2]=o*(+p[i>>2]*+p[e+1356>>2]/+(r[_>>2]|0));s=+H(+o);p[e+800>>2]=s/+p[i>>2]}if((n[e+1302|0]&1)!=0){s=(+p[e+1252>>2]-+p[e+1312>>2])*+p[e+1336>>2];p[e+788>>2]=s*(+p[i>>2]*+p[e+1360>>2]/+(r[_>>2]|0));o=+H(+s);p[e+804>>2]=o/+p[i>>2]}if((n[e+1303|0]&1)!=0){o=(+p[e+1256>>2]-+p[e+1316>>2])*+p[e+1340>>2];p[e+792>>2]=o*(+p[i>>2]*+p[e+1364>>2]/+(r[_>>2]|0));s=+H(+o);p[e+808>>2]=s/+p[i>>2]}if((n[e+1304|0]&1)!=0){s=+p[e+1344>>2]*(-0.0-(+p[e+1184>>2]-+p[e+1320>>2]));p[e+868>>2]=s*(+p[i>>2]*+p[e+1368>>2]/+(r[_>>2]|0));o=+H(+s);p[e+872>>2]=o/+p[i>>2]}if((n[e+1305|0]&1)!=0){o=+p[e+1348>>2]*(-0.0-(+p[e+1188>>2]-+p[e+1324>>2]));p[e+932>>2]=o*(+p[i>>2]*+p[e+1372>>2]/+(r[_>>2]|0));s=+H(+o);p[e+936>>2]=s/+p[i>>2]}if((n[e+1306|0]&1)==0){a=e;ahe(a,t);return}s=+p[e+1352>>2]*(-0.0-(+p[e+1192>>2]-+p[e+1328>>2]));p[e+996>>2]=s*(+p[i>>2]*+p[e+1376>>2]/+(r[_>>2]|0));o=+H(+s);p[e+1e3>>2]=o/+p[i>>2];a=e;ahe(a,t);return}function Mhe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0;n=+p[t>>2];_=+p[t+4>>2];o=+p[t+8>>2];s=1.0/+j(+(n*n+_*_+o*o));a=n*s;n=_*s;_=o*s;s=+p[i>>2];o=+p[i+4>>2];l=+p[i+8>>2];d=1.0/+j(+(s*s+o*o+l*l));c=s*d;s=o*d;o=l*d;d=_*s-n*o;l=a*o-_*c;b=n*c-a*s;i=r[e+24>>2]|0;u=+p[i+4>>2];m=+p[i+20>>2];h=+p[i+36>>2];f=+p[i+8>>2];g=+p[i+24>>2];C=+p[i+40>>2];S=+p[i+12>>2];y=+p[i+28>>2];v=+p[i+44>>2];x=-0.0-+p[i+52>>2];M=-0.0-+p[i+56>>2];T=-0.0-+p[i+60>>2];p[e+40>>2]=u*d+l*m+b*h;p[e+44>>2]=c*u+s*m+o*h;p[e+48>>2]=a*u+n*m+_*h;p[e+52>>2]=0.0;p[e+56>>2]=d*f+l*g+b*C;p[e+60>>2]=c*f+s*g+o*C;p[e+64>>2]=a*f+n*g+_*C;p[e+68>>2]=0.0;p[e+72>>2]=d*S+l*y+b*v;p[e+76>>2]=c*S+s*y+o*v;p[e+80>>2]=a*S+n*y+_*v;p[e+84>>2]=0.0;p[e+88>>2]=u*0.0+m*0.0+h*0.0+(u*x+m*M+h*T);p[e+92>>2]=f*0.0+g*0.0+C*0.0+(f*x+g*M+C*T);p[e+96>>2]=S*0.0+y*0.0+v*0.0+(S*x+y*M+v*T);p[e+100>>2]=0.0;t=r[e+28>>2]|0;T=+p[t+4>>2];v=+p[t+20>>2];M=+p[t+36>>2];y=+p[t+8>>2];x=+p[t+24>>2];S=+p[t+40>>2];C=+p[t+12>>2];g=+p[t+28>>2];f=+p[t+44>>2];h=-0.0-+p[t+52>>2];m=-0.0-+p[t+56>>2];u=-0.0-+p[t+60>>2];p[e+104>>2]=d*T+l*v+b*M;p[e+108>>2]=c*T+s*v+o*M;p[e+112>>2]=a*T+n*v+_*M;p[e+116>>2]=0.0;p[e+120>>2]=d*y+l*x+b*S;p[e+124>>2]=c*y+s*x+o*S;p[e+128>>2]=a*y+n*x+_*S;p[e+132>>2]=0.0;p[e+136>>2]=d*C+l*g+b*f;p[e+140>>2]=c*C+s*g+o*f;p[e+144>>2]=a*C+n*g+_*f;p[e+148>>2]=0.0;p[e+152>>2]=T*0.0+v*0.0+M*0.0+(T*h+v*m+M*u);p[e+156>>2]=y*0.0+x*0.0+S*0.0+(y*h+x*m+S*u);p[e+160>>2]=C*0.0+g*0.0+f*0.0+(C*h+g*m+f*u);p[e+164>>2]=0.0;ihe(e,i+4|0,t+4|0);return}function The(e){e=e|0;if((e|0)==0){return}SBe(e|0);return}function Dhe(e,t,i){e=e|0;t=t|0;i=i|0;vhe(e,t,i)|0;p[t+268>>2]=+p[e+1308>>2];p[t+316>>2]=+p[e+1356>>2];r[t+244>>2]=n[e+1301|0]&1;p[t+292>>2]=+p[e+1332>>2];p[t+272>>2]=+p[e+1312>>2];p[t+320>>2]=+p[e+1360>>2];r[t+248>>2]=n[e+1302|0]&1;p[t+296>>2]=+p[e+1336>>2];p[t+276>>2]=+p[e+1316>>2];p[t+324>>2]=+p[e+1364>>2];r[t+252>>2]=n[e+1303|0]&1;p[t+300>>2]=+p[e+1340>>2];p[t+280>>2]=+p[e+1320>>2];p[t+328>>2]=+p[e+1368>>2];r[t+256>>2]=n[e+1304|0]&1;p[t+304>>2]=+p[e+1344>>2];p[t+284>>2]=+p[e+1324>>2];p[t+332>>2]=+p[e+1372>>2];r[t+260>>2]=n[e+1305|0]&1;p[t+308>>2]=+p[e+1348>>2];p[t+288>>2]=+p[e+1328>>2];p[t+336>>2]=+p[e+1376>>2];r[t+264>>2]=n[e+1306|0]&1;p[t+312>>2]=+p[e+1352>>2];return 17808}function Phe(e){e=e|0;if((e|0)==0){return}SBe(e|0);return}function whe(e,t,i,_,o,s,a,l){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;var d=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0;r[e+4>>2]=4;r[e+8>>2]=-1;r[e+12>>2]=-1;p[e+16>>2]=3.4028234663852886e+38;n[e+20|0]=1;n[e+21|0]=0;r[e+24>>2]=t;r[e+28>>2]=i;p[e+32>>2]=0.0;p[e+36>>2]=.30000001192092896;r[e>>2]=23504;p[e+680>>2]=0.0;p[e+684>>2]=-1.0;p[e+688>>2]=.8999999761581421;p[e+692>>2]=.30000001192092896;p[e+696>>2]=1.0;p[e+700>>2]=0.0;p[e+704>>2]=0.0;n[e+708|0]=0;n[e+728|0]=0;n[e+729|0]=0;n[e+730|0]=0;n[e+731|0]=1;n[e+732|0]=l&1;r[e+740>>2]=0;i=e+592|0;d=_;r[i>>2]=r[d>>2];r[i+4>>2]=r[d+4>>2];r[i+8>>2]=r[d+8>>2];r[i+12>>2]=r[d+12>>2];c=+p[t+4>>2];b=+p[t+20>>2];u=+p[t+36>>2];d=s|0;m=+p[d>>2];i=s+4|0;h=+p[i>>2];_=s+8|0;f=+p[_>>2];g=c*m+b*h+u*f;do{if(g<.9999998807907104){if(g>-.9999998807907104){C=u*h-b*f;S=c*f-u*m;y=b*m-c*h;v=C;x=S;M=y;T=f*S-h*y;D=m*y-f*C;P=h*C-m*S;break}else{v=+p[t+8>>2];x=+p[t+24>>2];M=+p[t+40>>2];T=+p[t+12>>2];D=+p[t+28>>2];P=+p[t+44>>2];break}}else{v=+p[t+8>>2];x=+p[t+24>>2];M=+p[t+40>>2];T=-0.0-+p[t+12>>2];D=-0.0-+p[t+28>>2];P=-0.0-+p[t+44>>2]}}while(0);p[e+544>>2]=T;p[e+548>>2]=v;p[e+552>>2]=+p[d>>2];p[e+556>>2]=0.0;p[e+560>>2]=D;p[e+564>>2]=x;p[e+568>>2]=+p[i>>2];p[e+572>>2]=0.0;p[e+576>>2]=P;p[e+580>>2]=M;p[e+584>>2]=+p[_>>2];p[e+588>>2]=0.0;M=+p[i>>2];i=a+8|0;x=+p[i>>2];v=+p[_>>2];_=a+4|0;m=+p[_>>2];t=a|0;h=+p[t>>2];f=+p[d>>2];c=x*v+(M*m+h*f);do{if(c<-.9999998807907104){if(+H(+v)>.7071067690849304){b=1.0/+j(+(M*M+v*v));w=0.0;A=b*(-0.0-v);F=M*b;R=0.0;break}else{b=1.0/+j(+(M*M+f*f));w=b*(-0.0-M);A=f*b;F=0.0;R=0.0;break}}else{b=+j(+((c+1.0)*2.0));u=1.0/b;w=(M*x-v*m)*u;A=(v*h-x*f)*u;F=(m*f-M*h)*u;R=b*.5}}while(0);M=T*R+P*A-D*F;f=D*R+T*F-P*w;v=P*R+D*w-T*A;c=-0.0-w;w=T*c-D*A-P*F;P=-0.0-A;A=-0.0-F;F=f*A+(R*M+w*c)-v*P;D=v*c+(R*f+w*P)-M*A;T=M*P+(R*v+w*A)-f*c;d=e+656|0;a=o;r[d>>2]=r[a>>2];r[d+4>>2]=r[a+4>>2];r[d+8>>2]=r[a+8>>2];r[d+12>>2]=r[a+12>>2];p[e+608>>2]=F;p[e+612>>2]=m*T-x*D;p[e+616>>2]=+p[t>>2];p[e+620>>2]=0.0;p[e+624>>2]=D;p[e+628>>2]=x*F-h*T;p[e+632>>2]=+p[_>>2];p[e+636>>2]=0.0;p[e+640>>2]=T;p[e+644>>2]=h*D-m*F;p[e+648>>2]=+p[i>>2];p[e+652>>2]=0.0;p[e+724>>2]=l?-1.0:1.0;return}function Ahe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0;Dge(e|0,4,t);r[e>>2]=23504;p[e+680>>2]=0.0;p[e+684>>2]=-1.0;p[e+688>>2]=.8999999761581421;p[e+692>>2]=.30000001192092896;p[e+696>>2]=1.0;p[e+700>>2]=0.0;p[e+704>>2]=0.0;n[e+708|0]=0;n[e+728|0]=0;n[e+729|0]=0;n[e+730|0]=0;n[e+731|0]=1;n[e+732|0]=o&1;r[e+740>>2]=0;s=_|0;a=_+8|0;l=+p[a>>2];if(+H(+l)>.7071067690849304){d=+p[_+4>>2];c=l*l+d*d;b=1.0/+j(+c);u=b*(-0.0-l);m=d*b;d=+p[s>>2];h=c*b;f=m*(-0.0-d);g=d*u;C=0.0;S=u;y=m}else{m=+p[s>>2];u=+p[_+4>>2];d=m*m+u*u;b=1.0/+j(+d);c=b*(-0.0-u);u=m*b;h=u*(-0.0-l);f=l*c;g=d*b;C=c;S=u;y=0.0}v=e+592|0;x=i;r[v>>2]=r[x>>2];r[v+4>>2]=r[x+4>>2];r[v+8>>2]=r[x+8>>2];r[v+12>>2]=r[x+12>>2];x=_+4|0;p[e+544>>2]=C;p[e+548>>2]=h;p[e+552>>2]=+p[s>>2];p[e+556>>2]=0.0;p[e+560>>2]=S;p[e+564>>2]=f;p[e+568>>2]=+p[x>>2];p[e+572>>2]=0.0;p[e+576>>2]=y;p[e+580>>2]=g;p[e+584>>2]=+p[a>>2];p[e+588>>2]=0.0;g=+p[t+4>>2];f=+p[s>>2];h=+p[t+8>>2];u=+p[x>>2];c=+p[t+12>>2];b=+p[a>>2];d=g*f+h*u+c*b;l=+p[t+20>>2];m=+p[t+24>>2];M=+p[t+28>>2];T=f*l+u*m+b*M;D=+p[t+36>>2];P=+p[t+40>>2];w=+p[t+44>>2];A=f*D+u*P+b*w;F=f*d+u*T+b*A;do{if(F<-.9999998807907104){if(+H(+b)>.7071067690849304){R=1.0/+j(+(u*u+b*b));I=0.0;B=R*(-0.0-b);V=u*R;E=0.0;break}else{R=1.0/+j(+(f*f+u*u));I=R*(-0.0-u);B=f*R;V=0.0;E=0.0;break}}else{R=+j(+((F+1.0)*2.0));N=1.0/R;I=(u*A-b*T)*N;B=(b*d-f*A)*N;V=(f*T-u*d)*N;E=R*.5}}while(0);u=C*E+y*B-S*V;f=S*E+C*V-y*I;b=y*E+S*I-C*B;F=-0.0-I;I=C*F-S*B-y*V;y=-0.0-B;B=-0.0-V;V=f*B+(E*u+I*F)-b*y;S=b*F+(E*f+I*y)-u*B;C=u*y+(E*b+I*B)-f*F;F=+p[i>>2];f=+p[i+4>>2];B=+p[i+8>>2];I=+p[t+56>>2]+(F*l+f*m+B*M);M=+p[t+60>>2]+(F*D+f*P+B*w);p[e+656>>2]=+p[t+52>>2]+(g*F+h*f+c*B);p[e+660>>2]=I;p[e+664>>2]=M;p[e+668>>2]=0.0;p[e+608>>2]=V;p[e+612>>2]=T*C-A*S;p[e+616>>2]=d;p[e+620>>2]=0.0;p[e+624>>2]=S;p[e+628>>2]=A*V-d*C;p[e+632>>2]=T;p[e+636>>2]=0.0;p[e+640>>2]=C;p[e+644>>2]=d*S-T*V;p[e+648>>2]=A;p[e+652>>2]=0.0;p[e+724>>2]=o?-1.0:1.0;return}function Fhe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0,De=0.0;t=d;d=d+176|0;i=t|0;_=t+48|0;o=t+96|0;s=t+144|0;a=t+160|0;if((n[e+730|0]&1)==0){d=t;return}p[e+32>>2]=0.0;p[e+736>>2]=0.0;if((n[e+728|0]&1)==0){l=e+24|0;c=r[l>>2]|0;b=+p[e+592>>2];u=+p[e+596>>2];m=+p[e+600>>2];h=+p[c+56>>2]+(b*+p[c+20>>2]+u*+p[c+24>>2]+m*+p[c+28>>2]);f=e+28|0;g=r[f>>2]|0;C=+p[e+656>>2];S=+p[e+660>>2];y=+p[e+664>>2];v=+p[g+56>>2]+(C*+p[g+20>>2]+S*+p[g+24>>2]+y*+p[g+28>>2]);x=+p[g+60>>2]+(C*+p[g+36>>2]+S*+p[g+40>>2]+y*+p[g+44>>2]);M=v-h;T=+p[c+52>>2]+(+p[c+4>>2]*b+ +p[c+8>>2]*u+ +p[c+12>>2]*m);D=+p[c+60>>2]+(b*+p[c+36>>2]+u*+p[c+40>>2]+m*+p[c+44>>2]);m=+p[g+52>>2]+(+p[g+4>>2]*C+ +p[g+8>>2]*S+ +p[g+12>>2]*y);y=m-T;S=x-D;C=y*y+M*M+S*S;if(C>1.1920928955078125e-7){u=1.0/+j(+C);C=y*u;y=M*u;M=S*u;p[i>>2]=C;p[i+4>>2]=y;p[i+8>>2]=M;p[i+12>>2]=0.0;P=M;w=y;A=C}else{p[i>>2]=1.0;p[i+4>>2]=0.0;p[i+8>>2]=0.0;p[i+12>>2]=0.0;P=0.0;w=0.0;A=1.0}g=i+16|0;c=i+32|0;if(+H(+P)>.7071067690849304){C=P*P+w*w;y=1.0/+j(+C);p[g>>2]=0.0;M=y*(-0.0-P);p[i+20>>2]=M;u=y*w;p[i+24>>2]=u;p[c>>2]=C*y;p[i+36>>2]=u*(-0.0-A);p[i+40>>2]=A*M}else{M=A*A+w*w;u=1.0/+j(+M);y=u*(-0.0-w);p[g>>2]=y;w=u*A;p[i+20>>2]=w;p[i+24>>2]=0.0;p[c>>2]=w*(-0.0-P);p[i+36>>2]=P*y;p[i+40>>2]=M*u}c=_|0;g=_+4|0;F=_+8|0;R=_+12|0;I=_+16|0;B=_+20|0;V=_+24|0;E=_+28|0;N=_+32|0;k=_+36|0;O=_+40|0;L=_+44|0;U=o|0;G=o+4|0;W=o+8|0;z=o+12|0;X=o+16|0;Z=o+20|0;Q=o+24|0;q=o+28|0;Y=o+32|0;J=o+36|0;K=o+40|0;$=o+44|0;ee=s|0;te=s+4|0;ie=s+8|0;ne=s+12|0;_e=a|0;re=a+4|0;oe=a+8|0;se=a+12|0;ae=0;do{pe=e+40+(ae*84|0)|0;if((pe|0)!=0){le=r[l>>2]|0;p[c>>2]=+p[le+4>>2];p[g>>2]=+p[le+20>>2];p[F>>2]=+p[le+36>>2];p[R>>2]=0.0;p[I>>2]=+p[le+8>>2];p[B>>2]=+p[le+24>>2];p[V>>2]=+p[le+40>>2];p[E>>2]=0.0;p[N>>2]=+p[le+12>>2];p[k>>2]=+p[le+28>>2];p[O>>2]=+p[le+44>>2];p[L>>2]=0.0;de=r[f>>2]|0;p[U>>2]=+p[de+4>>2];p[G>>2]=+p[de+20>>2];p[W>>2]=+p[de+36>>2];p[z>>2]=0.0;p[X>>2]=+p[de+8>>2];p[Z>>2]=+p[de+24>>2];p[Q>>2]=+p[de+40>>2];p[q>>2]=0.0;p[Y>>2]=+p[de+12>>2];p[J>>2]=+p[de+28>>2];p[K>>2]=+p[de+44>>2];p[$>>2]=0.0;u=h-+p[le+56>>2];M=D-+p[le+60>>2];p[ee>>2]=T-+p[le+52>>2];p[te>>2]=u;p[ie>>2]=M;p[ne>>2]=0.0;M=v-+p[de+56>>2];u=x-+p[de+60>>2];p[_e>>2]=m-+p[de+52>>2];p[re>>2]=M;p[oe>>2]=u;p[se>>2]=0.0;Sue(pe,_,o,s,a,i+(ae<<4)|0,le+388|0,+p[le+336>>2],de+388|0,+p[de+336>>2])}ae=ae+1|0}while((ae|0)<3)}ae=e+552|0;i=e+568|0;a=e+584|0;m=+p[ae>>2];x=+p[i>>2];v=+p[a>>2];if(+H(+v)>.7071067690849304){T=x*x+v*v;D=1.0/+j(+T);h=D*(-0.0-v);u=x*D;ce=T*D;be=u*(-0.0-m);ue=m*h;me=0.0;he=h;fe=u}else{u=m*m+x*x;h=1.0/+j(+u);D=h*(-0.0-x);T=m*h;ce=T*(-0.0-v);be=v*D;ue=u*h;me=D;he=T;fe=0.0}s=e+24|0;o=r[s>>2]|0;_=o+4|0;T=+p[_>>2];se=o+8|0;D=+p[se>>2];oe=o+12|0;h=+p[oe>>2];u=me*T+he*D+fe*h;re=o+20|0;M=+p[re>>2];_e=o+24|0;y=+p[_e>>2];ne=o+28|0;P=+p[ne>>2];w=me*M+he*y+fe*P;ie=o+36|0;A=+p[ie>>2];te=o+40|0;C=+p[te>>2];ee=o+44|0;S=+p[ee>>2];b=me*A+he*C+fe*S;fe=ce*T+be*D+ue*h;he=ce*M+be*y+ue*P;me=ce*A+be*C+ue*S;ue=T*m+D*x+h*v;be=M*m+y*x+P*v;ce=A*m+C*x+S*v;$=e+292|0;if(($|0)!=0){K=r[e+28>>2]|0;v=+p[K+4>>2];x=+p[K+20>>2];m=+p[K+36>>2];ge=+p[K+8>>2];Ce=+p[K+24>>2];Se=+p[K+40>>2];ye=+p[K+12>>2];ve=+p[K+28>>2];xe=+p[K+44>>2];vBe($|0,0,16);Me=T*u+M*w+A*b;A=D*u+y*w+C*b;C=h*u+P*w+S*b;p[e+308>>2]=Me;p[e+312>>2]=A;p[e+316>>2]=C;p[e+320>>2]=0.0;S=-0.0-u;u=-0.0-w;w=-0.0-b;b=v*S+x*u+m*w;m=ge*S+Ce*u+Se*w;Se=ye*S+ve*u+xe*w;p[e+324>>2]=b;p[e+328>>2]=m;p[e+332>>2]=Se;p[e+336>>2]=0.0;w=Me*+p[o+388>>2];xe=A*+p[o+392>>2];u=C*+p[o+396>>2];p[e+340>>2]=w;p[e+344>>2]=xe;p[e+348>>2]=u;p[e+352>>2]=0.0;ve=b*+p[K+388>>2];S=m*+p[K+392>>2];ye=Se*+p[K+396>>2];p[e+356>>2]=ve;p[e+360>>2]=S;p[e+364>>2]=ye;p[e+368>>2]=0.0;p[e+372>>2]=Me*w+A*xe+C*u+(b*ve+m*S+Se*ye)}K=e+376|0;if((K|0)!=0){ye=+p[_>>2];Se=+p[re>>2];S=+p[ie>>2];m=+p[se>>2];ve=+p[_e>>2];b=+p[te>>2];u=+p[oe>>2];C=+p[ne>>2];xe=+p[ee>>2];$=r[e+28>>2]|0;A=+p[$+4>>2];w=+p[$+20>>2];Me=+p[$+36>>2];Ce=+p[$+8>>2];ge=+p[$+24>>2];x=+p[$+40>>2];v=+p[$+12>>2];P=+p[$+28>>2];h=+p[$+44>>2];vBe(K|0,0,16);y=fe*ye+he*Se+me*S;S=fe*m+he*ve+me*b;b=fe*u+he*C+me*xe;p[e+392>>2]=y;p[e+396>>2]=S;p[e+400>>2]=b;p[e+404>>2]=0.0;xe=-0.0-fe;fe=-0.0-he;he=-0.0-me;me=A*xe+w*fe+Me*he;Me=Ce*xe+ge*fe+x*he;x=v*xe+P*fe+h*he;p[e+408>>2]=me;p[e+412>>2]=Me;p[e+416>>2]=x;p[e+420>>2]=0.0;he=y*+p[o+388>>2];h=S*+p[o+392>>2];fe=b*+p[o+396>>2];p[e+424>>2]=he;p[e+428>>2]=h;p[e+432>>2]=fe;p[e+436>>2]=0.0;P=me*+p[$+388>>2];xe=Me*+p[$+392>>2];v=x*+p[$+396>>2];p[e+440>>2]=P;p[e+444>>2]=xe;p[e+448>>2]=v;p[e+452>>2]=0.0;p[e+456>>2]=y*he+S*h+b*fe+(me*P+Me*xe+x*v)}$=e+460|0;if(($|0)==0){Te=e+28|0}else{v=+p[_>>2];x=+p[re>>2];xe=+p[ie>>2];Me=+p[se>>2];P=+p[_e>>2];me=+p[te>>2];fe=+p[oe>>2];b=+p[ne>>2];h=+p[ee>>2];ee=e+28|0;ne=r[ee>>2]|0;S=+p[ne+4>>2];he=+p[ne+20>>2];y=+p[ne+36>>2];ge=+p[ne+8>>2];Ce=+p[ne+24>>2];w=+p[ne+40>>2];A=+p[ne+12>>2];C=+p[ne+28>>2];u=+p[ne+44>>2];vBe($|0,0,16);ve=ue*v+be*x+ce*xe;xe=ue*Me+be*P+ce*me;me=ue*fe+be*b+ce*h;p[e+476>>2]=ve;p[e+480>>2]=xe;p[e+484>>2]=me;p[e+488>>2]=0.0;h=-0.0-ue;ue=-0.0-be;be=-0.0-ce;ce=S*h+he*ue+y*be;y=ge*h+Ce*ue+w*be;w=A*h+C*ue+u*be;p[e+492>>2]=ce;p[e+496>>2]=y;p[e+500>>2]=w;p[e+504>>2]=0.0;be=ve*+p[o+388>>2];u=xe*+p[o+392>>2];ue=me*+p[o+396>>2];p[e+508>>2]=be;p[e+512>>2]=u;p[e+516>>2]=ue;p[e+520>>2]=0.0;C=ce*+p[ne+388>>2];h=y*+p[ne+392>>2];A=w*+p[ne+396>>2];p[e+524>>2]=C;p[e+528>>2]=h;p[e+532>>2]=A;p[e+536>>2]=0.0;p[e+540>>2]=ve*be+xe*u+me*ue+(ce*C+y*h+w*A);Te=ee}p[e+716>>2]=0.0;A=+Lhe(e,o+4|0,(r[Te>>2]|0)+4|0);p[e+720>>2]=A;o=e+700|0;p[o>>2]=0.0;ee=e+704|0;p[ee>>2]=0.0;ne=e+708|0;n[ne]=0;$=e+684|0;do{if(+p[$>>2]>=0.0){w=+Bi(+(A-+p[e+680>>2]),6.2831854820251465);do{if(w<-3.1415927410125732){De=w+6.2831854820251465}else{if(w<=3.1415927410125732){De=w;break}De=w-6.2831854820251465}}while(0);w=+p[$>>2];if(De<-0.0-w){n[ne]=1;p[o>>2]=-0.0-(De+w);p[ee>>2]=1.0;break}if(De<=w){break}n[ne]=1;p[o>>2]=w-De;p[ee>>2]=-1.0}}while(0);ee=r[s>>2]|0;De=+p[ae>>2];A=+p[i>>2];w=+p[a>>2];h=De*+p[ee+4>>2]+A*+p[ee+8>>2]+w*+p[ee+12>>2];y=De*+p[ee+20>>2]+A*+p[ee+24>>2]+w*+p[ee+28>>2];C=De*+p[ee+36>>2]+A*+p[ee+40>>2]+w*+p[ee+44>>2];a=r[Te>>2]|0;p[e+712>>2]=1.0/(h*(h*+p[ee+256>>2]+y*+p[ee+272>>2]+C*+p[ee+288>>2])+y*(h*+p[ee+260>>2]+y*+p[ee+276>>2]+C*+p[ee+292>>2])+C*(h*+p[ee+264>>2]+y*+p[ee+280>>2]+C*+p[ee+296>>2])+(h*(h*+p[a+256>>2]+y*+p[a+272>>2]+C*+p[a+288>>2])+y*(h*+p[a+260>>2]+y*+p[a+276>>2]+C*+p[a+292>>2])+C*(h*+p[a+264>>2]+y*+p[a+280>>2]+C*+p[a+296>>2])));d=t;return}function Rhe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0.0,s=0,a=0,l=0,d=0,c=0.0,b=0.0;i=t|0;if((n[e+730|0]&1)!=0){r[i>>2]=0;r[t+4>>2]=0;return}r[i>>2]=5;_=t+4|0;r[_>>2]=1;o=+Lhe(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);p[e+720>>2]=o;t=e+700|0;p[t>>2]=0.0;s=e+704|0;p[s>>2]=0.0;a=e+708|0;n[a]=0;l=e+684|0;do{if(+p[l>>2]<0.0){d=3966}else{c=+Bi(+(o-+p[e+680>>2]),6.2831854820251465);do{if(c<-3.1415927410125732){b=c+6.2831854820251465}else{if(c<=3.1415927410125732){b=c;break}b=c-6.2831854820251465}}while(0);c=+p[l>>2];if(b<-0.0-c){n[a]=1;p[t>>2]=-0.0-(b+c);p[s>>2]=1.0;break}if(b>c){n[a]=1;p[t>>2]=c-b;p[s>>2]=-1.0;break}else{if((n[a]&1)==0){d=3966;break}else{break}}}}while(0);do{if((d|0)==3966){if((n[e+729|0]&1)!=0){break}return}}while(0);r[i>>2]=(r[i>>2]|0)+1;r[_>>2]=(r[_>>2]|0)-1;return}function Ihe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0;i=r[e+24>>2]|0;_=i+4|0;o=r[e+28>>2]|0;s=o+4|0;a=i+320|0;i=o+320|0;if((n[e+731|0]&1)==0){Ohe(e,t,_,s,a,i);return}else{Bhe(e,t,_,s,a,i);return}}function Bhe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0,v=0.0,x=0,M=0.0,T=0,D=0.0,P=0,w=0.0,A=0.0,F=0.0,R=0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0,he=0.0,fe=0,ge=0.0,Ce=0.0,Se=0.0;a=d;d=d+224|0;l=a|0;c=a+48|0;b=a+96|0;u=a+160|0;m=t+24|0;h=r[m>>2]|0;f=c;gue(c,i|0,e+544|0);g=+p[e+592>>2];C=+p[e+596>>2];S=+p[e+600>>2];y=i+48|0;v=+p[i>>2]*g+ +p[i+4>>2]*C+ +p[i+8>>2]*S+ +p[y>>2];x=i+52|0;M=+p[i+16>>2]*g+ +p[i+20>>2]*C+ +p[i+24>>2]*S+ +p[x>>2];T=i+56|0;D=+p[i+32>>2]*g+ +p[i+36>>2]*C+ +p[i+40>>2]*S+ +p[T>>2];i=b+48|0;P=b|0;do{P=P+16|0}while((P|0)!=(i|0));i=b;r[i>>2]=r[f>>2];r[i+4>>2]=r[f+4>>2];r[i+8>>2]=r[f+8>>2];r[i+12>>2]=r[f+12>>2];f=b+16|0;i=c+16|0;r[f>>2]=r[i>>2];r[f+4>>2]=r[i+4>>2];r[f+8>>2]=r[i+8>>2];r[f+12>>2]=r[i+12>>2];i=b+32|0;f=c+32|0;r[i>>2]=r[f>>2];r[i+4>>2]=r[f+4>>2];r[i+8>>2]=r[f+8>>2];r[i+12>>2]=r[f+12>>2];f=b+48|0;p[f>>2]=v;i=b+52|0;p[i>>2]=M;c=b+56|0;p[c>>2]=D;p[b+60>>2]=0.0;P=l;gue(l,_|0,e+608|0);D=+p[e+656>>2];M=+p[e+660>>2];v=+p[e+664>>2];S=+p[_+48>>2];C=+p[_>>2]*D+ +p[_+4>>2]*M+ +p[_+8>>2]*v+S;g=+p[_+52>>2];w=+p[_+16>>2]*D+ +p[_+20>>2]*M+ +p[_+24>>2]*v+g;A=+p[_+56>>2];F=+p[_+32>>2]*D+ +p[_+36>>2]*M+ +p[_+40>>2]*v+A;_=u+48|0;R=u|0;do{R=R+16|0}while((R|0)!=(_|0));_=u;r[_>>2]=r[P>>2];r[_+4>>2]=r[P+4>>2];r[_+8>>2]=r[P+8>>2];r[_+12>>2]=r[P+12>>2];P=u+16|0;_=l+16|0;r[P>>2]=r[_>>2];r[P+4>>2]=r[_+4>>2];r[P+8>>2]=r[_+8>>2];r[P+12>>2]=r[_+12>>2];_=u+32|0;P=l+32|0;r[_>>2]=r[P>>2];r[_+4>>2]=r[P+4>>2];r[_+8>>2]=r[P+8>>2];r[_+12>>2]=r[P+12>>2];p[u+48>>2]=C;p[u+52>>2]=w;p[u+56>>2]=F;p[u+60>>2]=0.0;v=+p[f>>2];M=C-v;D=+p[i>>2];I=w-D;B=+p[c>>2];V=F-B;E=+p[(r[e+24>>2]|0)+336>>2];N=+p[(r[e+28>>2]|0)+336>>2];if(E<1.1920928955078125e-7){k=1}else{k=N<1.1920928955078125e-7}O=E+N;if(O>0.0){L=N/O}else{L=.5}O=1.0-L;N=+p[b+8>>2];E=+p[b+24>>2];U=+p[b+40>>2];G=+p[u+8>>2];W=+p[u+24>>2];z=+p[u+40>>2];H=L*N+O*G;X=L*E+O*W;Z=L*U+O*z;Q=1.0/+j(+(H*H+X*X+Z*Z));q=H*Q;H=X*Q;X=Z*Q;u=h<<1;Q=C-S;S=w-g;g=F-A;A=Q*q+S*H+g*X;F=q*A;w=H*A;C=X*A;A=Q-F;Q=S-w;S=g-C;g=v-+p[y>>2];v=D-+p[x>>2];D=B-+p[T>>2];B=q*g+H*v+X*D;Z=q*B;Y=H*B;J=X*B;B=g-Z;g=v-Y;v=D-J;D=Z-F;F=Y-w;w=J-C;C=B+L*D;J=g+L*F;Y=v+L*w;Z=A-O*D;D=Q-O*F;F=S-O*w;w=L*A+O*B;B=L*Q+O*g;g=L*S+O*v;v=w*w+B*B+g*g;if(v>1.1920928955078125e-7){S=1.0/+j(+v);K=S*g;$=S*B;ee=w*S}else{K=+p[b+36>>2];$=+p[b+20>>2];ee=+p[b+4>>2]}S=H*K-X*$;w=X*ee-K*q;B=$*q-H*ee;b=t+12|0;p[r[b>>2]>>2]=J*K-Y*$;p[(r[b>>2]|0)+4>>2]=Y*ee-C*K;p[(r[b>>2]|0)+8>>2]=C*$-J*ee;T=t+20|0;p[r[T>>2]>>2]=-0.0-(D*K-F*$);p[(r[T>>2]|0)+4>>2]=-0.0-(F*ee-Z*K);p[(r[T>>2]|0)+8>>2]=-0.0-(Z*$-D*ee);g=J*B-Y*w;v=Y*S-C*B;Q=C*w-J*S;A=D*B-F*w;te=F*S-Z*B;ie=Z*w-D*S;do{if(k){if((n[e+708|0]&1)==0){ne=g;_e=v;re=Q;oe=A;se=te;ae=ie;break}ne=L*g;_e=L*v;re=L*Q;oe=O*A;se=O*te;ae=O*ie}else{ne=g;_e=v;re=Q;oe=A;se=te;ae=ie}}while(0);p[(r[b>>2]|0)+(h<<2)>>2]=ne;x=h+1|0;p[(r[b>>2]|0)+(x<<2)>>2]=_e;y=h+2|0;p[(r[b>>2]|0)+(y<<2)>>2]=re;p[(r[T>>2]|0)+(h<<2)>>2]=-0.0-oe;p[(r[T>>2]|0)+(x<<2)>>2]=-0.0-se;p[(r[T>>2]|0)+(y<<2)>>2]=-0.0-ae;ae=J*X-Y*H;se=Y*q-C*X;Y=C*H-J*q;J=D*X-F*H;C=F*q-Z*X;F=Z*H-D*q;if(k){pe=L*ae;le=L*se;de=L*Y;ce=O*J;be=O*C;ue=O*F}else{pe=ae;le=se;de=Y;ce=J;be=C;ue=F}p[(r[b>>2]|0)+(u<<2)>>2]=pe;k=u|1;p[(r[b>>2]|0)+(k<<2)>>2]=le;c=u+2|0;p[(r[b>>2]|0)+(c<<2)>>2]=de;p[(r[T>>2]|0)+(u<<2)>>2]=-0.0-ce;p[(r[T>>2]|0)+(k<<2)>>2]=-0.0-be;p[(r[T>>2]|0)+(c<<2)>>2]=-0.0-ue;i=t|0;f=t+4|0;ue=+p[i>>2]*+p[f>>2];if((n[e+728|0]&1)==0){P=t+8|0;p[r[P>>2]>>2]=ee;p[(r[P>>2]|0)+4>>2]=$;p[(r[P>>2]|0)+8>>2]=K;p[(r[P>>2]|0)+(h<<2)>>2]=S;p[(r[P>>2]|0)+(x<<2)>>2]=w;p[(r[P>>2]|0)+(y<<2)>>2]=B;p[(r[P>>2]|0)+(u<<2)>>2]=q;p[(r[P>>2]|0)+(k<<2)>>2]=H;p[(r[P>>2]|0)+(c<<2)>>2]=X;c=t+28|0;p[r[c>>2]>>2]=ue*(M*ee+I*$+V*K);p[(r[c>>2]|0)+(h<<2)>>2]=ue*(M*S+I*w+V*B);p[(r[c>>2]|0)+(u<<2)>>2]=ue*(M*q+I*H+V*X);me=c}else{me=t+28|0}c=h*3|0;u=h<<2;p[(r[b>>2]|0)+(c<<2)>>2]=ee;h=c+1|0;p[(r[b>>2]|0)+(h<<2)>>2]=$;P=c+2|0;p[(r[b>>2]|0)+(P<<2)>>2]=K;p[(r[b>>2]|0)+(u<<2)>>2]=S;k=u|1;p[(r[b>>2]|0)+(k<<2)>>2]=w;y=u|2;p[(r[b>>2]|0)+(y<<2)>>2]=B;p[(r[T>>2]|0)+(c<<2)>>2]=-0.0-ee;p[(r[T>>2]|0)+(h<<2)>>2]=-0.0-$;p[(r[T>>2]|0)+(P<<2)>>2]=-0.0-K;p[(r[T>>2]|0)+(u<<2)>>2]=-0.0-S;p[(r[T>>2]|0)+(k<<2)>>2]=-0.0-w;p[(r[T>>2]|0)+(y<<2)>>2]=-0.0-B;V=+p[i>>2]*+p[f>>2];I=E*z-U*W;M=U*G-N*z;z=N*W-E*G;p[(r[me>>2]|0)+(c<<2)>>2]=V*(I*ee+M*$+z*K);p[(r[me>>2]|0)+(u<<2)>>2]=V*(I*S+M*w+z*B);if((n[e+708|0]&1)==0){he=0.0;fe=0}else{B=+p[e+700>>2]*+p[e+724>>2];he=B;fe=B>0.0?1:2}u=(fe|0)!=0;c=(n[e+729|0]&1)==0;if(c&(u^1)){d=a;return}y=(r[m>>2]|0)*5|0;p[(r[b>>2]|0)+(y<<2)>>2]=q;m=y+1|0;p[(r[b>>2]|0)+(m<<2)>>2]=H;k=y+2|0;p[(r[b>>2]|0)+(k<<2)>>2]=X;p[(r[T>>2]|0)+(y<<2)>>2]=-0.0-q;p[(r[T>>2]|0)+(m<<2)>>2]=-0.0-H;p[(r[T>>2]|0)+(k<<2)>>2]=-0.0-X;k=e+680|0;T=e+684|0;B=+Bi(+(+p[k>>2]-+p[T>>2]),6.2831854820251465);do{if(B<-3.1415927410125732){ge=B+6.2831854820251465}else{if(B<=3.1415927410125732){ge=B;break}ge=B-6.2831854820251465}}while(0);B=+Bi(+(+p[k>>2]+ +p[T>>2]),6.2831854820251465);do{if(B<-3.1415927410125732){Ce=B+6.2831854820251465}else{if(B<=3.1415927410125732){Ce=B;break}Ce=B-6.2831854820251465}}while(0);T=ge==Ce;p[(r[me>>2]|0)+(y<<2)>>2]=0.0;k=e+740|0;m=r[k>>2]|0;B=+p[((m&2|0)==0?f:e+752|0)>>2];if(!(u&T|c)){if((m&4|0)!=0){p[(r[t+32>>2]|0)+(y<<2)>>2]=+p[e+744>>2]}z=+p[e+720>>2];w=+p[e+672>>2];m=ge>Ce;e:do{if(m|T){Se=m?1.0:0.0}else{M=w/(B*+p[i>>2]);if(M<0.0){do{if(z>=ge){if(ge-M<=z){break}Se=(ge-z)/M;break e}}while(0);Se=z<ge?0.0:1.0;break}if(M<=0.0){Se=0.0;break}do{if(z<=Ce){if(Ce-M>=z){break}Se=(Ce-z)/M;break e}}while(0);Se=z>Ce?0.0:1.0}}while(0);m=(r[me>>2]|0)+(y<<2)|0;p[m>>2]=Se*w*+p[e+724>>2]+ +p[m>>2];m=e+676|0;p[(r[t+36>>2]|0)+(y<<2)>>2]=-0.0-+p[m>>2];p[(r[t+40>>2]|0)+(y<<2)>>2]=+p[m>>2]}if(!u){d=a;return}u=(r[me>>2]|0)+(y<<2)|0;p[u>>2]=+p[u>>2]+he*B*+p[i>>2];if((r[k>>2]&1|0)!=0){p[(r[t+32>>2]|0)+(y<<2)>>2]=+p[e+748>>2]}do{if(T){p[(r[t+36>>2]|0)+(y<<2)>>2]=-3.4028234663852886e+38;p[(r[t+40>>2]|0)+(y<<2)>>2]=3.4028234663852886e+38}else{k=(r[t+36>>2]|0)+(y<<2)|0;if((fe|0)==1){p[k>>2]=0.0;p[(r[t+40>>2]|0)+(y<<2)>>2]=3.4028234663852886e+38;break}else{p[k>>2]=-3.4028234663852886e+38;p[(r[t+40>>2]|0)+(y<<2)>>2]=0.0;break}}}while(0);B=+p[e+696>>2];do{if(B>0.0){he=+p[o>>2]*q+ +p[o+4>>2]*H+ +p[o+8>>2]*X-(q*+p[s>>2]+H*+p[s+4>>2]+X*+p[s+8>>2]);if((fe|0)==1){if(he>=0.0){break}w=he*(-0.0-B);t=(r[me>>2]|0)+(y<<2)|0;if(w<=+p[t>>2]){break}p[t>>2]=w;break}else{if(he<=0.0){break}w=he*(-0.0-B);t=(r[me>>2]|0)+(y<<2)|0;if(w>=+p[t>>2]){break}p[t>>2]=w;break}}}while(0);fe=(r[me>>2]|0)+(y<<2)|0;p[fe>>2]=+p[e+692>>2]*+p[fe>>2];d=a;return}function Vhe(e){e=e|0;return}function Ehe(e){e=e|0;return 212}function Nhe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;if(!((n|0)==(-1|0)|(n|0)==5)){return}if((t|0)==3){p[e+744>>2]=i;n=e+740|0;r[n>>2]=r[n>>2]|4;return}else if((t|0)==4){p[e+748>>2]=i;n=e+740|0;r[n>>2]=r[n>>2]|1;return}else if((t|0)==2){p[e+752>>2]=i;t=e+740|0;r[t>>2]=r[t>>2]|2;return}else{return}}function khe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;do{if((i|0)==(-1|0)|(i|0)==5){if((t|0)==2){n=+p[e+752>>2];break}else if((t|0)==4){n=+p[e+748>>2];break}else if((t|0)==3){n=+p[e+744>>2];break}else{n=0.0;break}}else{n=0.0}}while(0);return+n}function Ohe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0,v=0.0,x=0,M=0.0,T=0,D=0.0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0,X=0.0,Z=0.0,Q=0.0;a=d;d=d+224|0;l=a|0;c=a+48|0;b=a+96|0;u=a+160|0;m=t+24|0;h=r[m>>2]|0;f=c;gue(c,i|0,e+544|0);g=+p[e+592>>2];C=+p[e+596>>2];S=+p[e+600>>2];y=i+48|0;v=+p[i>>2]*g+ +p[i+4>>2]*C+ +p[i+8>>2]*S+ +p[y>>2];x=i+52|0;M=+p[i+16>>2]*g+ +p[i+20>>2]*C+ +p[i+24>>2]*S+ +p[x>>2];T=i+56|0;D=+p[i+32>>2]*g+ +p[i+36>>2]*C+ +p[i+40>>2]*S+ +p[T>>2];i=b+48|0;P=b|0;do{P=P+16|0}while((P|0)!=(i|0));i=b;r[i>>2]=r[f>>2];r[i+4>>2]=r[f+4>>2];r[i+8>>2]=r[f+8>>2];r[i+12>>2]=r[f+12>>2];f=b+16|0;i=c+16|0;r[f>>2]=r[i>>2];r[f+4>>2]=r[i+4>>2];r[f+8>>2]=r[i+8>>2];r[f+12>>2]=r[i+12>>2];i=b+32|0;f=c+32|0;r[i>>2]=r[f>>2];r[i+4>>2]=r[f+4>>2];r[i+8>>2]=r[f+8>>2];r[i+12>>2]=r[f+12>>2];f=b+48|0;p[f>>2]=v;i=b+52|0;p[i>>2]=M;c=b+56|0;p[c>>2]=D;p[b+60>>2]=0.0;P=l;gue(l,_|0,e+608|0);D=+p[e+656>>2];M=+p[e+660>>2];v=+p[e+664>>2];w=_+48|0;S=+p[_>>2]*D+ +p[_+4>>2]*M+ +p[_+8>>2]*v+ +p[w>>2];A=_+52|0;C=+p[_+16>>2]*D+ +p[_+20>>2]*M+ +p[_+24>>2]*v+ +p[A>>2];F=_+56|0;g=+p[_+32>>2]*D+ +p[_+36>>2]*M+ +p[_+40>>2]*v+ +p[F>>2];_=u+48|0;R=u|0;do{R=R+16|0}while((R|0)!=(_|0));_=u;r[_>>2]=r[P>>2];r[_+4>>2]=r[P+4>>2];r[_+8>>2]=r[P+8>>2];r[_+12>>2]=r[P+12>>2];P=u+16|0;_=l+16|0;r[P>>2]=r[_>>2];r[P+4>>2]=r[_+4>>2];r[P+8>>2]=r[_+8>>2];r[P+12>>2]=r[_+12>>2];_=u+32|0;P=l+32|0;r[_>>2]=r[P>>2];r[_+4>>2]=r[P+4>>2];r[_+8>>2]=r[P+8>>2];r[_+12>>2]=r[P+12>>2];p[u+48>>2]=S;p[u+52>>2]=C;p[u+56>>2]=g;p[u+60>>2]=0.0;v=+p[f>>2];M=+p[i>>2];D=+p[c>>2];c=e+728|0;if((n[c]&1)==0){i=t+8|0;p[r[i>>2]>>2]=1.0;f=h+1|0;p[(r[i>>2]|0)+(f<<2)>>2]=1.0;P=h<<1;_=P+2|0;p[(r[i>>2]|0)+(_<<2)>>2]=1.0;I=P;B=f;V=_}else{_=h<<1;I=_;B=h+1|0;V=_+2|0}E=v-+p[y>>2];N=M-+p[x>>2];k=D-+p[T>>2];T=t+12|0;x=r[T>>2]|0;p[x>>2]=0.0;p[x+4>>2]=k;p[x+8>>2]=-0.0-N;p[x+12>>2]=0.0;p[x+(h<<2)>>2]=-0.0-k;p[x+(B<<2)>>2]=0.0;y=h+2|0;p[x+(y<<2)>>2]=E;_=h+3|0;p[x+(_<<2)>>2]=0.0;p[x+(I<<2)>>2]=N;f=I|1;p[x+(f<<2)>>2]=-0.0-E;p[x+(V<<2)>>2]=0.0;P=I+3|0;p[x+(P<<2)>>2]=0.0;E=S-+p[w>>2];N=C-+p[A>>2];k=g-+p[F>>2];F=t+20|0;A=r[F>>2]|0;p[A>>2]=0.0;p[A+4>>2]=-0.0-k;p[A+8>>2]=N;p[A+12>>2]=0.0;p[A+(h<<2)>>2]=k;p[A+(B<<2)>>2]=0.0;p[A+(y<<2)>>2]=-0.0-E;p[A+(_<<2)>>2]=0.0;p[A+(I<<2)>>2]=-0.0-N;p[A+(f<<2)>>2]=E;p[A+(V<<2)>>2]=0.0;p[A+(P<<2)>>2]=0.0;P=t|0;A=t+4|0;E=+p[P>>2]*+p[A>>2];V=t+28|0;if((n[c]&1)==0){p[r[V>>2]>>2]=E*(S-v);p[(r[V>>2]|0)+(h<<2)>>2]=E*(C-M);p[(r[V>>2]|0)+(h<<1<<2)>>2]=E*(g-D)}D=+p[b+8>>2];g=+p[b+24>>2];M=+p[b+40>>2];C=+p[b>>2];v=+p[b+16>>2];S=+p[b+32>>2];N=+p[b+4>>2];k=+p[b+20>>2];O=+p[b+36>>2];b=r[m>>2]|0;h=b*3|0;c=b<<2;p[(r[T>>2]|0)+(h<<2)>>2]=C;b=h+1|0;p[(r[T>>2]|0)+(b<<2)>>2]=v;f=h+2|0;p[(r[T>>2]|0)+(f<<2)>>2]=S;p[(r[T>>2]|0)+(c<<2)>>2]=N;I=c|1;p[(r[T>>2]|0)+(I<<2)>>2]=k;_=c|2;p[(r[T>>2]|0)+(_<<2)>>2]=O;p[(r[F>>2]|0)+(h<<2)>>2]=-0.0-C;p[(r[F>>2]|0)+(b<<2)>>2]=-0.0-v;p[(r[F>>2]|0)+(f<<2)>>2]=-0.0-S;p[(r[F>>2]|0)+(c<<2)>>2]=-0.0-N;p[(r[F>>2]|0)+(I<<2)>>2]=-0.0-k;p[(r[F>>2]|0)+(_<<2)>>2]=-0.0-O;L=+p[u+8>>2];U=+p[u+24>>2];G=+p[u+40>>2];W=g*G-M*U;z=M*L-D*G;G=D*U-g*L;p[(r[V>>2]|0)+(h<<2)>>2]=E*(S*G+(C*W+v*z));p[(r[V>>2]|0)+(c<<2)>>2]=E*(O*G+(N*W+k*z));if((n[e+708|0]&1)==0){H=0.0;j=0}else{z=+p[e+700>>2]*+p[e+724>>2];H=z;j=z>0.0?1:2}c=(j|0)!=0;h=(n[e+729|0]&1)==0;if(h&(c^1)){d=a;return}u=(r[m>>2]|0)*5|0;p[(r[T>>2]|0)+(u<<2)>>2]=D;m=u+1|0;p[(r[T>>2]|0)+(m<<2)>>2]=g;_=u+2|0;p[(r[T>>2]|0)+(_<<2)>>2]=M;p[(r[F>>2]|0)+(u<<2)>>2]=-0.0-D;p[(r[F>>2]|0)+(m<<2)>>2]=-0.0-g;p[(r[F>>2]|0)+(_<<2)>>2]=-0.0-M;_=e+680|0;F=e+684|0;z=+Bi(+(+p[_>>2]-+p[F>>2]),6.2831854820251465);do{if(z<-3.1415927410125732){X=z+6.2831854820251465}else{if(z<=3.1415927410125732){X=z;break}X=z-6.2831854820251465}}while(0);z=+Bi(+(+p[_>>2]+ +p[F>>2]),6.2831854820251465);do{if(z<-3.1415927410125732){Z=z+6.2831854820251465}else{if(z<=3.1415927410125732){Z=z;break}Z=z-6.2831854820251465}}while(0);F=X==Z;p[(r[V>>2]|0)+(u<<2)>>2]=0.0;_=e+740|0;m=r[_>>2]|0;z=+p[((m&2|0)==0?A:e+752|0)>>2];if(!(c&F|h)){if((m&4|0)!=0){p[(r[t+32>>2]|0)+(u<<2)>>2]=+p[e+744>>2]}k=+p[e+720>>2];W=+p[e+672>>2];m=X>Z;e:do{if(m|F){Q=m?1.0:0.0}else{N=W/(z*+p[P>>2]);if(N<0.0){do{if(k>=X){if(X-N<=k){break}Q=(X-k)/N;break e}}while(0);Q=k<X?0.0:1.0;break}if(N<=0.0){Q=0.0;break}do{if(k<=Z){if(Z-N>=k){break}Q=(Z-k)/N;break e}}while(0);Q=k>Z?0.0:1.0}}while(0);m=(r[V>>2]|0)+(u<<2)|0;p[m>>2]=Q*W*+p[e+724>>2]+ +p[m>>2];m=e+676|0;p[(r[t+36>>2]|0)+(u<<2)>>2]=-0.0-+p[m>>2];p[(r[t+40>>2]|0)+(u<<2)>>2]=+p[m>>2]}if(!c){d=a;return}c=(r[V>>2]|0)+(u<<2)|0;p[c>>2]=+p[c>>2]+H*z*+p[P>>2];if((r[_>>2]&1|0)!=0){p[(r[t+32>>2]|0)+(u<<2)>>2]=+p[e+748>>2]}do{if(F){p[(r[t+36>>2]|0)+(u<<2)>>2]=-3.4028234663852886e+38;p[(r[t+40>>2]|0)+(u<<2)>>2]=3.4028234663852886e+38}else{_=(r[t+36>>2]|0)+(u<<2)|0;if((j|0)==1){p[_>>2]=0.0;p[(r[t+40>>2]|0)+(u<<2)>>2]=3.4028234663852886e+38;break}else{p[_>>2]=-3.4028234663852886e+38;p[(r[t+40>>2]|0)+(u<<2)>>2]=0.0;break}}}while(0);z=+p[e+696>>2];do{if(z>0.0){H=D*+p[o>>2]+g*+p[o+4>>2]+M*+p[o+8>>2]-(D*+p[s>>2]+g*+p[s+4>>2]+M*+p[s+8>>2]);if((j|0)==1){if(H>=0.0){break}W=H*(-0.0-z);t=(r[V>>2]|0)+(u<<2)|0;if(W<=+p[t>>2]){break}p[t>>2]=W;break}else{if(H<=0.0){break}W=H*(-0.0-z);t=(r[V>>2]|0)+(u<<2)|0;if(W>=+p[t>>2]){break}p[t>>2]=W;break}}}while(0);j=(r[V>>2]|0)+(u<<2)|0;p[j>>2]=+p[e+692>>2]*+p[j>>2];d=a;return}function Lhe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0;n=+p[e+544>>2];_=+p[e+560>>2];r=+p[e+576>>2];o=+p[t>>2];s=+p[t+4>>2];a=+p[t+8>>2];l=+p[t+16>>2];d=+p[t+20>>2];c=+p[t+24>>2];b=+p[t+32>>2];u=+p[t+36>>2];m=+p[t+40>>2];h=+p[e+548>>2];f=+p[e+564>>2];g=+p[e+580>>2];C=+p[e+612>>2];S=+p[e+628>>2];y=+p[e+644>>2];v=C*+p[i>>2]+S*+p[i+4>>2]+y*+p[i+8>>2];x=C*+p[i+16>>2]+S*+p[i+20>>2]+y*+p[i+24>>2];M=C*+p[i+32>>2]+S*+p[i+36>>2]+y*+p[i+40>>2];y=+$(+((n*o+_*s+r*a)*v+(n*l+_*d+r*c)*x+(n*b+_*u+r*m)*M),+((o*h+s*f+a*g)*v+(l*h+d*f+c*g)*x+(b*h+u*f+m*g)*M));return+(y*+p[e+724>>2])}function Uhe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Ghe(e){e=e|0;return}function Whe(e){e=e|0;return 76}function zhe(e,t){e=e|0;t=t|0;var i=0;i=t|0;if((n[e+336|0]&1)==0){r[i>>2]=3;r[t+4>>2]=3;return}else{r[i>>2]=0;r[t+4>>2]=0;return}}function Hhe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0,m=0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0,v=0.0,x=0;_=t+8|0;p[r[_>>2]>>2]=1.0;o=t+24|0;p[(r[_>>2]|0)+((r[o>>2]|0)+1<<2)>>2]=1.0;p[(r[_>>2]|0)+((r[o>>2]<<1)+2<<2)>>2]=1.0;s=+p[e+292>>2];a=+p[e+296>>2];l=+p[e+300>>2];d=+p[i>>2]*s+ +p[i+4>>2]*a+ +p[i+8>>2]*l;c=s*+p[i+16>>2]+a*+p[i+20>>2]+l*+p[i+24>>2];b=s*+p[i+32>>2]+a*+p[i+36>>2]+l*+p[i+40>>2];_=r[t+12>>2]|0;u=r[o>>2]|0;m=u<<1;p[_>>2]=0.0;p[_+4>>2]=b;p[_+8>>2]=-0.0-c;p[_+12>>2]=0.0;p[_+(u<<2)>>2]=-0.0-b;p[_+(u+1<<2)>>2]=0.0;p[_+(u+2<<2)>>2]=d;p[_+(u+3<<2)>>2]=0.0;p[_+(m<<2)>>2]=c;p[_+((m|1)<<2)>>2]=-0.0-d;p[_+(m+2<<2)>>2]=0.0;p[_+(m+3<<2)>>2]=0.0;l=+p[e+308>>2];a=+p[e+312>>2];s=+p[e+316>>2];h=+p[n>>2]*l+ +p[n+4>>2]*a+ +p[n+8>>2]*s;f=l*+p[n+16>>2]+a*+p[n+20>>2]+s*+p[n+24>>2];g=l*+p[n+32>>2]+a*+p[n+36>>2]+s*+p[n+40>>2];m=r[t+20>>2]|0;_=r[o>>2]|0;u=_<<1;p[m>>2]=0.0;p[m+4>>2]=-0.0-g;p[m+8>>2]=f;p[m+12>>2]=0.0;p[m+(_<<2)>>2]=g;p[m+(_+1<<2)>>2]=0.0;p[m+(_+2<<2)>>2]=-0.0-h;p[m+(_+3<<2)>>2]=0.0;p[m+(u<<2)>>2]=-0.0-f;p[m+((u|1)<<2)>>2]=h;p[m+(u+2<<2)>>2]=0.0;p[m+(u+3<<2)>>2]=0.0;u=e+324|0;s=+p[((r[u>>2]&1|0)==0?t+4|0:e+328|0)>>2]*+p[t>>2];m=t+28|0;p[r[m>>2]>>2]=s*(h+ +p[n+48>>2]-d-+p[i+48>>2]);p[(r[m>>2]|0)+(r[o>>2]<<2)>>2]=s*(f+ +p[n+52>>2]-c-+p[i+52>>2]);p[(r[m>>2]|0)+(r[o>>2]<<1<<2)>>2]=s*(g+ +p[n+56>>2]-b-+p[i+56>>2]);if((r[u>>2]&2|0)!=0){u=e+332|0;i=t+32|0;p[r[i>>2]>>2]=+p[u>>2];p[(r[i>>2]|0)+(r[o>>2]<<2)>>2]=+p[u>>2];p[(r[i>>2]|0)+(r[o>>2]<<1<<2)>>2]=+p[u>>2]}u=e+348|0;b=+p[u>>2];g=-0.0-b;i=t+36|0;n=t+40|0;if(b>0.0){p[r[i>>2]>>2]=g;p[r[n>>2]>>2]=b;C=+p[u>>2]}else{C=b}if(C>0.0){p[(r[i>>2]|0)+(r[o>>2]<<2)>>2]=g;p[(r[n>>2]|0)+(r[o>>2]<<2)>>2]=b;S=+p[u>>2]}else{S=C}if(S<=0.0){y=e+344|0;v=+p[y>>2];x=t+52|0;p[x>>2]=v;return}p[(r[i>>2]|0)+(r[o>>2]<<1<<2)>>2]=g;p[(r[n>>2]|0)+(r[o>>2]<<1<<2)>>2]=b;y=e+344|0;v=+p[y>>2];x=t+52|0;p[x>>2]=v;return}function jhe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;if((n|0)!=-1){return}if((t|0)==1|(t|0)==2){p[e+328>>2]=i;n=e+324|0;r[n>>2]=r[n>>2]|1;return}else if((t|0)==3|(t|0)==4){p[e+332>>2]=i;t=e+324|0;r[t>>2]=r[t>>2]|2;return}else{return}}function Xhe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;do{if((i|0)==-1){if((t|0)==3|(t|0)==4){n=+p[e+332>>2];break}else if((t|0)==1|(t|0)==2){n=+p[e+328>>2];break}else{n=3.4028234663852886e+38;break}}else{n=3.4028234663852886e+38}}while(0);return+n}function Zhe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0.0,s=0.0,a=0.0,l=0,d=0,c=0,b=0.0,u=0,m=0,h=0,f=0.0,g=0,C=0,S=0,y=0.0,v=0,x=0;wge(e|0,t,i)|0;p[t+44>>2]=+p[e+544>>2];p[t+48>>2]=+p[e+548>>2];p[t+52>>2]=+p[e+552>>2];p[t+56>>2]=+p[e+556>>2];p[t+60>>2]=+p[e+560>>2];p[t+64>>2]=+p[e+564>>2];p[t+68>>2]=+p[e+568>>2];p[t+72>>2]=+p[e+572>>2];p[t+76>>2]=+p[e+576>>2];p[t+80>>2]=+p[e+580>>2];p[t+84>>2]=+p[e+584>>2];p[t+88>>2]=+p[e+588>>2];p[t+92>>2]=+p[e+592>>2];p[t+96>>2]=+p[e+596>>2];p[t+100>>2]=+p[e+600>>2];p[t+104>>2]=+p[e+604>>2];p[t+108>>2]=+p[e+608>>2];p[t+112>>2]=+p[e+612>>2];p[t+116>>2]=+p[e+616>>2];p[t+120>>2]=+p[e+620>>2];p[t+124>>2]=+p[e+624>>2];p[t+128>>2]=+p[e+628>>2];p[t+132>>2]=+p[e+632>>2];p[t+136>>2]=+p[e+636>>2];p[t+140>>2]=+p[e+640>>2];p[t+144>>2]=+p[e+644>>2];p[t+148>>2]=+p[e+648>>2];p[t+152>>2]=+p[e+652>>2];p[t+156>>2]=+p[e+656>>2];p[t+160>>2]=+p[e+660>>2];p[t+164>>2]=+p[e+664>>2];p[t+168>>2]=+p[e+668>>2];r[t+176>>2]=n[e+728|0]&1;r[t+180>>2]=n[e+729|0]&1;p[t+188>>2]=+p[e+676>>2];p[t+184>>2]=+p[e+672>>2];r[t+172>>2]=n[e+732|0]&1;i=e+680|0;_=e+684|0;o=+Bi(+(+p[i>>2]-+p[_>>2]),6.2831854820251465);do{if(o<-3.1415927410125732){s=o+6.2831854820251465}else{if(o<=3.1415927410125732){s=o;break}s=o-6.2831854820251465}}while(0);p[t+192>>2]=s;s=+Bi(+(+p[i>>2]+ +p[_>>2]),6.2831854820251465);if(s<-3.1415927410125732){a=s+6.2831854820251465;l=t+196|0;d=l;p[d>>2]=a;c=e+688|0;b=+p[c>>2];u=t+200|0;m=u;p[m>>2]=b;h=e+692|0;f=+p[h>>2];g=t+204|0;C=g;p[C>>2]=f;S=e+696|0;y=+p[S>>2];v=t+208|0;x=v;p[x>>2]=y;return 17696}if(s<=3.1415927410125732){a=s;l=t+196|0;d=l;p[d>>2]=a;c=e+688|0;b=+p[c>>2];u=t+200|0;m=u;p[m>>2]=b;h=e+692|0;f=+p[h>>2];g=t+204|0;C=g;p[C>>2]=f;S=e+696|0;y=+p[S>>2];v=t+208|0;x=v;p[x>>2]=y;return 17696}a=s-6.2831854820251465;l=t+196|0;d=l;p[d>>2]=a;c=e+688|0;b=+p[c>>2];u=t+200|0;m=u;p[m>>2]=b;h=e+692|0;f=+p[h>>2];g=t+204|0;C=g;p[C>>2]=f;S=e+696|0;y=+p[S>>2];v=t+208|0;x=v;p[x>>2]=y;return 17696}function Qhe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0;t=d;d=d+144|0;i=t|0;n=t+16|0;_=t+64|0;o=t+112|0;s=t+128|0;p[e+32>>2]=0.0;a=e+24|0;l=n|0;c=n+4|0;b=n+8|0;u=n+12|0;m=n+16|0;h=n+20|0;f=n+24|0;g=n+28|0;C=n+32|0;S=n+36|0;y=n+40|0;v=n+44|0;x=e+28|0;M=_|0;T=_+4|0;D=_+8|0;P=_+12|0;w=_+16|0;A=_+20|0;F=_+24|0;R=_+28|0;I=_+32|0;B=_+36|0;V=_+40|0;E=_+44|0;N=e+292|0;k=e+296|0;O=e+300|0;L=o|0;U=o+4|0;G=o+8|0;W=o+12|0;z=e+308|0;H=e+312|0;j=e+316|0;X=s|0;Z=s+4|0;Q=s+8|0;q=s+12|0;vBe(i|0,0,16);Y=0;do{J=i+(Y<<2)|0;p[J>>2]=1.0;K=e+40+(Y*84|0)|0;if((K|0)!=0){$=r[a>>2]|0;ee=+p[$+4>>2];p[l>>2]=ee;te=+p[$+20>>2];p[c>>2]=te;ie=+p[$+36>>2];p[b>>2]=ie;p[u>>2]=0.0;ne=+p[$+8>>2];p[m>>2]=ne;_e=+p[$+24>>2];p[h>>2]=_e;re=+p[$+40>>2];p[f>>2]=re;p[g>>2]=0.0;oe=+p[$+12>>2];p[C>>2]=oe;se=+p[$+28>>2];p[S>>2]=se;ae=+p[$+44>>2];p[y>>2]=ae;p[v>>2]=0.0;pe=r[x>>2]|0;le=+p[pe+4>>2];p[M>>2]=le;de=+p[pe+20>>2];p[T>>2]=de;ce=+p[pe+36>>2];p[D>>2]=ce;p[P>>2]=0.0;be=+p[pe+8>>2];p[w>>2]=be;ue=+p[pe+24>>2];p[A>>2]=ue;me=+p[pe+40>>2];p[F>>2]=me;p[R>>2]=0.0;he=+p[pe+12>>2];p[I>>2]=he;fe=+p[pe+28>>2];p[B>>2]=fe;ge=+p[pe+44>>2];p[V>>2]=ge;p[E>>2]=0.0;Ce=+p[N>>2];Se=+p[k>>2];ye=+p[O>>2];ve=+p[$+52>>2];xe=+p[$+56>>2];Me=+p[$+60>>2];p[L>>2]=ve+(ee*Ce+ne*Se+oe*ye)-ve;p[U>>2]=xe+(Ce*te+Se*_e+ye*se)-xe;p[G>>2]=Me+(Ce*ie+Se*re+ye*ae)-Me;p[W>>2]=0.0;Me=+p[z>>2];ae=+p[H>>2];ye=+p[j>>2];re=+p[pe+52>>2];Se=+p[pe+56>>2];ie=+p[pe+60>>2];p[X>>2]=re+(le*Me+be*ae+he*ye)-re;p[Z>>2]=Se+(Me*de+ae*ue+ye*fe)-Se;p[Q>>2]=ie+(Me*ce+ae*me+ye*ge)-ie;p[q>>2]=0.0;Sue(K,n,_,o,s,i,$+388|0,+p[$+336>>2],pe+388|0,+p[pe+336>>2])}p[J>>2]=0.0;Y=Y+1|0}while((Y|0)<3);d=t;return}function qhe(e,t){e=e|0;t=t|0;Hhe(e,t,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);return}function Yhe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Jhe(e,t,i){e=e|0;t=t|0;i=i|0;wge(e|0,t,i)|0;p[t+44>>2]=+p[e+292>>2];p[t+48>>2]=+p[e+296>>2];p[t+52>>2]=+p[e+300>>2];p[t+56>>2]=+p[e+304>>2];p[t+60>>2]=+p[e+308>>2];p[t+64>>2]=+p[e+312>>2];p[t+68>>2]=+p[e+316>>2];p[t+72>>2]=+p[e+320>>2];return 17480}function Khe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=26048;t=e+480|0;i=e+488|0;_=r[i>>2]|0;o=e+492|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+484>>2]=0;return}function $he(e){e=e|0;efe(e);if((e|0)==0){return}SBe(e);return}function efe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=23912;t=e+136|0;i=e+144|0;_=r[i>>2]|0;o=e+148|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-284+280>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+140>>2]=0;t=e+68|0;i=e+76|0;o=r[i>>2]|0;_=e+80|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+72>>2]=0;t=e+48|0;i=e+56|0;_=r[i>>2]|0;o=e+60|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+52>>2]=0;t=e+28|0;i=e+36|0;o=r[i>>2]|0;_=e+40|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-16+12>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+32>>2]=0;t=e+8|0;i=e+16|0;_=r[i>>2]|0;o=e+20|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}function tfe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0;_=d;d=d+64|0;o=_|0;n[t+84|0]=0;s=r[e+116>>2]|0;e=o;a=s+4|0;r[e>>2]=r[a>>2];r[e+4>>2]=r[a+4>>2];r[e+8>>2]=r[a+8>>2];r[e+12>>2]=r[a+12>>2];a=o+16|0;e=s+20|0;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];e=o+32|0;a=s+36|0;r[e>>2]=r[a>>2];r[e+4>>2]=r[a+4>>2];r[e+8>>2]=r[a+8>>2];r[e+12>>2]=r[a+12>>2];a=o+48|0;e=s+52|0;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];do{if(i){e=r[s+472>>2]|0;if((e|0)==0){break}Znt[r[(r[e>>2]|0)+8>>2]&2047](e,o)}}while(0);l=+p[o>>2];c=+p[t+156>>2];b=+p[o+4>>2];u=+p[t+160>>2];m=+p[o+8>>2];h=+p[t+164>>2];f=+p[o+16>>2];g=+p[o+20>>2];C=+p[o+24>>2];S=+p[o+52>>2]+(c*f+u*g+h*C);y=+p[o+32>>2];v=+p[o+36>>2];x=+p[o+40>>2];M=+p[o+56>>2]+(c*y+u*v+h*x);p[t+36>>2]=+p[o+48>>2]+(l*c+b*u+m*h);p[t+40>>2]=S;p[t+44>>2]=M;p[t+48>>2]=0.0;M=+p[t+172>>2];S=+p[t+176>>2];h=+p[t+180>>2];p[t+52>>2]=l*M+b*S+m*h;p[t+56>>2]=M*f+S*g+h*C;p[t+60>>2]=M*y+S*v+h*x;p[t+64>>2]=0.0;h=+p[t+188>>2];S=+p[t+192>>2];M=+p[t+196>>2];p[t+68>>2]=l*h+b*S+m*M;p[t+72>>2]=h*f+S*g+M*C;p[t+76>>2]=h*y+S*v+M*x;p[t+80>>2]=0.0;d=_;return}function ife(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0;n=r[e+144>>2]|0;tfe(e,n+(t*284|0)|0,i);_=+p[n+(t*284|0)+52>>2];o=-0.0-_;s=+p[n+(t*284|0)+56>>2];a=-0.0-s;l=+p[n+(t*284|0)+60>>2];d=-0.0-l;c=+p[n+(t*284|0)+76>>2];b=+p[n+(t*284|0)+72>>2];u=c*a-b*d;m=+p[n+(t*284|0)+68>>2];h=m*d-c*o;f=b*o-m*a;g=1.0/+j(+(f*f+(u*u+h*h)));C=u*g;u=g*h;h=g*f;f=+p[n+(t*284|0)+232>>2];g=+j(+(_*_+s*s+l*l));S=f*.5;f=+Q(+S)/g;g=f*o;y=f*a;v=f*d;f=+Z(+S);S=2.0/(f*f+(v*v+(g*g+y*y)));x=g*S;M=y*S;T=v*S;S=f*x;D=f*M;P=f*T;f=g*x;x=g*M;w=g*T;g=y*M;M=y*T;y=v*T;T=1.0-(g+y);v=x-P;A=w+D;F=x+P;P=1.0-(f+y);y=M-S;x=w-D;D=M+S;S=1.0-(f+g);g=+p[n+(t*284|0)+236>>2];f=+j(+(c*c+(b*b+m*m)));M=g*-.5;g=+Q(+M)/f;f=m*g;w=b*g;R=c*g;g=+Z(+M);M=2.0/(g*g+(R*R+(f*f+w*w)));I=f*M;B=w*M;V=R*M;M=g*I;E=g*B;N=g*V;g=f*I;I=f*B;k=f*V;f=w*B;B=w*V;w=R*V;V=1.0-(f+w);R=I-N;O=k+E;L=I+N;N=1.0-(g+w);w=B-M;I=k-E;E=B+M;M=1.0-(g+f);f=A*I+(v*L+T*V);g=A*E+(T*R+v*N);B=T*O+v*w+A*M;A=y*I+(P*L+F*V);v=y*E+(F*R+P*N);T=F*O+P*w+y*M;y=S*I+(D*L+x*V);V=S*E+(x*R+D*N);N=x*O+D*w+S*M;p[n+(t*284|0)+92>>2]=c*B+(m*f+b*g);p[n+(t*284|0)+96>>2]=h*B+(C*f+u*g);p[n+(t*284|0)+100>>2]=B*d+(f*o+g*a);p[n+(t*284|0)+104>>2]=0.0;p[n+(t*284|0)+108>>2]=c*T+(m*A+b*v);p[n+(t*284|0)+112>>2]=h*T+(C*A+u*v);p[n+(t*284|0)+116>>2]=T*d+(A*o+v*a);p[n+(t*284|0)+120>>2]=0.0;p[n+(t*284|0)+124>>2]=c*N+(m*y+b*V);p[n+(t*284|0)+128>>2]=h*N+(C*y+u*V);p[n+(t*284|0)+132>>2]=N*d+(y*o+V*a);p[n+(t*284|0)+136>>2]=0.0;a=+p[n+(t*284|0)+32>>2];V=a*s+ +p[n+(t*284|0)+40>>2];s=a*l+ +p[n+(t*284|0)+44>>2];p[n+(t*284|0)+140>>2]=_*a+ +p[n+(t*284|0)+36>>2];p[n+(t*284|0)+144>>2]=V;p[n+(t*284|0)+148>>2]=s;p[n+(t*284|0)+152>>2]=0.0;return}function nfe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0.0,b=0,u=0,m=0,h=0,g=0,C=0.0,S=0.0,y=0,v=0,x=0,M=0,T=0,D=0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0;i=d;d=d+72|0;_=i|0;o=i+16|0;s=i+32|0;tfe(e,t,0);a=t+204|0;l=t+212|0;c=+p[a>>2]+ +p[l>>2];b=t+52|0;u=t+56|0;m=t+60|0;h=t+36|0;g=t+16|0;C=c*+p[u>>2]+ +p[t+40>>2];S=c*+p[m>>2]+ +p[t+44>>2];y=g;p[t+16>>2]=+p[b>>2]*c+ +p[h>>2];v=t+20|0;p[v>>2]=C;x=t+24|0;p[x>>2]=S;p[t+28>>2]=0.0;M=s+32|0;p[M>>2]=-1.0;T=r[e+100>>2]|0;D=drt[r[(r[T>>2]|0)+8>>2]&127](T,h,g,s)|0;h=t+88|0;r[h>>2]=0;if((D|0)==0){p[t+32>>2]=+p[a>>2];p[t+272>>2]=0.0;S=-0.0-+p[u>>2];C=-0.0-+p[m>>2];p[t>>2]=-0.0-+p[b>>2];p[t+4>>2]=S;p[t+8>>2]=C;p[t+12>>2]=0.0;p[t+268>>2]=1.0;P=-1.0;d=i;return+P}C=c*+p[M>>2];M=t;D=s+16|0;r[M>>2]=r[D>>2];r[M+4>>2]=r[D+4>>2];r[M+8>>2]=r[D+8>>2];r[M+12>>2]=r[D+12>>2];n[t+84|0]=1;D=_;M=o;do{if((n[43024]|0)==0){if((ui(43024)|0)==0){break}vBe(D|0,0,16);ufe(42128,0.0,0,0,_);jt(198,42128,f|0)|0}}while(0);vBe(M|0,0,16);afe(42128,0.0,o);r[h>>2]=42128;c=C-+p[l>>2];l=t+32|0;p[l>>2]=c;S=+p[a>>2];w=+p[t+208>>2]*.009999999776482582;A=S-w;F=S+w;if(c<A){p[l>>2]=A;R=A}else{R=c}if(R>F){p[l>>2]=F}l=s;r[y>>2]=r[l>>2];r[y+4>>2]=r[l+4>>2];r[y+8>>2]=r[l+8>>2];r[y+12>>2]=r[l+12>>2];F=+p[t>>2];R=+p[t+4>>2];c=+p[t+8>>2];A=F*+p[b>>2]+R*+p[u>>2]+c*+p[m>>2];m=r[e+116>>2]|0;w=+p[g>>2]-+p[m+52>>2];S=+p[v>>2]-+p[m+56>>2];I=+p[x>>2]-+p[m+60>>2];B=+p[m+324>>2];V=+p[m+328>>2];E=+p[m+320>>2];if(A<-.10000000149011612){N=-1.0/A;p[t+272>>2]=N*(R*(w*V-I*E+ +p[m+308>>2])+F*(B*I-S*V+ +p[m+304>>2])+c*(S*E-w*B+ +p[m+312>>2]));p[t+268>>2]=N;P=C;d=i;return+P}else{p[t+272>>2]=0.0;p[t+268>>2]=10.0;P=C;d=i;return+P}return 0.0}function _fe(e,t){e=e|0;t=+t;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0,g=0.0,C=0.0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0;i=d;d=d+32|0;_=i|0;o=i+16|0;s=e+136|0;a=r[s>>2]|0;if((a|0)>0){l=0;while(1){ife(e,l,0);c=l+1|0;b=r[s>>2]|0;if((c|0)<(b|0)){l=c}else{u=b;break}}}else{u=a}a=e+116|0;l=r[a>>2]|0;b=l+304|0;m=+p[b>>2];c=l+308|0;h=+p[c>>2];f=l+312|0;g=+p[f>>2];C=+j(+(m*m+h*h+g*g))*3.5999999046325684;S=e+112|0;p[S>>2]=C;y=e+128|0;v=r[y>>2]|0;if(+p[l+4+(v<<2)>>2]*+p[b>>2]+ +p[l+20+(v<<2)>>2]*+p[c>>2]+ +p[l+36+(v<<2)>>2]*+p[f>>2]<0.0){p[S>>2]=C*-1.0}do{if((u|0)>0){S=e+144|0;f=0;do{+nfe(e,(r[S>>2]|0)+(f*284|0)|0);f=f+1|0;x=r[s>>2]|0}while((f|0)<(x|0));C=1.0/+p[(r[a>>2]|0)+336>>2];if((x|0)>0){M=0}else{break}do{f=r[S>>2]|0;do{if((n[f+(M*284|0)+84|0]&1)==0){p[f+(M*284|0)+276>>2]=0.0}else{g=+p[f+(M*284|0)+272>>2];h=C*(+p[f+(M*284|0)+216>>2]*(+p[f+(M*284|0)+204>>2]-+p[f+(M*284|0)+32>>2])*+p[f+(M*284|0)+268>>2]-g*+p[(g<0.0?f+(M*284|0)+220|0:f+(M*284|0)+224|0)>>2]);v=f+(M*284|0)+276|0;p[v>>2]=h;if(h>=0.0){break}p[v>>2]=0.0}}while(0);M=M+1|0;T=r[s>>2]|0}while((M|0)<(T|0));if((T|0)<=0){break}f=_|0;v=_+4|0;l=_+8|0;c=_+12|0;b=o|0;D=o+4|0;P=o+8|0;w=o+12|0;A=0;do{F=r[S>>2]|0;C=+p[F+(A*284|0)+276>>2];h=+p[F+(A*284|0)+248>>2];g=C>h?h:C;C=g*+p[F+(A*284|0)+4>>2]*t;h=g*+p[F+(A*284|0)+8>>2]*t;p[f>>2]=+p[F+(A*284|0)>>2]*g*t;p[v>>2]=C;p[l>>2]=h;p[c>>2]=0.0;R=r[a>>2]|0;h=+p[F+(A*284|0)+20>>2]-+p[R+56>>2];C=+p[F+(A*284|0)+24>>2]-+p[R+60>>2];p[b>>2]=+p[F+(A*284|0)+16>>2]-+p[R+52>>2];p[D>>2]=h;p[P>>2]=C;p[w>>2]=0.0;gh(R,_,o);A=A+1|0}while((A|0)<(r[s>>2]|0))}}while(0);Wnt[r[(r[e>>2]|0)+20>>2]&1023](e,t);if((r[s>>2]|0)<=0){d=i;return}o=e+144|0;e=0;do{_=r[o>>2]|0;T=r[a>>2]|0;C=+p[_+(e*284|0)+36>>2]-+p[T+52>>2];h=+p[_+(e*284|0)+40>>2]-+p[T+56>>2];g=+p[_+(e*284|0)+44>>2]-+p[T+60>>2];m=+p[T+324>>2];I=+p[T+328>>2];B=+p[T+320>>2];if((n[_+(e*284|0)+84|0]&1)==0){V=+p[_+(e*284|0)+240>>2];M=_+(e*284|0)+236|0;p[M>>2]=V+ +p[M>>2];E=V}else{M=r[y>>2]|0;V=+p[T+4+(M<<2)>>2];N=+p[T+20+(M<<2)>>2];k=+p[T+36+(M<<2)>>2];O=+p[_+(e*284|0)>>2];L=+p[_+(e*284|0)+4>>2];U=+p[_+(e*284|0)+8>>2];G=V*O+N*L+k*U;W=((h*B-C*m+ +p[T+312>>2])*(k-U*G)+((m*g-h*I+ +p[T+304>>2])*(V-O*G)+(C*I-g*B+ +p[T+308>>2])*(N-L*G)))*t/+p[_+(e*284|0)+212>>2];p[_+(e*284|0)+240>>2]=W;T=_+(e*284|0)+236|0;p[T>>2]=W+ +p[T>>2];E=W}p[_+(e*284|0)+240>>2]=E*.9900000095367432;e=e+1|0}while((e|0)<(r[s>>2]|0));d=i;return}function rfe(e,t){e=e|0;t=+t;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0.0,fe=0.0,ge=0,Ce=0,Se=0.0,ye=0,ve=0.0,xe=0,Me=0.0,Te=0.0,De=0.0,Pe=0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0.0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0,ke=0,Oe=0,Le=0.0,Ue=0.0,Ge=0.0,We=0.0,ze=0.0,He=0.0,je=0.0,Xe=0.0,Ze=0.0,Qe=0,qe=0,Ye=0,Je=0,Ke=0;i=d;d=d+376|0;_=i|0;o=i+16|0;s=i+32|0;a=i+120|0;l=i+168|0;c=i+216|0;b=i+232|0;u=i+248|0;m=i+296|0;h=i+312|0;f=i+328|0;g=i+344|0;C=i+360|0;S=e+136|0;y=r[S>>2]|0;if((y|0)==0){d=i;return}v=e+8|0;x=r[v>>2]|0;if((x|0)<(y|0)){M=e+12|0;if((r[M>>2]|0)<(y|0)){r[9806]=(r[9806]|0)+1;T=hBe((y<<4|4)+15|0)|0;if((T|0)==0){D=0}else{P=-(T+4|0)&15;r[T+P>>2]=T;D=T+(P+4)|0}P=r[v>>2]|0;T=e+16|0;if((P|0)>0){w=0;do{A=D+(w<<4)|0;if((A|0)!=0){F=A;A=(r[T>>2]|0)+(w<<4)|0;r[F>>2]=r[A>>2];r[F+4>>2]=r[A+4>>2];r[F+8>>2]=r[A+8>>2];r[F+12>>2]=r[A+12>>2]}w=w+1|0}while((w|0)<(P|0))}P=r[T>>2]|0;w=e+20|0;if((P|0)!=0){if((n[w]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[P-16+12>>2]|0)}r[T>>2]=0}n[w]=1;r[T>>2]=D;r[M>>2]=y;R=T}else{R=e+16|0}T=c;c=x;do{x=(r[R>>2]|0)+(c<<4)|0;if((x|0)!=0){M=x;r[M>>2]=r[T>>2];r[M+4>>2]=r[T+4>>2];r[M+8>>2]=r[T+8>>2];r[M+12>>2]=r[T+12>>2]}c=c+1|0}while((c|0)<(y|0))}r[v>>2]=y;v=e+28|0;c=r[v>>2]|0;if((c|0)<(y|0)){T=e+32|0;if((r[T>>2]|0)<(y|0)){r[9806]=(r[9806]|0)+1;R=hBe((y<<4|4)+15|0)|0;if((R|0)==0){I=0}else{M=-(R+4|0)&15;r[R+M>>2]=R;I=R+(M+4)|0}M=r[v>>2]|0;R=e+36|0;if((M|0)>0){x=0;do{D=I+(x<<4)|0;if((D|0)!=0){w=D;D=(r[R>>2]|0)+(x<<4)|0;r[w>>2]=r[D>>2];r[w+4>>2]=r[D+4>>2];r[w+8>>2]=r[D+8>>2];r[w+12>>2]=r[D+12>>2]}x=x+1|0}while((x|0)<(M|0))}M=r[R>>2]|0;x=e+40|0;if((M|0)!=0){if((n[x]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[M-16+12>>2]|0)}r[R>>2]=0}n[x]=1;r[R>>2]=I;r[T>>2]=y;B=R}else{B=e+36|0}R=b;b=c;do{c=(r[B>>2]|0)+(b<<4)|0;if((c|0)!=0){T=c;r[T>>2]=r[R>>2];r[T+4>>2]=r[R+4>>2];r[T+8>>2]=r[R+8>>2];r[T+12>>2]=r[R+12>>2]}b=b+1|0}while((b|0)<(y|0))}r[v>>2]=y;v=e+48|0;b=r[v>>2]|0;if((b|0)<(y|0)){R=e+52|0;if((r[R>>2]|0)<(y|0)){r[9806]=(r[9806]|0)+1;B=hBe((y<<2)+19|0)|0;if((B|0)==0){V=0}else{T=-(B+4|0)&15;r[B+T>>2]=B;V=B+(T+4)|0}T=r[v>>2]|0;B=e+56|0;if((T|0)>0){c=0;do{I=V+(c<<2)|0;if((I|0)!=0){p[I>>2]=+p[(r[B>>2]|0)+(c<<2)>>2]}c=c+1|0}while((c|0)<(T|0))}T=r[B>>2]|0;c=e+60|0;if((T|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[T-4>>2]|0)}r[B>>2]=0}n[c]=1;r[B>>2]=V;r[R>>2]=y;E=B}else{E=e+56|0}B=b;do{b=(r[E>>2]|0)+(B<<2)|0;if((b|0)!=0){p[b>>2]=0.0}B=B+1|0}while((B|0)<(y|0))}r[v>>2]=y;v=e+68|0;B=r[v>>2]|0;if((B|0)<(y|0)){E=e+72|0;if((r[E>>2]|0)<(y|0)){r[9806]=(r[9806]|0)+1;b=hBe((y<<2)+19|0)|0;if((b|0)==0){N=0}else{R=-(b+4|0)&15;r[b+R>>2]=b;N=b+(R+4)|0}R=r[v>>2]|0;b=e+76|0;if((R|0)>0){V=0;do{c=N+(V<<2)|0;if((c|0)!=0){p[c>>2]=+p[(r[b>>2]|0)+(V<<2)>>2]}V=V+1|0}while((V|0)<(R|0))}R=r[b>>2]|0;V=e+80|0;if((R|0)!=0){if((n[V]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[R-4>>2]|0)}r[b>>2]=0}n[V]=1;r[b>>2]=N;r[E>>2]=y;k=b}else{k=e+76|0}b=B;do{B=(r[k>>2]|0)+(b<<2)|0;if((B|0)!=0){p[B>>2]=0.0}b=b+1|0}while((b|0)<(y|0))}r[v>>2]=y;if((r[S>>2]|0)<=0){d=i;return}y=e+76|0;v=e+56|0;b=0;do{p[(r[y>>2]|0)+(b<<2)>>2]=0.0;p[(r[v>>2]|0)+(b<<2)>>2]=0.0;b=b+1|0;O=r[S>>2]|0}while((b|0)<(O|0));if((O|0)<=0){d=i;return}b=e+144|0;k=u;B=u+16|0;E=u+32|0;N=e+36|0;V=e+120|0;R=e+16|0;c=e+116|0;T=_|0;I=_+4|0;x=_+8|0;M=_+12|0;D=o|0;w=o+4|0;P=o+8|0;A=o+12|0;F=a|0;L=a+4|0;U=a+8|0;G=a+12|0;W=a+16|0;z=a+20|0;H=a+24|0;X=a+28|0;Z=a+32|0;Q=a+36|0;q=a+40|0;Y=a+44|0;J=l|0;K=l+4|0;$=l+8|0;ee=l+12|0;te=l+16|0;ie=l+20|0;ne=l+24|0;_e=l+28|0;re=l+32|0;oe=l+36|0;se=l+40|0;ae=l+44|0;pe=s+80|0;le=0;de=O;while(1){O=r[b>>2]|0;ce=r[O+(le*284|0)+88>>2]|0;if((ce|0)==0){be=de}else{ue=O+(le*284|0)+92|0;r[k>>2]=r[ue>>2];r[k+4>>2]=r[ue+4>>2];r[k+8>>2]=r[ue+8>>2];r[k+12>>2]=r[ue+12>>2];ue=O+(le*284|0)+108|0;r[B>>2]=r[ue>>2];r[B+4>>2]=r[ue+4>>2];r[B+8>>2]=r[ue+8>>2];r[B+12>>2]=r[ue+12>>2];ue=O+(le*284|0)+124|0;r[E>>2]=r[ue>>2];r[E+4>>2]=r[ue+4>>2];r[E+8>>2]=r[ue+8>>2];r[E+12>>2]=r[ue+12>>2];ue=r[N>>2]|0;me=r[V>>2]|0;he=+p[u+16+(me<<2)>>2];fe=+p[u+32+(me<<2)>>2];p[ue+(le<<4)>>2]=+p[u+(me<<2)>>2];p[ue+(le<<4)+4>>2]=he;p[ue+(le<<4)+8>>2]=fe;p[ue+(le<<4)+12>>2]=0.0;ue=r[N>>2]|0;me=ue+(le<<4)|0;fe=+p[me>>2];ge=O+(le*284|0)|0;he=+p[ge>>2];Ce=ue+(le<<4)+4|0;Se=+p[Ce>>2];ye=O+(le*284|0)+4|0;ve=+p[ye>>2];xe=ue+(le<<4)+8|0;Me=+p[xe>>2];ue=O+(le*284|0)+8|0;Te=+p[ue>>2];De=fe*he+Se*ve+Me*Te;p[me>>2]=fe-he*De;p[Ce>>2]=Se-ve*De;p[xe>>2]=Me-Te*De;xe=r[N>>2]|0;Ce=xe+(le<<4)|0;De=+p[Ce>>2];me=xe+(le<<4)+4|0;Te=+p[me>>2];Pe=xe+(le<<4)+8|0;Me=+p[Pe>>2];ve=1.0/+j(+(De*De+Te*Te+Me*Me));p[Ce>>2]=De*ve;p[me>>2]=Te*ve;p[Pe>>2]=Me*ve;Pe=r[R>>2]|0;me=r[N>>2]|0;ve=+p[ye>>2];Me=+p[me+(le<<4)+8>>2];Te=+p[ue>>2];De=+p[me+(le<<4)+4>>2];Se=+p[me+(le<<4)>>2];he=+p[ge>>2];p[Pe+(le<<4)>>2]=ve*Me-Te*De;p[Pe+(le<<4)+4>>2]=Te*Se-Me*he;p[Pe+(le<<4)+8>>2]=De*he-ve*Se;p[Pe+(le<<4)+12>>2]=0.0;Pe=r[R>>2]|0;ge=Pe+(le<<4)|0;Se=+p[ge>>2];me=Pe+(le<<4)+4|0;ve=+p[me>>2];ue=Pe+(le<<4)+8|0;he=+p[ue>>2];De=1.0/+j(+(Se*Se+ve*ve+he*he));p[ge>>2]=Se*De;p[me>>2]=ve*De;p[ue>>2]=he*De;ue=r[c>>2]|0;me=r[N>>2]|0;ge=me+(le<<4)|0;Pe=(r[y>>2]|0)+(le<<2)|0;ye=ge|0;De=+p[ye>>2];Ce=me+(le<<4)+4|0;he=+p[Ce>>2];xe=me+(le<<4)+8|0;ve=+p[xe>>2];if(De*De+he*he+ve*ve>1.100000023841858){we=0.0}else{ve=+p[O+(le*284|0)+16>>2];he=ve-+p[ue+52>>2];De=+p[O+(le*284|0)+20>>2];Se=De-+p[ue+56>>2];Me=+p[O+(le*284|0)+24>>2];Te=Me-+p[ue+60>>2];p[T>>2]=he;p[I>>2]=Se;p[x>>2]=Te;p[M>>2]=0.0;fe=ve-+p[ce+52>>2];ve=De-+p[ce+56>>2];De=Me-+p[ce+60>>2];p[D>>2]=fe;p[w>>2]=ve;p[P>>2]=De;p[A>>2]=0.0;Me=+p[ue+324>>2];Ae=+p[ue+328>>2];Fe=+p[ue+320>>2];Re=+p[ce+324>>2];Ie=+p[ce+328>>2];Be=+p[ce+320>>2];Ve=Me*Te-Ae*Se+ +p[ue+304>>2]-(Re*De-Ie*ve+ +p[ce+304>>2]);Ee=+p[ue+308>>2]+(Ae*he-Te*Fe)-(+p[ce+308>>2]+(Ie*fe-De*Be));De=Se*Fe-Me*he+ +p[ue+312>>2]-(ve*Be-Re*fe+ +p[ce+312>>2]);p[F>>2]=+p[ue+4>>2];p[L>>2]=+p[ue+20>>2];p[U>>2]=+p[ue+36>>2];p[G>>2]=0.0;p[W>>2]=+p[ue+8>>2];p[z>>2]=+p[ue+24>>2];p[H>>2]=+p[ue+40>>2];p[X>>2]=0.0;p[Z>>2]=+p[ue+12>>2];p[Q>>2]=+p[ue+28>>2];p[q>>2]=+p[ue+44>>2];p[Y>>2]=0.0;p[J>>2]=+p[ce+4>>2];p[K>>2]=+p[ce+20>>2];p[$>>2]=+p[ce+36>>2];p[ee>>2]=0.0;p[te>>2]=+p[ce+8>>2];p[ie>>2]=+p[ce+24>>2];p[ne>>2]=+p[ce+40>>2];p[_e>>2]=0.0;p[re>>2]=+p[ce+12>>2];p[oe>>2]=+p[ce+28>>2];p[se>>2]=+p[ce+44>>2];p[ae>>2]=0.0;Sue(s,a,l,_,o,ge,ue+388|0,+p[ue+336>>2],ce+388|0,+p[ce+336>>2]);we=1.0/+p[pe>>2]*(Ve*+p[ye>>2]+Ee*+p[Ce>>2]+De*+p[xe>>2])*-.20000000298023224}p[Pe>>2]=we;be=r[S>>2]|0}Pe=le+1|0;if((Pe|0)<(be|0)){le=Pe;de=be}else{break}}if((be|0)>0){Ne=0;ke=0}else{d=i;return}while(1){be=r[b>>2]|0;de=r[be+(Ne*284|0)+88>>2]|0;do{if((de|0)==0){p[(r[v>>2]|0)+(Ne<<2)>>2]=0.0;p[(r[b>>2]|0)+(Ne*284|0)+280>>2]=1.0;Oe=ke}else{we=+p[be+(Ne*284|0)+252>>2];if(we!=0.0){p[(r[v>>2]|0)+(Ne<<2)>>2]=0.0;p[(r[b>>2]|0)+(Ne*284|0)+280>>2]=1.0;Le=we*t}else{we=+p[be+(Ne*284|0)+256>>2];De=we!=0.0?we:0.0;le=r[c>>2]|0;pe=r[R>>2]|0;we=+p[be+(Ne*284|0)+16>>2];Ee=+p[be+(Ne*284|0)+20>>2];Ve=+p[be+(Ne*284|0)+24>>2];fe=+p[pe+(Ne<<4)>>2];Re=+p[pe+(Ne<<4)+4>>2];Be=+p[pe+(Ne<<4)+8>>2];ve=we-+p[le+52>>2];he=Ee-+p[le+56>>2];Me=Ve-+p[le+60>>2];Fe=he*Be-Me*Re;Se=Me*fe-ve*Be;Ie=ve*Re-he*fe;Te=+p[le+256>>2]*Fe+ +p[le+272>>2]*Se+Ie*+p[le+288>>2];Ae=Fe*+p[le+260>>2]+Se*+p[le+276>>2]+Ie*+p[le+292>>2];Ue=Fe*+p[le+264>>2]+Se*+p[le+280>>2]+Ie*+p[le+296>>2];Ie=we-+p[de+52>>2];we=Ee-+p[de+56>>2];Ee=Ve-+p[de+60>>2];Ve=Be*we-Re*Ee;Se=fe*Ee-Be*Ie;Fe=Re*Ie-fe*we;Ge=Fe*+p[de+288>>2]+(+p[de+256>>2]*Ve+ +p[de+272>>2]*Se);We=Ve*+p[de+260>>2]+Se*+p[de+276>>2]+Fe*+p[de+292>>2];ze=Ve*+p[de+264>>2]+Se*+p[de+280>>2]+Fe*+p[de+296>>2];Fe=+p[le+324>>2];Se=+p[le+328>>2];Ve=+p[le+320>>2];He=+p[de+324>>2];je=+p[de+328>>2];Xe=+p[de+320>>2];Ze=1.0/(+p[le+336>>2]+(Be*(he*Te-ve*Ae)+(fe*(Me*Ae-he*Ue)+Re*(ve*Ue-Me*Te)))+(+p[de+336>>2]+(Be*(we*Ge-Ie*We)+(fe*(Ee*We-we*ze)+Re*(Ie*ze-Ee*Ge)))))*(-0.0-((Me*Fe-he*Se+ +p[le+304>>2]-(Ee*He-we*je+ +p[de+304>>2]))*fe+(+p[le+308>>2]+(ve*Se-Me*Ve)-(+p[de+308>>2]+(Ie*je-Ee*Xe)))*Re+(he*Ve-ve*Fe+ +p[le+312>>2]-(we*Xe-Ie*He+ +p[de+312>>2]))*Be));Be=De<Ze?De:Ze;Ze=-0.0-De;p[(r[v>>2]|0)+(Ne<<2)>>2]=0.0;p[(r[b>>2]|0)+(Ne*284|0)+280>>2]=1.0;Le=Be<Ze?Ze:Be}p[(r[b>>2]|0)+(Ne*284|0)+280>>2]=1.0;Be=+p[be+(Ne*284|0)+276>>2]*t*+p[be+(Ne*284|0)+228>>2];p[(r[v>>2]|0)+(Ne<<2)>>2]=Le;Ze=+p[(r[v>>2]|0)+(Ne<<2)>>2]*.5;De=+p[(r[y>>2]|0)+(Ne<<2)>>2];He=Ze*Ze+De*De;if(He<=Be*Be){Oe=ke;break}De=Be/+j(+He);le=(r[b>>2]|0)+(Ne*284|0)+280|0;p[le>>2]=De*+p[le>>2];Oe=1}}while(0);be=Ne+1|0;Qe=r[S>>2]|0;if((be|0)<(Qe|0)){Ne=be;ke=Oe}else{break}}if(Oe){if((Qe|0)>0){qe=0;Ye=Qe}else{d=i;return}while(1){do{if(+p[(r[y>>2]|0)+(qe<<2)>>2]!=0.0){Le=+p[(r[b>>2]|0)+(qe*284|0)+280>>2];if(Le>=1.0){Je=Ye;break}Oe=(r[v>>2]|0)+(qe<<2)|0;p[Oe>>2]=Le*+p[Oe>>2];Oe=(r[y>>2]|0)+(qe<<2)|0;p[Oe>>2]=+p[(r[b>>2]|0)+(qe*284|0)+280>>2]*+p[Oe>>2];Je=r[S>>2]|0}else{Je=Ye}}while(0);Oe=qe+1|0;if((Oe|0)<(Je|0)){qe=Oe;Ye=Je}else{Ke=Je;break}}}else{Ke=Qe}if((Ke|0)<=0){d=i;return}Ke=m|0;Qe=m+4|0;Je=m+8|0;Ye=m+12|0;qe=h|0;Oe=h+4|0;ke=h+8|0;Ne=h+12|0;be=f|0;de=f+4|0;le=f+8|0;pe=f+12|0;o=g|0;_=g+4|0;l=g+8|0;a=g+12|0;s=e+124|0;e=C|0;ae=C+4|0;se=C+8|0;oe=C+12|0;re=0;do{_e=r[b>>2]|0;ne=r[c>>2]|0;ie=_e+(re*284|0)+16|0;te=_e+(re*284|0)+20|0;Le=+p[te>>2]-+p[ne+56>>2];ee=_e+(re*284|0)+24|0;t=+p[ee>>2]-+p[ne+60>>2];p[Ke>>2]=+p[ie>>2]-+p[ne+52>>2];p[Qe>>2]=Le;p[Je>>2]=t;p[Ye>>2]=0.0;t=+p[(r[v>>2]|0)+(re<<2)>>2];if(t!=0.0){$=r[R>>2]|0;Le=t*+p[$+(re<<4)+4>>2];De=t*+p[$+(re<<4)+8>>2];p[qe>>2]=t*+p[$+(re<<4)>>2];p[Oe>>2]=Le;p[ke>>2]=De;p[Ne>>2]=0.0;gh(ne,h,m)}De=+p[(r[y>>2]|0)+(re<<2)>>2];if(De!=0.0){ne=r[(r[b>>2]|0)+(re*284|0)+88>>2]|0;Le=+p[te>>2]-+p[ne+56>>2];t=+p[ee>>2]-+p[ne+60>>2];p[be>>2]=+p[ie>>2]-+p[ne+52>>2];p[de>>2]=Le;p[le>>2]=t;p[pe>>2]=0.0;ie=r[N>>2]|0;t=De*+p[ie+(re<<4)+4>>2];Le=De*+p[ie+(re<<4)+8>>2];p[o>>2]=+p[ie+(re<<4)>>2]*De;p[_>>2]=t;p[l>>2]=Le;p[a>>2]=0.0;ie=r[c>>2]|0;ee=r[s>>2]|0;Le=+p[ie+4+(ee<<2)>>2];t=+p[ie+20+(ee<<2)>>2];De=+p[ie+36+(ee<<2)>>2];He=+p[Ke>>2];Be=+p[Qe>>2];Ze=+p[Je>>2];Ie=(Le*He+t*Be+De*Ze)*(1.0-+p[_e+(re*284|0)+244>>2]);p[Ke>>2]=He-Le*Ie;p[Qe>>2]=Be-t*Ie;p[Je>>2]=Ze-De*Ie;gh(ie,g,m);Ie=-0.0-+p[_>>2];De=-0.0-+p[l>>2];p[e>>2]=-0.0-+p[o>>2];p[ae>>2]=Ie;p[se>>2]=De;p[oe>>2]=0.0;gh(ne,C,f)}re=re+1|0}while((re|0)<(r[S>>2]|0));d=i;return}function ofe(e){e=e|0;return}function sfe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;r[e+120>>2]=t;r[e+124>>2]=i;r[e+128>>2]=n;return}function afe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0;n=e+204|0;_=r[n>>2]|0;if(t==0.0){r[n>>2]=_|1;p[e+336>>2]=0.0;o=0.0}else{r[n>>2]=_&-2;s=1.0/t;p[e+336>>2]=s;o=s}s=+p[e+376>>2]*t;a=+p[e+380>>2]*t;p[e+356>>2]=+p[e+372>>2]*t;p[e+360>>2]=s;p[e+364>>2]=a;p[e+368>>2]=0.0;a=+p[i>>2];if(a!=0.0){l=1.0/a}else{l=0.0}a=+p[i+4>>2];if(a!=0.0){d=1.0/a}else{d=0.0}a=+p[i+8>>2];if(a!=0.0){c=1.0/a}else{c=0.0}p[e+388>>2]=l;p[e+392>>2]=d;p[e+396>>2]=c;p[e+400>>2]=0.0;c=o*+p[e+344>>2];d=o*+p[e+348>>2];p[e+552>>2]=+p[e+340>>2]*o;p[e+556>>2]=c;p[e+560>>2]=d;p[e+564>>2]=0.0;return}function pfe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0.0,F=0.0;i=d;d=d+48|0;_=i|0;o=i+16|0;s=i+32|0;a=e+136|0;if((r[a>>2]|0)<=0){d=i;return}l=_|0;c=_+4|0;b=_+8|0;u=_+12|0;m=e+144|0;h=o;f=e+120|0;e=t;g=o|0;C=o+4|0;S=o+8|0;y=s|0;v=s+4|0;x=s+8|0;M=s+12|0;T=0;do{p[l>>2]=0.0;p[c>>2]=1.0;p[b>>2]=1.0;p[u>>2]=0.0;D=r[m>>2]|0;p[l>>2]=(n[D+(T*284|0)+84|0]&1)==0?1.0:0.0;p[c>>2]=0.0;p[b>>2]=1.0;p[u>>2]=0.0;P=D+(T*284|0)+140|0;r[h>>2]=r[P>>2];r[h+4>>2]=r[P+4>>2];r[h+8>>2]=r[P+8>>2];r[h+12>>2]=r[P+12>>2];P=r[f>>2]|0;w=r[(r[e>>2]|0)+8>>2]|0;A=+p[D+(T*284|0)+108+(P<<2)>>2]+ +p[C>>2];F=+p[D+(T*284|0)+124+(P<<2)>>2]+ +p[S>>2];p[y>>2]=+p[D+(T*284|0)+92+(P<<2)>>2]+ +p[g>>2];p[v>>2]=A;p[x>>2]=F;p[M>>2]=0.0;mrt[w&1023](t,o,s,_);mrt[r[(r[e>>2]|0)+8>>2]&1023](t,o,(r[m>>2]|0)+(T*284|0)+16|0,_);T=T+1|0}while((T|0)<(r[a>>2]|0));d=i;return}function lfe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0.0,g=0.0;o=d;d=d+88|0;s=o|0;a=s+4|0;p[a>>2]=1.0;l=s+8|0;r[l>>2]=0;_[s+12>>1]=1;_[s+14>>1]=-1;r[s+16>>2]=0;r[s>>2]=19480;c=s+20|0;b=t;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];b=s+36|0;c=i;r[b>>2]=r[c>>2];r[b+4>>2]=r[c+4>>2];r[b+8>>2]=r[c+8>>2];r[b+12>>2]=r[c+12>>2];c=r[e+4>>2]|0;mrt[r[(r[c>>2]|0)+28>>2]&1023](c|0,t,i,s|0);i=r[l>>2]|0;if((i|0)==0){u=0;d=o;return u|0}if((r[i+232>>2]&2|0)==0){u=0;d=o;return u|0}if((r[i+204>>2]&4|0)!=0){u=0;d=o;return u|0}l=n;t=s+68|0;r[l>>2]=r[t>>2];r[l+4>>2]=r[t+4>>2];r[l+8>>2]=r[t+8>>2];r[l+12>>2]=r[t+12>>2];t=n+16|0;l=t;c=s+52|0;r[l>>2]=r[c>>2];r[l+4>>2]=r[c+4>>2];r[l+8>>2]=r[c+8>>2];r[l+12>>2]=r[c+12>>2];c=t|0;m=+p[c>>2];t=n+20|0;h=+p[t>>2];l=n+24|0;f=+p[l>>2];g=1.0/+j(+(m*m+h*h+f*f));p[c>>2]=m*g;p[t>>2]=h*g;p[l>>2]=f*g;p[n+32>>2]=+p[a>>2];u=i;d=o;return u|0}function dfe(e,t,i){e=e|0;t=t|0;i=+i;Wnt[r[(r[e>>2]|0)+16>>2]&1023](e,i);return}function cfe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function bfe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0;r[e+232>>2]=2;vBe(e+304|0,0,32);p[e+536>>2]=1.0;p[e+540>>2]=1.0;p[e+544>>2]=1.0;p[e+548>>2]=0.0;i=e+340|0;p[i>>2]=1.0;_=e+344|0;p[_>>2]=1.0;o=e+348|0;p[o>>2]=1.0;vBe(e+352|0,0,36);vBe(e+404|0,0,32);s=+p[t+92>>2];a=+p[t+96>>2];if(s<0.0){l=0.0}else{l=s>1.0?1.0:s}p[e+436>>2]=l;if(a<0.0){d=0.0}else{d=a>1.0?1.0:a}p[e+440>>2]=d;p[e+464>>2]=+p[t+108>>2];p[e+468>>2]=+p[t+112>>2];c=r[t+4>>2]|0;r[e+472>>2]=c;r[e+600>>2]=0;r[e+604>>2]=0;n[e+444|0]=n[t+116|0]&1;p[e+448>>2]=+p[t+120>>2];p[e+452>>2]=+p[t+124>>2];p[e+456>>2]=+p[t+128>>2];p[e+460>>2]=+p[t+132>>2];if((c|0)==0){b=e+4|0;u=t+8|0;r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];u=e+20|0;m=t+24|0;r[u>>2]=r[m>>2];r[u+4>>2]=r[m+4>>2];r[u+8>>2]=r[m+8>>2];r[u+12>>2]=r[m+12>>2];m=e+36|0;h=t+40|0;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];h=e+52|0;f=t+56|0;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];g=b;C=u;S=m;y=h}else{h=e+4|0;Znt[r[(r[c>>2]|0)+8>>2]&2047](c,h);g=h;C=e+20|0;S=e+36|0;y=e+52|0}h=e+68|0;r[h>>2]=r[g>>2];r[h+4>>2]=r[g+4>>2];r[h+8>>2]=r[g+8>>2];r[h+12>>2]=r[g+12>>2];g=e+84|0;r[g>>2]=r[C>>2];r[g+4>>2]=r[C+4>>2];r[g+8>>2]=r[C+8>>2];r[g+12>>2]=r[C+12>>2];C=e+100|0;r[C>>2]=r[S>>2];r[C+4>>2]=r[S+4>>2];r[C+8>>2]=r[S+8>>2];r[C+12>>2]=r[S+12>>2];S=e+116|0;r[S>>2]=r[y>>2];r[S+4>>2]=r[y+4>>2];r[S+8>>2]=r[y+8>>2];r[S+12>>2]=r[y+12>>2];vBe(e+132|0,0,32);p[e+224>>2]=+p[t+100>>2];p[e+228>>2]=+p[t+104>>2];Znt[r[(r[e>>2]|0)+12>>2]&2047](e|0,r[t+72>>2]|0);y=r[10738]|0;r[10738]=y+1;r[e+500>>2]=y;d=+p[t>>2];y=e+204|0;S=r[y>>2]|0;if(d==0.0){r[y>>2]=S|1;p[e+336>>2]=0.0;v=0.0}else{r[y>>2]=S&-2;a=1.0/d;p[e+336>>2]=a;v=a}a=d*+p[e+376>>2];l=d*+p[e+380>>2];p[e+356>>2]=d*+p[e+372>>2];p[e+360>>2]=a;p[e+364>>2]=l;p[e+368>>2]=0.0;l=+p[t+76>>2];if(l!=0.0){x=1.0/l}else{x=0.0}l=+p[t+80>>2];if(l!=0.0){M=1.0/l}else{M=0.0}l=+p[t+84>>2];if(l!=0.0){T=1.0/l}else{T=0.0}p[e+388>>2]=x;p[e+392>>2]=M;p[e+396>>2]=T;p[e+400>>2]=0.0;l=v*+p[i>>2];a=v*+p[_>>2];d=v*+p[o>>2];v=+p[e+4>>2];s=v*x;D=+p[e+8>>2];P=D*M;w=+p[e+12>>2];A=w*T;F=+p[e+20>>2];R=x*F;I=+p[e+24>>2];B=M*I;V=+p[e+28>>2];E=T*V;N=+p[e+36>>2];k=x*N;x=+p[e+40>>2];O=M*x;M=+p[e+44>>2];L=T*M;p[e+256>>2]=v*s+D*P+w*A;p[e+260>>2]=s*F+P*I+A*V;p[e+264>>2]=s*N+P*x+A*M;p[e+268>>2]=0.0;p[e+272>>2]=v*R+D*B+w*E;p[e+276>>2]=F*R+I*B+V*E;p[e+280>>2]=R*N+B*x+E*M;p[e+284>>2]=0.0;p[e+288>>2]=v*k+D*O+w*L;p[e+292>>2]=F*k+I*O+V*L;p[e+296>>2]=N*k+x*O+M*L;p[e+300>>2]=0.0;r[e+496>>2]=0;vBe(e+504|0,0,32);p[e+552>>2]=l;p[e+556>>2]=a;p[e+560>>2]=d;vBe(e+564|0,0,36);return}function ufe(e,t,i,_,o){e=e|0;t=+t;i=i|0;_=_|0;o=o|0;var s=0,a=0;s=d;d=d+136|0;a=s|0;p[e+164>>2]=1.0;p[e+168>>2]=1.0;p[e+172>>2]=1.0;p[e+176>>2]=0.0;r[e+180>>2]=0;p[e+184>>2]=999999984306749400.0;vBe(e+188|0,0,16);r[e+204>>2]=1;r[e+208>>2]=-1;r[e+212>>2]=-1;r[e+216>>2]=1;p[e+220>>2]=0.0;p[e+224>>2]=.5;p[e+228>>2]=0.0;r[e+232>>2]=1;r[e+236>>2]=0;p[e+240>>2]=1.0;p[e+244>>2]=0.0;p[e+248>>2]=0.0;r[e+252>>2]=0;p[e+4>>2]=1.0;vBe(e+8|0,0,16);p[e+24>>2]=1.0;vBe(e+28|0,0,16);p[e+44>>2]=1.0;vBe(e+48|0,0,20);r[e>>2]=26048;n[e+492|0]=1;r[e+488>>2]=0;r[e+480>>2]=0;r[e+484>>2]=0;p[a>>2]=t;r[a+4>>2]=i;r[a+72>>2]=_;_=a+76|0;i=o;r[_>>2]=r[i>>2];r[_+4>>2]=r[i+4>>2];r[_+8>>2]=r[i+8>>2];r[_+12>>2]=r[i+12>>2];p[a+92>>2]=0.0;p[a+96>>2]=0.0;p[a+100>>2]=.5;p[a+104>>2]=0.0;p[a+108>>2]=.800000011920929;p[a+112>>2]=1.0;n[a+116|0]=0;p[a+120>>2]=.004999999888241291;p[a+124>>2]=.009999999776482582;p[a+128>>2]=.009999999776482582;p[a+132>>2]=.009999999776482582;p[a+8>>2]=1.0;vBe(a+12|0,0,16);p[a+28>>2]=1.0;vBe(a+32|0,0,16);p[a+48>>2]=1.0;vBe(a+52|0,0,20);bfe(e,a);d=s;return}function mfe(e,t){e=e|0;t=+t;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0.0,b=0.0,u=0.0;i=d;d=d+24|0;n=i|0;_=i+16|0;if(t==0.0){d=i;return}o=r[e+472>>2]|0;if((o|0)==0){s=e+4|0}else{a=e+4|0;Znt[r[(r[o>>2]|0)+8>>2]&2047](o,a);s=a}a=e+68|0;o=e+304|0;l=e+320|0;c=1.0/t;t=(+p[e+56>>2]-+p[e+120>>2])*c;b=c*(+p[e+60>>2]-+p[e+124>>2]);p[o>>2]=(+p[e+52>>2]-+p[e+116>>2])*c;p[e+308>>2]=t;p[e+312>>2]=b;p[e+316>>2]=0.0;tme(a,s,n,_);b=+p[_>>2];t=c*b*+p[n+4>>2];u=c*b*+p[n+8>>2];p[l>>2]=c*+p[n>>2]*b;p[e+324>>2]=t;p[e+328>>2]=u;p[e+332>>2]=0.0;n=e+132|0;_=o;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+148|0;n=l;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];n=a;a=s;r[n>>2]=r[a>>2];r[n+4>>2]=r[a+4>>2];r[n+8>>2]=r[a+8>>2];r[n+12>>2]=r[a+12>>2];a=e+84|0;n=e+20|0;r[a>>2]=r[n>>2];r[a+4>>2]=r[n+4>>2];r[a+8>>2]=r[n+8>>2];r[a+12>>2]=r[n+12>>2];n=e+100|0;a=e+36|0;r[n>>2]=r[a>>2];r[n+4>>2]=r[a+4>>2];r[n+8>>2]=r[a+8>>2];r[n+12>>2]=r[a+12>>2];a=e+116|0;n=e+52|0;r[a>>2]=r[n>>2];r[a+4>>2]=r[n+4>>2];r[a+8>>2]=r[n+8>>2];r[a+12>>2]=r[n+12>>2];d=i;return}function hfe(e){e=e|0;return 480}function ffe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0;if((r[t+232>>2]&2|0)==0){i=1;return i|0}n=t;t=e+488|0;_=r[e+480>>2]|0;e=0;while(1){if((e|0)>=(_|0)){i=1;o=4452;break}s=r[(r[t>>2]|0)+(e<<2)>>2]|0;if((r[s+24>>2]|0)==(n|0)){i=0;o=4455;break}if((r[s+28>>2]|0)==(n|0)){i=0;o=4453;break}else{e=e+1|0}}if((o|0)==4455){return i|0}else if((o|0)==4452){return i|0}else if((o|0)==4453){return i|0}return 0}function gfe(e,t){e=e|0;t=+t;var i=0.0,_=0.0,r=0,o=0.0,s=0,a=0.0,l=0,d=0.0,c=0.0,b=0,u=0,m=0.0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0;i=+p[e+436>>2];_=+X(+(1.0-i),+t);r=e+304|0;o=_*+p[r>>2];p[r>>2]=o;s=e+308|0;a=_*+p[s>>2];p[s>>2]=a;l=e+312|0;d=_*+p[l>>2];p[l>>2]=d;_=+p[e+440>>2];c=+X(+(1.0-_),+t);b=e+320|0;t=c*+p[b>>2];p[b>>2]=t;u=e+324|0;m=c*+p[u>>2];p[u>>2]=m;h=e+328|0;f=c*+p[h>>2];p[h>>2]=f;if((n[e+444|0]&1)==0){return}do{if(f*f+(t*t+m*m)<+p[e+456>>2]){if(o*o+a*a+d*d>=+p[e+452>>2]){g=o;C=a;S=d;y=t;v=m;x=f;break}c=+p[e+448>>2];M=t*c;p[b>>2]=M;T=c*m;p[u>>2]=T;D=c*f;p[h>>2]=D;P=c*o;p[r>>2]=P;w=c*a;p[s>>2]=w;A=c*d;p[l>>2]=A;g=P;C=w;S=A;y=M;v=T;x=D}else{g=o;C=a;S=d;y=t;v=m;x=f}}while(0);f=+j(+(g*g+C*C+S*S));do{if(f<i){if(f>.004999999888241291){m=1.0/f;p[r>>2]=g-g*m*.004999999888241291;p[s>>2]=C-C*m*.004999999888241291;p[l>>2]=S-S*m*.004999999888241291;break}else{vBe(r|0,0,16);break}}}while(0);S=+j(+(y*y+v*v+x*x));if(S>=_){return}if(S>.004999999888241291){_=1.0/S;p[b>>2]=y-y*_*.004999999888241291;p[u>>2]=v-v*_*.004999999888241291;p[h>>2]=x-x*_*.004999999888241291;return}else{vBe(b|0,0,16);return}}function Cfe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0;i=e+68|0;if((r[e+204>>2]&3|0)==0){n=i;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];n=e+84|0;o=t+16|0;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];n=e+100|0;s=t+32|0;r[n>>2]=r[s>>2];r[n+4>>2]=r[s+4>>2];r[n+8>>2]=r[s+8>>2];r[n+12>>2]=r[s+12>>2];n=e+116|0;a=t+48|0;r[n>>2]=r[a>>2];r[n+4>>2]=r[a+4>>2];r[n+8>>2]=r[a+8>>2];r[n+12>>2]=r[a+12>>2];l=e+4|0;d=_;c=e+20|0;b=o;u=e+36|0;m=s;h=e+52|0;f=a}else{a=i;i=e+4|0;r[a>>2]=r[i>>2];r[a+4>>2]=r[i+4>>2];r[a+8>>2]=r[i+8>>2];r[a+12>>2]=r[i+12>>2];a=e+84|0;s=e+20|0;r[a>>2]=r[s>>2];r[a+4>>2]=r[s+4>>2];r[a+8>>2]=r[s+8>>2];r[a+12>>2]=r[s+12>>2];a=e+100|0;o=e+36|0;r[a>>2]=r[o>>2];r[a+4>>2]=r[o+4>>2];r[a+8>>2]=r[o+8>>2];r[a+12>>2]=r[o+12>>2];a=e+116|0;_=e+52|0;r[a>>2]=r[_>>2];r[a+4>>2]=r[_+4>>2];r[a+8>>2]=r[_+8>>2];r[a+12>>2]=r[_+12>>2];l=i;d=t;c=s;b=t+16|0;u=o;m=t+32|0;h=_;f=t+48|0}t=e+132|0;_=e+304|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=e+148|0;t=e+320|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];r[l>>2]=r[d>>2];r[l+4>>2]=r[d+4>>2];r[l+8>>2]=r[d+8>>2];r[l+12>>2]=r[d+12>>2];r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];r[u>>2]=r[m>>2];r[u+4>>2]=r[m+4>>2];r[u+8>>2]=r[m+8>>2];r[u+12>>2]=r[m+12>>2];r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];g=+p[e+4>>2];C=+p[e+388>>2];S=g*C;y=+p[e+8>>2];v=+p[e+392>>2];x=y*v;M=+p[e+12>>2];T=+p[e+396>>2];D=M*T;P=+p[e+20>>2];w=C*P;A=+p[e+24>>2];F=v*A;R=+p[e+28>>2];I=T*R;B=+p[e+36>>2];V=C*B;C=+p[e+40>>2];E=v*C;v=+p[e+44>>2];N=T*v;p[e+256>>2]=g*S+y*x+M*D;p[e+260>>2]=S*P+x*A+D*R;p[e+264>>2]=S*B+x*C+D*v;p[e+268>>2]=0.0;p[e+272>>2]=g*w+y*F+M*I;p[e+276>>2]=P*w+A*F+R*I;p[e+280>>2]=w*B+F*C+I*v;p[e+284>>2]=0.0;p[e+288>>2]=g*V+y*E+M*N;p[e+292>>2]=P*V+A*E+R*N;p[e+296>>2]=B*V+C*E+v*N;p[e+300>>2]=0.0;return}function Sfe(e,t){e=e|0;t=+t;var i=0.0,n=0.0,_=0.0,o=0,s=0.0,a=0.0,l=0.0,d=0,c=0;if((r[e+204>>2]&3|0)!=0){return}i=+p[e+336>>2]*t;n=i*+p[e+408>>2];_=i*+p[e+412>>2];o=e+304|0;p[o>>2]=+p[e+404>>2]*i+ +p[o>>2];o=e+308|0;p[o>>2]=n+ +p[o>>2];o=e+312|0;p[o>>2]=_+ +p[o>>2];_=+p[e+420>>2];n=+p[e+424>>2];i=+p[e+428>>2];s=(_*+p[e+272>>2]+n*+p[e+276>>2]+i*+p[e+280>>2])*t;a=(_*+p[e+288>>2]+n*+p[e+292>>2]+i*+p[e+296>>2])*t;o=e+320|0;l=(+p[e+256>>2]*_+ +p[e+260>>2]*n+ +p[e+264>>2]*i)*t+ +p[o>>2];p[o>>2]=l;d=e+324|0;i=s+ +p[d>>2];p[d>>2]=i;c=e+328|0;s=a+ +p[c>>2];p[c>>2]=s;a=+j(+(s*s+(l*l+i*i)));if(a*t<=1.5707963705062866){return}n=1.5707963705062866/t/a;p[o>>2]=l*n;p[d>>2]=n*i;p[c>>2]=n*s;return}function yfe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;i=e+480|0;_=r[i>>2]|0;o=e+488|0;s=0;while(1){if((s|0)>=(_|0)){break}if((r[(r[o>>2]|0)+(s<<2)>>2]|0)==(t|0)){a=4487;break}else{s=s+1|0}}do{if((a|0)==4487){if((s|0)==(_|0)){break}p=e+252|0;r[p>>2]=1;return}}while(0);s=e+484|0;do{if((_|0)==(r[s>>2]|0)){a=(_|0)==0?1:_<<1;if((_|0)>=(a|0)){l=_;break}if((a|0)==0){d=0;c=_}else{r[9806]=(r[9806]|0)+1;b=hBe((a<<2)+19|0)|0;if((b|0)==0){u=0}else{m=-(b+4|0)&15;r[b+m>>2]=b;u=b+(m+4)|0}d=u;c=r[i>>2]|0}if((c|0)>0){m=0;do{b=d+(m<<2)|0;if((b|0)!=0){r[b>>2]=r[(r[o>>2]|0)+(m<<2)>>2]}m=m+1|0}while((m|0)<(c|0))}m=r[o>>2]|0;b=e+492|0;if((m|0)!=0){if((n[b]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-4>>2]|0)}r[o>>2]=0}n[b]=1;r[o>>2]=d;r[s>>2]=a;l=r[i>>2]|0}else{l=_}}while(0);_=(r[o>>2]|0)+(l<<2)|0;if((_|0)==0){h=l}else{r[_>>2]=t;h=r[i>>2]|0}r[i>>2]=h+1;p=e+252|0;r[p>>2]=1;return}function vfe(e,t,i){e=e|0;t=t|0;i=i|0;fye(e|0,t,i)|0;p[t+248>>2]=+p[e+256>>2];p[t+252>>2]=+p[e+260>>2];p[t+256>>2]=+p[e+264>>2];p[t+260>>2]=+p[e+268>>2];p[t+264>>2]=+p[e+272>>2];p[t+268>>2]=+p[e+276>>2];p[t+272>>2]=+p[e+280>>2];p[t+276>>2]=+p[e+284>>2];p[t+280>>2]=+p[e+288>>2];p[t+284>>2]=+p[e+292>>2];p[t+288>>2]=+p[e+296>>2];p[t+292>>2]=+p[e+300>>2];p[t+296>>2]=+p[e+304>>2];p[t+300>>2]=+p[e+308>>2];p[t+304>>2]=+p[e+312>>2];p[t+308>>2]=+p[e+316>>2];p[t+312>>2]=+p[e+320>>2];p[t+316>>2]=+p[e+324>>2];p[t+320>>2]=+p[e+328>>2];p[t+324>>2]=+p[e+332>>2];p[t+440>>2]=+p[e+336>>2];p[t+328>>2]=+p[e+536>>2];p[t+332>>2]=+p[e+540>>2];p[t+336>>2]=+p[e+544>>2];p[t+340>>2]=+p[e+548>>2];p[t+344>>2]=+p[e+340>>2];p[t+348>>2]=+p[e+344>>2];p[t+352>>2]=+p[e+348>>2];p[t+356>>2]=+p[e+352>>2];p[t+360>>2]=+p[e+356>>2];p[t+364>>2]=+p[e+360>>2];p[t+368>>2]=+p[e+364>>2];p[t+372>>2]=+p[e+368>>2];p[t+376>>2]=+p[e+372>>2];p[t+380>>2]=+p[e+376>>2];p[t+384>>2]=+p[e+380>>2];p[t+388>>2]=+p[e+384>>2];p[t+392>>2]=+p[e+388>>2];p[t+396>>2]=+p[e+392>>2];p[t+400>>2]=+p[e+396>>2];p[t+404>>2]=+p[e+400>>2];p[t+408>>2]=+p[e+404>>2];p[t+412>>2]=+p[e+408>>2];p[t+416>>2]=+p[e+412>>2];p[t+420>>2]=+p[e+416>>2];p[t+424>>2]=+p[e+420>>2];p[t+428>>2]=+p[e+424>>2];p[t+432>>2]=+p[e+428>>2];p[t+436>>2]=+p[e+432>>2];p[t+444>>2]=+p[e+436>>2];p[t+448>>2]=+p[e+440>>2];r[t+476>>2]=n[e+444|0]&1;p[t+452>>2]=+p[e+448>>2];p[t+456>>2]=+p[e+452>>2];p[t+460>>2]=+p[e+456>>2];p[t+464>>2]=+p[e+460>>2];p[t+468>>2]=+p[e+464>>2];p[t+472>>2]=+p[e+468>>2];return 17400}function xfe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=r[(r[t>>2]|0)+16>>2]|0;n=Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0;_=h_t[i&511](t,n,1)|0;n=h_t[r[(r[e>>2]|0)+20>>2]&511](e,r[_+8>>2]|0,t)|0;Unt[r[(r[t>>2]|0)+20>>2]&255](t,_,n,1497645650,e);return}function Mfe(e,t){e=e|0;t=t|0;r[e+192>>2]=t;r[e+200>>2]=t;return}function Tfe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,r=0,o=0.0,s=0,a=0,l=0.0,d=0,c=0,b=0.0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0;n=i+84|0;_=+p[n>>2];r=i+16|0;o=+p[r>>2];s=e+504|0;a=i+20|0;l=+p[a>>2];d=e+508|0;c=i+24|0;b=+p[c>>2];u=e+512|0;m=e+520|0;h=e+524|0;f=e+528|0;g=t+504|0;C=t+508|0;S=t+512|0;y=t+520|0;v=t+524|0;x=t+528|0;M=+p[i+92>>2];T=+p[i+116>>2]-_*+p[i+120>>2]-(o*+p[s>>2]+l*+p[d>>2]+b*+p[u>>2]+(+p[i>>2]*+p[m>>2]+ +p[i+4>>2]*+p[h>>2]+ +p[i+8>>2]*+p[f>>2]))*M-M*(+p[i+32>>2]*+p[y>>2]+ +p[i+36>>2]*+p[v>>2]+ +p[i+40>>2]*+p[x>>2]-(o*+p[g>>2]+l*+p[C>>2]+b*+p[S>>2]));M=_+T;D=+p[i+124>>2];do{if(M<D){p[n>>2]=D;P=D-_}else{w=+p[i+128>>2];if(M>w){p[n>>2]=w;P=w-_;break}else{p[n>>2]=M;P=T;break}}}while(0);if(+p[e+336>>2]!=0.0){T=P*+p[e+556>>2]*l;l=P*+p[e+560>>2]*b;p[s>>2]=+p[s>>2]+P*+p[e+552>>2]*o;p[d>>2]=T+ +p[d>>2];p[u>>2]=l+ +p[u>>2];l=P*+p[e+540>>2]*+p[i+52>>2];T=P*+p[e+544>>2]*+p[i+56>>2];p[m>>2]=P*+p[e+536>>2]*+p[i+48>>2]+ +p[m>>2];p[h>>2]=l+ +p[h>>2];p[f>>2]=T+ +p[f>>2]}if(+p[t+336>>2]==0.0){return}T=P*+p[t+556>>2]*(-0.0-+p[a>>2]);l=P*+p[t+560>>2]*(-0.0-+p[c>>2]);p[g>>2]=+p[g>>2]+P*+p[t+552>>2]*(-0.0-+p[r>>2]);p[C>>2]=T+ +p[C>>2];p[S>>2]=l+ +p[S>>2];l=P*+p[t+540>>2]*+p[i+68>>2];T=P*+p[t+544>>2]*+p[i+72>>2];p[y>>2]=P*+p[t+536>>2]*+p[i+64>>2]+ +p[y>>2];p[v>>2]=l+ +p[v>>2];p[x>>2]=T+ +p[x>>2];return}function Dfe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,r=0,o=0.0,s=0,a=0,l=0.0,d=0,c=0,b=0.0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0;n=i+84|0;_=+p[n>>2];r=i+16|0;o=+p[r>>2];s=e+504|0;a=i+20|0;l=+p[a>>2];d=e+508|0;c=i+24|0;b=+p[c>>2];u=e+512|0;m=e+520|0;h=e+524|0;f=e+528|0;g=t+504|0;C=t+508|0;S=t+512|0;y=t+520|0;v=t+524|0;x=t+528|0;M=+p[i+92>>2];T=+p[i+116>>2]-_*+p[i+120>>2]-(o*+p[s>>2]+l*+p[d>>2]+b*+p[u>>2]+(+p[i>>2]*+p[m>>2]+ +p[i+4>>2]*+p[h>>2]+ +p[i+8>>2]*+p[f>>2]))*M-M*(+p[i+32>>2]*+p[y>>2]+ +p[i+36>>2]*+p[v>>2]+ +p[i+40>>2]*+p[x>>2]-(o*+p[g>>2]+l*+p[C>>2]+b*+p[S>>2]));M=_+T;D=+p[i+124>>2];if(M<D){P=D-_;w=D}else{P=T;w=M}p[n>>2]=w;if(+p[e+336>>2]!=0.0){w=P*+p[e+556>>2]*l;l=P*+p[e+560>>2]*b;p[s>>2]=+p[s>>2]+P*+p[e+552>>2]*o;p[d>>2]=w+ +p[d>>2];p[u>>2]=l+ +p[u>>2];l=P*+p[e+540>>2]*+p[i+52>>2];w=P*+p[e+544>>2]*+p[i+56>>2];p[m>>2]=P*+p[e+536>>2]*+p[i+48>>2]+ +p[m>>2];p[h>>2]=l+ +p[h>>2];p[f>>2]=w+ +p[f>>2]}if(+p[t+336>>2]==0.0){return}w=P*+p[t+556>>2]*(-0.0-+p[a>>2]);l=P*+p[t+560>>2]*(-0.0-+p[c>>2]);p[g>>2]=+p[g>>2]+P*+p[t+552>>2]*(-0.0-+p[r>>2]);p[C>>2]=w+ +p[C>>2];p[S>>2]=l+ +p[S>>2];l=P*+p[t+540>>2]*+p[i+68>>2];w=P*+p[t+544>>2]*+p[i+72>>2];p[y>>2]=P*+p[t+536>>2]*+p[i+64>>2]+ +p[y>>2];p[v>>2]=l+ +p[v>>2];p[x>>2]=w+ +p[x>>2];return}function Pfe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0,o=0.0,s=0,a=0.0,l=0,d=0,c=0.0,b=0,u=0,m=0.0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0.0,P=0.0,w=0.0,A=0.0;n=+p[i+132>>2];if(n==0.0){return}r[9794]=(r[9794]|0)+1;_=i+80|0;o=+p[_>>2];s=i+16|0;a=+p[s>>2];l=e+568|0;d=i+20|0;c=+p[d>>2];b=e+572|0;u=i+24|0;m=+p[u>>2];h=e+576|0;f=e+584|0;g=e+588|0;C=e+592|0;S=t+568|0;y=t+572|0;v=t+576|0;x=t+584|0;M=t+588|0;T=t+592|0;D=+p[i+92>>2];P=n-o*+p[i+120>>2]-(a*+p[l>>2]+c*+p[b>>2]+m*+p[h>>2]+(+p[i>>2]*+p[f>>2]+ +p[i+4>>2]*+p[g>>2]+ +p[i+8>>2]*+p[C>>2]))*D-D*(+p[i+32>>2]*+p[x>>2]+ +p[i+36>>2]*+p[M>>2]+ +p[i+40>>2]*+p[T>>2]-(a*+p[S>>2]+c*+p[y>>2]+m*+p[v>>2]));D=o+P;n=+p[i+124>>2];if(D<n){w=n-o;A=n}else{w=P;A=D}p[_>>2]=A;if(+p[e+336>>2]!=0.0){A=w*+p[e+556>>2]*c;c=w*+p[e+560>>2]*m;p[l>>2]=+p[l>>2]+w*+p[e+552>>2]*a;p[b>>2]=A+ +p[b>>2];p[h>>2]=c+ +p[h>>2];c=w*+p[e+540>>2]*+p[i+52>>2];A=w*+p[e+544>>2]*+p[i+56>>2];p[f>>2]=w*+p[e+536>>2]*+p[i+48>>2]+ +p[f>>2];p[g>>2]=c+ +p[g>>2];p[C>>2]=A+ +p[C>>2]}if(+p[t+336>>2]==0.0){return}A=w*+p[t+556>>2]*(-0.0-+p[d>>2]);c=w*+p[t+560>>2]*(-0.0-+p[u>>2]);p[S>>2]=+p[S>>2]+w*+p[t+552>>2]*(-0.0-+p[s>>2]);p[y>>2]=A+ +p[y>>2];p[v>>2]=c+ +p[v>>2];c=w*+p[t+540>>2]*+p[i+68>>2];A=w*+p[t+544>>2]*+p[i+72>>2];p[x>>2]=w*+p[t+536>>2]*+p[i+64>>2]+ +p[x>>2];p[M>>2]=c+ +p[M>>2];p[T>>2]=A+ +p[T>>2];return}function wfe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=26048;t=e+480|0;i=e+488|0;_=r[i>>2]|0;o=e+492|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+484>>2]=0}else{if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+484>>2]=0}r[9804]=(r[9804]|0)+1;SBe(r[e-608+604>>2]|0);return}function Afe(e){e=e|0;Ffe(e);if((e|0)==0){return}SBe(e);return}function Ffe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=19632;t=e+108|0;i=e+116|0;_=r[i>>2]|0;o=e+120|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-8+4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+112>>2]=0;t=e+88|0;i=e+96|0;o=r[i>>2]|0;_=e+100|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+92>>2]=0;t=e+68|0;i=e+76|0;_=r[i>>2]|0;o=e+80|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+72>>2]=0;t=e+48|0;i=e+56|0;o=r[i>>2]|0;_=e+60|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-136+132>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+52>>2]=0;t=e+28|0;i=e+36|0;_=r[i>>2]|0;o=e+40|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-136+132>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+32>>2]=0;t=e+8|0;i=e+16|0;o=r[i>>2]|0;_=e+20|0;if((o|0)==0){n[_]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-136+132>>2]|0)}r[i>>2]=0;n[_]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}function Rfe(e,t){e=e|0;t=t|0;var i=0.0,n=0,_=0.0,o=0.0,s=0,a=0.0,l=0.0,d=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0;if((e|0)==0){return}if((r[e+180>>2]|0)==0){return}i=+p[e+4>>2];n=t|0;_=+p[n>>2];o=+p[e+20>>2];s=t+4|0;a=+p[s>>2];l=+p[e+36>>2];d=t+8|0;c=+p[d>>2];b=+p[e+8>>2];u=+p[e+24>>2];m=+p[e+40>>2];h=+p[e+12>>2];f=+p[e+28>>2];g=+p[e+44>>2];C=(i*_+o*a+l*c)*+p[e+164>>2];S=(_*b+a*u+c*m)*+p[e+168>>2];y=(_*h+a*f+c*g)*+p[e+172>>2];p[n>>2]=i*C+b*S+h*y;p[s>>2]=o*C+u*S+f*y;p[d>>2]=l*C+m*S+g*y;p[t+12>>2]=0.0;return}function Ife(e,t,i,_,o,s,a,l,c,b,u){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=+c;b=+b;u=+u;var m=0,h=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0,xe=0,Me=0,Te=0;m=d;d=d+64|0;h=m|0;g=m+16|0;C=m+32|0;S=m+48|0;y=e+48|0;v=r[y>>2]|0;x=e+52|0;do{if((v|0)==(r[x>>2]|0)){M=(v|0)==0?1:v<<1;if((v|0)>=(M|0)){T=v;break}if((M|0)==0){D=0;P=v}else{r[9806]=(r[9806]|0)+1;w=hBe((M*136|0|4)+15|0)|0;if((w|0)==0){A=0}else{F=-(w+4|0)&15;r[w+F>>2]=w;A=w+(F+4)|0}D=A;P=r[y>>2]|0}F=e+56|0;if((P|0)>0){w=0;do{R=D+(w*136|0)|0;I=(r[F>>2]|0)+(w*136|0)|0;yBe(R|0,I|0,136)|0;w=w+1|0}while((w|0)<(P|0))}w=r[F>>2]|0;I=e+60|0;if((w|0)!=0){if((n[I]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[w-136+132>>2]|0)}r[F>>2]=0}n[I]=1;r[F>>2]=D;r[x>>2]=M;T=r[y>>2]|0}else{T=v}}while(0);r[y>>2]=T+1;T=r[e+56>>2]|0;r[T+(v*136|0)+100>>2]=i;if((r[a+232>>2]&2|0)==0){B=0}else{B=a}if((r[l+232>>2]&2|0)==0){V=0}else{V=l}l=T+(v*136|0)+16|0;a=l;i=t;r[a>>2]=r[i>>2];r[a+4>>2]=r[i+4>>2];r[a+8>>2]=r[i+8>>2];r[a+12>>2]=r[i+12>>2];i=(B|0)!=0;if(i){E=B}else{a=h;e=g;do{if((n[42984]|0)==0){if((ui(42984)|0)==0){break}vBe(a|0,0,16);ufe(39728,0.0,0,0,h);jt(198,39728,f|0)|0}}while(0);vBe(e|0,0,16);afe(39728,0.0,g);E=39728}r[T+(v*136|0)+104>>2]=E;E=(V|0)!=0;if(E){N=V}else{g=C;e=S;do{if((n[42984]|0)==0){if((ui(42984)|0)==0){break}vBe(g|0,0,16);ufe(39728,0.0,0,0,C);jt(198,39728,f|0)|0}}while(0);vBe(e|0,0,16);afe(39728,0.0,S);N=39728}r[T+(v*136|0)+108>>2]=N;p[T+(v*136|0)+88>>2]=+p[_+84>>2];r[T+(v*136|0)+112>>2]=0;p[T+(v*136|0)+84>>2]=0.0;p[T+(v*136|0)+80>>2]=0.0;_=o+4|0;k=+p[_>>2];O=+p[T+(v*136|0)+24>>2];N=o+8|0;L=+p[N>>2];U=+p[T+(v*136|0)+20>>2];G=k*O-L*U;W=+p[l>>2];l=o|0;z=+p[l>>2];H=L*W-O*z;L=U*z-k*W;p[T+(v*136|0)>>2]=G;p[T+(v*136|0)+4>>2]=H;p[T+(v*136|0)+8>>2]=L;p[T+(v*136|0)+12>>2]=0.0;if(i){j=(G*+p[B+256>>2]+H*+p[B+260>>2]+L*+p[B+264>>2])*+p[B+536>>2];X=(G*+p[B+272>>2]+H*+p[B+276>>2]+L*+p[B+280>>2])*+p[B+540>>2];Z=(G*+p[B+288>>2]+H*+p[B+292>>2]+L*+p[B+296>>2])*+p[B+544>>2]}else{j=0.0;X=0.0;Z=0.0}p[T+(v*136|0)+48>>2]=j;p[T+(v*136|0)+52>>2]=X;p[T+(v*136|0)+56>>2]=Z;p[T+(v*136|0)+60>>2]=0.0;k=-0.0-W;z=-0.0-U;Q=-0.0-O;o=s+4|0;q=+p[o>>2];S=s+8|0;Y=+p[S>>2];J=q*Q-Y*z;e=s|0;K=+p[e>>2];$=Y*k-K*Q;Q=K*z-q*k;p[T+(v*136|0)+32>>2]=J;p[T+(v*136|0)+36>>2]=$;p[T+(v*136|0)+40>>2]=Q;p[T+(v*136|0)+44>>2]=0.0;if(E){ee=(J*+p[V+256>>2]+$*+p[V+260>>2]+Q*+p[V+264>>2])*+p[V+536>>2];te=(J*+p[V+272>>2]+$*+p[V+276>>2]+Q*+p[V+280>>2])*+p[V+540>>2];ie=(J*+p[V+288>>2]+$*+p[V+292>>2]+Q*+p[V+296>>2])*+p[V+544>>2]}else{ee=0.0;te=0.0;ie=0.0}p[T+(v*136|0)+64>>2]=ee;p[T+(v*136|0)+68>>2]=te;p[T+(v*136|0)+72>>2]=ie;p[T+(v*136|0)+76>>2]=0.0;if(i){k=+p[N>>2];q=+p[_>>2];z=+p[l>>2];ne=+p[B+336>>2]+((X*k-Z*q)*+p[t>>2]+(Z*z-k*j)*+p[t+4>>2]+(q*j-X*z)*+p[t+8>>2])}else{ne=0.0}if(E){z=-0.0-ee;ee=-0.0-te;te=-0.0-ie;ie=+p[S>>2];X=+p[o>>2];j=+p[e>>2];_e=+p[V+336>>2]+((ie*ee-X*te)*+p[t>>2]+(j*te-ie*z)*+p[t+4>>2]+(X*z-j*ee)*+p[t+8>>2])}else{_e=0.0}ee=c/(ne+_e);p[T+(v*136|0)+92>>2]=ee;if(i){re=+p[B+320>>2];oe=+p[B+324>>2];se=+p[B+328>>2];ae=+p[B+304>>2]*W+ +p[B+308>>2]*U+ +p[B+312>>2]*O}else{re=0.0;oe=0.0;se=0.0;ae=W*0.0+U*0.0+O*0.0}_e=ae+(re*G+oe*H+se*L);if(E){pe=+p[V+320>>2];le=+p[V+324>>2];de=+p[V+328>>2];ce=+p[V+304>>2]*W+ +p[V+308>>2]*U+ +p[V+312>>2]*O;be=pe*J;ue=le*$;me=be+ue;he=de*Q;fe=me+he;ge=fe-ce;Ce=_e+ge;Se=b-Ce;ye=ee*Se;ve=T+(v*136|0)+116|0;p[ve>>2]=ye;xe=T+(v*136|0)+120|0;p[xe>>2]=u;Me=T+(v*136|0)+124|0;p[Me>>2]=0.0;Te=T+(v*136|0)+128|0;p[Te>>2]=1.0e10;d=m;return}else{pe=0.0;le=0.0;de=0.0;ce=W*0.0+U*0.0+O*0.0;be=pe*J;ue=le*$;me=be+ue;he=de*Q;fe=me+he;ge=fe-ce;Ce=_e+ge;Se=b-Ce;ye=ee*Se;ve=T+(v*136|0)+116|0;p[ve>>2]=ye;xe=T+(v*136|0)+120|0;p[xe>>2]=u;Me=T+(v*136|0)+124|0;p[Me>>2]=0.0;Te=T+(v*136|0)+128|0;p[Te>>2]=1.0e10;d=m;return}}function Bfe(e,t,i,_,o,s,a,l,c,b){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;b=b|0;var u=0,m=0,h=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0.0,xe=0.0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0,it=0,nt=0.0,_t=0.0,rt=0.0,ot=0.0,st=0.0,at=0.0,pt=0.0,lt=0.0,dt=0.0,ct=0.0,bt=0.0,ut=0,mt=0,ht=0,ft=0,gt=0,Ct=0,St=0,yt=0,vt=0,xt=0,Mt=0.0,Tt=0.0,Dt=0.0,Pt=0.0,wt=0.0,At=0.0,Ft=0.0,Rt=0.0,It=0,Bt=0,Vt=0,Et=0,Nt=0,kt=0,Ot=0.0,Lt=0.0,Ut=0.0,Gt=0.0,Wt=0.0,zt=0.0,Ht=0.0,Xt=0.0,Zt=0.0,Qt=0.0,qt=0.0,Yt=0.0,Jt=0.0,Kt=0.0,$t=0.0,ei=0.0,ti=0.0,ii=0.0,ni=0.0,_i=0,ri=0,oi=0,si=0,ai=0,pi=0,li=0,di=0,ci=0,bi=0,mi=0;b=d;d=d+304|0;c=b|0;u=b+8|0;m=b+24|0;h=b+40|0;g=b+56|0;C=b+72|0;S=b+88|0;y=b+112|0;v=b+248|0;sBe(17152);do{if((a|0)!=(-o|0)){x=l+44|0;M=(i|0)>0;do{if((r[x>>2]|0)==0){if(M){T=0}else{break}do{D=r[t+(T<<2)>>2]|0;if(!((r[D+232>>2]&2|0)==0|(D|0)==0)){vBe(D+504|0,0,32)}T=T+1|0}while((T|0)<(i|0))}else{if(M){P=0}else{break}do{D=r[t+(P<<2)>>2]|0;if(!((r[D+232>>2]&2|0)==0|(D|0)==0)){vBe(D+504|0,0,32);vBe(D+568|0,0,32)}P=P+1|0}while((P|0)<(i|0))}}while(0);M=(a|0)>0;if(M){D=0;do{w=r[s+(D<<2)>>2]|0;jnt[r[(r[w>>2]|0)+8>>2]&2047](w);p[w+32>>2]=0.0;D=D+1|0}while((D|0)<(a|0))}D=e+108|0;w=r[D>>2]|0;if((w|0)<(a|0)){A=e+112|0;if((r[A>>2]|0)<(a|0)){if((a|0)==0){F=0;R=w}else{r[9806]=(r[9806]|0)+1;I=hBe((a<<3|4)+15|0)|0;if((I|0)==0){B=0}else{V=-(I+4|0)&15;r[I+V>>2]=I;B=I+(V+4)|0}F=B;R=r[D>>2]|0}V=e+116|0;if((R|0)>0){I=0;do{E=F+(I<<3)|0;if((E|0)!=0){N=(r[V>>2]|0)+(I<<3)|0;k=E;E=r[N+4>>2]|0;r[k>>2]=r[N>>2];r[k+4>>2]=E}I=I+1|0}while((I|0)<(R|0))}I=r[V>>2]|0;E=e+120|0;if((I|0)!=0){if((n[E]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[I-8+4>>2]|0)}r[V>>2]=0}n[E]=1;r[V>>2]=F;r[A>>2]=a;O=V}else{O=e+116|0}E=w;do{I=(r[O>>2]|0)+(E<<3)|0;if((I|0)!=0){k=I;r[k>>2]=0;r[k+4>>2]=0}E=E+1|0}while((E|0)<(a|0))}r[D>>2]=a;if(M){E=e+116|0;w=0;V=0;while(1){A=r[E>>2]|0;k=A+(w<<3)|0;I=r[s+(w<<2)>>2]|0;if((n[I+20|0]&1)==0){r[k>>2]=0;r[A+(w<<3)+4>>2]=0;L=0}else{Znt[r[(r[I>>2]|0)+16>>2]&2047](I,k);L=r[k>>2]|0}k=L+V|0;I=w+1|0;if((I|0)<(a|0)){w=I;V=k}else{U=k;break}}}else{U=0}V=y;vBe(V|0,0,136);w=e+28|0;E=r[w>>2]|0;if((E|0)<(U|0)){D=e+32|0;if((r[D>>2]|0)<(U|0)){if((U|0)==0){G=0;W=E}else{r[9806]=(r[9806]|0)+1;k=hBe((U*136|0|4)+15|0)|0;if((k|0)==0){z=0}else{I=-(k+4|0)&15;r[k+I>>2]=k;z=k+(I+4)|0}G=z;W=r[w>>2]|0}I=e+36|0;if((W|0)>0){k=0;do{A=G+(k*136|0)|0;N=(r[I>>2]|0)+(k*136|0)|0;yBe(A|0,N|0,136)|0;k=k+1|0}while((k|0)<(W|0))}k=r[I>>2]|0;N=e+40|0;if((k|0)!=0){if((n[N]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[k-136+132>>2]|0)}r[I>>2]=0}n[N]=1;r[I>>2]=G;r[D>>2]=U;X=I}else{X=e+36|0}N=E;do{k=(r[X>>2]|0)+(N*136|0)|0;yBe(k|0,V|0,136)|0;N=N+1|0}while((N|0)<(U|0))}r[w>>2]=U;if(M){N=e+116|0;V=e+36|0;E=l+12|0;I=v|0;D=l+32|0;k=v+4|0;A=v+8|0;Z=v+12|0;Q=v+16|0;q=v+20|0;Y=v+24|0;J=v+28|0;K=l+40|0;$=l+4|0;ee=v+52|0;te=v+32|0;ie=v+36|0;ne=v+40|0;_e=l+20|0;re=v+48|0;oe=0;se=0;ae=r[N>>2]|0;while(1){pe=ae+(se<<3)|0;le=r[pe>>2]|0;if((le|0)==0){de=ae;ce=0}else{be=r[V>>2]|0;ue=s+(se<<2)|0;me=r[ue>>2]|0;he=me+24|0;fe=r[he>>2]|0;ge=me+28|0;Ce=r[ge>>2]|0;if((le|0)>0){le=0;do{Se=le+oe|0;vBe(be+(Se*136|0)|0,0,136);p[be+(Se*136|0)+124>>2]=-3.4028234663852886e+38;p[be+(Se*136|0)+128>>2]=3.4028234663852886e+38;p[be+(Se*136|0)+84>>2]=0.0;p[be+(Se*136|0)+80>>2]=0.0;r[be+(Se*136|0)+104>>2]=fe;r[be+(Se*136|0)+108>>2]=Ce;le=le+1|0}while((le|0)<(r[pe>>2]|0))}vBe(fe+504|0,0,32);vBe(Ce+504|0,0,32);p[I>>2]=1.0/+p[E>>2];p[k>>2]=+p[D>>2];r[A>>2]=be+(oe*136|0)+16;r[Z>>2]=be+(oe*136|0);r[Q>>2]=0;r[q>>2]=be+(oe*136|0)+32;r[Y>>2]=34;r[J>>2]=be+(oe*136|0)+116;le=be+(oe*136|0)+120|0;p[le>>2]=+p[K>>2];p[ee>>2]=+p[$>>2];r[te>>2]=le;le=be+(oe*136|0)+124|0;r[ie>>2]=le;Se=be+(oe*136|0)+128|0;r[ne>>2]=Se;r[re>>2]=r[_e>>2];ye=r[ue>>2]|0;Znt[r[(r[ye>>2]|0)+20>>2]&2047](ye,v);ve=+p[(r[ue>>2]|0)+16>>2];if(+p[Se>>2]>ve){p[Se>>2]=ve;xe=+p[(r[ue>>2]|0)+16>>2]}else{xe=ve}ve=-0.0-xe;if(+p[le>>2]<ve){p[le>>2]=ve}if((r[pe>>2]|0)>0){le=me;Se=fe+336|0;ye=fe+256|0;Me=fe+260|0;Te=fe+264|0;De=fe+272|0;Pe=fe+276|0;we=fe+280|0;Ae=fe+288|0;Fe=fe+292|0;Re=fe+296|0;Ie=Ce+336|0;Be=Ce+256|0;Ve=Ce+260|0;Ee=Ce+264|0;Ne=Ce+272|0;ke=Ce+276|0;Oe=Ce+280|0;Le=Ce+288|0;Ue=Ce+292|0;Ge=Ce+296|0;We=fe+304|0;ze=fe+308|0;He=fe+312|0;je=fe+320|0;Xe=fe+324|0;Ze=fe+328|0;Qe=Ce+304|0;qe=Ce+308|0;Ye=Ce+312|0;Je=Ce+320|0;Ke=Ce+324|0;$e=Ce+328|0;et=0;do{tt=et+oe|0;r[be+(tt*136|0)+112>>2]=le;it=r[he>>2]|0;ve=+p[be+(tt*136|0)>>2];nt=+p[be+(tt*136|0)+4>>2];_t=+p[be+(tt*136|0)+8>>2];rt=(ve*+p[it+272>>2]+nt*+p[it+276>>2]+_t*+p[it+280>>2])*+p[it+540>>2];ot=(ve*+p[it+288>>2]+nt*+p[it+292>>2]+_t*+p[it+296>>2])*+p[it+544>>2];p[be+(tt*136|0)+48>>2]=(+p[it+256>>2]*ve+ +p[it+260>>2]*nt+ +p[it+264>>2]*_t)*+p[it+536>>2];p[be+(tt*136|0)+52>>2]=rt;p[be+(tt*136|0)+56>>2]=ot;p[be+(tt*136|0)+60>>2]=0.0;it=r[ge>>2]|0;ot=+p[be+(tt*136|0)+32>>2];rt=+p[be+(tt*136|0)+36>>2];st=+p[be+(tt*136|0)+40>>2];at=(ot*+p[it+272>>2]+rt*+p[it+276>>2]+st*+p[it+280>>2])*+p[it+540>>2];pt=(ot*+p[it+288>>2]+rt*+p[it+292>>2]+st*+p[it+296>>2])*+p[it+544>>2];p[be+(tt*136|0)+64>>2]=(+p[it+256>>2]*ot+ +p[it+260>>2]*rt+ +p[it+264>>2]*st)*+p[it+536>>2];p[be+(tt*136|0)+68>>2]=at;p[be+(tt*136|0)+72>>2]=pt;p[be+(tt*136|0)+76>>2]=0.0;pt=+p[Se>>2];at=+p[be+(tt*136|0)+16>>2];lt=+p[be+(tt*136|0)+20>>2];dt=+p[be+(tt*136|0)+24>>2];ct=+p[Ie>>2];bt=1.0/(at*pt*at+lt*pt*lt+dt*pt*dt+(ve*(+p[ye>>2]*ve+ +p[Me>>2]*nt+ +p[Te>>2]*_t)+nt*(ve*+p[De>>2]+nt*+p[Pe>>2]+_t*+p[we>>2])+_t*(ve*+p[Ae>>2]+nt*+p[Fe>>2]+_t*+p[Re>>2]))+(dt*dt*ct+(at*at*ct+lt*lt*ct))+(ot*(+p[Be>>2]*ot+ +p[Ve>>2]*rt+ +p[Ee>>2]*st)+rt*(ot*+p[Ne>>2]+rt*+p[ke>>2]+st*+p[Oe>>2])+st*(ot*+p[Le>>2]+rt*+p[Ue>>2]+st*+p[Ge>>2])));p[be+(tt*136|0)+92>>2]=bt;it=be+(tt*136|0)+116|0;p[it>>2]=bt*+p[it>>2]+bt*(0.0-+p[ee>>2]*(at*+p[We>>2]+lt*+p[ze>>2]+dt*+p[He>>2]+(ve*+p[je>>2]+nt*+p[Xe>>2]+_t*+p[Ze>>2])+(ot*+p[Je>>2]+rt*+p[Ke>>2]+st*+p[$e>>2]-(at*+p[Qe>>2]+lt*+p[qe>>2]+dt*+p[Ye>>2]))));p[be+(tt*136|0)+84>>2]=0.0;et=et+1|0}while((et|0)<(r[pe>>2]|0))}pe=r[N>>2]|0;de=pe;ce=r[pe+(se<<3)>>2]|0}pe=se+1|0;if((pe|0)<(a|0)){oe=ce+oe|0;se=pe;ae=de}else{break}}}if((o|0)>0){ae=e+8|0;se=e+12|0;oe=e+16|0;N=e+20|0;ee=h;_e=g;re=u;ne=m;ie=e+48|0;te=l+60|0;$=C|0;K=C+4|0;J=C+8|0;Y=C+12|0;q=S|0;Q=S+4|0;Z=S+8|0;A=S+12|0;D=l+52|0;k=l+64|0;E=l+12|0;I=e+56|0;V=l+56|0;M=l+48|0;w=l+32|0;pe=0;while(1){et=r[_+(pe<<2)>>2]|0;be=r[et+1108>>2]|0;Ye=be;qe=r[et+1112>>2]|0;Qe=qe;$e=be+232|0;if((r[$e>>2]&2|0)==0){ut=0}else{ut=be}Ke=qe+232|0;if((r[Ke>>2]&2|0)==0){mt=0}else{mt=qe}if((ut|0)==0){ht=4731}else{if(+p[ut+336>>2]!=0.0){ht=4733}else{ht=4731}}do{if((ht|0)==4731){ht=0;if((mt|0)==0){break}if(+p[mt+336>>2]!=0.0){ht=4733}}}while(0);do{if((ht|0)==4733){ht=0;Je=et+1116|0;Ze=r[Je>>2]|0;if((Ze|0)<=0){break}Xe=et+1124|0;je=qe;He=be;ze=be+52|0;We=be+56|0;Ge=be+60|0;Ue=qe+52|0;Le=qe+56|0;Oe=qe+60|0;ke=0;Ne=Ze;while(1){Ze=et+4+(ke*276|0)|0;Ee=et+4+(ke*276|0)+80|0;if(+p[Ee>>2]>+p[Xe>>2]){ft=Ne}else{Ve=r[ae>>2]|0;do{if((Ve|0)==(r[se>>2]|0)){Be=(Ve|0)==0?1:Ve<<1;if((Ve|0)>=(Be|0)){gt=Ve;break}if((Be|0)==0){Ct=0;St=Ve}else{r[9806]=(r[9806]|0)+1;Re=hBe((Be*136|0|4)+15|0)|0;if((Re|0)==0){yt=0}else{Fe=-(Re+4|0)&15;r[Re+Fe>>2]=Re;yt=Re+(Fe+4)|0}Ct=yt;St=r[ae>>2]|0}if((St|0)>0){Fe=0;do{Re=Ct+(Fe*136|0)|0;Ae=(r[oe>>2]|0)+(Fe*136|0)|0;yBe(Re|0,Ae|0,136)|0;Fe=Fe+1|0}while((Fe|0)<(St|0))}Fe=r[oe>>2]|0;if((Fe|0)!=0){if((n[N]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Fe-136+132>>2]|0)}r[oe>>2]=0}n[N]=1;r[oe>>2]=Ct;r[se>>2]=Be;gt=r[ae>>2]|0}else{gt=Ve}}while(0);r[ae>>2]=gt+1;Fe=r[oe>>2]|0;Ae=(r[$e>>2]&2|0)==0?0:He;Re=(r[Ke>>2]&2|0)==0?0:je;we=(Ae|0)==0;if(we){do{if((n[42984]|0)==0){if((ui(42984)|0)==0){break}vBe(ee|0,0,16);ufe(39728,0.0,0,0,h);jt(198,39728,f|0)|0}}while(0);vBe(_e|0,0,16);afe(39728,0.0,g);vt=39728}else{vt=Ae}r[Fe+(Ve*136|0)+104>>2]=vt;Pe=(Re|0)==0;if(Pe){do{if((n[42984]|0)==0){if((ui(42984)|0)==0){break}vBe(re|0,0,16);ufe(39728,0.0,0,0,u);jt(198,39728,f|0)|0}}while(0);vBe(ne|0,0,16);afe(39728,0.0,m);xt=39728}else{xt=Re}r[Fe+(Ve*136|0)+108>>2]=xt;r[Fe+(Ve*136|0)+112>>2]=Ze;De=(r[$e>>2]&2|0)==0?0:He;Te=(r[Ke>>2]&2|0)==0?0:je;dt=+p[et+4+(ke*276|0)+48>>2]-+p[ze>>2];lt=+p[et+4+(ke*276|0)+52>>2]-+p[We>>2];at=+p[et+4+(ke*276|0)+56>>2]-+p[Ge>>2];p[$>>2]=dt;p[K>>2]=lt;p[J>>2]=at;p[Y>>2]=0.0;st=+p[et+4+(ke*276|0)+32>>2]-+p[Ue>>2];rt=+p[et+4+(ke*276|0)+36>>2]-+p[Le>>2];ot=+p[et+4+(ke*276|0)+40>>2]-+p[Oe>>2];p[q>>2]=st;p[Q>>2]=rt;p[Z>>2]=ot;p[A>>2]=0.0;Me=et+4+(ke*276|0)+64|0;ye=et+4+(ke*276|0)+72|0;_t=+p[ye>>2];Ie=et+4+(ke*276|0)+68|0;nt=+p[Ie>>2];ve=lt*_t-at*nt;Se=Me|0;bt=+p[Se>>2];ct=at*bt-_t*dt;_t=nt*dt-lt*bt;ge=(De|0)!=0;if(ge){Mt=(ve*+p[De+256>>2]+ct*+p[De+260>>2]+_t*+p[De+264>>2])*+p[De+536>>2];Tt=(ve*+p[De+272>>2]+ct*+p[De+276>>2]+_t*+p[De+280>>2])*+p[De+540>>2];Dt=(ve*+p[De+288>>2]+ct*+p[De+292>>2]+_t*+p[De+296>>2])*+p[De+544>>2]}else{Mt=0.0;Tt=0.0;Dt=0.0}he=Fe+(Ve*136|0)+48|0;p[he>>2]=Mt;le=Fe+(Ve*136|0)+52|0;p[le>>2]=Tt;Ce=Fe+(Ve*136|0)+56|0;p[Ce>>2]=Dt;p[Fe+(Ve*136|0)+60>>2]=0.0;_t=+p[ye>>2];ct=+p[Ie>>2];ve=+p[Se>>2];fe=(Te|0)!=0;if(fe){bt=-0.0-(rt*_t-ot*ct);nt=-0.0-(ot*ve-_t*st);_t=-0.0-(ct*st-rt*ve);Pt=(+p[Te+256>>2]*bt+ +p[Te+260>>2]*nt+ +p[Te+264>>2]*_t)*+p[Te+536>>2];wt=(+p[Te+272>>2]*bt+ +p[Te+276>>2]*nt+ +p[Te+280>>2]*_t)*+p[Te+540>>2];At=(+p[Te+288>>2]*bt+ +p[Te+292>>2]*nt+ +p[Te+296>>2]*_t)*+p[Te+544>>2]}else{Pt=0.0;wt=0.0;At=0.0}me=Fe+(Ve*136|0)+64|0;p[me>>2]=Pt;ue=Fe+(Ve*136|0)+68|0;p[ue>>2]=wt;tt=Fe+(Ve*136|0)+72|0;p[tt>>2]=At;p[Fe+(Ve*136|0)+76>>2]=0.0;if(ge){Ft=+p[De+336>>2]+((Tt*at-Dt*lt)*+p[Se>>2]+(Dt*dt-at*Mt)*+p[Ie>>2]+(lt*Mt-Tt*dt)*+p[ye>>2])}else{Ft=0.0}if(fe){_t=-0.0-Pt;nt=-0.0-wt;bt=-0.0-At;Rt=+p[Te+336>>2]+((ot*nt-rt*bt)*+p[Se>>2]+(st*bt-ot*_t)*+p[Ie>>2]+(rt*_t-st*nt)*+p[ye>>2])}else{Rt=0.0}it=Fe+(Ve*136|0)+92|0;p[it>>2]=1.0/(Ft+Rt);It=Fe+(Ve*136|0)+16|0;Bt=It;Vt=Me;r[Bt>>2]=r[Vt>>2];r[Bt+4>>2]=r[Vt+4>>2];r[Bt+8>>2]=r[Vt+8>>2];r[Bt+12>>2]=r[Vt+12>>2];nt=+p[ye>>2];_t=+p[Ie>>2];bt=+p[Se>>2];Vt=Fe+(Ve*136|0)|0;p[Vt>>2]=lt*nt-at*_t;Bt=Fe+(Ve*136|0)+4|0;p[Bt>>2]=at*bt-nt*dt;Me=Fe+(Ve*136|0)+8|0;p[Me>>2]=_t*dt-lt*bt;p[Fe+(Ve*136|0)+12>>2]=0.0;bt=-0.0-+p[Se>>2];_t=-0.0-+p[Ie>>2];nt=-0.0-+p[ye>>2];Et=Fe+(Ve*136|0)+32|0;p[Et>>2]=rt*nt-ot*_t;Nt=Fe+(Ve*136|0)+36|0;p[Nt>>2]=ot*bt-st*nt;kt=Fe+(Ve*136|0)+40|0;p[kt>>2]=st*_t-rt*bt;p[Fe+(Ve*136|0)+44>>2]=0.0;if(ge){bt=+p[De+324>>2];_t=+p[De+328>>2];nt=+p[De+320>>2];Ot=bt*at-_t*lt+ +p[De+304>>2];Lt=+p[De+308>>2]+(_t*dt-at*nt);Ut=lt*nt-bt*dt+ +p[De+312>>2]}else{Ot=0.0;Lt=0.0;Ut=0.0}if(fe){dt=+p[Te+324>>2];bt=+p[Te+328>>2];nt=+p[Te+320>>2];Gt=dt*ot-bt*rt+ +p[Te+304>>2];Wt=+p[Te+308>>2]+(bt*st-ot*nt);zt=rt*nt-dt*st+ +p[Te+312>>2]}else{Gt=0.0;Wt=0.0;zt=0.0}st=Ot-Gt;dt=Lt-Wt;nt=Ut-zt;rt=+p[Se>>2]*st+ +p[Ie>>2]*dt+ +p[ye>>2]*nt;ot=+p[Ee>>2]+ +p[D>>2];p[Fe+(Ve*136|0)+88>>2]=+p[et+4+(ke*276|0)+84>>2];do{if((r[et+4+(ke*276|0)+144>>2]|0)>(r[k>>2]|0)){Ht=0.0}else{bt=+p[et+4+(ke*276|0)+88>>2]*(-0.0-rt);if(bt>0.0){Ht=bt;break}Ht=0.0}}while(0);do{if((r[te>>2]&4|0)==0){p[Fe+(Ve*136|0)+84>>2]=0.0}else{bt=+p[et+4+(ke*276|0)+112>>2]*+p[V>>2];Ee=Fe+(Ve*136|0)+84|0;p[Ee>>2]=bt;do{if(ge){lt=+p[De+336>>2];if(lt==0.0){break}at=bt*lt*+p[Fe+(Ve*136|0)+20>>2]*+p[De+344>>2];_t=bt*lt*+p[Fe+(Ve*136|0)+24>>2]*+p[De+348>>2];Se=De+504|0;p[Se>>2]=+p[Se>>2]+bt*lt*+p[It>>2]*+p[De+340>>2];Se=De+508|0;p[Se>>2]=at+ +p[Se>>2];Se=De+512|0;p[Se>>2]=_t+ +p[Se>>2];_t=bt*+p[De+540>>2]*+p[le>>2];at=bt*+p[De+544>>2]*+p[Ce>>2];Se=De+520|0;p[Se>>2]=bt*+p[De+536>>2]*+p[he>>2]+ +p[Se>>2];Se=De+524|0;p[Se>>2]=_t+ +p[Se>>2];Se=De+528|0;p[Se>>2]=at+ +p[Se>>2]}}while(0);if(!fe){break}bt=+p[Te+336>>2];at=-0.0-+p[Ee>>2];if(bt==0.0){break}_t=-0.0-+p[tt>>2];lt=-0.0-+p[ue>>2];ve=-0.0-+p[me>>2];ct=bt*+p[Fe+(Ve*136|0)+20>>2]*+p[Te+344>>2]*at;pt=bt*+p[Fe+(Ve*136|0)+24>>2]*+p[Te+348>>2]*at;Be=Te+504|0;p[Be>>2]=+p[Be>>2]+bt*+p[It>>2]*+p[Te+340>>2]*at;Be=Te+508|0;p[Be>>2]=ct+ +p[Be>>2];Be=Te+512|0;p[Be>>2]=pt+ +p[Be>>2];pt=+p[Te+540>>2]*at*lt;lt=+p[Te+544>>2]*at*_t;Be=Te+520|0;p[Be>>2]=+p[Te+536>>2]*at*ve+ +p[Be>>2];Be=Te+524|0;p[Be>>2]=pt+ +p[Be>>2];Be=Te+528|0;p[Be>>2]=lt+ +p[Be>>2]}}while(0);p[Fe+(Ve*136|0)+80>>2]=0.0;if(ge){Xt=+p[De+304>>2];Zt=+p[De+308>>2];Qt=+p[De+312>>2]}else{Xt=0.0;Zt=0.0;Qt=0.0}lt=+p[It>>2];pt=+p[Fe+(Ve*136|0)+20>>2];ve=+p[Fe+(Ve*136|0)+24>>2];if(ge){qt=+p[De+320>>2];Yt=+p[De+324>>2];Jt=+p[De+328>>2]}else{qt=0.0;Yt=0.0;Jt=0.0}if(fe){Kt=+p[Te+320>>2];$t=+p[Te+324>>2];ei=+p[Te+328>>2];ti=+p[Te+304>>2]*lt+ +p[Te+308>>2]*pt+ +p[Te+312>>2]*ve}else{Kt=0.0;$t=0.0;ei=0.0;ti=lt*0.0+pt*0.0+ve*0.0}at=Ht-(Xt*lt+Zt*pt+Qt*ve+(qt*+p[Vt>>2]+Yt*+p[Bt>>2]+Jt*+p[Me>>2])+(Kt*+p[Et>>2]+$t*+p[Nt>>2]+ei*+p[kt>>2]-ti));if(ot>0.0){ii=at-ot/+p[E>>2];ni=0.0}else{ii=at;ni=+p[w>>2]*(-0.0-ot)/+p[E>>2]}at=+p[it>>2];ve=ni*at;pt=ii*at;do{if((r[x>>2]|0)==0){ht=4798}else{if(ot>+p[M>>2]){ht=4798;break}p[Fe+(Ve*136|0)+116>>2]=pt;p[Fe+(Ve*136|0)+132>>2]=ve}}while(0);if((ht|0)==4798){ht=0;p[Fe+(Ve*136|0)+116>>2]=ve+pt;p[Fe+(Ve*136|0)+132>>2]=0.0}p[Fe+(Ve*136|0)+120>>2]=0.0;p[Fe+(Ve*136|0)+124>>2]=0.0;p[Fe+(Ve*136|0)+128>>2]=1.0e10;it=Fe+(Ve*136|0)+100|0;r[it>>2]=r[ie>>2];do{if((r[te>>2]&32|0)==0){ht=4802}else{if((n[et+4+(ke*276|0)+116|0]&1)==0){ht=4802;break}Ife(e,et+4+(ke*276|0)+148|0,Ve,Ze,C,S,Ye,Qe,1.0,+p[et+4+(ke*276|0)+128>>2],+p[et+4+(ke*276|0)+136>>2]);if((r[te>>2]&16|0)==0){break}Ife(e,et+4+(ke*276|0)+164|0,Ve,Ze,C,S,Ye,Qe,1.0,+p[et+4+(ke*276|0)+132>>2],+p[et+4+(ke*276|0)+140>>2])}}while(0);do{if((ht|0)==4802){ht=0;Fe=et+4+(ke*276|0)+148|0;pt=+p[et+4+(ke*276|0)+64>>2];ve=+p[Ie>>2];ot=+p[ye>>2];at=st-pt*rt;lt=dt-rt*ve;_t=nt-rt*ot;p[et+4+(ke*276|0)+148>>2]=at;kt=et+4+(ke*276|0)+152|0;p[kt>>2]=lt;Nt=et+4+(ke*276|0)+156|0;p[Nt>>2]=_t;p[et+4+(ke*276|0)+160>>2]=0.0;Et=Fe|0;ct=at*at+lt*lt+_t*_t;if((r[te>>2]&64|0)==0&ct>1.1920928955078125e-7){bt=1.0/+j(+ct);ct=at*bt;p[Et>>2]=ct;at=bt*lt;p[kt>>2]=at;lt=bt*_t;p[Nt>>2]=lt;if((r[te>>2]&16|0)!=0){Me=et+4+(ke*276|0)+164|0;_t=at*ot-lt*ve;bt=lt*pt-ot*ct;lt=ve*ct-at*pt;p[et+4+(ke*276|0)+164>>2]=_t;p[et+4+(ke*276|0)+176>>2]=0.0;at=1.0/+j(+(_t*_t+bt*bt+lt*lt));p[Me>>2]=_t*at;p[et+4+(ke*276|0)+168>>2]=bt*at;p[et+4+(ke*276|0)+172>>2]=lt*at;Rfe(Ye,Me);Rfe(Qe,Me);Ife(e,Me,Ve,Ze,C,S,Ye,Qe,1.0,0.0,0.0)}Rfe(Ye,Fe);Rfe(Qe,Fe);Ife(e,Fe,Ve,Ze,C,S,Ye,Qe,1.0,0.0,0.0);n[et+4+(ke*276|0)+116|0]=1;break}Me=et+4+(ke*276|0)+164|0;if(+H(+ot)>.7071067690849304){at=ot*ot+ve*ve;lt=1.0/+j(+at);p[Et>>2]=0.0;bt=lt*(-0.0-ot);p[kt>>2]=bt;_t=lt*ve;p[Nt>>2]=_t;p[Me>>2]=at*lt;p[et+4+(ke*276|0)+168>>2]=_t*(-0.0-pt);p[et+4+(ke*276|0)+172>>2]=pt*bt}else{bt=pt*pt+ve*ve;_t=1.0/+j(+bt);lt=_t*(-0.0-ve);p[Et>>2]=lt;ve=_t*pt;p[kt>>2]=ve;p[Nt>>2]=0.0;p[Me>>2]=ve*(-0.0-ot);p[et+4+(ke*276|0)+168>>2]=ot*lt;p[et+4+(ke*276|0)+172>>2]=bt*_t}if((r[te>>2]&16|0)!=0){Rfe(Ye,Me);Rfe(Qe,Me);Ife(e,Me,Ve,Ze,C,S,Ye,Qe,1.0,0.0,0.0)}Rfe(Ye,Fe);Rfe(Qe,Fe);Ife(e,Fe,Ve,Ze,C,S,Ye,Qe,1.0,0.0,0.0);n[et+4+(ke*276|0)+116|0]=1}}while(0);Ze=r[te>>2]|0;Ve=r[it>>2]|0;ye=r[I>>2]|0;do{if((Ze&8|0)==0){p[ye+(Ve*136|0)+84>>2]=0.0;if((r[te>>2]&16|0)==0){break}p[(r[I>>2]|0)+(((r[it>>2]|0)+1|0)*136|0)+84>>2]=0.0}else{do{if((Ze&4|0)==0){p[ye+(Ve*136|0)+84>>2]=0.0}else{rt=+p[et+4+(ke*276|0)+120>>2]*+p[V>>2];Ie=ye+(Ve*136|0)+84|0;p[Ie>>2]=rt;do{if(!we){nt=+p[Ae+336>>2];if(nt==0.0){break}dt=rt*nt*+p[ye+(Ve*136|0)+20>>2]*+p[Ae+344>>2];st=rt*nt*+p[ye+(Ve*136|0)+24>>2]*+p[Ae+348>>2];Fe=Ae+504|0;p[Fe>>2]=+p[Fe>>2]+rt*nt*+p[ye+(Ve*136|0)+16>>2]*+p[Ae+340>>2];Fe=Ae+508|0;p[Fe>>2]=dt+ +p[Fe>>2];Fe=Ae+512|0;p[Fe>>2]=st+ +p[Fe>>2];st=rt*+p[Ae+540>>2]*+p[ye+(Ve*136|0)+52>>2];dt=rt*+p[Ae+544>>2]*+p[ye+(Ve*136|0)+56>>2];Fe=Ae+520|0;p[Fe>>2]=rt*+p[Ae+536>>2]*+p[ye+(Ve*136|0)+48>>2]+ +p[Fe>>2];Fe=Ae+524|0;p[Fe>>2]=st+ +p[Fe>>2];Fe=Ae+528|0;p[Fe>>2]=dt+ +p[Fe>>2]}}while(0);if(Pe){break}rt=+p[Re+336>>2];dt=-0.0-+p[Ie>>2];if(rt==0.0){break}st=-0.0-+p[ye+(Ve*136|0)+72>>2];nt=-0.0-+p[ye+(Ve*136|0)+68>>2];_t=-0.0-+p[ye+(Ve*136|0)+64>>2];bt=rt*+p[ye+(Ve*136|0)+20>>2]*+p[Re+344>>2]*dt;lt=rt*+p[ye+(Ve*136|0)+24>>2]*+p[Re+348>>2]*dt;Fe=Re+504|0;p[Fe>>2]=+p[Fe>>2]+rt*+p[ye+(Ve*136|0)+16>>2]*+p[Re+340>>2]*dt;Fe=Re+508|0;p[Fe>>2]=bt+ +p[Fe>>2];Fe=Re+512|0;p[Fe>>2]=lt+ +p[Fe>>2];lt=+p[Re+540>>2]*dt*nt;nt=+p[Re+544>>2]*dt*st;Fe=Re+520|0;p[Fe>>2]=+p[Re+536>>2]*dt*_t+ +p[Fe>>2];Fe=Re+524|0;p[Fe>>2]=lt+ +p[Fe>>2];Fe=Re+528|0;p[Fe>>2]=nt+ +p[Fe>>2]}}while(0);Ee=r[te>>2]|0;if((Ee&16|0)==0){break}Fe=(r[it>>2]|0)+1|0;Me=r[I>>2]|0;if((Ee&4|0)==0){p[Me+(Fe*136|0)+84>>2]=0.0;break}nt=+p[et+4+(ke*276|0)+124>>2]*+p[V>>2];Ee=Me+(Fe*136|0)+84|0;p[Ee>>2]=nt;do{if(!we){lt=+p[Ae+336>>2];if(lt==0.0){break}_t=nt*lt*+p[Me+(Fe*136|0)+20>>2];dt=nt*lt*+p[Me+(Fe*136|0)+24>>2];Nt=Ae+504|0;p[Nt>>2]=+p[Nt>>2]+nt*lt*+p[Me+(Fe*136|0)+16>>2];Nt=Ae+508|0;p[Nt>>2]=_t+ +p[Nt>>2];Nt=Ae+512|0;p[Nt>>2]=dt+ +p[Nt>>2];dt=nt*+p[Ae+540>>2]*+p[Me+(Fe*136|0)+52>>2];_t=nt*+p[Ae+544>>2]*+p[Me+(Fe*136|0)+56>>2];Nt=Ae+520|0;p[Nt>>2]=nt*+p[Ae+536>>2]*+p[Me+(Fe*136|0)+48>>2]+ +p[Nt>>2];Nt=Ae+524|0;p[Nt>>2]=dt+ +p[Nt>>2];Nt=Ae+528|0;p[Nt>>2]=_t+ +p[Nt>>2]}}while(0);if(Pe){break}nt=+p[Re+336>>2];_t=-0.0-+p[Ee>>2];if(nt==0.0){break}dt=-0.0-+p[Me+(Fe*136|0)+72>>2];lt=-0.0-+p[Me+(Fe*136|0)+68>>2];st=-0.0-+p[Me+(Fe*136|0)+64>>2];bt=nt*+p[Me+(Fe*136|0)+20>>2]*_t;rt=nt*+p[Me+(Fe*136|0)+24>>2]*_t;Nt=Re+504|0;p[Nt>>2]=+p[Nt>>2]+nt*+p[Me+(Fe*136|0)+16>>2]*_t;Nt=Re+508|0;p[Nt>>2]=bt+ +p[Nt>>2];Nt=Re+512|0;p[Nt>>2]=rt+ +p[Nt>>2];rt=+p[Re+540>>2]*_t*lt;lt=+p[Re+544>>2]*_t*dt;Nt=Re+520|0;p[Nt>>2]=+p[Re+536>>2]*_t*st+ +p[Nt>>2];Nt=Re+524|0;p[Nt>>2]=rt+ +p[Nt>>2];Nt=Re+528|0;p[Nt>>2]=lt+ +p[Nt>>2]}}while(0);ft=r[Je>>2]|0}Re=ke+1|0;if((Re|0)<(ft|0)){ke=Re;Ne=ft}else{break}}}}while(0);et=pe+1|0;if((et|0)<(o|0)){pe=et}else{_i=ae;ri=ie;break}}}else{_i=e+8|0;ri=e+48|0}ie=r[_i>>2]|0;ae=r[ri>>2]|0;pe=e+68|0;V=r[pe>>2]|0;if((V|0)<(ie|0)){I=e+72|0;if((r[I>>2]|0)<(ie|0)){if((ie|0)==0){oi=0;si=V}else{r[9806]=(r[9806]|0)+1;te=hBe((ie<<2)+19|0)|0;if((te|0)==0){ai=0}else{M=-(te+4|0)&15;r[te+M>>2]=te;ai=te+(M+4)|0}oi=ai;si=r[pe>>2]|0}M=e+76|0;if((si|0)>0){te=0;do{x=oi+(te<<2)|0;if((x|0)!=0){r[x>>2]=r[(r[M>>2]|0)+(te<<2)>>2]}te=te+1|0}while((te|0)<(si|0))}te=r[M>>2]|0;x=e+80|0;if((te|0)!=0){if((n[x]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[te-4>>2]|0)}r[M>>2]=0}n[x]=1;r[M>>2]=oi;r[I>>2]=ie;pi=M}else{pi=e+76|0}x=V;do{te=(r[pi>>2]|0)+(x<<2)|0;if((te|0)!=0){r[te>>2]=0}x=x+1|0}while((x|0)<(ie|0))}r[pe>>2]=ie;x=e+88|0;V=r[x>>2]|0;if((V|0)<(ae|0)){M=e+92|0;if((r[M>>2]|0)<(ae|0)){if((ae|0)==0){li=0;di=V}else{r[9806]=(r[9806]|0)+1;I=hBe((ae<<2)+19|0)|0;if((I|0)==0){ci=0}else{te=-(I+4|0)&15;r[I+te>>2]=I;ci=I+(te+4)|0}li=ci;di=r[x>>2]|0}te=e+96|0;if((di|0)>0){I=0;do{E=li+(I<<2)|0;if((E|0)!=0){r[E>>2]=r[(r[te>>2]|0)+(I<<2)>>2]}I=I+1|0}while((I|0)<(di|0))}I=r[te>>2]|0;pe=e+100|0;if((I|0)!=0){if((n[pe]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[I-4>>2]|0)}r[te>>2]=0}n[pe]=1;r[te>>2]=li;r[M>>2]=ae;bi=te}else{bi=e+96|0}pe=V;do{I=(r[bi>>2]|0)+(pe<<2)|0;if((I|0)!=0){r[I>>2]=0}pe=pe+1|0}while((pe|0)<(ae|0))}r[x>>2]=ae;if((ie|0)>0){pe=e+76|0;V=0;do{r[(r[pe>>2]|0)+(V<<2)>>2]=V;V=V+1|0}while((V|0)<(ie|0))}if((ae|0)<=0){break}ie=e+96|0;V=0;do{r[(r[ie>>2]|0)+(V<<2)>>2]=V;V=V+1|0}while((V|0)<(ae|0))}}while(0);e=r[9152]|0;bi=e+16|0;li=(r[bi>>2]|0)-1|0;r[bi>>2]=li;if((li|0)!=0){d=b;return+0.0}do{if((r[e+4>>2]|0)==0){mi=e}else{hi(c|0,0)|0;li=r[10742]|0;di=e+8|0;p[di>>2]=+(((r[c+4>>2]|0)-(r[li+4>>2]|0)+(((r[c>>2]|0)-(r[li>>2]|0)|0)*1e6|0)-(r[e+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[di>>2];if((r[bi>>2]|0)==0){mi=r[9152]|0;break}else{d=b;return+0.0}}}while(0);r[9152]=r[mi+20>>2];d=b;return+0.0}function Vfe(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;var d=0,c=0,b=0,u=0,m=0;if((r[a+44>>2]|0)==0){return}l=a+20|0;p=r[l>>2]|0;s=(p|0)>0;if((r[a+60>>2]&256|0)==0){if(!s){return}a=e+8|0;o=e+76|0;_=e+16|0;n=1;i=p;while(1){t=r[a>>2]|0;if((t|0)>0){d=0;do{c=r[(r[o>>2]|0)+(d<<2)>>2]|0;b=r[_>>2]|0;Pfe(r[b+(c*136|0)+104>>2]|0,r[b+(c*136|0)+108>>2]|0,b+(c*136|0)|0);d=d+1|0}while((d|0)<(t|0));u=r[l>>2]|0}else{u=i}if((n|0)>=(u|0)){break}n=n+1|0;i=u}return}else{if(!s){return}s=e+8|0;u=e+76|0;i=e+16|0;e=1;n=p;while(1){p=r[s>>2]|0;if((p|0)>0){_=0;do{o=r[(r[u>>2]|0)+(_<<2)>>2]|0;a=r[i>>2]|0;Pfe(r[a+(o*136|0)+104>>2]|0,r[a+(o*136|0)+108>>2]|0,a+(o*136|0)|0);_=_+1|0}while((_|0)<(p|0));m=r[l>>2]|0}else{m=n}if((e|0)>=(m|0)){break}e=e+1|0;n=m}return}}function Efe(e,t,i,n,_,o,s,a,l,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;var b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0.0,L=0.0,U=0,G=0;b=d;d=d+16|0;u=b|0;sBe(18008);H_t[r[(r[e>>2]|0)+24>>2]&63](e,t,i,n,_,o,s,a,l,c);c=a+20|0;if((r[c>>2]|0)>0){l=e+8|0;_=e+48|0;n=a+60|0;i=e+28|0;t=e+36|0;m=(s|0)>0;h=a+12|0;a=e+76|0;f=e+16|0;g=e+96|0;C=e+56|0;S=e+124|0;e=0;do{y=r[l>>2]|0;v=r[_>>2]|0;x=r[n>>2]|0;do{if((x&1|0)==0){M=x}else{if((e&7|0)!=0){M=x;break}if((y|0)>0){T=0;do{D=r[a>>2]|0;P=D+(T<<2)|0;w=r[P>>2]|0;T=T+1|0;A=(ne(r[S>>2]|0,1664525)|0)+1013904223|0;r[S>>2]=A;do{if(T>>>0<65537){F=A>>>16^A;if(T>>>0>=257){R=F;break}I=F>>>8^F;if(T>>>0>=17){R=I;break}F=I>>>4^I;if(T>>>0>=5){R=F;break}I=F>>>2^F;if(T>>>0>=3){R=I;break}R=I>>>1^I}else{R=A}}while(0);A=(R>>>0)%(T>>>0)|0;r[P>>2]=r[D+(A<<2)>>2];r[(r[a>>2]|0)+(A<<2)>>2]=w}while((T|0)<(y|0))}if((v|0)>0){T=0;do{A=r[g>>2]|0;I=A+(T<<2)|0;F=r[I>>2]|0;T=T+1|0;B=(ne(r[S>>2]|0,1664525)|0)+1013904223|0;r[S>>2]=B;do{if(T>>>0<65537){V=B>>>16^B;if(T>>>0>=257){E=V;break}N=V>>>8^V;if(T>>>0>=17){E=N;break}V=N>>>4^N;if(T>>>0>=5){E=V;break}N=V>>>2^V;if(T>>>0>=3){E=N;break}E=N>>>1^N}else{E=B}}while(0);B=(E>>>0)%(T>>>0)|0;r[I>>2]=r[A+(B<<2)>>2];r[(r[g>>2]|0)+(B<<2)>>2]=F}while((T|0)<(v|0))}M=r[n>>2]|0}}while(0);v=(r[i>>2]|0)>0;do{if((M&256|0)==0){if(v){y=0;do{x=r[t>>2]|0;Tfe(r[x+(y*136|0)+104>>2]|0,r[x+(y*136|0)+108>>2]|0,x+(y*136|0)|0);y=y+1|0}while((y|0)<(r[i>>2]|0))}if(m){y=0;do{x=r[o+(y<<2)>>2]|0;nrt[r[(r[x>>2]|0)+24>>2]&127](x,r[x+24>>2]|0,r[x+28>>2]|0,+p[h>>2]);y=y+1|0}while((y|0)<(s|0))}y=r[l>>2]|0;if((y|0)>0){x=0;do{T=r[(r[a>>2]|0)+(x<<2)>>2]|0;B=r[f>>2]|0;Dfe(r[B+(T*136|0)+104>>2]|0,r[B+(T*136|0)+108>>2]|0,B+(T*136|0)|0);x=x+1|0}while((x|0)<(y|0))}y=r[_>>2]|0;if((y|0)>0){k=0}else{break}do{x=r[(r[g>>2]|0)+(k<<2)>>2]|0;T=r[C>>2]|0;O=+p[(r[f>>2]|0)+((r[T+(x*136|0)+100>>2]|0)*136|0)+84>>2];if(O>0.0){L=O*+p[T+(x*136|0)+88>>2];p[T+(x*136|0)+124>>2]=-0.0-L;p[T+(x*136|0)+128>>2]=L;Tfe(r[T+(x*136|0)+104>>2]|0,r[T+(x*136|0)+108>>2]|0,T+(x*136|0)|0)}k=k+1|0}while((k|0)<(y|0))}else{if(v){y=0;do{x=r[t>>2]|0;Tfe(r[x+(y*136|0)+104>>2]|0,r[x+(y*136|0)+108>>2]|0,x+(y*136|0)|0);y=y+1|0}while((y|0)<(r[i>>2]|0))}if(m){y=0;do{x=r[o+(y<<2)>>2]|0;nrt[r[(r[x>>2]|0)+24>>2]&127](x,r[x+24>>2]|0,r[x+28>>2]|0,+p[h>>2]);y=y+1|0}while((y|0)<(s|0))}y=r[l>>2]|0;if((y|0)>0){x=0;do{T=r[(r[a>>2]|0)+(x<<2)>>2]|0;B=r[f>>2]|0;Dfe(r[B+(T*136|0)+104>>2]|0,r[B+(T*136|0)+108>>2]|0,B+(T*136|0)|0);x=x+1|0}while((x|0)<(y|0))}y=r[_>>2]|0;if((y|0)>0){U=0}else{break}do{x=r[(r[g>>2]|0)+(U<<2)>>2]|0;T=r[C>>2]|0;L=+p[(r[f>>2]|0)+((r[T+(x*136|0)+100>>2]|0)*136|0)+84>>2];if(L>0.0){O=L*+p[T+(x*136|0)+88>>2];p[T+(x*136|0)+124>>2]=-0.0-O;p[T+(x*136|0)+128>>2]=O;Tfe(r[T+(x*136|0)+104>>2]|0,r[T+(x*136|0)+108>>2]|0,T+(x*136|0)|0)}U=U+1|0}while((U|0)<(y|0))}}while(0);e=e+1|0}while((e|0)<(r[c>>2]|0))}c=r[9152]|0;e=c+16|0;U=(r[e>>2]|0)-1|0;r[e>>2]=U;if((U|0)!=0){d=b;return+0.0}do{if((r[c+4>>2]|0)==0){G=c}else{hi(u|0,0)|0;U=r[10742]|0;f=c+8|0;p[f>>2]=+(((r[u+4>>2]|0)-(r[U+4>>2]|0)+(((r[u>>2]|0)-(r[U>>2]|0)|0)*1e6|0)-(r[c+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[f>>2];if((r[e>>2]|0)==0){G=r[9152]|0;break}else{d=b;return+0.0}}}while(0);r[9152]=r[G+20>>2];d=b;return+0.0}function Nfe(e,t,i){e=e|0;t=t|0;i=i|0;return}function kfe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function Ofe(e){e=e|0;r[e+124>>2]=0;return}function Lfe(e,t,i,_,o,s,a,l,c,b){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;b=b|0;var u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0.0,T=0,D=0,P=0,w=0,A=0.0,F=0,R=0,I=0;b=d;d=d+472|0;c=b|0;a=b+64|0;s=b+200|0;o=b+336|0;_=e+8|0;u=r[_>>2]|0;if((u|0)>0){m=e+16|0;h=l+60|0;f=e+56|0;g=0;do{C=r[m>>2]|0;S=r[C+(g*136|0)+112>>2]|0;p[S+112>>2]=+p[C+(g*136|0)+84>>2];if((r[h>>2]&8|0)!=0){y=C+(g*136|0)+100|0;p[S+120>>2]=+p[(r[f>>2]|0)+((r[y>>2]|0)*136|0)+84>>2];p[S+124>>2]=+p[(r[f>>2]|0)+(((r[y>>2]|0)+1|0)*136|0)+84>>2]}g=g+1|0}while((g|0)<(u|0))}u=e+28|0;g=r[u>>2]|0;if((g|0)>0){f=e+36|0;h=0;do{m=r[f>>2]|0;y=r[m+(h*136|0)+112>>2]|0;S=m+(h*136|0)+84|0;p[y+32>>2]=+p[S>>2];if(+p[S>>2]>+p[y+16>>2]){n[y+20|0]=0}h=h+1|0}while((h|0)<(g|0))}g=(i|0)>0;do{if((r[l+44>>2]|0)==0){if(g){v=0}else{break}do{h=r[t+(v<<2)>>2]|0;do{if(!((r[h+232>>2]&2|0)==0|(h|0)==0)){if(+p[h+336>>2]==0.0){break}f=h+304|0;y=h+308|0;x=+p[y>>2]+ +p[h+508>>2];S=h+312|0;M=+p[S>>2]+ +p[h+512>>2];p[f>>2]=+p[f>>2]+ +p[h+504>>2];p[y>>2]=x;p[S>>2]=M;p[h+316>>2]=0.0;S=h+320|0;y=h+324|0;M=+p[y>>2]+ +p[h+524>>2];f=h+328|0;x=+p[f>>2]+ +p[h+528>>2];p[S>>2]=+p[S>>2]+ +p[h+520>>2];p[y>>2]=M;p[f>>2]=x;p[h+332>>2]=0.0}}while(0);v=v+1|0}while((v|0)<(i|0))}else{if(!g){break}h=l+12|0;f=c;y=c+16|0;S=c+32|0;m=c+48|0;C=0;do{T=r[t+(C<<2)>>2]|0;do{if(!((r[T+232>>2]&2|0)==0|(T|0)==0)){x=+p[h>>2];if(+p[T+336>>2]==0.0){break}D=T+304|0;P=T+308|0;M=+p[P>>2]+ +p[T+508>>2];w=T+312|0;A=+p[w>>2]+ +p[T+512>>2];p[D>>2]=+p[D>>2]+ +p[T+504>>2];p[P>>2]=M;p[w>>2]=A;p[T+316>>2]=0.0;w=T+320|0;P=T+324|0;A=+p[P>>2]+ +p[T+524>>2];D=T+328|0;M=+p[D>>2]+ +p[T+528>>2];p[w>>2]=+p[w>>2]+ +p[T+520>>2];p[P>>2]=A;p[D>>2]=M;p[T+332>>2]=0.0;D=T+4|0;jue(D,+p[T+568>>2],+p[T+572>>2],+p[T+576>>2],T+584|0,x,c);P=D;r[P>>2]=r[f>>2];r[P+4>>2]=r[f+4>>2];r[P+8>>2]=r[f+8>>2];r[P+12>>2]=r[f+12>>2];P=T+20|0;r[P>>2]=r[y>>2];r[P+4>>2]=r[y+4>>2];r[P+8>>2]=r[y+8>>2];r[P+12>>2]=r[y+12>>2];P=T+36|0;r[P>>2]=r[S>>2];r[P+4>>2]=r[S+4>>2];r[P+8>>2]=r[S+8>>2];r[P+12>>2]=r[S+12>>2];P=T+52|0;r[P>>2]=r[m>>2];r[P+4>>2]=r[m+4>>2];r[P+8>>2]=r[m+8>>2];r[P+12>>2]=r[m+12>>2]}}while(0);C=C+1|0}while((C|0)<(i|0))}}while(0);i=a;vBe(i|0,0,136);a=r[_>>2]|0;if((a|0)<0){c=e+12|0;t=e+16|0;if((r[c>>2]|0)<0){l=r[t>>2]|0;g=e+20|0;if((l|0)!=0){if((n[g]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[l-136+132>>2]|0)}r[t>>2]=0}n[g]=1;r[t>>2]=0;r[c>>2]=0;F=a}else{F=a}do{a=(r[t>>2]|0)+(F*136|0)|0;yBe(a|0,i|0,136)|0;F=F+1|0}while((F|0)<0)}r[_>>2]=0;_=s;vBe(_|0,0,136);s=r[u>>2]|0;if((s|0)<0){F=e+32|0;i=e+36|0;if((r[F>>2]|0)<0){t=r[i>>2]|0;a=e+40|0;if((t|0)!=0){if((n[a]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-136+132>>2]|0)}r[i>>2]=0}n[a]=1;r[i>>2]=0;r[F>>2]=0;R=s}else{R=s}do{s=(r[i>>2]|0)+(R*136|0)|0;yBe(s|0,_|0,136)|0;R=R+1|0}while((R|0)<0)}r[u>>2]=0;u=o;vBe(u|0,0,136);o=e+48|0;R=r[o>>2]|0;if((R|0)>=0){r[o>>2]=0;d=b;return+0.0}_=e+52|0;i=e+56|0;if((r[_>>2]|0)<0){s=r[i>>2]|0;F=e+60|0;if((s|0)!=0){if((n[F]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[s-136+132>>2]|0)}r[i>>2]=0}n[F]=1;r[i>>2]=0;r[_>>2]=0;I=R}else{I=R}do{R=(r[i>>2]|0)+(I*136|0)|0;yBe(R|0,u|0,136)|0;I=I+1|0}while((I|0)<0);r[o>>2]=0;d=b;return+0.0}function Ufe(e){e=e|0;var t=0;r[e>>2]=22176;do{if((n[e+176|0]&1)!=0){t=r[e+172>>2]|0;if((t|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}}while(0);Pye(e|0);if((e|0)==0){return}SBe(e);return}function Gfe(e){e=e|0;var t=0;r[e>>2]=22176;do{if((n[e+176|0]&1)!=0){t=r[e+172>>2]|0;if((t|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}}while(0);Pye(e|0);return}function Wfe(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0;i=d;d=d+136|0;_=i|0;o=i+64|0;s=e+8|0;a=r[s>>2]|0;if((a|0)>0){l=e+16|0;c=0;b=a;while(1){a=r[(r[l>>2]|0)+(c<<2)>>2]|0;do{if((r[a+232>>2]&2|0)==0){u=b}else{m=a;if((a|0)==0){u=b;break}h=r[a+204>>2]|0;if((h&1|0)!=0){u=b;break}f=r[a+216>>2]|0;if((f|0)==5|(f|0)==2){u=b;break}if((h&3|0)==0){n=+p[a+360>>2]*+p[a+344>>2];g=+p[a+364>>2]*+p[a+348>>2];h=a+404|0;p[h>>2]=+p[a+356>>2]*+p[a+340>>2]+ +p[h>>2];h=a+408|0;p[h>>2]=n+ +p[h>>2];h=a+412|0;p[h>>2]=g+ +p[h>>2]}Sfe(m,t);gfe(m,t);jue(a+4|0,+p[a+304>>2],+p[a+308>>2],+p[a+312>>2],a+320|0,t,a+68|0);u=r[s>>2]|0}}while(0);a=c+1|0;if((a|0)<(u|0)){c=a;b=u}else{break}}}u=e|0;p[e+28>>2]=t;r[e+32>>2]=0;r[e+48>>2]=Knt[r[(r[e>>2]|0)+16>>2]&4095](u)|0;jnt[r[(r[e>>2]|0)+40>>2]&2047](u);u=e+24|0;b=r[u>>2]|0;c=Knt[r[(r[b>>2]|0)+36>>2]&4095](b)|0;if((c|0)!=0){b=r[u>>2]|0;l=Knt[r[(r[b>>2]|0)+44>>2]&4095](b)|0;p[o>>2]=.6000000238418579;p[o+4>>2]=1.0;p[o+8>>2]=.30000001192092896;p[o+16>>2]=0.0;p[o+24>>2]=20.0;r[o+20>>2]=10;p[o+32>>2]=.20000000298023224;p[o+36>>2]=.10000000149011612;p[o+40>>2]=0.0;p[o+28>>2]=1.0;r[o+44>>2]=0;p[o+48>>2]=-.019999999552965164;p[o+52>>2]=0.0;p[o+56>>2]=.8500000238418579;r[o+60>>2]=260;r[o+64>>2]=2;r[o+68>>2]=128;p[o+12>>2]=t;b=e+172|0;a=r[b>>2]|0;srt[r[(r[a>>2]|0)+8>>2]&511](a,0,c);a=r[b>>2]|0;m=r[(r[a>>2]|0)+12>>2]|0;h=r[e+16>>2]|0;f=r[s>>2]|0;C=e+80|0;S=r[C>>2]|0;y=e+72|0;v=r[y>>2]|0;x=r[u>>2]|0;+d_t[m&63](a,h,f,l,c,0,0,o,S,v,x);x=r[b>>2]|0;mrt[r[(r[x>>2]|0)+16>>2]&1023](x,o,r[C>>2]|0,r[y>>2]|0)}y=r[s>>2]|0;if((y|0)<=0){M=e;T=r[M>>2]|0;D=T+8|0;P=r[D>>2]|0;jnt[P&2047](e);w=r[M>>2]|0;A=w+76|0;F=r[A>>2]|0;jnt[F&2047](e);R=r[M>>2]|0;I=R+116|0;B=r[I>>2]|0;jnt[B&2047](e);d=i;return 1}C=e+16|0;o=0;x=y;while(1){y=r[(r[C>>2]|0)+(o<<2)>>2]|0;do{if((r[y+232>>2]&2|0)==0){V=x}else{if((y|0)==0){V=x;break}b=r[y+216>>2]|0;if((b|0)==5|(b|0)==2){V=x;break}if((r[y+204>>2]&1|0)!=0){V=x;break}jue(y+4|0,+p[y+304>>2],+p[y+308>>2],+p[y+312>>2],y+320|0,t,_);Cfe(y,_);V=r[s>>2]|0}}while(0);y=o+1|0;if((y|0)<(V|0)){o=y;x=V}else{break}}M=e;T=r[M>>2]|0;D=T+8|0;P=r[D>>2]|0;jnt[P&2047](e);w=r[M>>2]|0;A=w+76|0;F=r[A>>2]|0;jnt[F&2047](e);R=r[M>>2]|0;I=R+116|0;B=r[I>>2]|0;jnt[B&2047](e);d=i;return 1}function zfe(e,t,i,n,_,o,s,a,l,c,b){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;b=b|0;var u=0,m=0,h=0;b=d;d=d+16|0;u=b+8|0;sBe(17448);m=e;+B_t[r[(r[m>>2]|0)+32>>2]&63](e,t,i,n,_,o,s,a,l,c);+B_t[r[(r[m>>2]|0)+36>>2]&63](e,t,i,n,_,o,s,a,l,c);+B_t[r[(r[m>>2]|0)+28>>2]&63](e,t,i,n,_,o,s,a,l,c);c=r[9152]|0;l=c+16|0;a=(r[l>>2]|0)-1|0;r[l>>2]=a;if((a|0)!=0){d=b;return+0.0}do{if((r[c+4>>2]|0)==0){h=c}else{hi(u|0,0)|0;a=r[10742]|0;s=c+8|0;p[s>>2]=+(((r[u+4>>2]|0)-(r[a+4>>2]|0)+(((r[u>>2]|0)-(r[a>>2]|0)|0)*1e6|0)-(r[c+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[s>>2];if((r[l>>2]|0)==0){h=r[9152]|0;break}else{d=b;return+0.0}}}while(0);r[9152]=r[h+20>>2];d=b;return+0.0}function Hfe(e){e=e|0;return}function jfe(e,t){e=e|0;t=t|0;return}function Xfe(e,t){e=e|0;t=t|0;return}function Zfe(e,t,i){e=e|0;t=t|0;i=i|0;return}function Qfe(e,t){e=e|0;t=t|0;return}function qfe(e){e=e|0;return 0}function Yfe(e,t){e=e|0;t=t|0;return 0}function Jfe(e,t){e=e|0;t=t|0;return 0}function Kfe(e){e=e|0;return 1}function $fe(e,t){e=e|0;t=t|0;return}function ege(e,t){e=e|0;t=t|0;return}function tge(e,t){e=e|0;t=t|0;return}function ige(e,t){e=e|0;t=t|0;return}function nge(e){e=e|0;return r[e+172>>2]|0}function _ge(e){e=e|0;var t=0,i=0,n=0,_=0,o=0;t=e+8|0;i=r[t>>2]|0;if((i|0)<=0){return}n=e+16|0;e=0;_=i;while(1){i=r[(r[n>>2]|0)+(e<<2)>>2]|0;if((r[i+232>>2]&2|0)==0|(i|0)==0){o=_}else{vBe(i+404|0,0,32);o=r[t>>2]|0}i=e+1|0;if((i|0)<(o|0)){e=i;_=o}else{break}}return}function rge(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0.0,b=0.0,u=0.0,m=0;i=e+180|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];i=e+8|0;_=r[i>>2]|0;if((_|0)<=0){return}o=e+16|0;e=t|0;s=t+4|0;a=t+8|0;t=0;l=_;while(1){_=r[(r[o>>2]|0)+(t<<2)>>2]|0;if((r[_+232>>2]&2|0)==0|(_|0)==0){d=l}else{c=+p[_+336>>2];if(c!=0.0){b=1.0/c;c=b*+p[s>>2];u=b*+p[a>>2];p[_+356>>2]=b*+p[e>>2];p[_+360>>2]=c;p[_+364>>2]=u;p[_+368>>2]=0.0}m=_+372|0;r[m>>2]=r[n>>2];r[m+4>>2]=r[n+4>>2];r[m+8>>2]=r[n+8>>2];r[m+12>>2]=r[n+12>>2];d=r[i>>2]|0}m=t+1|0;if((m|0)<(d|0)){t=m;l=d}else{break}}return}function oge(e,t){e=e|0;t=t|0;var i=0;i=e;e=t+180|0;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function sge(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0;i=t|0;n=t+188|0;t=r[n>>2]|0;if((t|0)!=0){_=e+76|0;o=r[_>>2]|0;s=Knt[r[(r[o>>2]|0)+36>>2]&4095](o)|0;o=e+24|0;srt[r[(r[s>>2]|0)+40>>2]&511](s,t,r[o>>2]|0);s=r[_>>2]|0;srt[r[(r[s>>2]|0)+12>>2]&511](s,t,r[o>>2]|0);r[n>>2]=0}n=e+8|0;o=r[n>>2]|0;t=e+16|0;e=0;while(1){if((e|0)>=(o|0)){a=5136;break}p=r[t>>2]|0;l=p+(e<<2)|0;if((r[l>>2]|0)==(i|0)){break}else{e=e+1|0}}if((a|0)==5136){return}a=o-1|0;r[l>>2]=r[p+(a<<2)>>2];r[(r[t>>2]|0)+(a<<2)>>2]=i;r[n>>2]=(r[n>>2]|0)-1;return}function age(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0;if(!((r[t+232>>2]&2|0)==0|(t|0)==0)){Znt[r[(r[e>>2]|0)+88>>2]&2047](e,t);return}i=t+188|0;n=r[i>>2]|0;if((n|0)!=0){_=e+76|0;o=r[_>>2]|0;s=Knt[r[(r[o>>2]|0)+36>>2]&4095](o)|0;o=e+24|0;srt[r[(r[s>>2]|0)+40>>2]&511](s,n,r[o>>2]|0);s=r[_>>2]|0;srt[r[(r[s>>2]|0)+12>>2]&511](s,n,r[o>>2]|0);r[i>>2]=0}i=e+8|0;o=r[i>>2]|0;n=e+16|0;e=0;while(1){if((e|0)>=(o|0)){a=5148;break}p=r[n>>2]|0;l=p+(e<<2)|0;if((r[l>>2]|0)==(t|0)){break}else{e=e+1|0}}if((a|0)==5148){return}a=o-1|0;r[l>>2]=r[p+(a<<2)>>2];r[(r[n>>2]|0)+(a<<2)>>2]=t;r[i>>2]=(r[i>>2]|0)-1;return}function pge(e,t){e=e|0;t=t|0;var i=0,n=0.0,_=0.0,o=0.0,s=0,a=0;i=e+180|0;n=+p[t+336>>2];if(n!=0.0){_=1.0/n;n=_*+p[e+184>>2];o=_*+p[e+188>>2];p[t+356>>2]=_*+p[i>>2];p[t+360>>2]=n;p[t+364>>2]=o;p[t+368>>2]=0.0}s=t+372|0;a=i;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];if((r[t+192>>2]|0)==0){return}mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t|0,1,-1);return}function lge(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0.0,s=0.0,a=0.0,l=0,d=0;_=e+180|0;o=+p[t+336>>2];if(o!=0.0){s=1.0/o;o=s*+p[e+184>>2];a=s*+p[e+188>>2];p[t+356>>2]=s*+p[_>>2];p[t+360>>2]=o;p[t+364>>2]=a;p[t+368>>2]=0.0}l=t+372|0;d=_;r[l>>2]=r[d>>2];r[l+4>>2]=r[d+4>>2];r[l+8>>2]=r[d+8>>2];r[l+12>>2]=r[d+12>>2];if((r[t+192>>2]|0)==0){return}mrt[r[(r[e>>2]|0)+32>>2]&1023](e|0,t|0,i,n);return}function dge(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0;t=d;d=d+32|0;i=t|0;n=t+16|0;_=e+8|0;o=r[_>>2]|0;if((o|0)<=0){d=t;return}s=e+16|0;a=e+76|0;p=e+24|0;e=0;l=o;while(1){o=r[(r[s>>2]|0)+(e<<2)>>2]|0;do{if((r[o+232>>2]&2|0)==0|(o|0)==0){c=l}else{b=r[o+216>>2]|0;if((b|0)==5|(b|0)==2){c=l;break}if((r[o+204>>2]&1|0)!=0){c=l;break}b=r[o+192>>2]|0;mrt[r[(r[b>>2]|0)+8>>2]&1023](b,o+4|0,i,n);b=r[a>>2]|0;Unt[r[(r[b>>2]|0)+16>>2]&255](b,r[o+188>>2]|0,i,n,r[p>>2]|0);c=r[_>>2]|0}}while(0);o=e+1|0;if((o|0)<(c|0)){e=o;l=c}else{break}}d=t;return}function cge(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0;t=e+8|0;i=r[t>>2]|0;if((i|0)<=0){return}n=e+16|0;e=0;_=i;while(1){i=r[(r[n>>2]|0)+(e<<2)>>2]|0;do{if((r[i+232>>2]&2|0)==0|(i|0)==0){o=_}else{s=r[i+472>>2]|0;if((s|0)==0){o=_;break}if((r[i+216>>2]|0)==2){o=_;break}Znt[r[(r[s>>2]|0)+12>>2]&2047](s,i+4|0);o=r[t>>2]|0}}while(0);i=e+1|0;if((i|0)<(o|0)){e=i;_=o}else{break}}return}function bge(e,t){e=e|0;t=t|0;var i=0,_=0;i=e+176|0;_=e+172|0;do{if((n[i]&1)!=0){e=r[_>>2]|0;if((e|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0)}}while(0);n[i]=0;r[_>>2]=t;return}function uge(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0,P=0,w=0,A=0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0,he=0,fe=0,ge=0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0;_=d;d=d+448|0;o=_|0;s=_+48|0;a=_+96|0;l=_+144|0;c=_+192|0;b=_+256|0;u=_+320|0;m=_+384|0;h=e+172|0;do{if((n[h]&1)==0){if((n[e+40|0]&1)==0){f=3;break}g=e+816|0;C=s;gue(s,i|0,e+108|0);S=+p[e+156>>2];y=+p[e+160>>2];v=+p[e+164>>2];x=+p[i>>2]*S+ +p[i+4>>2]*y+ +p[i+8>>2]*v+ +p[i+48>>2];M=+p[i+16>>2]*S+ +p[i+20>>2]*y+ +p[i+24>>2]*v+ +p[i+52>>2];T=+p[i+32>>2]*S+ +p[i+36>>2]*y+ +p[i+40>>2]*v+ +p[i+56>>2];D=u+48|0;P=u|0;do{P=P+16|0}while((P|0)!=(D|0));D=u;r[D>>2]=r[C>>2];r[D+4>>2]=r[C+4>>2];r[D+8>>2]=r[C+8>>2];r[D+12>>2]=r[C+12>>2];P=u+16|0;w=s+16|0;r[P>>2]=r[w>>2];r[P+4>>2]=r[w+4>>2];r[P+8>>2]=r[w+8>>2];r[P+12>>2]=r[w+12>>2];w=u+32|0;A=s+32|0;r[w>>2]=r[A>>2];r[w+4>>2]=r[A+4>>2];r[w+8>>2]=r[A+8>>2];r[w+12>>2]=r[A+12>>2];p[u+48>>2]=x;p[u+52>>2]=M;p[u+56>>2]=T;p[u+60>>2]=0.0;A=g;r[A>>2]=r[D>>2];r[A+4>>2]=r[D+4>>2];r[A+8>>2]=r[D+8>>2];r[A+12>>2]=r[D+12>>2];D=e+832|0;r[D>>2]=r[P>>2];r[D+4>>2]=r[P+4>>2];r[D+8>>2]=r[P+8>>2];r[D+12>>2]=r[P+12>>2];P=e+848|0;r[P>>2]=r[w>>2];r[P+4>>2]=r[w+4>>2];r[P+8>>2]=r[w+8>>2];r[P+12>>2]=r[w+12>>2];w=e+864|0;P=u+48|0;r[w>>2]=r[P>>2];r[w+4>>2]=r[P+4>>2];r[w+8>>2]=r[P+8>>2];r[w+12>>2]=r[P+12>>2];P=e+880|0;w=o;gue(o,t|0,e+44|0);v=+p[e+92>>2];y=+p[e+96>>2];S=+p[e+100>>2];F=+p[t>>2]*v+ +p[t+4>>2]*y+ +p[t+8>>2]*S+ +p[t+48>>2];R=+p[t+16>>2]*v+ +p[t+20>>2]*y+ +p[t+24>>2]*S+ +p[t+52>>2];I=+p[t+32>>2]*v+ +p[t+36>>2]*y+ +p[t+40>>2]*S+ +p[t+56>>2];D=m+48|0;A=m|0;do{A=A+16|0}while((A|0)!=(D|0));D=m;r[D>>2]=r[w>>2];r[D+4>>2]=r[w+4>>2];r[D+8>>2]=r[w+8>>2];r[D+12>>2]=r[w+12>>2];A=m+16|0;g=o+16|0;r[A>>2]=r[g>>2];r[A+4>>2]=r[g+4>>2];r[A+8>>2]=r[g+8>>2];r[A+12>>2]=r[g+12>>2];g=m+32|0;C=o+32|0;r[g>>2]=r[C>>2];r[g+4>>2]=r[C+4>>2];r[g+8>>2]=r[C+8>>2];r[g+12>>2]=r[C+12>>2];p[m+48>>2]=F;p[m+52>>2]=R;p[m+56>>2]=I;p[m+60>>2]=0.0;C=P;r[C>>2]=r[D>>2];r[C+4>>2]=r[D+4>>2];r[C+8>>2]=r[D+8>>2];r[C+12>>2]=r[D+12>>2];D=e+896|0;r[D>>2]=r[A>>2];r[D+4>>2]=r[A+4>>2];r[D+8>>2]=r[A+8>>2];r[D+12>>2]=r[A+12>>2];A=e+912|0;r[A>>2]=r[g>>2];r[A+4>>2]=r[g+4>>2];r[A+8>>2]=r[g+8>>2];r[A+12>>2]=r[g+12>>2];g=e+928|0;A=m+48|0;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2]}else{f=3}}while(0);if((f|0)==3){f=e+816|0;m=l;gue(l,t|0,e+44|0);T=+p[e+92>>2];M=+p[e+96>>2];x=+p[e+100>>2];S=+p[t>>2]*T+ +p[t+4>>2]*M+ +p[t+8>>2]*x+ +p[t+48>>2];y=+p[t+16>>2]*T+ +p[t+20>>2]*M+ +p[t+24>>2]*x+ +p[t+52>>2];v=+p[t+32>>2]*T+ +p[t+36>>2]*M+ +p[t+40>>2]*x+ +p[t+56>>2];t=c+48|0;o=c|0;do{o=o+16|0}while((o|0)!=(t|0));t=c;r[t>>2]=r[m>>2];r[t+4>>2]=r[m+4>>2];r[t+8>>2]=r[m+8>>2];r[t+12>>2]=r[m+12>>2];m=c+16|0;o=l+16|0;r[m>>2]=r[o>>2];r[m+4>>2]=r[o+4>>2];r[m+8>>2]=r[o+8>>2];r[m+12>>2]=r[o+12>>2];o=c+32|0;u=l+32|0;r[o>>2]=r[u>>2];r[o+4>>2]=r[u+4>>2];r[o+8>>2]=r[u+8>>2];r[o+12>>2]=r[u+12>>2];p[c+48>>2]=S;p[c+52>>2]=y;p[c+56>>2]=v;p[c+60>>2]=0.0;u=f;r[u>>2]=r[t>>2];r[u+4>>2]=r[t+4>>2];r[u+8>>2]=r[t+8>>2];r[u+12>>2]=r[t+12>>2];t=e+832|0;r[t>>2]=r[m>>2];r[t+4>>2]=r[m+4>>2];r[t+8>>2]=r[m+8>>2];r[t+12>>2]=r[m+12>>2];m=e+848|0;r[m>>2]=r[o>>2];r[m+4>>2]=r[o+4>>2];r[m+8>>2]=r[o+8>>2];r[m+12>>2]=r[o+12>>2];o=e+864|0;m=c+48|0;r[o>>2]=r[m>>2];r[o+4>>2]=r[m+4>>2];r[o+8>>2]=r[m+8>>2];r[o+12>>2]=r[m+12>>2];m=e+880|0;o=a;gue(a,i|0,e+108|0);v=+p[e+156>>2];y=+p[e+160>>2];S=+p[e+164>>2];x=+p[i>>2]*v+ +p[i+4>>2]*y+ +p[i+8>>2]*S+ +p[i+48>>2];M=+p[i+16>>2]*v+ +p[i+20>>2]*y+ +p[i+24>>2]*S+ +p[i+52>>2];T=+p[i+32>>2]*v+ +p[i+36>>2]*y+ +p[i+40>>2]*S+ +p[i+56>>2];i=b+48|0;c=b|0;do{c=c+16|0}while((c|0)!=(i|0));i=b;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];o=b+16|0;c=a+16|0;r[o>>2]=r[c>>2];r[o+4>>2]=r[c+4>>2];r[o+8>>2]=r[c+8>>2];r[o+12>>2]=r[c+12>>2];c=b+32|0;t=a+32|0;r[c>>2]=r[t>>2];r[c+4>>2]=r[t+4>>2];r[c+8>>2]=r[t+8>>2];r[c+12>>2]=r[t+12>>2];p[b+48>>2]=x;p[b+52>>2]=M;p[b+56>>2]=T;p[b+60>>2]=0.0;t=m;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=e+896|0;r[i>>2]=r[o>>2];r[i+4>>2]=r[o+4>>2];r[i+8>>2]=r[o+8>>2];r[i+12>>2]=r[o+12>>2];o=e+912|0;r[o>>2]=r[c>>2];r[o+4>>2]=r[c+4>>2];r[o+8>>2]=r[c+8>>2];r[o+12>>2]=r[c+12>>2];c=e+928|0;o=b+48|0;r[c>>2]=r[o>>2];r[c+4>>2]=r[o+4>>2];r[c+8>>2]=r[o+8>>2];r[c+12>>2]=r[o+12>>2]}o=e+960|0;c=o;b=e+864|0;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];b=e+976|0;c=b;i=e+928|0;r[c>>2]=r[i>>2];r[c+4>>2]=r[i+4>>2];r[c+8>>2]=r[i+8>>2];r[c+12>>2]=r[i+12>>2];T=+p[e+816>>2];M=+p[e+832>>2];x=+p[e+848>>2];p[e+944>>2]=T;p[e+948>>2]=M;p[e+952>>2]=x;p[e+956>>2]=0.0;do{if((n[h]&1)==0){if((n[e+40|0]&1)!=0){break}S=+p[o>>2];y=S-+p[b>>2];v=+p[e+964>>2];B=v-+p[e+980>>2];V=+p[e+968>>2];E=V-+p[e+984>>2];p[e+1008>>2]=y;p[e+1012>>2]=B;p[e+1016>>2]=E;p[e+1020>>2]=0.0;N=y;k=B;O=E;L=S;U=v;G=V;W=T*N;z=M*k;H=W+z;j=x*O;X=H+j;Z=T*X;Q=M*X;q=x*X;Y=L+Z;J=U+Q;K=G+q;$=e+992|0;p[$>>2]=Y;ee=e+996|0;p[ee>>2]=J;te=e+1e3|0;p[te>>2]=K;ie=e+1004|0;p[ie>>2]=0.0;ne=e+1024|0;p[ne>>2]=X;_e=e+820|0;re=e+836|0;oe=e+852|0;se=+p[_e>>2];ae=+p[re>>2];pe=+p[oe>>2];le=se*N;de=ae*k;ce=le+de;be=pe*O;ue=ce+be;me=e+1028|0;p[me>>2]=ue;he=e+824|0;fe=e+840|0;ge=e+856|0;Ce=+p[he>>2];Se=+p[fe>>2];ye=+p[ge>>2];ve=Ce*N;xe=Se*k;Me=ve+xe;Te=ye*O;De=Me+Te;Pe=e+1032|0;p[Pe>>2]=De;d=_;return}}while(0);V=+p[o>>2];v=+p[b>>2]-V;S=+p[e+964>>2];E=+p[e+980>>2]-S;B=+p[e+968>>2];y=+p[e+984>>2]-B;p[e+1008>>2]=v;p[e+1012>>2]=E;p[e+1016>>2]=y;p[e+1020>>2]=0.0;N=v;k=E;O=y;L=V;U=S;G=B;W=T*N;z=M*k;H=W+z;j=x*O;X=H+j;Z=T*X;Q=M*X;q=x*X;Y=L+Z;J=U+Q;K=G+q;$=e+992|0;p[$>>2]=Y;ee=e+996|0;p[ee>>2]=J;te=e+1e3|0;p[te>>2]=K;ie=e+1004|0;p[ie>>2]=0.0;ne=e+1024|0;p[ne>>2]=X;_e=e+820|0;re=e+836|0;oe=e+852|0;se=+p[_e>>2];ae=+p[re>>2];pe=+p[oe>>2];le=se*N;de=ae*k;ce=le+de;be=pe*O;ue=ce+be;me=e+1028|0;p[me>>2]=ue;he=e+824|0;fe=e+840|0;ge=e+856|0;Ce=+p[he>>2];Se=+p[fe>>2];ye=+p[ge>>2];ve=Ce*N;xe=Se*k;Me=ve+xe;Te=ye*O;De=Me+Te;Pe=e+1032|0;p[Pe>>2]=De;d=_;return}function mge(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0.0,a=0.0,l=0.0,d=0;i=t|0;if((n[e+40|0]&1)!=0){r[i>>2]=0;r[t+4>>2]=0;return}r[i>>2]=4;_=t+4|0;r[_>>2]=2;uge(e,(r[e+24>>2]|0)+4|0,(r[e+28>>2]|0)+4|0);hge(e);t=e+288|0;n[t]=0;o=e+1024|0;s=+p[o>>2];p[e+1072>>2]=s;a=+p[e+176>>2];l=+p[e+180>>2];do{if(a>l){d=27}else{if(s>l){p[o>>2]=s-l;n[t]=1;d=28;break}if(s>=a){d=27;break}p[o>>2]=s-a;n[t]=1;d=28}}while(0);if((d|0)==27){p[o>>2]=0.0;if((n[e+1088|0]&1)!=0){d=28}}if((d|0)==28){r[i>>2]=(r[i>>2]|0)+1;r[_>>2]=(r[_>>2]|0)-1}do{if((n[e+289|0]&1)==0){if((n[e+1104|0]&1)!=0){break}return}}while(0);r[i>>2]=(r[i>>2]|0)+1;r[_>>2]=(r[_>>2]|0)-1;return}function hge(e){e=e|0;var t=0,i=0,_=0,r=0.0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0;t=e+1080|0;p[t>>2]=0.0;i=e+289|0;n[i]=0;_=e+184|0;r=+p[_>>2];o=e+188|0;s=+p[o>>2];if(r>s){return}a=+p[e+884>>2];l=+p[e+900>>2];d=+p[e+916>>2];c=+rhe(+$(+(+p[e+824>>2]*a+ +p[e+840>>2]*l+ +p[e+856>>2]*d),+(+p[e+820>>2]*a+ +p[e+836>>2]*l+ +p[e+852>>2]*d)),r,s);p[e+1076>>2]=c;s=+p[_>>2];if(c<s){p[t>>2]=c-s;n[i]=1;return}s=+p[o>>2];if(c<=s){return}p[t>>2]=c-s;n[i]=1;return}function fge(e,t){e=e|0;t=t|0;var i=0,n=0;i=r[e+24>>2]|0;n=r[e+28>>2]|0;gge(e,t,i+4|0,n+4|0,i+304|0,n+304|0,+p[i+336>>2],+p[n+336>>2]);return}function gge(e,t,i,_,o,s,a,l){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=+a;l=+l;var d=0,c=0,b=0.0,u=0,m=0,h=0.0,f=0,g=0,C=0.0,S=0,y=0,v=0.0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,X=0.0,Z=0.0,Q=0.0,q=0,Y=0,J=0,K=0,$=0.0,ee=0,te=0,ie=0,_e=0,re=0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0,Be=0,Ve=0.0,Ee=0.0,Ne=0,ke=0.0,Oe=0.0,Le=0.0;d=t+24|0;c=r[d>>2]|0;b=(n[e+172|0]&1)!=0?1.0:-1.0;u=e+928|0;m=e+864|0;h=+p[u>>2]-+p[m>>2];f=e+932|0;g=e+868|0;C=+p[f>>2]-+p[g>>2];S=e+936|0;y=e+872|0;v=+p[S>>2]-+p[y>>2];if(a<1.1920928955078125e-7){x=1}else{x=l<1.1920928955078125e-7}M=a+l;if(M>0.0){T=l/M}else{T=.5}M=1.0-T;l=+p[e+816>>2];a=+p[e+832>>2];D=+p[e+848>>2];P=+p[e+880>>2];w=+p[e+896>>2];A=+p[e+912>>2];F=e+41|0;do{if((n[F]&1)==0){R=l;I=a;B=D;V=+p[e+824>>2];E=+p[e+840>>2];N=+p[e+856>>2];k=+p[e+820>>2];O=+p[e+836>>2];L=+p[e+852>>2]}else{U=T*l+M*P;G=T*a+M*w;W=T*D+M*A;z=1.0/+j(+(U*U+G*G+W*W));X=U*z;U=G*z;G=W*z;if(+H(+G)>.7071067690849304){z=G*G+U*U;W=1.0/+j(+z);Z=W*(-0.0-G);Q=U*W;R=X;I=U;B=G;V=z*W;E=Q*(-0.0-X);N=X*Z;k=0.0;O=Z;L=Q;break}else{Q=X*X+U*U;Z=1.0/+j(+Q);W=Z*(-0.0-U);z=X*Z;R=X;I=U;B=G;V=z*(-0.0-G);E=G*W;N=Q*Z;k=W;O=z;L=0.0;break}}}while(0);q=t+12|0;p[r[q>>2]>>2]=k;p[(r[q>>2]|0)+4>>2]=O;p[(r[q>>2]|0)+8>>2]=L;p[(r[q>>2]|0)+(c<<2)>>2]=V;Y=c+1|0;p[(r[q>>2]|0)+(Y<<2)>>2]=E;J=c+2|0;p[(r[q>>2]|0)+(J<<2)>>2]=N;K=t+20|0;p[r[K>>2]>>2]=-0.0-k;p[(r[K>>2]|0)+4>>2]=-0.0-O;p[(r[K>>2]|0)+8>>2]=-0.0-L;p[(r[K>>2]|0)+(c<<2)>>2]=-0.0-V;p[(r[K>>2]|0)+(Y<<2)>>2]=-0.0-E;p[(r[K>>2]|0)+(J<<2)>>2]=-0.0-N;J=e+292|0;z=+p[e+272>>2];if((r[J>>2]&128|0)==0){$=z*+p[t+4>>2]}else{$=z}Y=t|0;z=$*+p[Y>>2];$=a*A-D*w;W=D*P-l*A;A=l*w-a*P;ee=t+28|0;p[r[ee>>2]>>2]=z*($*k+W*O+A*L);p[(r[ee>>2]|0)+(c<<2)>>2]=z*($*V+W*E+A*N);if((r[J>>2]&64|0)!=0){te=e+284|0;ie=t+32|0;p[r[ie>>2]>>2]=+p[te>>2];p[(r[ie>>2]|0)+(c<<2)>>2]=+p[te>>2]}A=+p[i+48>>2];W=+p[i+52>>2];$=+p[i+56>>2];z=+p[_+48>>2];P=+p[_+52>>2];a=+p[_+56>>2];_=c<<1;i=c*3|0;if((n[F]&1)==0){w=z-A;l=P-W;D=a-$;Z=l*L-D*O;Q=D*k-w*L;G=w*O-l*k;p[(r[q>>2]|0)+(_<<2)>>2]=T*Z;c=_|1;p[(r[q>>2]|0)+(c<<2)>>2]=T*Q;te=_+2|0;p[(r[q>>2]|0)+(te<<2)>>2]=T*G;p[(r[K>>2]|0)+(_<<2)>>2]=M*Z;p[(r[K>>2]|0)+(c<<2)>>2]=M*Q;p[(r[K>>2]|0)+(te<<2)>>2]=M*G;G=l*N-D*E;Q=D*V-w*N;Z=w*E-l*V;p[(r[q>>2]|0)+(i<<2)>>2]=T*G;ie=i+1|0;p[(r[q>>2]|0)+(ie<<2)>>2]=T*Q;_e=i+2|0;p[(r[q>>2]|0)+(_e<<2)>>2]=T*Z;p[(r[K>>2]|0)+(i<<2)>>2]=M*G;p[(r[K>>2]|0)+(ie<<2)>>2]=M*Q;p[(r[K>>2]|0)+(_e<<2)>>2]=M*Z;re=t+8|0;p[(r[re>>2]|0)+(_<<2)>>2]=k;p[(r[re>>2]|0)+(c<<2)>>2]=O;p[(r[re>>2]|0)+(te<<2)>>2]=L;p[(r[re>>2]|0)+(i<<2)>>2]=V;p[(r[re>>2]|0)+(ie<<2)>>2]=E;p[(r[re>>2]|0)+(_e<<2)>>2]=N;oe=w;se=l;ae=D;pe=0.0;le=0.0;de=0.0;ce=0.0;be=0.0;ue=0.0;me=k;he=O;fe=L;ge=V;Ce=E;Se=N}else{N=+p[u>>2]-z;z=+p[f>>2]-P;P=+p[S>>2]-a;a=R*N+I*z+B*P;E=R*a;V=I*a;L=B*a;a=N-E;N=z-V;z=P-L;P=+p[m>>2]-A;A=+p[g>>2]-W;W=+p[y>>2]-$;$=R*P+I*A+B*W;O=R*$;k=I*$;D=B*$;$=P-O;P=A-k;A=W-D;W=+p[e+1072>>2]-+p[e+1024>>2];l=O+R*W-E;E=k+I*W-V;V=D+B*W-L;L=$+T*l;W=P+T*E;D=A+T*V;k=a-M*l;l=N-M*E;E=z-M*V;V=T*a+M*$;$=T*N+M*P;P=T*z+M*A;A=V*V+$*$+P*P;if(A>1.1920928955078125e-7){z=1.0/+j(+A);ye=z*P;ve=z*$;xe=V*z}else{ye=+p[e+852>>2];ve=+p[e+836>>2];xe=+p[e+820>>2]}z=I*ye-B*ve;V=B*xe-R*ye;$=R*ve-I*xe;p[(r[q>>2]|0)+(_<<2)>>2]=W*ye-D*ve;y=_|1;p[(r[q>>2]|0)+(y<<2)>>2]=D*xe-L*ye;g=_+2|0;p[(r[q>>2]|0)+(g<<2)>>2]=L*ve-W*xe;p[(r[K>>2]|0)+(_<<2)>>2]=-0.0-(l*ye-E*ve);p[(r[K>>2]|0)+(y<<2)>>2]=-0.0-(E*xe-k*ye);p[(r[K>>2]|0)+(g<<2)>>2]=-0.0-(k*ve-l*xe);P=W*$-D*V;A=D*z-L*$;N=L*V-W*z;a=l*$-E*V;O=E*z-k*$;w=k*V-l*z;do{if(x){if((n[e+289|0]&1)==0){Me=P;Te=A;De=N;Pe=a;we=O;Ae=w;break}Me=T*P;Te=T*A;De=T*N;Pe=M*a;we=M*O;Ae=M*w}else{Me=P;Te=A;De=N;Pe=a;we=O;Ae=w}}while(0);p[(r[q>>2]|0)+(i<<2)>>2]=Me;m=i+1|0;p[(r[q>>2]|0)+(m<<2)>>2]=Te;S=i+2|0;p[(r[q>>2]|0)+(S<<2)>>2]=De;p[(r[K>>2]|0)+(i<<2)>>2]=-0.0-Pe;p[(r[K>>2]|0)+(m<<2)>>2]=-0.0-we;p[(r[K>>2]|0)+(S<<2)>>2]=-0.0-Ae;f=t+8|0;p[(r[f>>2]|0)+(_<<2)>>2]=xe;p[(r[f>>2]|0)+(y<<2)>>2]=ve;p[(r[f>>2]|0)+(g<<2)>>2]=ye;p[(r[f>>2]|0)+(i<<2)>>2]=z;p[(r[f>>2]|0)+(m<<2)>>2]=V;p[(r[f>>2]|0)+(S<<2)>>2]=$;oe=0.0;se=0.0;ae=0.0;pe=k;le=l;de=E;ce=L;be=W;ue=D;me=xe;he=ve;fe=ye;ge=z;Ce=V;Se=$}$=+p[e+256>>2];if((r[J>>2]&32|0)==0){Fe=$*+p[t+4>>2]}else{Fe=$}$=Fe*+p[Y>>2];p[(r[ee>>2]|0)+(_<<2)>>2]=$*(h*me+C*he+v*fe);p[(r[ee>>2]|0)+(i<<2)>>2]=$*(h*ge+C*Ce+v*Se);if((r[J>>2]&16|0)!=0){S=e+268|0;f=t+32|0;p[(r[f>>2]|0)+(_<<2)>>2]=+p[S>>2];p[(r[f>>2]|0)+(i<<2)>>2]=+p[S>>2]}if((n[e+288|0]&1)==0){Re=0.0;Ie=0}else{Se=b*+p[e+1024>>2];Re=Se;Ie=Se>0.0?2:1}S=(Ie|0)!=0;i=(n[e+1088|0]&1)==0;do{if(i&(S^1)){Be=4}else{f=r[d>>2]<<2;_=t+8|0;p[(r[_>>2]|0)+(f<<2)>>2]=R;m=f|1;p[(r[_>>2]|0)+(m<<2)>>2]=I;g=f|2;p[(r[_>>2]|0)+(g<<2)>>2]=B;do{if((n[F]&1)==0){Se=B*se-I*ae;v=R*ae-B*oe;Ce=I*oe-R*se;p[(r[q>>2]|0)+(f<<2)>>2]=T*Se;p[(r[q>>2]|0)+(m<<2)>>2]=T*v;p[(r[q>>2]|0)+(g<<2)>>2]=T*Ce;p[(r[K>>2]|0)+(f<<2)>>2]=M*Se;p[(r[K>>2]|0)+(m<<2)>>2]=M*v;p[(r[K>>2]|0)+(g<<2)>>2]=M*Ce}else{if(x){break}p[(r[q>>2]|0)+(f<<2)>>2]=B*be-I*ue;p[(r[q>>2]|0)+(m<<2)>>2]=R*ue-B*ce;p[(r[q>>2]|0)+(g<<2)>>2]=I*ce-R*be;p[(r[K>>2]|0)+(f<<2)>>2]=-0.0-(B*le-I*de);p[(r[K>>2]|0)+(m<<2)>>2]=-0.0-(R*de-B*pe);p[(r[K>>2]|0)+(g<<2)>>2]=-0.0-(I*pe-R*le)}}while(0);g=e+176|0;m=e+180|0;_=+p[g>>2]==+p[m>>2];p[(r[ee>>2]|0)+(f<<2)>>2]=0.0;y=t+36|0;p[(r[y>>2]|0)+(f<<2)>>2]=0.0;u=t+40|0;p[(r[u>>2]|0)+(f<<2)>>2]=0.0;_e=r[J>>2]|0;re=e+224|0;Ce=+p[((_e&512|0)==0?t+4|0:re)>>2];if(!(S&_|i)){if((_e&1|0)!=0){p[(r[t+32>>2]|0)+(f<<2)>>2]=+p[e+204>>2]}v=+p[e+1092>>2];Se=+p[e+1072>>2];C=+p[g>>2];ge=+p[m>>2];h=Ce*+p[Y>>2];e:do{if(C>ge){Ve=1.0}else{if(C==ge){Ve=0.0;break}$=v/h;if($<0.0){do{if(Se>=C){if(C-$<=Se){break}Ve=(C-Se)/$;break e}}while(0);Ve=Se<C?0.0:1.0;break}if($<=0.0){Ve=0.0;break}do{if(Se<=ge){if(ge-$>=Se){break}Ve=(ge-Se)/$;break e}}while(0);Ve=Se>ge?0.0:1.0}}while(0);m=(r[ee>>2]|0)+(f<<2)|0;p[m>>2]=+p[m>>2]-b*Ve*v;m=e+1096|0;g=(r[y>>2]|0)+(f<<2)|0;p[g>>2]=+p[Y>>2]*(-0.0-+p[m>>2])+ +p[g>>2];g=(r[u>>2]|0)+(f<<2)|0;p[g>>2]=+p[m>>2]*+p[Y>>2]+ +p[g>>2]}if(!S){Be=5;break}g=(r[ee>>2]|0)+(f<<2)|0;p[g>>2]=+p[g>>2]+Re*Ce*+p[Y>>2];if((r[J>>2]&256|0)!=0){p[(r[t+32>>2]|0)+(f<<2)>>2]=+p[e+236>>2]}do{if(_){p[(r[y>>2]|0)+(f<<2)>>2]=-3.4028234663852886e+38;p[(r[u>>2]|0)+(f<<2)>>2]=3.4028234663852886e+38}else{g=(r[y>>2]|0)+(f<<2)|0;if((Ie|0)==1){p[g>>2]=-3.4028234663852886e+38;p[(r[u>>2]|0)+(f<<2)>>2]=0.0;break}else{p[g>>2]=0.0;p[(r[u>>2]|0)+(f<<2)>>2]=3.4028234663852886e+38;break}}}while(0);Ce=1.0-+p[e+232>>2];v=+H(+Ce);do{if(Ce!=0.0){ge=b*(R*+p[o>>2]+I*+p[o+4>>2]+B*+p[o+8>>2]-(R*+p[s>>2]+I*+p[s+4>>2]+B*+p[s+8>>2]));if((Ie|0)==1){if(ge>=0.0){break}Se=ge*(-0.0-v);u=(r[ee>>2]|0)+(f<<2)|0;if(Se<=+p[u>>2]){break}p[u>>2]=Se;break}else{if(ge<=0.0){break}Se=ge*(-0.0-v);u=(r[ee>>2]|0)+(f<<2)|0;if(Se>=+p[u>>2]){break}p[u>>2]=Se;break}}}while(0);u=(r[ee>>2]|0)+(f<<2)|0;p[u>>2]=+p[re>>2]*+p[u>>2];Be=5}}while(0);if((n[e+289|0]&1)==0){Ee=0.0;Ne=0}else{b=+p[e+1080>>2];Ee=b;Ne=b>0.0?1:2}Ie=(Ne|0)!=0;s=(n[e+1104|0]&1)==0;if(s&(Ie^1)){return}o=ne(r[d>>2]|0,Be)|0;p[(r[q>>2]|0)+(o<<2)>>2]=R;Be=o+1|0;p[(r[q>>2]|0)+(Be<<2)>>2]=I;d=o+2|0;p[(r[q>>2]|0)+(d<<2)>>2]=B;p[(r[K>>2]|0)+(o<<2)>>2]=-0.0-R;p[(r[K>>2]|0)+(Be<<2)>>2]=-0.0-I;p[(r[K>>2]|0)+(d<<2)>>2]=-0.0-B;d=e+184|0;b=+p[d>>2];K=e+188|0;Re=+p[K>>2];Be=b==Re;q=r[J>>2]|0;S=e+240|0;Ve=+p[((q&2048|0)==0?t+4|0:S)>>2];if(!(Ie&Be|s)){if((q&4|0)==0){ke=b;Oe=Re}else{p[(r[t+32>>2]|0)+(o<<2)>>2]=+p[e+220>>2];ke=+p[d>>2];Oe=+p[K>>2]}Re=+p[e+1076>>2];b=+p[e+1108>>2];le=Ve*+p[Y>>2];e:do{if(ke>Oe){Le=1.0}else{if(ke==Oe){Le=0.0;break}pe=b/le;if(pe<0.0){do{if(Re>=ke){if(ke-pe<=Re){break}Le=(ke-Re)/pe;break e}}while(0);Le=Re<ke?0.0:1.0;break}if(pe<=0.0){Le=0.0;break}do{if(Re<=Oe){if(Oe-pe>=Re){break}Le=(Oe-Re)/pe;break e}}while(0);Le=Re>Oe?0.0:1.0}}while(0);p[(r[ee>>2]|0)+(o<<2)>>2]=Le*b;re=e+1112|0;p[(r[t+36>>2]|0)+(o<<2)>>2]=+p[Y>>2]*(-0.0-+p[re>>2]);p[(r[t+40>>2]|0)+(o<<2)>>2]=+p[re>>2]*+p[Y>>2]}if(!Ie){return}Ie=(r[ee>>2]|0)+(o<<2)|0;p[Ie>>2]=+p[Ie>>2]+Ee*Ve*+p[Y>>2];if((r[J>>2]&1024|0)!=0){p[(r[t+32>>2]|0)+(o<<2)>>2]=+p[e+252>>2]}do{if(Be){p[(r[t+36>>2]|0)+(o<<2)>>2]=-3.4028234663852886e+38;p[(r[t+40>>2]|0)+(o<<2)>>2]=3.4028234663852886e+38}else{J=(r[t+36>>2]|0)+(o<<2)|0;if((Ne|0)==1){p[J>>2]=0.0;p[(r[t+40>>2]|0)+(o<<2)>>2]=3.4028234663852886e+38;break}else{p[J>>2]=-3.4028234663852886e+38;p[(r[t+40>>2]|0)+(o<<2)>>2]=0.0;break}}}while(0);Ve=1.0-+p[e+248>>2];Ee=+H(+Ve);do{if(Ve!=0.0){t=r[e+24>>2]|0;Be=r[e+28>>2]|0;b=R*+p[t+320>>2]+I*+p[t+324>>2]+B*+p[t+328>>2]-(R*+p[Be+320>>2]+I*+p[Be+324>>2]+B*+p[Be+328>>2]);if((Ne|0)==1){if(b>=0.0){break}Le=b*(-0.0-Ee);Be=(r[ee>>2]|0)+(o<<2)|0;if(Le<=+p[Be>>2]){break}p[Be>>2]=Le;break}else{if(b<=0.0){break}Le=b*(-0.0-Ee);Be=(r[ee>>2]|0)+(o<<2)|0;if(Le>=+p[Be>>2]){break}p[Be>>2]=Le;break}}}while(0);Ne=(r[ee>>2]|0)+(o<<2)|0;p[Ne>>2]=+p[S>>2]*+p[Ne>>2];return}function Cge(e){e=e|0;return}function Sge(e){e=e|0;return 196}function yge(e){e=e|0;return}function vge(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;var _=0;if((t|0)==2){if((n|0)<1){p[e+224>>2]=i;_=e+292|0;r[_>>2]=r[_>>2]|512;return}if((n|0)<3){p[e+256>>2]=i;_=e+292|0;r[_>>2]=r[_>>2]|32;return}if((n|0)==3){p[e+240>>2]=i;_=e+292|0;r[_>>2]=r[_>>2]|2048;return}if((n|0)>=6){return}p[e+272>>2]=i;_=e+292|0;r[_>>2]=r[_>>2]|128;return}else if((t|0)==3){if((n|0)<1){p[e+204>>2]=i;_=e+292|0;r[_>>2]=r[_>>2]|1;return}if((n|0)!=3){return}p[e+220>>2]=i;_=e+292|0;r[_>>2]=r[_>>2]|4;return}else if((t|0)==4){if((n|0)<1){p[e+236>>2]=i;t=e+292|0;r[t>>2]=r[t>>2]|256;return}if((n|0)<3){p[e+268>>2]=i;t=e+292|0;r[t>>2]=r[t>>2]|16;return}if((n|0)==3){p[e+252>>2]=i;t=e+292|0;r[t>>2]=r[t>>2]|1024;return}if((n|0)>=6){return}p[e+284>>2]=i;n=e+292|0;r[n>>2]=r[n>>2]|64;return}else{return}}function xge(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0;do{if((t|0)==2){if((i|0)<1){n=+p[e+224>>2];break}if((i|0)<3){n=+p[e+256>>2];break}if((i|0)==3){n=+p[e+240>>2];break}if((i|0)>=6){n=3.4028234663852886e+38;break}n=+p[e+272>>2]}else if((t|0)==3){if((i|0)<1){n=+p[e+204>>2];break}if((i|0)!=3){n=3.4028234663852886e+38;break}n=+p[e+220>>2]}else if((t|0)==4){if((i|0)<1){n=+p[e+236>>2];break}if((i|0)<3){n=+p[e+268>>2];break}if((i|0)==3){n=+p[e+252>>2];break}if((i|0)>=6){n=3.4028234663852886e+38;break}n=+p[e+284>>2]}else{n=3.4028234663852886e+38}}while(0);return+n}function Mge(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Tge(e,t,i){e=e|0;t=t|0;i=i|0;wge(e|0,t,i)|0;p[t+44>>2]=+p[e+44>>2];p[t+48>>2]=+p[e+48>>2];p[t+52>>2]=+p[e+52>>2];p[t+56>>2]=+p[e+56>>2];p[t+60>>2]=+p[e+60>>2];p[t+64>>2]=+p[e+64>>2];p[t+68>>2]=+p[e+68>>2];p[t+72>>2]=+p[e+72>>2];p[t+76>>2]=+p[e+76>>2];p[t+80>>2]=+p[e+80>>2];p[t+84>>2]=+p[e+84>>2];p[t+88>>2]=+p[e+88>>2];p[t+92>>2]=+p[e+92>>2];p[t+96>>2]=+p[e+96>>2];p[t+100>>2]=+p[e+100>>2];p[t+104>>2]=+p[e+104>>2];p[t+108>>2]=+p[e+108>>2];p[t+112>>2]=+p[e+112>>2];p[t+116>>2]=+p[e+116>>2];p[t+120>>2]=+p[e+120>>2];p[t+124>>2]=+p[e+124>>2];p[t+128>>2]=+p[e+128>>2];p[t+132>>2]=+p[e+132>>2];p[t+136>>2]=+p[e+136>>2];p[t+140>>2]=+p[e+140>>2];p[t+144>>2]=+p[e+144>>2];p[t+148>>2]=+p[e+148>>2];p[t+152>>2]=+p[e+152>>2];p[t+156>>2]=+p[e+156>>2];p[t+160>>2]=+p[e+160>>2];p[t+164>>2]=+p[e+164>>2];p[t+168>>2]=+p[e+168>>2];p[t+172>>2]=+p[e+180>>2];p[t+176>>2]=+p[e+176>>2];p[t+180>>2]=+p[e+188>>2];p[t+184>>2]=+p[e+184>>2];r[t+188>>2]=n[e+172|0]&1;r[t+192>>2]=n[e+41|0]&1;return 17128}function Dge(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0;_=d;d=d+32|0;o=_|0;s=_+16|0;r[e+4>>2]=t;r[e>>2]=23440;r[e+8>>2]=-1;r[e+12>>2]=-1;p[e+16>>2]=3.4028234663852886e+38;n[e+20|0]=1;n[e+21|0]=0;r[e+24>>2]=i;i=e+28|0;t=o;a=s;do{if((n[43016]|0)==0){if((ui(43016)|0)==0){break}vBe(t|0,0,16);ufe(41520,0.0,0,0,o);jt(198,41520,f|0)|0}}while(0);vBe(a|0,0,16);afe(41520,0.0,s);r[i>>2]=41520;p[e+32>>2]=0.0;p[e+36>>2]=.30000001192092896;d=_;return}function Pge(){var e=0,t=0,i=0;e=d;d=d+32|0;t=e|0;i=e+16|0;do{if((n[43016]|0)==0){if((ui(43016)|0)==0){break}vBe(t|0,0,16);ufe(41520,0.0,0,0,t);jt(198,41520,f|0)|0}}while(0);vBe(i|0,0,16);afe(41520,0.0,i);d=e;return}function wge(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0;_=i;o=e+24|0;r[t>>2]=j_t[r[(r[_>>2]|0)+28>>2]&511](i,r[o>>2]|0)|0;s=e+28|0;r[t+4>>2]=j_t[r[(r[_>>2]|0)+28>>2]&511](i,r[s>>2]|0)|0;a=j_t[r[(r[_>>2]|0)+40>>2]&511](i,e)|0;l=j_t[r[(r[_>>2]|0)+28>>2]&511](i,a)|0;r[t+8>>2]=l;if((l|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,a)}r[t+12>>2]=r[e+4>>2];r[t+24>>2]=n[e+21|0]&1;r[t+20>>2]=r[e+12>>2];r[t+16>>2]=r[e+8>>2];p[t+28>>2]=+p[e+32>>2];p[t+32>>2]=+p[e+36>>2];a=t+36|0;r[a>>2]=0;t=r[o>>2]|0;if((r[t+480>>2]|0)>0){i=0;l=t;while(1){if((r[(r[l+488>>2]|0)+(i<<2)>>2]|0)==(e|0)){r[a>>2]=1;d=r[o>>2]|0}else{d=l}t=i+1|0;if((t|0)<(r[d+480>>2]|0)){i=t;l=d}else{break}}}d=r[s>>2]|0;if((r[d+480>>2]|0)>0){c=0;b=d}else{return 17056}while(1){if((r[(r[b+488>>2]|0)+(c<<2)>>2]|0)==(e|0)){r[a>>2]=1;u=r[s>>2]|0}else{u=b}d=c+1|0;if((d|0)<(r[u+480>>2]|0)){c=d;b=u}else{break}}return 17056}function Age(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0;i=e+4|0;if(+p[i>>2]<=0.0){return}n=e|0;_=+Bi(+(+p[t>>2]-+p[n>>2]),6.2831854820251465);do{if(_<-3.1415927410125732){r=_+6.2831854820251465}else{if(_<=3.1415927410125732){r=_;break}r=_-6.2831854820251465}}while(0);_=+p[i>>2];if(r<=_&r>=-0.0-_){return}o=+p[n>>2];if(r>0.0){r=+Bi(+(o+_),6.2831854820251465);do{if(r<-3.1415927410125732){s=r+6.2831854820251465}else{if(r<=3.1415927410125732){s=r;break}s=r-6.2831854820251465}}while(0);p[t>>2]=s;return}else{s=+Bi(+(o-_),6.2831854820251465);do{if(s<-3.1415927410125732){a=s+6.2831854820251465}else{if(s<=3.1415927410125732){a=s;break}a=s-6.2831854820251465}}while(0);p[t>>2]=a;return}}function Fge(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Rge(e,t,i,o,a,l){e=e|0;t=t|0;i=i|0;o=o|0;a=a|0;l=l|0;var d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0.0,T=0.0,D=0,P=0,w=0,A=0,F=0;d=e|0;r[d>>2]=22576;_[e+4>>1]=-2;c=e+6|0;_[c>>1]=-1;b=e+8|0;u=e+24|0;m=e+92|0;r[m>>2]=a;r[e+96>>2]=0;h=e+100|0;n[h]=0;r[e+104>>2]=0;f=e+108|0;r[f>>2]=0;g=o+1&65535;if((a|0)==0){r[9806]=(r[9806]|0)+1;a=hBe(95)|0;do{if((a|0)==0){C=0}else{o=-(a+4|0)&15;S=a+(o+4)|0;r[a+o>>2]=a;if((S|0)==0){C=0;break}o=S;RPe(o);C=o}}while(0);r[m>>2]=C;n[h]=1}if(!l){r[9806]=(r[9806]|0)+1;l=hBe(43)|0;do{if((l|0)==0){y=0}else{h=-(l+4|0)&15;C=l+(h+4)|0;r[l+h>>2]=l;if((C|0)==0){y=0;break}vBe(C|0,0,24);r[C>>2]=24728;n[l+(h+24)|0]=1;r[l+(h+20)>>2]=0;r[l+(h+12)>>2]=0;r[l+(h|16)>>2]=0;y=C}}while(0);l=e+112|0;r[l>>2]=y;r[9806]=(r[9806]|0)+1;y=hBe(175)|0;do{if((y|0)==0){v=0}else{C=-(y+4|0)&15;h=y+(C+4)|0;r[y+C>>2]=y;if((h|0)==0){v=0;break}C=h;eTe(C,r[l>>2]|0);v=C}}while(0);r[f>>2]=v;n[v+153|0]=1}v=b;f=t;r[v>>2]=r[f>>2];r[v+4>>2]=r[f+4>>2];r[v+8>>2]=r[f+8>>2];r[v+12>>2]=r[f+12>>2];f=u;v=i;r[f>>2]=r[v>>2];r[f+4>>2]=r[v+4>>2];r[f+8>>2]=r[v+8>>2];r[f+12>>2]=r[v+12>>2];x=+((s[c>>1]|0)>>>0);M=x/(+p[e+28>>2]-+p[e+12>>2]);T=x/(+p[e+32>>2]-+p[e+16>>2]);p[e+40>>2]=x/(+p[u>>2]-+p[b>>2]);p[e+44>>2]=M;p[e+48>>2]=T;p[e+52>>2]=0.0;b=g&65535;r[9806]=(r[9806]|0)+1;u=hBe((b<<6|4)+15|0)|0;if((u|0)==0){D=0}else{v=-(u+4|0)&15;r[u+v>>2]=u;D=u+(v+4)|0}if(g<<16>>16!=0){v=D+(b<<6)|0;u=D;do{r[u>>2]=0;r[u+8>>2]=0;u=u+64|0}while((u|0)!=(v|0))}v=e+60|0;r[v>>2]=D;_[e+58>>1]=g;_[e+56>>1]=0;_[e+64>>1]=1;if((g&65535)>1){u=1;f=D;while(1){i=u+1&65535;_[f+((u&65535)<<6)+48>>1]=i;t=r[v>>2]|0;if((i&65535)<(g&65535)){u=i;f=t}else{P=t;break}}}else{P=D}_[P+(b-1<<6)+48>>1]=0;r[9806]=(r[9806]|0)+1;P=(b<<3|4)+15|0;b=hBe(P)|0;do{if((b|0)==0){r[e+80>>2]=0;w=0}else{D=-(b+4|0)&15;f=b+(D+4)|0;r[b+D>>2]=b;r[e+80>>2]=f;if((f|0)==0){w=0;break}w=f}}while(0);b=e+68|0;r[b>>2]=w;r[9806]=(r[9806]|0)+1;w=hBe(P)|0;do{if((w|0)==0){r[e+84>>2]=0;A=0}else{f=-(w+4|0)&15;D=w+(f+4)|0;r[w+f>>2]=w;r[e+84>>2]=D;if((D|0)==0){A=0;break}A=D}}while(0);w=e+72|0;r[w>>2]=A;r[9806]=(r[9806]|0)+1;A=hBe(P)|0;do{if((A|0)==0){r[e+88>>2]=0;F=0}else{P=-(A+4|0)&15;D=A+(P+4)|0;r[A+P>>2]=A;r[e+88>>2]=D;if((D|0)==0){F=0;break}F=D}}while(0);A=e+76|0;r[A>>2]=F;r[r[v>>2]>>2]=0;_[(r[v>>2]|0)+48>>1]=0;_[(r[v>>2]|0)+54>>1]=1;_[r[b>>2]>>1]=0;_[(r[b>>2]|0)+2>>1]=0;_[(r[b>>2]|0)+4>>1]=_[c>>1]|0;_[(r[b>>2]|0)+6>>1]=0;_[(r[v>>2]|0)+50>>1]=0;_[(r[v>>2]|0)+56>>1]=1;_[r[w>>2]>>1]=0;_[(r[w>>2]|0)+2>>1]=0;_[(r[w>>2]|0)+4>>1]=_[c>>1]|0;_[(r[w>>2]|0)+6>>1]=0;_[(r[v>>2]|0)+52>>1]=0;_[(r[v>>2]|0)+58>>1]=1;_[r[A>>2]>>1]=0;_[(r[A>>2]|0)+2>>1]=0;_[(r[A>>2]|0)+4>>1]=_[c>>1]|0;_[(r[A>>2]|0)+6>>1]=0;r[d>>2]=25976;return}function Ige(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0.0,M=0.0,T=0,D=0,P=0,w=0,A=0;a=e|0;r[a>>2]=22648;r[e+4>>2]=-2;l=e+8|0;r[l>>2]=2147483647;d=e+12|0;c=e+28|0;b=e+100|0;r[b>>2]=o;r[e+104>>2]=0;u=e+108|0;n[u]=0;r[e+112>>2]=0;m=e+116|0;r[m>>2]=0;h=_+1|0;if((o|0)==0){r[9806]=(r[9806]|0)+1;o=hBe(95)|0;do{if((o|0)==0){f=0}else{g=-(o+4|0)&15;C=o+(g+4)|0;r[o+g>>2]=o;if((C|0)==0){f=0;break}g=C;RPe(g);f=g}}while(0);r[b>>2]=f;n[u]=1}if(!s){r[9806]=(r[9806]|0)+1;s=hBe(43)|0;do{if((s|0)==0){S=0}else{u=-(s+4|0)&15;f=s+(u+4)|0;r[s+u>>2]=s;if((f|0)==0){S=0;break}vBe(f|0,0,24);r[f>>2]=24728;n[s+(u+24)|0]=1;r[s+(u+20)>>2]=0;r[s+(u+12)>>2]=0;r[s+(u|16)>>2]=0;S=f}}while(0);s=e+120|0;r[s>>2]=S;r[9806]=(r[9806]|0)+1;S=hBe(175)|0;do{if((S|0)==0){y=0}else{f=-(S+4|0)&15;u=S+(f+4)|0;r[S+f>>2]=S;if((u|0)==0){y=0;break}f=u;eTe(f,r[s>>2]|0);y=f}}while(0);r[m>>2]=y;n[y+153|0]=1}y=d;m=t;r[y>>2]=r[m>>2];r[y+4>>2]=r[m+4>>2];r[y+8>>2]=r[m+8>>2];r[y+12>>2]=r[m+12>>2];m=c;y=i;r[m>>2]=r[y>>2];r[m+4>>2]=r[y+4>>2];r[m+8>>2]=r[y+8>>2];r[m+12>>2]=r[y+12>>2];v=+((r[l>>2]|0)>>>0>>>0);x=v/(+p[e+32>>2]-+p[e+16>>2]);M=v/(+p[e+36>>2]-+p[e+20>>2]);p[e+44>>2]=v/(+p[c>>2]-+p[d>>2]);p[e+48>>2]=x;p[e+52>>2]=M;p[e+56>>2]=0.0;d=_i(h|0,76)|0;r[9806]=(r[9806]|0)+1;c=hBe(B?18:d+19|0)|0;if((c|0)==0){T=0}else{d=-(c+4|0)&15;r[c+d>>2]=c;T=c+(d+4)|0}if((h|0)!=0){d=T+(h*76|0)|0;c=T;do{r[c>>2]=0;r[c+8>>2]=0;c=c+76|0}while((c|0)!=(d|0))}d=e+68|0;r[d>>2]=T;r[e+64>>2]=h;r[e+60>>2]=0;r[e+72>>2]=1;if(h>>>0>1){c=1;y=T;while(1){m=c+1|0;r[y+(c*76|0)+48>>2]=m;i=r[d>>2]|0;if(m>>>0<h>>>0){c=m;y=i}else{D=i;break}}}else{D=T}r[D+(_*76|0)+48>>2]=0;r[9806]=(r[9806]|0)+1;_=(h<<4|4)+15|0;h=hBe(_)|0;do{if((h|0)==0){r[e+88>>2]=0;P=0}else{D=-(h+4|0)&15;T=h+(D+4)|0;r[h+D>>2]=h;r[e+88>>2]=T;if((T|0)==0){P=0;break}P=T}}while(0);h=e+76|0;r[h>>2]=P;r[9806]=(r[9806]|0)+1;P=hBe(_)|0;do{if((P|0)==0){r[e+92>>2]=0;w=0}else{T=-(P+4|0)&15;D=P+(T+4)|0;r[P+T>>2]=P;r[e+92>>2]=D;if((D|0)==0){w=0;break}w=D}}while(0);P=e+80|0;r[P>>2]=w;r[9806]=(r[9806]|0)+1;w=hBe(_)|0;do{if((w|0)==0){r[e+96>>2]=0;A=0}else{_=-(w+4|0)&15;D=w+(_+4)|0;r[w+_>>2]=w;r[e+96>>2]=D;if((D|0)==0){A=0;break}A=D}}while(0);w=e+84|0;r[w>>2]=A;r[r[d>>2]>>2]=0;r[(r[d>>2]|0)+48>>2]=0;r[(r[d>>2]|0)+60>>2]=1;r[r[h>>2]>>2]=0;r[(r[h>>2]|0)+4>>2]=0;r[(r[h>>2]|0)+8>>2]=r[l>>2];r[(r[h>>2]|0)+12>>2]=0;r[(r[d>>2]|0)+52>>2]=0;r[(r[d>>2]|0)+64>>2]=1;r[r[P>>2]>>2]=0;r[(r[P>>2]|0)+4>>2]=0;r[(r[P>>2]|0)+8>>2]=r[l>>2];r[(r[P>>2]|0)+12>>2]=0;r[(r[d>>2]|0)+56>>2]=0;r[(r[d>>2]|0)+68>>2]=1;r[r[w>>2]>>2]=0;r[(r[w>>2]|0)+4>>2]=0;r[(r[w>>2]|0)+8>>2]=r[l>>2];r[(r[w>>2]|0)+12>>2]=0;r[a>>2]=23784;return}function Bge(e){e=e|0;PCe(e|0);return}function Vge(e){e=e|0;PCe(e|0);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-124+120>>2]|0);return}function Ege(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;var l=0,d=0,c=0;l=Nde(e,t,i,_,o,s,a,p)|0;p=r[e+68>>2]|0;d=r[e+116>>2]|0;if((d|0)==0){c=p+(l*76|0)|0;return c|0}r[p+(l*76|0)+72>>2]=R_t[r[(r[d>>2]|0)+8>>2]&63](d,t,i,n,_,o,s,a,0)|0;c=p+(l*76|0)|0;return c|0}function Nge(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=r[e+116>>2]|0;if((n|0)!=0){srt[r[(r[n>>2]|0)+12>>2]&511](n,r[t+72>>2]|0,i)}Lde(e,r[t+12>>2]|0,i);return}function kge(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0;o=t+16|0;s=i;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=t+32|0;o=n;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];cce(e,r[t+12>>2]|0,i,n,_);o=r[e+116>>2]|0;if((o|0)==0){return}Unt[r[(r[o>>2]|0)+16>>2]&255](o,r[t+72>>2]|0,i,n,_);return}function Oge(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;e=i;i=t+16|0;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];i=n;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function Lge(e){e=e|0;return}function Uge(e){e=e|0;return}function Gge(e){e=e|0;return r[e+100>>2]|0}function Wge(e){e=e|0;return r[e+100>>2]|0}function zge(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0;if((r[e+60>>2]|0)!=0){return}r[e+72>>2]=1;t=e+64|0;i=r[t>>2]|0;n=e+68|0;if(i>>>0>1){e=1;while(1){_=e+1|0;r[(r[n>>2]|0)+(e*76|0)+48>>2]=_;o=r[t>>2]|0;if(_>>>0<o>>>0){e=_}else{s=o;break}}}else{s=i}r[(r[n>>2]|0)+((s-1|0)*76|0)+48>>2]=0;return}function Hge(e){e=e|0;return r[e+92>>2]|0}function jge(e){e=e|0;return r[e+92>>2]|0}function Xge(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,s=0,a=0;if((_[e+56>>1]|0)!=0){return}_[e+64>>1]=1;t=e+58|0;i=_[t>>1]|0;n=e+60|0;if((i&65535)>1){e=1;while(1){o=e+1&65535;_[(r[n>>2]|0)+((e&65535)<<6)+48>>1]=o;s=_[t>>1]|0;if((o&65535)<(s&65535)){e=o}else{a=s;break}}}else{a=i}_[(r[n>>2]|0)+((a&65535)-1<<6)+48>>1]=0;return}function Zge(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;var s=0,a=0,p=0,l=0,d=0;s=r[e+116>>2]|0;if((s|0)!=0){M_t[r[(r[s>>2]|0)+24>>2]&127](s,t,i,n,_,o);return}o=e+60|0;_=r[o>>2]|0;if(_<<1>>>0<=1){return}i=e+76|0;t=n|0;s=n;n=e+68|0;e=1;a=_;while(1){_=r[i>>2]|0;if((r[_+(e<<3)>>2]&1|0)==0){p=a}else{l=r[(r[s>>2]|0)+8>>2]|0;d=(r[n>>2]|0)+((r[_+(e<<3)+4>>2]|0)*76|0)|0;j_t[l&511](t,d)|0;p=r[o>>2]|0}d=e+1|0;if(d>>>0<(p<<1|1)>>>0){e=d;a=p}else{break}}return}function Qge(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;_=r[e+116>>2]|0;if((_|0)!=0){mrt[r[(r[_>>2]|0)+28>>2]&1023](_,t,i,n);return}_=e+60|0;o=r[_>>2]|0;if(o<<1>>>0<=1){return}s=e+76|0;a=e+68|0;e=t|0;l=t+8|0;d=t+4|0;t=i+4|0;c=n;b=i+8|0;u=i|0;i=1;m=o;while(1){o=r[s>>2]|0;do{if((r[o+(i<<3)>>2]&1|0)==0){h=m}else{f=r[o+(i<<3)+4>>2]|0;g=r[a>>2]|0;do{if(+p[e>>2]>+p[g+(f*76|0)+32>>2]){C=0}else{if(+p[u>>2]<+p[g+(f*76|0)+16>>2]){C=0;break}C=1}}while(0);do{if(+p[l>>2]>+p[g+(f*76|0)+40>>2]){S=0}else{if(+p[b>>2]<+p[g+(f*76|0)+24>>2]){S=0;break}S=C}}while(0);if(+p[d>>2]>+p[g+(f*76|0)+36>>2]){h=m;break}if(+p[t>>2]<+p[g+(f*76|0)+20>>2]|S^1){h=m;break}y=g+(f*76|0)|0;v=r[(r[c>>2]|0)+8>>2]|0;j_t[v&511](n,y)|0;h=r[_>>2]|0}}while(0);o=i+1|0;if(o>>>0<(h<<1|1)>>>0){i=o;m=h}else{break}}return}function qge(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0;i=d;d=d+40|0;n=i|0;_=i+8|0;o=i+24|0;s=e+100|0;a=r[s>>2]|0;if(!(Knt[r[(r[a>>2]|0)+56>>2]&4095](a)|0)){d=i;return}a=r[s>>2]|0;p=Knt[r[(r[a>>2]|0)+28>>2]&4095](a)|0;a=p+4|0;l=r[a>>2]|0;if((l|0)>1){xCe(p,0,l-1|0);c=r[a>>2]|0}else{c=l}l=e+112|0;e=c-(r[l>>2]|0)|0;vBe(_|0,0,16);vCe(p,e,_);r[l>>2]=0;_=r[a>>2]|0;do{if((_|0)>0){e=p+12|0;c=0;b=0;u=0;m=_;h=0;while(1){f=r[e>>2]|0;g=f+(u<<4)|0;C=g|0;S=r[C>>2]|0;y=f+(u<<4)+4|0;f=r[y>>2]|0;if((S|0)==(b|0)){if((f|0)==(c|0)){v=b;x=c;M=424}else{T=b;M=420}}else{T=S;M=420}e:do{if((M|0)==420){M=0;S=T+60|0;D=f+60|0;P=f+48|0;w=T+48|0;A=0;while(1){if((A|0)>=3){F=T;R=f;I=m;B=h;break e}if((r[S+(A<<2)>>2]|0)>>>0<(r[P+(A<<2)>>2]|0)>>>0){v=T;x=f;M=424;break e}if((r[D+(A<<2)>>2]|0)>>>0<(r[w+(A<<2)>>2]|0)>>>0){v=T;x=f;M=424;break}else{A=A+1|0}}}}while(0);if((M|0)==424){M=0;f=r[s>>2]|0;srt[r[(r[f>>2]|0)+32>>2]&511](f,g,t);r[C>>2]=0;r[y>>2]=0;f=(r[l>>2]|0)+1|0;r[l>>2]=f;r[9792]=(r[9792]|0)-1;F=v;R=x;I=r[a>>2]|0;B=f}f=u+1|0;if((f|0)<(I|0)){c=R;b=F;u=f;m=I;h=B}else{break}}h=n|0;if((I|0)<=1){V=I;E=h;N=B;break}xCe(p,0,I-1|0);V=r[a>>2]|0;E=h;N=r[l>>2]|0}else{V=_;E=n|0;N=0}}while(0);vBe(o|0,0,16);vCe(p,V-N|0,o);r[l>>2]=0;d=i;return}function Yge(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=t;t=e+12|0;r[n>>2]=r[t>>2];r[n+4>>2]=r[t+4>>2];r[n+8>>2]=r[t+8>>2];r[n+12>>2]=r[t+12>>2];t=i;i=e+28|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];return}function Jge(e){e=e|0;MCe(e|0);return}function Kge(e){e=e|0;MCe(e|0);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-116+112>>2]|0);return}function $ge(e,t,i,n,_,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;var l=0,d=0,c=0;l=dx(e,t,i,_,o,s,a,p)|0;p=r[e+60>>2]|0;d=l&65535;l=r[e+108>>2]|0;if((l|0)==0){c=p+(d<<6)|0;return c|0}r[p+(d<<6)+60>>2]=R_t[r[(r[l>>2]|0)+8>>2]&63](l,t,i,n,_,o,s,a,0)|0;c=p+(d<<6)|0;return c|0}function eCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=r[e+108>>2]|0;if((n|0)!=0){srt[r[(r[n>>2]|0)+12>>2]&511](n,r[t+60>>2]|0,i)}ux(e,r[t+12>>2]&65535,i);return}function tCe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0;o=t+16|0;s=i;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=t+32|0;o=n;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];xx(e,r[t+12>>2]&65535,i,n,_);o=r[e+108>>2]|0;if((o|0)==0){return}Unt[r[(r[o>>2]|0)+16>>2]&255](o,r[t+60>>2]|0,i,n,_);return}function iCe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;e=i;i=t+16|0;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];i=n;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function nCe(e,t,i,n,o,a){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;a=a|0;var p=0,l=0,d=0,c=0,b=0,u=0;p=r[e+108>>2]|0;if((p|0)!=0){M_t[r[(r[p>>2]|0)+24>>2]&127](p,t,i,n,o,a);return}a=e+56|0;o=_[a>>1]|0;if((o&65535)<<1>>>0<=1){return}i=e+68|0;t=n|0;p=n;n=e+60|0;e=2;l=1;d=o;while(1){o=r[i>>2]|0;if((_[o+(l<<2)>>1]&1)==0){c=d}else{b=r[(r[p>>2]|0)+8>>2]|0;u=(r[n>>2]|0)+((s[o+(l<<2)+2>>1]|0)<<6)|0;j_t[b&511](t,u)|0;c=_[a>>1]|0}u=e&65535;if(u>>>0>=((c&65535)<<1|1)>>>0){break}e=e+1&65535;l=u;d=c}return}function _Ce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0;o=r[e+108>>2]|0;if((o|0)!=0){mrt[r[(r[o>>2]|0)+28>>2]&1023](o,t,i,n);return}o=e+56|0;a=_[o>>1]|0;if((a&65535)<<1>>>0<=1){return}l=e+68|0;d=e+60|0;e=t|0;c=t+8|0;b=t+4|0;t=i+4|0;u=n;m=i+8|0;h=i|0;i=2;f=1;g=a;while(1){a=r[l>>2]|0;do{if((_[a+(f<<2)>>1]&1)==0){C=g}else{S=r[d>>2]|0;y=s[a+(f<<2)+2>>1]|0;do{if(+p[e>>2]>+p[S+(y<<6)+32>>2]){v=0}else{if(+p[h>>2]<+p[S+(y<<6)+16>>2]){v=0;break}v=1}}while(0);do{if(+p[c>>2]>+p[S+(y<<6)+40>>2]){x=0}else{if(+p[m>>2]<+p[S+(y<<6)+24>>2]){x=0;break}x=v}}while(0);if(+p[b>>2]>+p[S+(y<<6)+36>>2]){C=g;break}if(+p[t>>2]<+p[S+(y<<6)+20>>2]|x^1){C=g;break}M=S+(y<<6)|0;T=r[(r[u>>2]|0)+8>>2]|0;j_t[T&511](n,M)|0;C=_[o>>1]|0}}while(0);a=i&65535;if(a>>>0>=((C&65535)<<1|1)>>>0){break}i=i+1&65535;f=a;g=C}return}function rCe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0;i=d;d=d+40|0;n=i|0;_=i+8|0;o=i+24|0;a=e+92|0;p=r[a>>2]|0;if(!(Knt[r[(r[p>>2]|0)+56>>2]&4095](p)|0)){d=i;return}p=r[a>>2]|0;l=Knt[r[(r[p>>2]|0)+28>>2]&4095](p)|0;p=l+4|0;c=r[p>>2]|0;if((c|0)>1){xCe(l,0,c-1|0);b=r[p>>2]|0}else{b=c}c=e+104|0;e=b-(r[c>>2]|0)|0;vBe(_|0,0,16);vCe(l,e,_);r[c>>2]=0;_=r[p>>2]|0;do{if((_|0)>0){e=l+12|0;b=0;u=0;m=0;h=_;f=0;while(1){g=r[e>>2]|0;C=g+(m<<4)|0;S=C|0;y=r[S>>2]|0;v=g+(m<<4)+4|0;g=r[v>>2]|0;if((y|0)==(u|0)){if((g|0)==(b|0)){x=u;M=b;T=501}else{D=u;T=497}}else{D=y;T=497}e:do{if((T|0)==497){T=0;y=D+54|0;P=g+54|0;w=g+48|0;A=D+48|0;F=0;while(1){if((F|0)>=3){R=D;I=g;B=h;V=f;break e}if((s[y+(F<<1)>>1]|0)<(s[w+(F<<1)>>1]|0)){x=D;M=g;T=501;break e}if((s[P+(F<<1)>>1]|0)<(s[A+(F<<1)>>1]|0)){x=D;M=g;T=501;break}else{F=F+1|0}}}}while(0);if((T|0)==501){T=0;g=r[a>>2]|0;srt[r[(r[g>>2]|0)+32>>2]&511](g,C,t);r[S>>2]=0;r[v>>2]=0;g=(r[c>>2]|0)+1|0;r[c>>2]=g;r[9792]=(r[9792]|0)-1;R=x;I=M;B=r[p>>2]|0;V=g}g=m+1|0;if((g|0)<(B|0)){b=I;u=R;m=g;h=B;f=V}else{break}}f=n|0;if((B|0)<=1){E=B;N=f;k=V;break}xCe(l,0,B-1|0);E=r[p>>2]|0;N=f;k=r[c>>2]|0}else{E=_;N=n|0;k=0}}while(0);vBe(o|0,0,16);vCe(l,E-k|0,o);r[c>>2]=0;d=i;return}function oCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=t;t=e+8|0;r[n>>2]=r[t>>2];r[n+4>>2]=r[t+4>>2];r[n+8>>2]=r[t+8>>2];r[n+12>>2]=r[t+12>>2];t=i;i=e+24|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];return}function sCe(e,t,i){e=e|0;t=t|0;i=i|0;return 0}function aCe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return 0}function pCe(e,t,i){e=e|0;t=t|0;i=i|0;return}function lCe(e,t,i){e=e|0;t=t|0;i=i|0;return}function dCe(e){e=e|0;return 0}function cCe(e,t,i){e=e|0;t=t|0;i=i|0;return}function bCe(e,t){e=e|0;t=t|0;return}function uCe(e,t,i){e=e|0;t=t|0;i=i|0;return}function mCe(e,t,i){e=e|0;t=t|0;i=i|0;return 0}function hCe(e){e=e|0;return 1}function fCe(e,t){e=e|0;t=t|0;return}function gCe(e,t){e=e|0;t=t|0;return}function CCe(e){e=e|0;return r[e+16>>2]|0}function SCe(e){e=e|0;return r[e+16>>2]|0}function yCe(e){e=e|0;return e+4|0}function vCe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0;_=e+4|0;o=r[_>>2]|0;if(!((o|0)<=(t|0)&(o|0)<(t|0))){r[_>>2]=t;return}s=e+8|0;if((r[s>>2]|0)<(t|0)){if((t|0)==0){a=0;p=o}else{r[9806]=(r[9806]|0)+1;l=hBe((t<<4|4)+15|0)|0;if((l|0)==0){d=0}else{c=-(l+4|0)&15;r[l+c>>2]=l;d=l+(c+4)|0}a=d;p=r[_>>2]|0}d=e+12|0;if((p|0)>0){c=0;do{l=r[d>>2]|0;r[a+(c<<4)>>2]=r[l+(c<<4)>>2];r[a+(c<<4)+4>>2]=r[l+(c<<4)+4>>2];r[a+(c<<4)+8>>2]=r[l+(c<<4)+8>>2];r[a+(c<<4)+12>>2]=r[l+(c<<4)+12>>2];c=c+1|0}while((c|0)<(p|0))}p=r[d>>2]|0;c=e+16|0;if((p|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[p-16+12>>2]|0)}r[d>>2]=0}n[c]=1;r[d>>2]=a;r[s>>2]=t;b=d}else{b=e+12|0}e=i|0;d=i+4|0;s=i+8|0;a=i+12|0;i=o;do{o=r[b>>2]|0;r[o+(i<<4)>>2]=r[e>>2];r[o+(i<<4)+4>>2]=r[d>>2];r[o+(i<<4)+8>>2]=r[s>>2];r[o+(i<<4)+12>>2]=r[a>>2];i=i+1|0}while((i|0)<(t|0));r[_>>2]=t;return}function xCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0;n=(i+t|0)/2|0;_=e+12|0;o=r[_>>2]|0;s=r[o+(n<<4)>>2]|0;a=r[o+(n<<4)+4>>2]|0;p=r[o+(n<<4)+8>>2]|0;n=(s|0)==0;l=(a|0)==0;d=a+12|0;c=s+12|0;b=i;u=t;m=o;while(1){o=u;e:while(1){h=r[m+(o<<4)>>2]|0;if((h|0)==0){f=-1}else{f=r[h+12>>2]|0}if(n){g=-1}else{g=r[c>>2]|0}C=r[m+(o<<4)+4>>2]|0;if((C|0)==0){S=-1}else{S=r[C+12>>2]|0}if(l){y=-1}else{y=r[d>>2]|0}do{if((f|0)<=(g|0)){v=(h|0)==(s|0);x=v&(S|0)>(y|0);if(x|v^1){if(x){break}else{break e}}if((C|0)!=(a|0)){break e}if((r[m+(o<<4)+8>>2]|0)>>>0<=p>>>0){break e}}}while(0);o=o+1|0}e:do{if(n){x=b;while(1){v=r[m+(x<<4)>>2]|0;M=(v|0)==0;if(M){T=-1}else{T=r[v+12>>2]|0}if(l){D=-1}else{D=r[d>>2]|0}v=r[m+(x<<4)+4>>2]|0;if((v|0)==0){P=-1}else{P=r[v+12>>2]|0}do{if((T|0)>=-1){w=M&(D|0)>(P|0);if(w|M^1){if(w){break}else{A=x;break e}}if((a|0)!=(v|0)){A=x;break e}if(p>>>0<=(r[m+(x<<4)+8>>2]|0)>>>0){A=x;break e}}}while(0);x=x-1|0}}else{x=r[c>>2]|0;v=b;while(1){M=r[m+(v<<4)>>2]|0;if((M|0)==0){F=-1}else{F=r[M+12>>2]|0}if(l){R=-1}else{R=r[d>>2]|0}w=r[m+(v<<4)+4>>2]|0;if((w|0)==0){I=-1}else{I=r[w+12>>2]|0}do{if((x|0)<=(F|0)){B=(s|0)==(M|0);V=B&(R|0)>(I|0);if(V|B^1){if(V){break}else{A=v;break e}}if((a|0)!=(w|0)){A=v;break e}if(p>>>0<=(r[m+(v<<4)+8>>2]|0)>>>0){A=v;break e}}}while(0);v=v-1|0}}}while(0);if((o|0)>(A|0)){E=A;N=o}else{v=r[m+(o<<4)+8>>2]|0;x=r[m+(o<<4)+12>>2]|0;w=m+(o<<4)|0;M=m+(A<<4)|0;r[w>>2]=r[M>>2];r[w+4>>2]=r[M+4>>2];r[w+8>>2]=r[M+8>>2];r[w+12>>2]=r[M+12>>2];M=r[_>>2]|0;r[M+(A<<4)>>2]=h;r[M+(A<<4)+4>>2]=C;r[M+(A<<4)+8>>2]=v;r[M+(A<<4)+12>>2]=x;E=A-1|0;N=o+1|0}if((N|0)>(E|0)){break}b=E;u=N;m=r[_>>2]|0}if((E|0)>(t|0)){xCe(e,t,E)}if((N|0)>=(i|0)){return}xCe(e,N,i);return}function MCe(e){e=e|0;var t=0,i=0,_=0;r[e>>2]=22576;t=e+108|0;do{if((r[t>>2]|0)!=0){i=e+112|0;_=r[i>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[i>>2]|0;if((_|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}_=r[t>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[t>>2]|0;if((_|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[_-156+152>>2]|0)}}while(0);t=r[e+88>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}t=r[e+84>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}t=r[e+80>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}t=r[e+60>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-64+60>>2]|0)}if((n[e+100|0]&1)==0){return}t=e+92|0;e=r[t>>2]|0;jnt[r[r[e>>2]>>2]&2047](e);e=r[t>>2]|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0);return}function TCe(e){e=e|0;MCe(e);return}function DCe(e){e=e|0;MCe(e);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-116+112>>2]|0);return}function PCe(e){e=e|0;var t=0,i=0,_=0;r[e>>2]=22648;t=e+116|0;do{if((r[t>>2]|0)!=0){i=e+120|0;_=r[i>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[i>>2]|0;if((_|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}_=r[t>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[t>>2]|0;if((_|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[_-156+152>>2]|0)}}while(0);t=r[e+96>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}t=r[e+92>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}t=r[e+88>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}t=r[e+68>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-76+72>>2]|0)}if((n[e+108|0]&1)==0){return}t=e+100|0;e=r[t>>2]|0;jnt[r[r[e>>2]>>2]&2047](e);e=r[t>>2]|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0);return}function wCe(e){e=e|0;PCe(e);return}function ACe(e){e=e|0;PCe(e);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-124+120>>2]|0);return}function FCe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=24728;t=e+8|0;i=e+16|0;_=r[i>>2]|0;o=e+20|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+12>>2]=0;return}function RCe(e){e=e|0;var t=0;r[e>>2]=24728;t=r[e+16>>2]|0;do{if((t|0)!=0){if((n[e+20|0]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-16+12>>2]|0)}if((e|0)!=0){break}return}}while(0);SBe(e);return}function ICe(e){e=e|0;return 17976|0}function BCe(e){e=e|0;return 52}function VCe(e){e=e|0;return 6}function ECe(e){e=e|0;return 8}function NCe(e){e=e|0;return 12}function kCe(e){e=e|0;return 6}function OCe(e){e=e|0;return e+12|0}function LCe(e){e=e|0;return+ +p[e+44>>2]}function UCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0;n=+p[t+28>>2];_=+p[t+32>>2];r=+p[i+4>>2]>=0.0?_:-0.0-_;_=+p[t+36>>2];o=+p[i+8>>2]>=0.0?_:-0.0-_;p[e>>2]=+p[i>>2]>=0.0?n:-0.0-n;p[e+4>>2]=r;p[e+8>>2]=o;p[e+12>>2]=0.0;return}function GCe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0;if((n|0)<=0){return}_=e+28|0;r=e+32|0;o=e+36|0;e=0;do{s=+p[_>>2];a=+p[r>>2];l=+p[t+(e<<4)+4>>2]>=0.0?a:-0.0-a;a=+p[o>>2];d=+p[t+(e<<4)+8>>2]>=0.0?a:-0.0-a;p[i+(e<<4)>>2]=+p[t+(e<<4)>>2]>=0.0?s:-0.0-s;p[i+(e<<4)+4>>2]=l;p[i+(e<<4)+8>>2]=d;p[i+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)<(n|0));return}function WCe(e,t,i){e=e|0;t=t|0;i=i|0;switch(t|0){case 3:{p[i>>2]=0.0;p[i+4>>2]=-1.0;p[i+8>>2]=0.0;p[i+12>>2]=0.0;return};case 4:{p[i>>2]=0.0;p[i+4>>2]=0.0;p[i+8>>2]=1.0;p[i+12>>2]=0.0;return};case 0:{p[i>>2]=1.0;p[i+4>>2]=0.0;p[i+8>>2]=0.0;p[i+12>>2]=0.0;return};case 5:{p[i>>2]=0.0;p[i+4>>2]=0.0;p[i+8>>2]=-1.0;p[i+12>>2]=0.0;return};case 1:{p[i>>2]=-1.0;p[i+4>>2]=0.0;p[i+8>>2]=0.0;p[i+12>>2]=0.0;return};case 2:{p[i>>2]=0.0;p[i+4>>2]=1.0;p[i+8>>2]=0.0;p[i+12>>2]=0.0;return};default:{return}}}function zCe(e,t,i){e=e|0;t=t|0;i=+i;var n=0.0,_=0.0,r=0.0,o=0.0,s=0;n=+p[e+28>>2];_=+p[e+32>>2];r=+p[e+36>>2];o=+p[t>>2];if(o>n+i){s=0;return s|0}if(o<-0.0-n-i){s=0;return s|0}n=+p[t+4>>2];if(n>_+i){s=0;return s|0}if(n<-0.0-_-i){s=0;return s|0}_=+p[t+8>>2];if(_>r+i){s=0;return s|0}s=_>=-0.0-r-i;return s|0}function HCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0;n=+p[e+28>>2];_=+p[e+32>>2];r=+p[e+36>>2];switch(i|0){case 3:{p[t>>2]=0.0;p[t+4>>2]=-1.0;p[t+8>>2]=0.0;p[t+12>>2]=-0.0-_;return};case 4:{p[t>>2]=0.0;p[t+4>>2]=0.0;p[t+8>>2]=1.0;p[t+12>>2]=-0.0-r;return};case 0:{p[t>>2]=1.0;p[t+4>>2]=0.0;p[t+8>>2]=0.0;p[t+12>>2]=-0.0-n;return};case 5:{p[t>>2]=0.0;p[t+4>>2]=0.0;p[t+8>>2]=-1.0;p[t+12>>2]=-0.0-r;return};case 1:{p[t>>2]=-1.0;p[t+4>>2]=0.0;p[t+8>>2]=0.0;p[t+12>>2]=-0.0-n;return};case 2:{p[t>>2]=0.0;p[t+4>>2]=1.0;p[t+8>>2]=0.0;p[t+12>>2]=-0.0-_;return};default:{return}}}function jCe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0;_=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0);o=_+ +p[e+28>>2];s=_+ +p[e+32>>2];a=_+ +p[e+36>>2];_=+H(+ +p[t>>2]);l=+H(+ +p[t+4>>2]);d=+H(+ +p[t+8>>2]);c=+H(+ +p[t+16>>2]);b=+H(+ +p[t+20>>2]);u=+H(+ +p[t+24>>2]);m=+H(+ +p[t+32>>2]);h=+H(+ +p[t+36>>2]);f=+H(+ +p[t+40>>2]);g=+p[t+48>>2];C=+p[t+52>>2];S=+p[t+56>>2];y=o*_+s*l+a*d;d=o*c+s*b+a*u;u=o*m+s*h+a*f;p[i>>2]=g-y;p[i+4>>2]=C-d;p[i+8>>2]=S-u;p[i+12>>2]=0.0;p[n>>2]=y+g;p[n+4>>2]=d+C;p[n+8>>2]=u+S;p[n+12>>2]=0.0;return}function XCe(e,t,i){e=e|0;t=+t;i=i|0;var n=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;n=+p[e+28>>2];_=+p[e+32>>2];o=+p[e+36>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=(n+l)*2.0;l=(_+d)*2.0;d=(o+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s))*2.0;o=t/12.0;t=l*l;l=d*d;d=c*c;p[i>>2]=o*(t+l);p[i+4>>2]=o*(d+l);p[i+8>>2]=o*(d+t);p[i+12>>2]=0.0;return}function ZCe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0);return}function QCe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function qCe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0,l=0,d=0.0,c=0,b=0.0,u=0,m=0.0,h=0.0,f=0.0,g=0.0;i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);o=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);i=e+28|0;n=e+32|0;a=e+36|0;l=e+12|0;d=(_+ +p[i>>2])/+p[l>>2];c=e+16|0;b=(o+ +p[n>>2])/+p[c>>2];u=e+20|0;m=(s+ +p[a>>2])/+p[u>>2];h=+H(+ +p[t>>2]);f=+H(+ +p[t+4>>2]);g=+H(+ +p[t+8>>2]);p[l>>2]=h;p[c>>2]=f;p[u>>2]=g;p[e+24>>2]=0.0;p[i>>2]=d*h-_;p[n>>2]=b*f-o;p[a>>2]=m*g-s;p[e+40>>2]=0.0;return}function YCe(e,t){e=e|0;t=+t;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0,l=0.0,d=0,c=0,b=0.0;i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);o=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);a=e+28|0;l=_+ +p[a>>2];d=e+32|0;_=o+ +p[d>>2];c=e+36|0;o=s+ +p[c>>2];p[e+44>>2]=t;t=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);b=o-+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);p[a>>2]=l-t;p[d>>2]=_-s;p[c>>2]=b;p[e+40>>2]=0.0;return}function JCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+28>>2]=+p[e+28>>2];p[t+32>>2]=+p[e+32>>2];p[t+36>>2]=+p[e+36>>2];p[t+40>>2]=+p[e+40>>2];p[t+12>>2]=+p[e+12>>2];p[t+16>>2]=+p[e+16>>2];p[t+20>>2]=+p[e+20>>2];p[t+24>>2]=+p[e+24>>2];p[t+44>>2]=+p[e+44>>2];return 16992}function KCe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;n=+p[t+28>>2];_=+p[t+32>>2];o=+p[t+36>>2];s=t|0;a=t;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=n+l;l=_+d;d=o+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s);o=+p[i+4>>2]>=0.0?l:-0.0-l;l=+p[i+8>>2]>=0.0?d:-0.0-d;p[e>>2]=+p[i>>2]>=0.0?c:-0.0-c;p[e+4>>2]=o;p[e+8>>2]=l;p[e+12>>2]=0.0;return}function $Ce(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0;switch(t|0){case 6:{_=t;o=2;break};case 7:{_=t;o=3;break};case 8:{_=5;o=4;break};case 9:{_=6;o=4;break};case 10:{_=7;o=5;break};case 11:{_=7;o=6;break};case 2:{_=3;o=1;break};case 3:{_=t;o=2;break};case 5:{_=t;o=1;break};case 0:{_=1;o=0;break};case 1:{_=2;o=0;break};case 4:{_=t;o=0;break};default:{_=0;o=0}}t=e;srt[r[(r[t>>2]|0)+100>>2]&511](e,o,i);srt[r[(r[t>>2]|0)+100>>2]&511](e,_,n);return}function eSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0;n=+p[e+28>>2];_=+p[e+32>>2];o=+p[e+36>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=n+l;l=_+d;d=o+ +z_t[r[(r[a>>2]|0)+44>>2]&1023](s);s=t&1;a=t>>>1&1;e=t>>>2&1;p[i>>2]=+(s^1|0)*c-+(s|0)*c;p[i+4>>2]=+(a^1|0)*l-+(a|0)*l;p[i+8>>2]=+(e^1|0)*d-+(e|0)*d;p[i+12>>2]=0.0;return}function tSe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0;_=d;d=d+48|0;o=_|0;s=_+16|0;a=_+32|0;srt[r[(r[e>>2]|0)+116>>2]&511](e,o,n);l=+p[o>>2];c=+p[o+4>>2];b=+p[o+8>>2];p[t>>2]=l;p[t+4>>2]=c;p[t+8>>2]=b;p[t+12>>2]=0.0;t=r[(r[e>>2]|0)+60>>2]|0;p[a>>2]=-0.0-l;p[a+4>>2]=-0.0-c;p[a+8>>2]=-0.0-b;p[a+12>>2]=0.0;srt[t&511](s,e,a);a=i;i=s;r[a>>2]=r[i>>2];r[a+4>>2]=r[i+4>>2];r[a+8>>2]=r[i+8>>2];r[a+12>>2]=r[i+12>>2];d=_;return}function iSe(e){e=e|0;return 17960|0}function nSe(e){e=e|0;return 60}function _Se(e){e=e|0;return}function rSe(e){e=e|0;return}function oSe(e,t){e=e|0;t=+t;p[e+12>>2]=t;return}function sSe(e){e=e|0;return+ +p[e+12>>2]}function aSe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0;HFe(e|0,t);r[e>>2]=21848;t=e+52|0;r[t>>2]=0;r[e+56>>2]=0;o=e+60|0;n[o]=i&1;i=e+61|0;n[i]=0;r[e+4>>2]=21;if(!_){return}r[9806]=(r[9806]|0)+1;_=hBe(191)|0;if((_|0)==0){s=0}else{a=-(_+4|0)&15;r[_+a>>2]=_;s=_+(a+4)|0}r[s+52>>2]=278;n[s+60|0]=0;n[s+80|0]=1;r[s+76>>2]=0;r[s+68>>2]=0;r[s+72>>2]=0;n[s+100|0]=1;r[s+96>>2]=0;r[s+88>>2]=0;r[s+92>>2]=0;n[s+120|0]=1;r[s+116>>2]=0;r[s+108>>2]=0;r[s+112>>2]=0;n[s+140|0]=1;r[s+136>>2]=0;r[s+128>>2]=0;r[s+132>>2]=0;r[s+144>>2]=0;n[s+164|0]=1;r[s+160>>2]=0;r[s+152>>2]=0;r[s+156>>2]=0;r[s+168>>2]=0;p[s+4>>2]=-3.4028234663852886e+38;p[s+8>>2]=-3.4028234663852886e+38;p[s+12>>2]=-3.4028234663852886e+38;p[s+16>>2]=0.0;p[s+20>>2]=3.4028234663852886e+38;p[s+24>>2]=3.4028234663852886e+38;p[s+28>>2]=3.4028234663852886e+38;p[s+32>>2]=0.0;r[s>>2]=25376;r[t>>2]=s;gPe(s,r[e+48>>2]|0,(n[o]&1)!=0,e+16|0,e+32|0);n[i]=1;return}function pSe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,d=0;HFe(e|0,t);r[e>>2]=21848;a=e+52|0;r[a>>2]=0;r[e+56>>2]=0;l=e+60|0;n[l]=i&1;i=e+61|0;n[i]=0;r[e+4>>2]=21;if(!s){return}r[9806]=(r[9806]|0)+1;s=hBe(191)|0;if((s|0)==0){d=0}else{e=-(s+4|0)&15;r[s+e>>2]=s;d=s+(e+4)|0}r[d+52>>2]=278;n[d+60|0]=0;n[d+80|0]=1;r[d+76>>2]=0;r[d+68>>2]=0;r[d+72>>2]=0;n[d+100|0]=1;r[d+96>>2]=0;r[d+88>>2]=0;r[d+92>>2]=0;n[d+120|0]=1;r[d+116>>2]=0;r[d+108>>2]=0;r[d+112>>2]=0;n[d+140|0]=1;r[d+136>>2]=0;r[d+128>>2]=0;r[d+132>>2]=0;r[d+144>>2]=0;n[d+164|0]=1;r[d+160>>2]=0;r[d+152>>2]=0;r[d+156>>2]=0;r[d+168>>2]=0;p[d+4>>2]=-3.4028234663852886e+38;p[d+8>>2]=-3.4028234663852886e+38;p[d+12>>2]=-3.4028234663852886e+38;p[d+16>>2]=0.0;p[d+20>>2]=3.4028234663852886e+38;p[d+24>>2]=3.4028234663852886e+38;p[d+28>>2]=3.4028234663852886e+38;p[d+32>>2]=0.0;r[d>>2]=25376;r[a>>2]=d;gPe(d,t,(n[l]&1)!=0,_,o);n[i]=1;return}function lSe(e){e=e|0;var t=0,i=0;r[e>>2]=21848;do{if((n[e+61|0]&1)!=0){t=e+52|0;i=r[t>>2]|0;jnt[r[r[i>>2]>>2]&2047](i);i=r[t>>2]|0;if((i|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-172+168>>2]|0)}if((e|0)!=0){break}return}}while(0);r[9804]=(r[9804]|0)+1;SBe(r[e-76+72>>2]|0);return}function dSe(e){e=e|0;var t=0;r[e>>2]=21848;if((n[e+61|0]&1)==0){return}t=e+52|0;e=r[t>>2]|0;jnt[r[r[e>>2]>>2]&2047](e);e=r[t>>2]|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-172+168>>2]|0);return}function cSe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;_=d;d=d+64|0;o=_|0;s=r[e+48>>2]|0;r[o>>2]=18424;r[o+4>>2]=s;r[o+8>>2]=t;Swe(r[e+52>>2]|0,o|0,i,n);d=_;return}function bSe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0.0,s=0.0,a=0.0,l=0,d=0;i=e|0;_=Knt[r[(r[e>>2]|0)+28>>2]&4095](i)|0;o=+p[_>>2]-+p[t>>2];s=+p[_+4>>2]-+p[t+4>>2];a=+p[_+8>>2]-+p[t+8>>2];if(o*o+s*s+a*a<=1.1920928955078125e-7){return}eRe(i,t);t=e+61|0;i=e+52|0;do{if((n[t]&1)!=0){_=r[i>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[i>>2]|0;if((_|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[_-172+168>>2]|0)}}while(0);r[9806]=(r[9806]|0)+1;_=hBe(191)|0;if((_|0)==0){l=0}else{d=-(_+4|0)&15;r[_+d>>2]=_;l=_+(d+4)|0}r[l+52>>2]=278;n[l+60|0]=0;n[l+80|0]=1;r[l+76>>2]=0;r[l+68>>2]=0;r[l+72>>2]=0;n[l+100|0]=1;r[l+96>>2]=0;r[l+88>>2]=0;r[l+92>>2]=0;n[l+120|0]=1;r[l+116>>2]=0;r[l+108>>2]=0;r[l+112>>2]=0;n[l+140|0]=1;r[l+136>>2]=0;r[l+128>>2]=0;r[l+132>>2]=0;r[l+144>>2]=0;n[l+164|0]=1;r[l+160>>2]=0;r[l+152>>2]=0;r[l+156>>2]=0;r[l+168>>2]=0;p[l+4>>2]=-3.4028234663852886e+38;p[l+8>>2]=-3.4028234663852886e+38;p[l+12>>2]=-3.4028234663852886e+38;p[l+16>>2]=0.0;p[l+20>>2]=3.4028234663852886e+38;p[l+24>>2]=3.4028234663852886e+38;p[l+28>>2]=3.4028234663852886e+38;p[l+32>>2]=0.0;r[l>>2]=25376;r[i>>2]=l;gPe(l,r[e+48>>2]|0,(n[e+60|0]&1)!=0,e+16|0,e+32|0);n[t]=1;return}function uSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,d=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];_=r[e+48>>2]|0;h_t[r[(r[_>>2]|0)+56>>2]&511](_,t+12|0,i)|0;p[t+52>>2]=+p[e+12>>2];_=e+52|0;do{if((r[_>>2]|0)==0){s=815}else{if(((Knt[r[(r[i>>2]|0)+52>>2]&4095](i)|0)&1|0)!=0){s=815;break}o=j_t[r[(r[n>>2]|0)+24>>2]&511](i,r[_>>2]|0)|0;if((o|0)==0){r[t+40>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,r[_>>2]|0)|0;r[t+44>>2]=0;a=r[_>>2]|0;l=Knt[r[(r[a>>2]|0)+12>>2]&4095](a|0)|0;a=h_t[r[(r[i>>2]|0)+16>>2]&511](i,l,1)|0;l=r[_>>2]|0;d=h_t[r[(r[l>>2]|0)+16>>2]&511](l|0,r[a+8>>2]|0,i)|0;Unt[r[(r[i>>2]|0)+20>>2]&255](i,a,d,1213612625,r[_>>2]|0);break}else{r[t+40>>2]=o;r[t+44>>2]=0;break}}}while(0);if((s|0)==815){r[t+40>>2]=0;r[t+44>>2]=0}s=e+56|0;do{if((r[s>>2]|0)!=0){if(((Knt[r[(r[i>>2]|0)+52>>2]&4095](i)|0)&2|0)!=0){break}e=j_t[r[(r[n>>2]|0)+24>>2]&511](i,r[s>>2]|0)|0;if((e|0)==0){r[t+48>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,r[s>>2]|0)|0;_=r[s>>2]|0;o=Knt[r[(r[_>>2]|0)+8>>2]&4095](_)|0;_=h_t[r[(r[i>>2]|0)+16>>2]&511](i,o,1)|0;o=r[s>>2]|0;d=h_t[r[(r[o>>2]|0)+12>>2]&511](o,r[_+8>>2]|0,i)|0;Unt[r[(r[i>>2]|0)+20>>2]&255](i,_,d,1346456916,r[s>>2]|0);return 16968}else{r[t+48>>2]=e;return 16968}}}while(0);r[t+48>>2]=0;return 16968}function mSe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+52|0;e=r[i>>2]|0;if((e|0)==0){return}n=Knt[r[(r[e>>2]|0)+12>>2]&4095](e|0)|0;e=h_t[r[(r[t>>2]|0)+16>>2]&511](t,n,1)|0;n=r[i>>2]|0;_=h_t[r[(r[n>>2]|0)+16>>2]&511](n|0,r[e+8>>2]|0,t)|0;Unt[r[(r[t>>2]|0)+20>>2]&255](t,e,_,1213612625,r[i>>2]|0);return}function hSe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+56|0;e=r[i>>2]|0;if((e|0)==0){return}n=Knt[r[(r[e>>2]|0)+8>>2]&4095](e)|0;e=h_t[r[(r[t>>2]|0)+16>>2]&511](t,n,1)|0;n=r[i>>2]|0;_=h_t[r[(r[n>>2]|0)+12>>2]&511](n,r[e+8>>2]|0,t)|0;Unt[r[(r[t>>2]|0)+20>>2]&255](t,e,_,1346456916,r[i>>2]|0);return}function fSe(e,t,i){e=e|0;t=t|0;i=i|0;srt[r[(r[t>>2]|0)+64>>2]&511](e,t,i);return}function gSe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function CSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0.0,A=0.0;n=d;d=d+64|0;_=n|0;a=n+16|0;c=n+24|0;b=n+32|0;u=n+40|0;m=n+56|0;h=e+4|0;f=r[h>>2]|0;H_t[r[(r[f>>2]|0)+16>>2]&63](f,_,n+8|0,a,c,b,u,n+48|0,m,t);f=r[b>>2]|0;b=ne(r[u>>2]|0,i)|0;u=f+b|0;g=u;C=r[h>>2]|0;S=C+4|0;y=C+8|0;v=C+12|0;C=u;u=r[m>>2]|0;m=2;while(1){if((u|0)==2){x=r[g+(m<<2)>>2]|0}else if((u|0)==3){x=s[C+(m<<1)>>1]|0}else{x=o[f+(m+b)|0]|0}M=(r[a>>2]|0)==0;T=r[_>>2]|0;D=ne(r[c>>2]|0,x)|0;P=T+D|0;if(M){w=+p[T+(D+4)>>2]*+p[y>>2];A=+p[T+(D+8)>>2]*+p[v>>2];p[e+12+(m<<4)>>2]=+p[P>>2]*+p[S>>2];p[e+12+(m<<4)+4>>2]=w;p[e+12+(m<<4)+8>>2]=A;p[e+12+(m<<4)+12>>2]=0.0}else{A=+l[T+(D+8)>>3]*+p[y>>2];w=+l[T+(D+16)>>3]*+p[v>>2];p[e+12+(m<<4)>>2]=+l[P>>3]*+p[S>>2];p[e+12+(m<<4)+4>>2]=A;p[e+12+(m<<4)+8>>2]=w;p[e+12+(m<<4)+12>>2]=0.0}if((m|0)>0){m=m-1|0}else{break}}m=r[e+8>>2]|0;mrt[r[(r[m>>2]|0)+8>>2]&1023](m,e+12|0,t,i);i=r[h>>2]|0;Znt[r[(r[i>>2]|0)+24>>2]&2047](i,t);d=n;return}function SSe(e){e=e|0;return}function ySe(e){e=e|0;return}function vSe(e){e=e|0;return 16760|0}function xSe(e){e=e|0;return 60}function MSe(e){e=e|0;return 0}function TSe(e,t,i){e=e|0;t=t|0;i=i|0;return}function DSe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0,o=0,s=0.0,a=0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0;n=d;d=d+16|0;_=n|0;o=r[e+52>>2]|0;s=+p[e+28+(((o+2|0)%3|0)<<2)>>2];a=_|0;p[a>>2]=s;l=_+4|0;p[l>>2]=s;c=_+8|0;p[c>>2]=s;p[_+12>>2]=0.0;b=_+(o<<2)|0;p[b>>2]=+p[e+28+(o<<2)>>2]+ +p[b>>2];s=(+p[a>>2]+.03999999910593033)*2.0;u=(+p[l>>2]+.03999999910593033)*2.0;m=(+p[c>>2]+.03999999910593033)*2.0;h=s*s;s=u*u;u=m*m;m=t*.0833333283662796;p[i>>2]=m*(s+u);p[i+4>>2]=m*(h+u);p[i+8>>2]=m*(h+s);d=n;return}function PSe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function wSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0.0,w=0.0;n=d;d=d+112|0;_=n|0;o=n+48|0;a=n+64|0;c=n+72|0;b=n+80|0;u=n+88|0;m=n+104|0;h=_|0;f=e+4|0;g=r[f>>2]|0;H_t[r[(r[g>>2]|0)+16>>2]&63](g,o,n+56|0,a,c,b,u,n+96|0,m,t);g=r[b>>2]|0;b=g+(ne(r[u>>2]|0,i)|0)|0;u=b;g=r[f>>2]|0;C=b;b=g+4|0;S=g+8|0;y=g+12|0;g=(r[m>>2]|0)==3;m=2;while(1){if(g){v=s[C+(m<<1)>>1]|0}else{v=r[u+(m<<2)>>2]|0}x=(r[a>>2]|0)==0;M=r[o>>2]|0;T=ne(r[c>>2]|0,v)|0;D=M+T|0;if(x){P=+p[M+(T+4)>>2]*+p[S>>2];w=+p[M+(T+8)>>2]*+p[y>>2];p[_+(m<<4)>>2]=+p[D>>2]*+p[b>>2];p[_+(m<<4)+4>>2]=P;p[_+(m<<4)+8>>2]=w;p[_+(m<<4)+12>>2]=0.0}else{w=+l[M+(T+8)>>3]*+p[S>>2];P=+l[M+(T+16)>>3]*+p[y>>2];p[_+(m<<4)>>2]=+l[D>>3]*+p[b>>2];p[_+(m<<4)+4>>2]=w;p[_+(m<<4)+8>>2]=P;p[_+(m<<4)+12>>2]=0.0}if((m|0)>0){m=m-1|0}else{break}}m=r[e+8>>2]|0;mrt[r[(r[m>>2]|0)+8>>2]&1023](m,h,t,i);i=r[f>>2]|0;Znt[r[(r[i>>2]|0)+24>>2]&2047](i,t);d=n;return}function ASe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function FSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0.0,w=0.0;n=d;d=d+112|0;_=n|0;o=n+48|0;a=n+64|0;c=n+72|0;b=n+80|0;u=n+88|0;m=n+104|0;h=_|0;f=e+4|0;g=r[f>>2]|0;H_t[r[(r[g>>2]|0)+16>>2]&63](g,o,n+56|0,a,c,b,u,n+96|0,m,t);g=r[b>>2]|0;b=g+(ne(r[u>>2]|0,i)|0)|0;u=b;g=r[f>>2]|0;C=b;b=g+4|0;S=g+8|0;y=g+12|0;g=(r[m>>2]|0)==3;m=2;while(1){if(g){v=s[C+(m<<1)>>1]|0}else{v=r[u+(m<<2)>>2]|0}x=(r[a>>2]|0)==0;M=r[o>>2]|0;T=ne(r[c>>2]|0,v)|0;D=M+T|0;if(x){P=+p[M+(T+4)>>2]*+p[S>>2];w=+p[M+(T+8)>>2]*+p[y>>2];p[_+(m<<4)>>2]=+p[D>>2]*+p[b>>2];p[_+(m<<4)+4>>2]=P;p[_+(m<<4)+8>>2]=w;p[_+(m<<4)+12>>2]=0.0}else{w=+l[M+(T+8)>>3]*+p[S>>2];P=+l[M+(T+16)>>3]*+p[y>>2];p[_+(m<<4)>>2]=+l[D>>3]*+p[b>>2];p[_+(m<<4)+4>>2]=w;p[_+(m<<4)+8>>2]=P;p[_+(m<<4)+12>>2]=0.0}if((m|0)>0){m=m-1|0}else{break}}m=r[e+8>>2]|0;mrt[r[(r[m>>2]|0)+8>>2]&1023](m,h,t,i);i=r[f>>2]|0;Znt[r[(r[i>>2]|0)+24>>2]&2047](i,t);d=n;return}function RSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0,v=0,x=0,M=0.0,T=0.0,D=0;n=d;d=d+32|0;_=n|0;o=n+16|0;s=e|0;a=e+4|0;l=e+8|0;c=e+12|0;vBe(e|0,0,16);b=+p[i>>2];u=+p[i+4>>2];m=+p[i+8>>2];h=b*b+u*u+m*m;if(h<9999999747378752.0e-20){f=1.0;g=0.0;C=0.0}else{S=1.0/+j(+h);f=b*S;g=u*S;C=m*S}i=t+52|0;e=r[i>>2]|0;S=+p[t+28+(((e+2|0)%3|0)<<2)>>2];vBe(_|0,0,16);p[_+(e<<2)>>2]=+p[t+28+(e<<2)>>2];e=t|0;y=t+12|0;v=t+16|0;x=t+20|0;m=S*f*+p[y>>2]+ +p[_>>2];u=S*g*+p[v>>2]+ +p[_+4>>2];b=S*C*+p[x>>2]+ +p[_+8>>2];_=t;h=+z_t[r[(r[_>>2]|0)+44>>2]&1023](e);M=m-f*h;m=u-g*h;u=b-C*h;h=C*u+(f*M+g*m);if(h>-999999984306749400.0){p[s>>2]=M;p[a>>2]=m;p[l>>2]=u;p[c>>2]=0.0;T=h}else{T=-999999984306749400.0}vBe(o|0,0,16);D=r[i>>2]|0;p[o+(D<<2)>>2]=-0.0-+p[t+28+(D<<2)>>2];h=S*f*+p[y>>2]+ +p[o>>2];u=S*g*+p[v>>2]+ +p[o+4>>2];m=S*C*+p[x>>2]+ +p[o+8>>2];S=+z_t[r[(r[_>>2]|0)+44>>2]&1023](e);M=h-f*S;h=u-g*S;u=m-C*S;if(C*u+(f*M+g*h)<=T){d=n;return}p[s>>2]=M;p[a>>2]=h;p[l>>2]=u;p[c>>2]=0.0;d=n;return}function ISe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0.0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=e+52|0;l=r[a>>2]|0;c=+p[e+28+(((l+2|0)%3|0)<<2)>>2];if((n|0)<=0){d=_;return}b=o|0;u=o+4|0;m=o+8|0;h=e|0;f=e+12|0;g=e+16|0;C=e+20|0;S=e;y=s|0;v=s+4|0;x=s+8|0;M=o;T=s;D=0;P=l;while(1){vBe(M|0,0,16);p[o+(P<<2)>>2]=+p[e+28+(P<<2)>>2];l=t+(D<<4)|0;w=t+(D<<4)+4|0;A=t+(D<<4)+8|0;F=c*+p[l>>2]*+p[f>>2]+ +p[b>>2];R=c*+p[w>>2]*+p[g>>2]+ +p[u>>2];I=c*+p[A>>2]*+p[C>>2]+ +p[m>>2];B=+z_t[r[(r[S>>2]|0)+44>>2]&1023](h);V=+p[l>>2];E=+p[w>>2];N=+p[A>>2];k=F-B*V;F=R-B*E;R=I-B*N;B=V*k+E*F+N*R;if(B>-999999984306749400.0){p[i+(D<<4)>>2]=k;p[i+(D<<4)+4>>2]=F;p[i+(D<<4)+8>>2]=R;p[i+(D<<4)+12>>2]=0.0;O=B;L=+p[l>>2];U=+p[w>>2];G=+p[A>>2]}else{O=-999999984306749400.0;L=V;U=E;G=N}vBe(T|0,0,16);W=r[a>>2]|0;p[s+(W<<2)>>2]=-0.0-+p[e+28+(W<<2)>>2];N=c*L*+p[f>>2]+ +p[y>>2];E=c*U*+p[g>>2]+ +p[v>>2];V=c*G*+p[C>>2]+ +p[x>>2];B=+z_t[r[(r[S>>2]|0)+44>>2]&1023](h);R=+p[l>>2];F=+p[w>>2];k=+p[A>>2];I=N-B*R;N=E-B*F;E=V-B*k;if(R*I+F*N+k*E>O){p[i+(D<<4)>>2]=I;p[i+(D<<4)+4>>2]=N;p[i+(D<<4)+8>>2]=E;p[i+(D<<4)+12>>2]=0.0}A=D+1|0;if((A|0)>=(n|0)){break}D=A;P=r[a>>2]|0}d=_;return}function BSe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function VSe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0.0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0;_=d;d=d+16|0;o=_|0;s=r[e+52>>2]|0;a=+p[e+28+(((s+2|0)%3|0)<<2)>>2];l=o|0;p[l>>2]=a;c=o+4|0;p[c>>2]=a;b=o+8|0;p[b>>2]=a;p[o+12>>2]=0.0;p[o+(s<<2)>>2]=a+ +p[e+28+(s<<2)>>2];s=e|0;o=e;a=+z_t[r[(r[o>>2]|0)+44>>2]&1023](s);u=+z_t[r[(r[o>>2]|0)+44>>2]&1023](s);m=+z_t[r[(r[o>>2]|0)+44>>2]&1023](s);h=a+ +p[l>>2];p[l>>2]=h;a=u+ +p[c>>2];p[c>>2]=a;u=m+ +p[b>>2];m=+H(+ +p[t>>2]);f=+H(+ +p[t+4>>2]);g=+H(+ +p[t+8>>2]);C=+H(+ +p[t+16>>2]);S=+H(+ +p[t+20>>2]);y=+H(+ +p[t+24>>2]);v=+H(+ +p[t+32>>2]);x=+H(+ +p[t+36>>2]);M=+H(+ +p[t+40>>2]);T=+p[t+48>>2];D=+p[t+52>>2];P=+p[t+56>>2];w=u*g+(m*h+f*a);f=u*y+(C*h+S*a);S=u*M+(v*h+x*a);p[i>>2]=T-w;p[i+4>>2]=D-f;p[i+8>>2]=P-S;p[i+12>>2]=0.0;p[n>>2]=T+w;p[n+4>>2]=D+f;p[n+8>>2]=P+S;p[n+12>>2]=0.0;d=_;return}function ESe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0,l=0,d=0.0,c=0,b=0.0,u=0,m=0.0,h=0.0,f=0.0,g=0.0;i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);o=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);i=e+28|0;n=e+32|0;a=e+36|0;l=e+12|0;d=(_+ +p[i>>2])/+p[l>>2];c=e+16|0;b=(o+ +p[n>>2])/+p[c>>2];u=e+20|0;m=(s+ +p[a>>2])/+p[u>>2];h=+H(+ +p[t>>2]);f=+H(+ +p[t+4>>2]);g=+H(+ +p[t+8>>2]);p[l>>2]=h;p[c>>2]=f;p[u>>2]=g;p[e+24>>2]=0.0;p[i>>2]=d*h-_;p[n>>2]=b*f-o;p[a>>2]=m*g-s;p[e+40>>2]=0.0;return}function NSe(e,t){e=e|0;t=+t;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0,l=0.0,d=0,c=0,b=0.0;i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);o=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);a=e+28|0;l=_+ +p[a>>2];d=e+32|0;_=o+ +p[d>>2];c=e+36|0;o=s+ +p[c>>2];p[e+44>>2]=t;t=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);b=o-+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);p[a>>2]=l-t;p[d>>2]=_-s;p[c>>2]=b;p[e+40>>2]=0.0;return}function kSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+28>>2]=+p[e+28>>2];p[t+32>>2]=+p[e+32>>2];p[t+36>>2]=+p[e+36>>2];p[t+40>>2]=+p[e+40>>2];p[t+12>>2]=+p[e+12>>2];p[t+16>>2]=+p[e+16>>2];p[t+20>>2]=+p[e+20>>2];p[t+24>>2]=+p[e+24>>2];p[t+44>>2]=+p[e+44>>2];r[t+52>>2]=r[e+52>>2];return 17424}function OSe(e){e=e|0;return}function LSe(e){e=e|0;return 17944|0}function USe(e){e=e|0;return}function GSe(e){e=e|0;return 16952|0}function WSe(e){e=e|0;return}function zSe(e){e=e|0;return}function HSe(e){e=e|0;return}function jSe(e,t){e=e|0;t=t|0;var i=0;e=t+1116|0;t=r[e>>2]|0;if((t|0)>0){i=0}else{r[e>>2]=0;return}do{i=i+1|0}while((i|0)<(t|0));r[e>>2]=0;return}function XSe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;e=r[t+204>>2]|0;do{if((e&4|0)==0){t=r[i+204>>2]|0;if((t&4|0)!=0){n=0;break}if((e&3|0)==0){n=1;break}n=(t&3|0)==0}else{n=0}}while(0);return n|0}function ZSe(e){e=e|0;return r[e+12>>2]|0}function QSe(e,t){e=e|0;t=t|0;return r[(r[e+20>>2]|0)+(t<<2)>>2]|0}function qSe(e){e=e|0;return r[e+20>>2]|0}function YSe(e){e=e|0;return r[e+196>>2]|0}function JSe(e){e=e|0;return r[e+196>>2]|0}function KSe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function $Se(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function eye(e){e=e|0;if((e|0)==0){return}SBe(e);return}function tye(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0;n=d;d=d+160|0;_=n|0;o=r[r[e>>2]>>2]|0;s=o;a=r[r[e+4>>2]>>2]|0;l=a;if(!(h_t[r[(r[t>>2]|0)+24>>2]&511](t,s,l)|0)){d=n;return}c=e+8|0;e=r[c>>2]|0;do{if((e|0)==0){b=drt[r[(r[t>>2]|0)+8>>2]&127](t,s,l,0)|0;r[c>>2]=b;if((b|0)!=0){u=b;break}d=n;return}else{u=e}}while(0);r[_>>2]=24e3;r[_+4>>2]=0;r[_+136>>2]=s;r[_+140>>2]=l;e=o+4|0;c=_+8|0;vBe(_+144|0,-1|0,16);r[c>>2]=r[e>>2];r[c+4>>2]=r[e+4>>2];r[c+8>>2]=r[e+8>>2];r[c+12>>2]=r[e+12>>2];e=o+20|0;c=_+24|0;r[c>>2]=r[e>>2];r[c+4>>2]=r[e+4>>2];r[c+8>>2]=r[e+8>>2];r[c+12>>2]=r[e+12>>2];e=o+36|0;c=_+40|0;r[c>>2]=r[e>>2];r[c+4>>2]=r[e+4>>2];r[c+8>>2]=r[e+8>>2];r[c+12>>2]=r[e+12>>2];e=o+52|0;o=_+56|0;r[o>>2]=r[e>>2];r[o+4>>2]=r[e+4>>2];r[o+8>>2]=r[e+8>>2];r[o+12>>2]=r[e+12>>2];e=a+4|0;o=_+72|0;r[o>>2]=r[e>>2];r[o+4>>2]=r[e+4>>2];r[o+8>>2]=r[e+8>>2];r[o+12>>2]=r[e+12>>2];e=a+20|0;o=_+88|0;r[o>>2]=r[e>>2];r[o+4>>2]=r[e+4>>2];r[o+8>>2]=r[e+8>>2];r[o+12>>2]=r[e+12>>2];e=a+36|0;o=_+104|0;r[o>>2]=r[e>>2];r[o+4>>2]=r[e+4>>2];r[o+8>>2]=r[e+8>>2];r[o+12>>2]=r[e+12>>2];e=a+52|0;a=_+120|0;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];if((r[i+8>>2]|0)==1){Unt[r[(r[u>>2]|0)+8>>2]&255](u,s,l,i,_);d=n;return}m=+k_t[r[(r[u>>2]|0)+12>>2]&127](u,s,l,i,_);_=i+12|0;if(+p[_>>2]<=m){d=n;return}p[_>>2]=m;d=n;return}function iye(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=22392;t=e+12|0;i=e+20|0;_=r[i>>2]|0;o=e+24|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+16>>2]=0;s=e;SBe(s);return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+16>>2]=0;s=e;SBe(s);return}function nye(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=22392;t=e+12|0;i=e+20|0;_=r[i>>2]|0;o=e+24|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+16>>2]=0;return}function _ye(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;_=d;d=d+16|0;o=_|0;s=_+8|0;r[9796]=(r[9796]|0)+1;a=e+4|0;if((r[a>>2]&2|0)==0){l=16024}else{c=r[t+192>>2]|0;b=+g_t[r[(r[c>>2]|0)+20>>2]&127](c,.019999999552965164);p[o>>2]=b;c=r[i+192>>2]|0;u=+g_t[r[(r[c>>2]|0)+20>>2]&127](c,.019999999552965164);p[s>>2]=u;l=b<u?o:s}u=+p[l>>2];b=+p[t+184>>2];m=+p[i+184>>2];h=b<m?b:m;l=r[e+196>>2]|0;s=l+8|0;o=r[s>>2]|0;do{if((o|0)==0){if((r[a>>2]&4|0)!=0){f=0;d=_;return f|0}r[9806]=(r[9806]|0)+1;c=hBe(1159)|0;if((c|0)==0){g=0;break}C=-(c+4|0)&15;r[c+C>>2]=c;g=c+(C+4)|0}else{C=l+12|0;c=r[C>>2]|0;r[C>>2]=r[c>>2];r[s>>2]=o-1;g=c}}while(0);o=g;r[g>>2]=1025;r[g+112>>2]=0;p[g+116>>2]=0.0;n[g+120|0]=0;vBe(g+124|0,0,28);r[g+388>>2]=0;p[g+392>>2]=0.0;n[g+396|0]=0;vBe(g+400|0,0,28);r[g+664>>2]=0;p[g+668>>2]=0.0;n[g+672|0]=0;vBe(g+676|0,0,28);r[g+940>>2]=0;p[g+944>>2]=0.0;n[g+948|0]=0;vBe(g+952|0,0,28);r[g+1108>>2]=t;r[g+1112>>2]=i;r[g+1116>>2]=0;p[g+1120>>2]=u;p[g+1124>>2]=h;i=e+12|0;r[g+1136>>2]=r[i>>2];g=r[i>>2]|0;t=e+16|0;do{if((g|0)==(r[t>>2]|0)){s=(g|0)==0?1:g<<1;if((g|0)>=(s|0)){S=g;break}if((s|0)==0){y=0;v=g}else{r[9806]=(r[9806]|0)+1;l=hBe((s<<2)+19|0)|0;if((l|0)==0){x=0}else{a=-(l+4|0)&15;r[l+a>>2]=l;x=l+(a+4)|0}y=x;v=r[i>>2]|0}a=e+20|0;if((v|0)>0){l=0;do{c=y+(l<<2)|0;if((c|0)!=0){r[c>>2]=r[(r[a>>2]|0)+(l<<2)>>2]}l=l+1|0}while((l|0)<(v|0))}l=r[a>>2]|0;c=e+24|0;if((l|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[l-4>>2]|0)}r[a>>2]=0}n[c]=1;r[a>>2]=y;r[t>>2]=s;S=r[i>>2]|0}else{S=g}}while(0);g=(r[e+20>>2]|0)+(S<<2)|0;if((g|0)==0){M=S}else{r[g>>2]=o;M=r[i>>2]|0}r[i>>2]=M+1;f=o;d=_;return f|0}function rye(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0;r[9796]=(r[9796]|0)-1;Znt[r[(r[e>>2]|0)+20>>2]&2047](e,t);i=r[t+1136>>2]|0;n=e+12|0;_=(r[n>>2]|0)-1|0;o=e+20|0;s=r[o>>2]|0;a=s+(i<<2)|0;p=r[a>>2]|0;r[a>>2]=r[s+(_<<2)>>2];r[(r[o>>2]|0)+(_<<2)>>2]=p;r[(r[(r[o>>2]|0)+(i<<2)>>2]|0)+1136>>2]=i;r[n>>2]=(r[n>>2]|0)-1;n=r[e+196>>2]|0;e=t;if((t|0)==0){return}i=r[n+16>>2]|0;do{if(i>>>0<=e>>>0){if((i+(ne(r[n>>2]|0,r[n+4>>2]|0)|0)|0)>>>0<=e>>>0){break}o=n+12|0;r[t>>2]=r[o>>2];r[o>>2]=e;o=n+8|0;r[o>>2]=(r[o>>2]|0)+1;return}}while(0);r[9804]=(r[9804]|0)+1;SBe(r[t-1140+1136>>2]|0);return}function oye(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0;_=d;d=d+8|0;o=_|0;r[o>>2]=e;r[o+4>>2]=n;n=r[e+200+((r[(r[t+192>>2]|0)+4>>2]|0)*144|0)+(r[(r[i+192>>2]|0)+4>>2]<<2)>>2]|0;e=drt[r[(r[n>>2]|0)+8>>2]&127](n,o,t,i)|0;d=_;return e|0}function sye(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;e=r[t+216>>2]|0;do{if((e|0)==5|(e|0)==2){n=r[i+216>>2]|0;if((n|0)==5|(n|0)==2){_=0}else{break}return _|0}}while(0);if((r[t+252>>2]|0)==0){_=1;return _|0}_=j_t[r[r[t>>2]>>2]&511](t,i)|0;return _|0}function aye(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0;_=d;d=d+16|0;o=_|0;r[o>>2]=21696;r[o+4>>2]=i;r[o+8>>2]=e;srt[r[(r[t>>2]|0)+48>>2]&511](t,o|0,n);d=_;return}function pye(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0;i=r[e+192>>2]|0;e=i+8|0;n=r[e>>2]|0;if((n|0)!=0){_=i+12|0;i=r[_>>2]|0;r[_>>2]=r[i>>2];r[e>>2]=n-1;o=i;return o|0}r[9806]=(r[9806]|0)+1;i=hBe(t+19|0)|0;if((i|0)==0){o=0;return o|0}t=-(i+4|0)&15;r[i+t>>2]=i;o=i+(t+4)|0;return o|0}function lye(e,t){e=e|0;t=t|0;var i=0,n=0;i=r[e+192>>2]|0;if((t|0)==0){return}e=r[i+16>>2]|0;do{if(e>>>0<=t>>>0){if((e+(ne(r[i>>2]|0,r[i+4>>2]|0)|0)|0)>>>0<=t>>>0){break}n=i+12|0;r[t>>2]=r[n>>2];r[n>>2]=t;n=i+8|0;r[n>>2]=(r[n>>2]|0)+1;return}}while(0);r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0);return}function dye(e){e=e|0;if((e|0)==0){return}SBe(e);return}function cye(e,t){e=e|0;t=t|0;var i=0;i=r[e+8>>2]|0;srt[r[i+188>>2]&511](t,i,r[e+4>>2]|0);return 0}function bye(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-256+252>>2]|0);return}function uye(e,t){e=e|0;t=t|0;return 1}function mye(e){e=e|0;return 248}function hye(e){e=e|0;return 12}function fye(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0.0,l=0,d=0,c=0,b=0.0,u=0,m=0,h=0,f=0.0,g=0,C=0,S=0.0,y=0,v=0,x=0,M=0;p[t+16>>2]=+p[e+4>>2];p[t+20>>2]=+p[e+8>>2];p[t+24>>2]=+p[e+12>>2];p[t+28>>2]=+p[e+16>>2];p[t+32>>2]=+p[e+20>>2];p[t+36>>2]=+p[e+24>>2];p[t+40>>2]=+p[e+28>>2];p[t+44>>2]=+p[e+32>>2];p[t+48>>2]=+p[e+36>>2];p[t+52>>2]=+p[e+40>>2];p[t+56>>2]=+p[e+44>>2];p[t+60>>2]=+p[e+48>>2];p[t+64>>2]=+p[e+52>>2];p[t+68>>2]=+p[e+56>>2];p[t+72>>2]=+p[e+60>>2];p[t+76>>2]=+p[e+64>>2];p[t+80>>2]=+p[e+68>>2];p[t+84>>2]=+p[e+72>>2];p[t+88>>2]=+p[e+76>>2];p[t+92>>2]=+p[e+80>>2];p[t+96>>2]=+p[e+84>>2];p[t+100>>2]=+p[e+88>>2];p[t+104>>2]=+p[e+92>>2];p[t+108>>2]=+p[e+96>>2];p[t+112>>2]=+p[e+100>>2];p[t+116>>2]=+p[e+104>>2];p[t+120>>2]=+p[e+108>>2];p[t+124>>2]=+p[e+112>>2];p[t+128>>2]=+p[e+116>>2];p[t+132>>2]=+p[e+120>>2];p[t+136>>2]=+p[e+124>>2];p[t+140>>2]=+p[e+128>>2];p[t+144>>2]=+p[e+132>>2];p[t+148>>2]=+p[e+136>>2];p[t+152>>2]=+p[e+140>>2];p[t+156>>2]=+p[e+144>>2];p[t+160>>2]=+p[e+148>>2];p[t+164>>2]=+p[e+152>>2];p[t+168>>2]=+p[e+156>>2];p[t+172>>2]=+p[e+160>>2];p[t+176>>2]=+p[e+164>>2];p[t+180>>2]=+p[e+168>>2];p[t+184>>2]=+p[e+172>>2];p[t+188>>2]=+p[e+176>>2];r[t+220>>2]=r[e+180>>2];p[t+192>>2]=+p[e+184>>2];r[t>>2]=0;n=i;r[t+4>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,r[e+192>>2]|0)|0;r[t+8>>2]=0;r[t+224>>2]=r[e+204>>2];r[t+228>>2]=r[e+208>>2];r[t+232>>2]=r[e+212>>2];_=e+216|0;o=t+236|0;r[o>>2]=r[_>>2];r[o>>2]=r[_>>2];p[t+196>>2]=+p[e+220>>2];p[t+200>>2]=+p[e+224>>2];p[t+204>>2]=+p[e+228>>2];r[t+240>>2]=r[e+232>>2];_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t+12>>2]=o;if((o|0)==0){s=e+240|0;a=+p[s>>2];l=t+208|0;d=l;p[d>>2]=a;c=e+244|0;b=+p[c>>2];u=t+212|0;m=u;p[m>>2]=b;h=e+248|0;f=+p[h>>2];g=t+216|0;C=g;p[C>>2]=f;S=+p[h>>2];p[C>>2]=S;y=e+252|0;v=r[y>>2]|0;x=t+244|0;M=x;r[M>>2]=v;return 16872}Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_);s=e+240|0;a=+p[s>>2];l=t+208|0;d=l;p[d>>2]=a;c=e+244|0;b=+p[c>>2];u=t+212|0;m=u;p[m>>2]=b;h=e+248|0;f=+p[h>>2];g=t+216|0;C=g;p[C>>2]=f;S=+p[h>>2];p[C>>2]=S;y=e+252|0;v=r[y>>2]|0;x=t+244|0;M=x;r[M>>2]=v;return 16872}function gye(e,t){e=e|0;t=t|0;var i=0,n=0;i=Knt[r[(r[e>>2]|0)+16>>2]&4095](e)|0;n=h_t[r[(r[t>>2]|0)+16>>2]&511](t,i,1)|0;i=h_t[r[(r[e>>2]|0)+20>>2]&511](e,r[n+8>>2]|0,t)|0;Unt[r[(r[t>>2]|0)+20>>2]&255](t,n,i,1245859651,e);return}function Cye(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0;n=d;d=d+96|0;_=n|0;o=n+64|0;s=n+80|0;p[_>>2]=1.0;vBe(_+4|0,0,16);p[_+20>>2]=1.0;vBe(_+24|0,0,16);p[_+40>>2]=1.0;vBe(_+44|0,0,20);mrt[r[(r[e>>2]|0)+8>>2]&1023](e,_,o,s);a=+p[s>>2];l=+p[o>>2];c=a-l;b=+p[s+4>>2];u=+p[o+4>>2];m=b-u;h=+p[s+8>>2];f=+p[o+8>>2];g=h-f;p[i>>2]=+j(+(c*c+m*m+g*g))*.5;p[t>>2]=(l+a)*.5;p[t+4>>2]=(u+b)*.5;p[t+8>>2]=(f+h)*.5;p[t+12>>2]=0.0;d=n;return}function Sye(e,t){e=e|0;t=+t;return+(+z_t[r[(r[e>>2]|0)+16>>2]&1023](e)*t)}function yye(e){e=e|0;var t=0,i=0,n=0,_=0.0,o=0.0,s=0.0,a=0.0;t=d;d=d+24|0;i=t|0;n=t+16|0;srt[r[(r[e>>2]|0)+12>>2]&511](e,i,n);_=+p[i>>2];o=+p[i+4>>2];s=+p[i+8>>2];a=+j(+(_*_+o*o+s*s));d=t;return+(a+ +p[n>>2])}function vye(e,t,i,n,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;o=o|0;s=s|0;var a=0.0,l=0,d=0.0,c=0,b=0.0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,o,s);t=s|0;a=+p[t>>2];l=s+4|0;d=+p[l>>2];c=s+8|0;b=+p[c>>2];u=o|0;m=+p[u>>2];h=o+4|0;f=+p[h>>2];g=o+8|0;C=+p[g>>2];S=+p[i>>2]*_;y=+p[i+4>>2]*_;v=+p[i+8>>2]*_;if(S>0.0){x=m;M=a+S}else{x=m+S;M=a}if(y>0.0){T=f;D=d+y}else{T=f+y;D=d}if(v>0.0){P=C;w=b+v}else{P=C+v;w=b}b=+p[n>>2];v=+p[n+4>>2];C=+p[n+8>>2];d=+j(+(b*b+v*v+C*C));C=d*+z_t[r[(r[e>>2]|0)+16>>2]&1023](e)*_;p[u>>2]=x;p[h>>2]=T;p[g>>2]=P;p[o+12>>2]=0.0;p[t>>2]=M;p[l>>2]=D;p[c>>2]=w;p[s+12>>2]=0.0;p[u>>2]=+p[u>>2]-C;p[h>>2]=+p[h>>2]-C;p[g>>2]=+p[g>>2]-C;p[t>>2]=C+ +p[t>>2];p[l>>2]=C+ +p[l>>2];p[c>>2]=C+ +p[c>>2];return}function xye(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];return 16832}function Mye(e,t){e=e|0;t=t|0;var i=0,n=0;i=Knt[r[(r[e>>2]|0)+48>>2]&4095](e)|0;n=h_t[r[(r[t>>2]|0)+16>>2]&511](t,i,1)|0;i=h_t[r[(r[e>>2]|0)+52>>2]&511](e,r[n+8>>2]|0,t)|0;Unt[r[(r[t>>2]|0)+20>>2]&255](t,n,i,1346455635,e);return}function Tye(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;r[e>>2]=24360;n[e+20|0]=1;r[e+16>>2]=0;r[e+8>>2]=0;r[e+12>>2]=0;r[e+24>>2]=t;p[e+28>>2]=0.0;r[e+32>>2]=0;r[e+36>>2]=1;p[e+40>>2]=1.0;n[e+44|0]=1;r[e+48>>2]=0;n[e+52|0]=0;n[e+53|0]=1;n[e+54|0]=1;p[e+56>>2]=.03999999910593033;n[e+60|0]=0;p[e+64>>2]=0.0;t=e+68|0;r[t>>2]=0;r[e+76>>2]=i;r[e+80>>2]=0;n[e+84|0]=1;i=Knt[r[(r[_>>2]|0)+16>>2]&4095](_)|0;r[e+72>>2]=i;r[t>>2]=i;return}function Dye(e){e=e|0;Pye(e);if((e|0)==0){return}SBe(e);return}function Pye(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;r[e>>2]=24360;t=e+8|0;i=r[t>>2]|0;_=e+16|0;o=r[_>>2]|0;if((i|0)>0){s=e+76|0;a=e+24|0;p=0;l=o;d=i;while(1){i=(r[l+(p<<2)>>2]|0)+188|0;c=r[i>>2]|0;if((c|0)==0){b=d;u=l}else{m=r[s>>2]|0;h=Knt[r[(r[m>>2]|0)+36>>2]&4095](m)|0;srt[r[(r[h>>2]|0)+40>>2]&511](h,c,r[a>>2]|0);h=r[s>>2]|0;srt[r[(r[h>>2]|0)+12>>2]&511](h,c,r[a>>2]|0);r[i>>2]=0;b=r[t>>2]|0;u=r[_>>2]|0}i=p+1|0;if((i|0)<(b|0)){p=i;l=u;d=b}else{f=u;break}}}else{f=o}o=e+20|0;if((f|0)==0){n[o]=1;r[_>>2]=0;r[t>>2]=0;g=e+12|0;r[g>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[f-4>>2]|0)}r[_>>2]=0;n[o]=1;r[_>>2]=0;r[t>>2]=0;g=e+12|0;r[g>>2]=0;return}function wye(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;o=d;d=d+96|0;s=o|0;a=o+64|0;p=o+80|0;l=e+8|0;c=r[l>>2]|0;b=e+12|0;do{if((c|0)==(r[b>>2]|0)){u=(c|0)==0?1:c<<1;if((c|0)>=(u|0)){m=c;break}if((u|0)==0){h=0;f=c}else{r[9806]=(r[9806]|0)+1;g=hBe((u<<2)+19|0)|0;if((g|0)==0){C=0}else{S=-(g+4|0)&15;r[g+S>>2]=g;C=g+(S+4)|0}h=C;f=r[l>>2]|0}S=e+16|0;if((f|0)>0){g=0;do{y=h+(g<<2)|0;if((y|0)!=0){r[y>>2]=r[(r[S>>2]|0)+(g<<2)>>2]}g=g+1|0}while((g|0)<(f|0))}g=r[S>>2]|0;y=e+20|0;if((g|0)!=0){if((n[y]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[g-4>>2]|0)}r[S>>2]=0}n[y]=1;r[S>>2]=h;r[b>>2]=u;m=r[l>>2]|0}else{m=c}}while(0);c=(r[e+16>>2]|0)+(m<<2)|0;if((c|0)==0){v=m}else{r[c>>2]=t;v=r[l>>2]|0}r[l>>2]=v+1;v=s;l=t+4|0;r[v>>2]=r[l>>2];r[v+4>>2]=r[l+4>>2];r[v+8>>2]=r[l+8>>2];r[v+12>>2]=r[l+12>>2];l=s+16|0;v=t+20|0;r[l>>2]=r[v>>2];r[l+4>>2]=r[v+4>>2];r[l+8>>2]=r[v+8>>2];r[l+12>>2]=r[v+12>>2];v=s+32|0;l=t+36|0;r[v>>2]=r[l>>2];r[v+4>>2]=r[l+4>>2];r[v+8>>2]=r[l+8>>2];r[v+12>>2]=r[l+12>>2];l=s+48|0;v=t+52|0;r[l>>2]=r[v>>2];r[l+4>>2]=r[v+4>>2];r[l+8>>2]=r[v+8>>2];r[l+12>>2]=r[v+12>>2];v=t+192|0;l=r[v>>2]|0;mrt[r[(r[l>>2]|0)+8>>2]&1023](l,s,a,p);s=r[e+76>>2]|0;r[t+188>>2]=R_t[r[(r[s>>2]|0)+8>>2]&63](s,a,p,r[(r[v>>2]|0)+4>>2]|0,t,i,_,r[e+24>>2]|0,0)|0;d=o;return}function Aye(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0,S=0,y=0.0,v=0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0;i=d;d=d+64|0;_=i|0;o=i+16|0;s=i+32|0;a=i+48|0;l=t+192|0;c=r[l>>2]|0;mrt[r[(r[c>>2]|0)+8>>2]&1023](c,t+4|0,_,o);c=_|0;b=+p[c>>2]+-.019999999552965164;p[c>>2]=b;u=_+4|0;m=+p[u>>2]+-.019999999552965164;p[u>>2]=m;h=_+8|0;f=+p[h>>2]+-.019999999552965164;p[h>>2]=f;g=o|0;C=+p[g>>2]+.019999999552965164;p[g>>2]=C;S=o+4|0;y=+p[S>>2]+.019999999552965164;p[S>>2]=y;v=o+8|0;x=+p[v>>2]+.019999999552965164;p[v>>2]=x;do{if((n[e+44|0]&1)==0){M=C;T=b;D=y;P=m;w=x;A=f}else{if((r[t+232>>2]|0)!=2){M=C;T=b;D=y;P=m;w=x;A=f;break}F=r[l>>2]|0;mrt[r[(r[F>>2]|0)+8>>2]&1023](F,t+68|0,s,a);F=s|0;R=+p[F>>2]+-.019999999552965164;p[F>>2]=R;F=s+4|0;I=+p[F>>2]+-.019999999552965164;p[F>>2]=I;F=s+8|0;B=+p[F>>2]+-.019999999552965164;p[F>>2]=B;F=a|0;V=+p[F>>2]+.019999999552965164;p[F>>2]=V;F=a+4|0;E=+p[F>>2]+.019999999552965164;p[F>>2]=E;F=a+8|0;N=+p[F>>2]+.019999999552965164;p[F>>2]=N;k=+p[c>>2];if(R<k){p[c>>2]=R;O=R}else{O=k}k=+p[u>>2];if(I<k){p[u>>2]=I;L=I}else{L=k}k=+p[h>>2];if(B<k){p[h>>2]=B;U=B}else{U=k}F=_+12|0;k=+p[s+12>>2];if(k<+p[F>>2]){p[F>>2]=k}k=+p[g>>2];if(k<V){p[g>>2]=V;G=V}else{G=k}k=+p[S>>2];if(k<E){p[S>>2]=E;W=E}else{W=k}k=+p[v>>2];if(k<N){p[v>>2]=N;z=N}else{z=k}F=o+12|0;k=+p[a+12>>2];if(+p[F>>2]>=k){M=G;T=O;D=W;P=L;w=z;A=U;break}p[F>>2]=k;M=G;T=O;D=W;P=L;w=z;A=U}}while(0);a=r[e+76>>2]|0;do{if((r[t+204>>2]&1|0)==0){U=M-T;z=D-P;L=w-A;if(U*U+z*z+L*L<999999995904.0){break}v=t+216|0;if(((r[v>>2]|0)-4|0)>>>0>=2){r[v>>2]=5}if(n[18312]|0){d=i;return}v=e+80|0;S=r[v>>2]|0;if((S|0)==0){d=i;return}n[18312]=1;Znt[r[(r[S>>2]|0)+36>>2]&2047](S,16776);S=r[v>>2]|0;Znt[r[(r[S>>2]|0)+36>>2]&2047](S,17872);S=r[v>>2]|0;Znt[r[(r[S>>2]|0)+36>>2]&2047](S,17312);S=r[v>>2]|0;Znt[r[(r[S>>2]|0)+36>>2]&2047](S,17024);d=i;return}}while(0);Unt[r[(r[a>>2]|0)+16>>2]&255](a,r[t+188>>2]|0,_,o,r[e+24>>2]|0);d=i;return}function Fye(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;t=d;d=d+16|0;i=t|0;sBe(16744);_=e+8|0;o=r[_>>2]|0;if((o|0)>0){s=e+16|0;a=e+84|0;l=0;c=o;while(1){o=r[(r[s>>2]|0)+(l<<2)>>2]|0;if((n[a]&1)==0){b=r[o+216>>2]|0;if((b|0)==5|(b|0)==2){u=c}else{m=1171}}else{m=1171}if((m|0)==1171){m=0;Aye(e,o);u=r[_>>2]|0}o=l+1|0;if((o|0)<(u|0)){l=o;c=u}else{break}}}u=r[9152]|0;c=u+16|0;l=(r[c>>2]|0)-1|0;r[c>>2]=l;if((l|0)!=0){d=t;return}do{if((r[u+4>>2]|0)==0){h=u}else{hi(i|0,0)|0;l=r[10742]|0;_=u+8|0;p[_>>2]=+(((r[i+4>>2]|0)-(r[l+4>>2]|0)+(((r[i>>2]|0)-(r[l>>2]|0)|0)*1e6|0)-(r[u+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[_>>2];if((r[c>>2]|0)==0){h=r[9152]|0;break}else{d=t;return}}}while(0);r[9152]=r[h+20>>2];d=t;return}function Rye(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0;i=t+188|0;n=r[i>>2]|0;if((n|0)!=0){_=e+76|0;o=r[_>>2]|0;s=Knt[r[(r[o>>2]|0)+36>>2]&4095](o)|0;o=e+24|0;srt[r[(r[s>>2]|0)+40>>2]&511](s,n,r[o>>2]|0);s=r[_>>2]|0;srt[r[(r[s>>2]|0)+12>>2]&511](s,n,r[o>>2]|0);r[i>>2]=0}i=e+8|0;o=r[i>>2]|0;n=e+16|0;e=0;while(1){if((e|0)>=(o|0)){a=1198;break}p=r[n>>2]|0;l=p+(e<<2)|0;if((r[l>>2]|0)==(t|0)){break}else{e=e+1|0}}if((a|0)==1198){return}a=o-1|0;r[l>>2]=r[p+(a<<2)>>2];r[(r[n>>2]|0)+(a<<2)>>2]=t;r[i>>2]=(r[i>>2]|0)-1;return}function Iye(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;t=d;d=d+48|0;i=t+8|0;n=t+16|0;_=t+40|0;sBe(16592);o=e+28|0;jnt[r[(r[e>>2]|0)+8>>2]&2047](e);sBe(16472);s=e+76|0;a=r[s>>2]|0;l=e+24|0;Znt[r[(r[a>>2]|0)+32>>2]&2047](a,r[l>>2]|0);a=r[9152]|0;e=a+16|0;c=(r[e>>2]|0)-1|0;r[e>>2]=c;do{if((c|0)==0){if((r[a+4>>2]|0)==0){b=a}else{hi(_|0,0)|0;u=r[10742]|0;m=a+8|0;p[m>>2]=+(((r[_+4>>2]|0)-(r[u+4>>2]|0)+(((r[_>>2]|0)-(r[u>>2]|0)|0)*1e6|0)-(r[a+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[m>>2];if((r[e>>2]|0)!=0){break}b=r[9152]|0}r[9152]=r[b+20>>2]}}while(0);b=r[l>>2]|0;sBe(16288);if((b|0)!=0){e=r[(r[b>>2]|0)+32>>2]|0;a=r[s>>2]|0;s=Knt[r[(r[a>>2]|0)+36>>2]&4095](a)|0;mrt[e&1023](b,s,o,r[l>>2]|0)}l=r[9152]|0;o=l+16|0;s=(r[o>>2]|0)-1|0;r[o>>2]=s;do{if((s|0)==0){if((r[l+4>>2]|0)==0){h=l}else{hi(n|0,0)|0;b=r[10742]|0;e=l+8|0;p[e>>2]=+(((r[n+4>>2]|0)-(r[b+4>>2]|0)+(((r[n>>2]|0)-(r[b>>2]|0)|0)*1e6|0)-(r[l+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[e>>2];e=r[9152]|0;if((r[o>>2]|0)==0){h=e}else{f=e;break}}e=r[h+20>>2]|0;r[9152]=e;f=e}else{f=l}}while(0);l=f+16|0;h=(r[l>>2]|0)-1|0;r[l>>2]=h;if((h|0)!=0){d=t;return}do{if((r[f+4>>2]|0)==0){g=f}else{hi(i|0,0)|0;h=r[10742]|0;o=f+8|0;p[o>>2]=+(((r[i+4>>2]|0)-(r[h+4>>2]|0)+(((r[i>>2]|0)-(r[h>>2]|0)|0)*1e6|0)-(r[f+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[o>>2];if((r[l>>2]|0)==0){g=r[9152]|0;break}else{d=t;return}}}while(0);r[9152]=r[g+20>>2];d=t;return}function Bye(e,t,i,o,s,a){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;a=a|0;var l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0.0,O=0.0,L=0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0.0,Ce=0.0,Se=0.0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0;l=d;d=d+1408|0;c=l|0;b=l+48|0;u=l+96|0;m=l+112|0;h=l+128|0;f=l+144|0;g=l+176|0;C=l+224|0;S=l+288|0;y=l+320|0;v=l+376|0;x=l+552|0;M=l+912|0;T=l+928|0;D=l+960|0;P=l+976|0;w=l+1096|0;A=l+1216|0;F=l+1232|0;R=l+1248|0;I=l+1280|0;B=l+1344|0;r[y+8>>2]=0;p[y+12>>2]=1.0;p[y+16>>2]=1.0;p[y+20>>2]=1.0;p[y+24>>2]=0.0;r[y>>2]=25528;r[y+4>>2]=8;p[y+28>>2]=0.0;p[y+44>>2]=0.0;V=r[o+4>>2]|0;if((V|0)<20){r[v>>2]=19544;E=v+164|0;r[v+168>>2]=0;p[v+172>>2]=0.0;N=a+4|0;p[E>>2]=+p[N>>2];p[x+308>>2]=9999999747378752.0e-20;_[x+332>>1]=0;r[M>>2]=21768;r[M+4>>2]=x;r[M+8>>2]=y;r[M+12>>2]=o;if(!(fFe(M,e,t,s,s,v)|0)){d=l;return}M=v+132|0;y=M|0;k=+p[y>>2];x=v+136|0;O=+p[x>>2];L=v+140|0;U=+p[L>>2];if(k*k+O*O+U*U<=9999999747378752.0e-20){d=l;return}G=+p[E>>2];if(G>=+p[N>>2]){d=l;return}W=k*+p[e>>2]+O*+p[e+4>>2]+U*+p[e+8>>2];z=k*+p[e+16>>2]+O*+p[e+20>>2]+U*+p[e+24>>2];H=k*+p[e+32>>2]+O*+p[e+36>>2]+U*+p[e+40>>2];p[v+144>>2]=0.0;U=1.0/+j(+(W*W+z*z+H*H));p[y>>2]=W*U;p[x>>2]=z*U;p[L>>2]=H*U;r[T>>2]=i;r[T+4>>2]=0;L=T+8|0;x=M;r[L>>2]=r[x>>2];r[L+4>>2]=r[x+4>>2];r[L+8>>2]=r[x+8>>2];r[L+12>>2]=r[x+12>>2];p[T+24>>2]=G;x=r[(r[a>>2]|0)+12>>2]|0;+F_t[x&127](a,T,1);d=l;return}if((V-21|0)>>>0<9){if((V|0)==21){G=+p[s>>2];U=+p[s+16>>2];H=+p[s+32>>2];z=+p[s+4>>2];W=+p[s+20>>2];O=+p[s+36>>2];k=+p[s+8>>2];X=+p[s+24>>2];Z=+p[s+40>>2];Q=-0.0-+p[s+48>>2];q=-0.0-+p[s+52>>2];Y=-0.0-+p[s+56>>2];J=G*Q+U*q+H*Y;K=z*Q+W*q+O*Y;$=k*Q+X*q+Z*Y;Y=+p[e+48>>2];q=+p[e+52>>2];Q=+p[e+56>>2];p[D>>2]=J+(G*Y+U*q+H*Q);p[D+4>>2]=K+(z*Y+W*q+O*Q);p[D+8>>2]=$+(k*Y+X*q+Z*Q);p[D+12>>2]=0.0;Q=+p[t+48>>2];q=+p[t+52>>2];Y=+p[t+56>>2];ee=J+(G*Q+U*q+H*Y);H=K+(z*Q+W*q+O*Y);O=$+(k*Q+X*q+Z*Y);T=r[a+16>>2]|0;x=P+4|0;L=D;r[x>>2]=r[L>>2];r[x+4>>2]=r[L+4>>2];r[x+8>>2]=r[L+8>>2];r[x+12>>2]=r[L+12>>2];p[P+20>>2]=ee;p[P+24>>2]=H;p[P+28>>2]=O;p[P+32>>2]=0.0;r[P+36>>2]=T;r[P>>2]=18968;r[P+44>>2]=a;r[P+48>>2]=i;r[P+52>>2]=o;T=P+56|0;L=s;r[T>>2]=r[L>>2];r[T+4>>2]=r[L+4>>2];r[T+8>>2]=r[L+8>>2];r[T+12>>2]=r[L+12>>2];L=P+72|0;T=s+16|0;r[L>>2]=r[T>>2];r[L+4>>2]=r[T+4>>2];r[L+8>>2]=r[T+8>>2];r[L+12>>2]=r[T+12>>2];T=P+88|0;L=s+32|0;r[T>>2]=r[L>>2];r[T+4>>2]=r[L+4>>2];r[T+8>>2]=r[L+8>>2];r[T+12>>2]=r[L+12>>2];L=P+104|0;T=s+48|0;r[L>>2]=r[T>>2];r[L+4>>2]=r[T+4>>2];r[L+8>>2]=r[T+8>>2];r[L+12>>2]=r[T+12>>2];p[P+40>>2]=+p[a+4>>2];T=r[o+48>>2]|0;r[h>>2]=18760;r[h+4>>2]=T;r[h+8>>2]=P;P=r[o+52>>2]|0;T=P|0;L=h|0;vBe(u|0,0,16);vBe(m|0,0,16);if((n[P+60|0]&1)==0){vwe(T,L,D,ee,H,O,u,m);d=l;return}else{xwe(T,L,D,ee,H,O,u,m,r[P+56>>2]|0);d=l;return}}P=o;O=+p[s>>2];H=+p[s+16>>2];ee=+p[s+32>>2];Y=+p[s+4>>2];Z=+p[s+20>>2];q=+p[s+36>>2];X=+p[s+8>>2];Q=+p[s+24>>2];k=+p[s+40>>2];$=-0.0-+p[s+48>>2];W=-0.0-+p[s+52>>2];z=-0.0-+p[s+56>>2];K=O*$+H*W+ee*z;U=Y*$+Z*W+q*z;G=X*$+Q*W+k*z;z=+p[e+48>>2];W=+p[e+52>>2];$=+p[e+56>>2];J=K+(O*z+H*W+ee*$);te=U+(Y*z+Z*W+q*$);ie=G+(X*z+Q*W+k*$);$=+p[t+48>>2];W=+p[t+52>>2];z=+p[t+56>>2];ne=K+(O*$+H*W+ee*z);ee=U+(Y*$+Z*W+q*z);q=G+(X*$+Q*W+k*z);m=r[a+16>>2]|0;p[w+4>>2]=J;p[w+8>>2]=te;p[w+12>>2]=ie;p[w+16>>2]=0.0;p[w+20>>2]=ne;p[w+24>>2]=ee;p[w+28>>2]=q;p[w+32>>2]=0.0;r[w+36>>2]=m;r[w>>2]=18936;r[w+44>>2]=a;r[w+48>>2]=i;r[w+52>>2]=P;m=w+56|0;u=s;r[m>>2]=r[u>>2];r[m+4>>2]=r[u+4>>2];r[m+8>>2]=r[u+8>>2];r[m+12>>2]=r[u+12>>2];u=w+72|0;m=s+16|0;r[u>>2]=r[m>>2];r[u+4>>2]=r[m+4>>2];r[u+8>>2]=r[m+8>>2];r[u+12>>2]=r[m+12>>2];m=w+88|0;u=s+32|0;r[m>>2]=r[u>>2];r[m+4>>2]=r[u+4>>2];r[m+8>>2]=r[u+8>>2];r[m+12>>2]=r[u+12>>2];u=w+104|0;m=s+48|0;r[u>>2]=r[m>>2];r[u+4>>2]=r[m+4>>2];r[u+8>>2]=r[m+8>>2];r[u+12>>2]=r[m+12>>2];p[w+40>>2]=+p[a+4>>2];m=A|0;p[m>>2]=J;u=A+4|0;p[u>>2]=te;D=A+8|0;p[D>>2]=ie;p[A+12>>2]=0.0;if(ne<J){p[m>>2]=ne}if(ee<te){p[u>>2]=ee}if(q<ie){p[D>>2]=q}D=F|0;p[D>>2]=J;u=F+4|0;p[u>>2]=te;m=F+8|0;p[m>>2]=ie;p[F+12>>2]=0.0;if(J<ne){p[D>>2]=ne}if(te<ee){p[u>>2]=ee}if(ie<q){p[m>>2]=q}mrt[r[(r[o>>2]|0)+60>>2]&1023](P,w|0,A,F);d=l;return}if((V|0)!=31){d=l;return}V=o;F=r[o+64>>2]|0;r[R>>2]=18888;A=R+4|0;r[A>>2]=i;i=R+8|0;r[i>>2]=V;w=R+12|0;r[w>>2]=s;P=R+16|0;r[P>>2]=e;m=R+20|0;r[m>>2]=t;u=R+24|0;r[u>>2]=a;if((F|0)==0){a=r[o+16>>2]|0;if((a|0)<=0){d=l;return}o=C;D=S|0;L=S+4|0;T=S+8|0;h=S+12|0;x=S+14|0;M=S+16|0;y=S+20|0;v=S+24|0;N=S|0;S=g;E=C|0;_e=C+48|0;re=C+16|0;oe=g+16|0;se=C+32|0;ae=g+32|0;pe=C+48|0;le=C+52|0;de=C+56|0;ce=C+60|0;be=0;ue=V;V=s;while(1){me=r[ue+24>>2]|0;he=r[me+(be*80|0)+64>>2]|0;gue(g,V|0,me+(be*80|0)|0);q=+p[me+(be*80|0)+48>>2];ie=+p[me+(be*80|0)+52>>2];ee=+p[me+(be*80|0)+56>>2];te=+p[V>>2]*q+ +p[V+4>>2]*ie+ +p[V+8>>2]*ee+ +p[V+48>>2];ne=+p[V+16>>2]*q+ +p[V+20>>2]*ie+ +p[V+24>>2]*ee+ +p[V+52>>2];J=+p[V+32>>2]*q+ +p[V+36>>2]*ie+ +p[V+40>>2]*ee+ +p[V+56>>2];me=E;do{me=me+16|0}while((me|0)!=(_e|0));r[o>>2]=r[S>>2];r[o+4>>2]=r[S+4>>2];r[o+8>>2]=r[S+8>>2];r[o+12>>2]=r[S+12>>2];r[re>>2]=r[oe>>2];r[re+4>>2]=r[oe+4>>2];r[re+8>>2]=r[oe+8>>2];r[re+12>>2]=r[oe+12>>2];r[se>>2]=r[ae>>2];r[se+4>>2]=r[ae+4>>2];r[se+8>>2]=r[ae+8>>2];r[se+12>>2]=r[ae+12>>2];p[pe>>2]=te;p[le>>2]=ne;p[de>>2]=J;p[ce>>2]=0.0;me=(r[A>>2]|0)+192|0;fe=r[me>>2]|0;r[me>>2]=he;me=r[u>>2]|0;p[L>>2]=1.0;r[T>>2]=0;_[h>>1]=1;_[x>>1]=-1;r[M>>2]=0;r[D>>2]=19e3;r[y>>2]=me;r[v>>2]=be;p[L>>2]=+p[me+4>>2];Bye(r[P>>2]|0,r[m>>2]|0,r[A>>2]|0,he,C,N);r[(r[A>>2]|0)+192>>2]=fe;fe=be+1|0;if((fe|0)>=(a|0)){break}be=fe;ue=r[i>>2]|0;V=r[w>>2]|0}d=l;return}w=b;V=s+48|0;ee=+p[e+48>>2]-+p[V>>2];i=s+52|0;ie=+p[e+52>>2]-+p[i>>2];ue=s+56|0;q=+p[e+56>>2]-+p[ue>>2];be=s|0;bn(b,be,e|0);e=s|0;a=s+16|0;A=s+32|0;z=+p[e>>2]*ee+ +p[a>>2]*ie+ +p[A>>2]*q;N=s+4|0;C=s+20|0;m=s+36|0;k=+p[N>>2]*ee+ +p[C>>2]*ie+ +p[m>>2]*q;P=s+8|0;L=s+24|0;v=s+40|0;W=+p[P>>2]*ee+ +p[L>>2]*ie+ +p[v>>2]*q;s=I+48|0;y=I|0;do{y=y+16|0}while((y|0)!=(s|0));s=I;r[s>>2]=r[w>>2];r[s+4>>2]=r[w+4>>2];r[s+8>>2]=r[w+8>>2];r[s+12>>2]=r[w+12>>2];w=I+16|0;s=b+16|0;r[w>>2]=r[s>>2];r[w+4>>2]=r[s+4>>2];r[w+8>>2]=r[s+8>>2];r[w+12>>2]=r[s+12>>2];s=I+32|0;w=b+32|0;r[s>>2]=r[w>>2];r[s+4>>2]=r[w+4>>2];r[s+8>>2]=r[w+8>>2];r[s+12>>2]=r[w+12>>2];p[I+48>>2]=z;p[I+52>>2]=k;p[I+56>>2]=W;p[I+60>>2]=0.0;I=c;q=+p[t+48>>2]-+p[V>>2];ie=+p[t+52>>2]-+p[i>>2];ee=+p[t+56>>2]-+p[ue>>2];bn(c,be,t|0);Q=+p[e>>2]*q+ +p[a>>2]*ie+ +p[A>>2]*ee;$=+p[N>>2]*q+ +p[C>>2]*ie+ +p[m>>2]*ee;X=+p[P>>2]*q+ +p[L>>2]*ie+ +p[v>>2]*ee;v=B+48|0;L=B|0;do{L=L+16|0}while((L|0)!=(v|0));v=B;r[v>>2]=r[I>>2];r[v+4>>2]=r[I+4>>2];r[v+8>>2]=r[I+8>>2];r[v+12>>2]=r[I+12>>2];I=B+16|0;v=c+16|0;r[I>>2]=r[v>>2];r[I+4>>2]=r[v+4>>2];r[I+8>>2]=r[v+8>>2];r[I+12>>2]=r[v+12>>2];v=B+32|0;I=c+32|0;r[v>>2]=r[I>>2];r[v+4>>2]=r[I+4>>2];r[v+8>>2]=r[I+8>>2];r[v+12>>2]=r[I+12>>2];p[B+48>>2]=Q;p[B+52>>2]=$;p[B+56>>2]=X;p[B+60>>2]=0.0;B=r[F>>2]|0;F=R|0;I=f;if((B|0)==0){d=l;return}ee=Q-z;Q=$-k;$=X-W;X=1.0/+j(+(ee*ee+Q*Q+$*$));ie=ee*X;q=Q*X;G=$*X;if(ie==0.0){ge=999999984306749400.0}else{ge=1.0/ie}if(q==0.0){Ce=999999984306749400.0}else{Ce=1.0/q}if(G==0.0){Se=999999984306749400.0}else{Se=1.0/G}v=ge<0.0|0;c=Ce<0.0|0;L=Se<0.0|0;X=ie*ee+q*Q+G*$;r[9806]=(r[9806]|0)+1;P=hBe(531)|0;if((P|0)==0){ye=0}else{m=-(P+4|0)&15;r[P+m>>2]=P;ye=P+(m+4)|0}m=0;do{P=ye+(m<<2)|0;if((P|0)!=0){r[P>>2]=0}m=m+1|0}while((m|0)<128);r[ye>>2]=B;B=f+16|0;m=f+(v<<4)|0;P=f+((v^1)<<4)|0;v=f+(c<<4)+4|0;C=f+((c^1)<<4)+4|0;c=f+(L<<4)+8|0;N=f+((L^1)<<4)+8|0;L=R;R=1;f=126;A=128;a=128;e=ye;while(1){ye=R-1|0;t=r[e+(ye<<2)>>2]|0;be=t;r[I>>2]=r[be>>2];r[I+4>>2]=r[be+4>>2];r[I+8>>2]=r[be+8>>2];r[I+12>>2]=r[be+12>>2];be=t+16|0;r[B>>2]=r[be>>2];r[B+4>>2]=r[be+4>>2];r[B+8>>2]=r[be+8>>2];r[B+12>>2]=r[be+12>>2];$=ge*(+p[m>>2]-z);G=ge*(+p[P>>2]-z);Q=Ce*(+p[v>>2]-k);q=Ce*(+p[C>>2]-k);do{if($>q|Q>G){ve=ye;xe=f;Me=A;Te=a;De=e}else{ee=Q>$?Q:$;ie=q<G?q:G;Z=Se*(+p[c>>2]-W);Y=Se*(+p[N>>2]-W);if(ee>Y|Z>ie){ve=ye;xe=f;Me=A;Te=a;De=e;break}if((Z>ee?Z:ee)>=X){ve=ye;xe=f;Me=A;Te=a;De=e;break}if((Y<ie?Y:ie)<=0.0){ve=ye;xe=f;Me=A;Te=a;De=e;break}be=t+40|0;if((r[be>>2]|0)==0){Znt[r[(r[L>>2]|0)+12>>2]&2047](F,t);ve=ye;xe=f;Me=A;Te=a;De=e;break}if((ye|0)>(f|0)){ue=A<<1;if((A|0)<(ue|0)){do{if((a|0)<(ue|0)){do{if((ue|0)==0){Pe=0}else{r[9806]=(r[9806]|0)+1;i=hBe((A<<3|4)+15|0)|0;if((i|0)==0){Pe=0;break}V=-(i+4|0)&15;r[i+V>>2]=i;Pe=i+(V+4)|0}}while(0);if((A|0)>0){V=0;do{i=Pe+(V<<2)|0;if((i|0)!=0){r[i>>2]=r[e+(V<<2)>>2]}V=V+1|0}while((V|0)<(A|0))}if((e|0)==0){we=ue;Ae=Pe;break}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0);we=ue;Ae=Pe}else{we=a;Ae=e}}while(0);V=A;while(1){i=Ae+(V<<2)|0;if((i|0)!=0){r[i>>2]=0}i=V+1|0;if((i|0)<(ue|0)){V=i}else{Fe=we;Re=Ae;break}}}else{Fe=a;Re=e}Ie=ue-2|0;Be=ue;Ve=Fe;Ee=Re}else{Ie=f;Be=A;Ve=a;Ee=e}r[Ee+(ye<<2)>>2]=r[t+36>>2];r[Ee+(R<<2)>>2]=r[be>>2];ve=R+1|0;xe=Ie;Me=Be;Te=Ve;De=Ee}}while(0);if((ve|0)==0){break}else{R=ve;f=xe;A=Me;a=Te;e=De}}if((De|0)==0){d=l;return}r[9804]=(r[9804]|0)+1;SBe(r[De-4>>2]|0);d=l;return}function Vye(e){e=e|0;return}function Eye(e,t,i,o,s,a,l,c){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;a=a|0;l=l|0;c=+c;var b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0.0,G=0.0,W=0,z=0.0,H=0.0,X=0.0,Z=0.0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0.0,Be=0,Ve=0.0,Ee=0.0,Ne=0.0,ke=0.0,Oe=0.0,Le=0.0,Ue=0.0,Ge=0.0,We=0.0,ze=0.0,He=0.0,je=0.0,Xe=0,Ze=0.0,Qe=0.0,qe=0.0,Ye=0.0,Je=0.0,Ke=0.0;b=d;d=d+1672|0;u=b|0;m=b+24|0;h=b+32|0;f=b+208|0;g=b+568|0;C=b+576|0;S=b+600|0;y=b+648|0;v=b+664|0;x=b+728|0;M=b+952|0;T=b+968|0;D=b+984|0;P=b+1160|0;w=b+1184|0;A=b+1232|0;F=b+1296|0;R=b+1520|0;I=b+1536|0;B=b+1552|0;V=b+1568|0;E=b+1584|0;N=b+1648|0;k=r[s+4>>2]|0;if((k|0)<20){r[h>>2]=19544;O=h+164|0;r[h+168>>2]=0;p[h+172>>2]=c;L=l+4|0;p[O>>2]=+p[L>>2];p[f+308>>2]=9999999747378752.0e-20;_[f+332>>1]=0;r[g>>2]=19960;r[C>>2]=20336;r[C+4>>2]=f;r[C+8>>2]=g;r[C+12>>2]=e;r[C+16>>2]=s;r[C+20>>2]=0;if(!(yxe(C,t,i,a,a,h)|0)){d=b;return}C=h+132|0;g=C|0;U=+p[g>>2];f=h+136|0;G=+p[f>>2];W=h+140|0;z=+p[W>>2];H=U*U+G*G+z*z;if(H<=9999999747378752.0e-20){d=b;return}X=+p[O>>2];if(X>=+p[L>>2]){d=b;return}Z=1.0/+j(+H);p[g>>2]=U*Z;p[f>>2]=G*Z;p[W>>2]=z*Z;r[S>>2]=o;r[S+4>>2]=0;W=S+8|0;f=C;r[W>>2]=r[f>>2];r[W+4>>2]=r[f+4>>2];r[W+8>>2]=r[f+8>>2];r[W+12>>2]=r[f+12>>2];f=S+24|0;W=h+148|0;r[f>>2]=r[W>>2];r[f+4>>2]=r[W+4>>2];r[f+8>>2]=r[W+8>>2];r[f+12>>2]=r[W+12>>2];p[S+40>>2]=X;W=r[(r[l>>2]|0)+12>>2]|0;+F_t[W&127](l,S,1);d=b;return}if((k-21|0)>>>0>=9){if((k|0)!=31){d=b;return}sBe(16160);S=s+16|0;if((r[S>>2]|0)>0){W=s+24|0;f=a|0;h=a+4|0;C=a+8|0;g=a+16|0;L=a+20|0;O=a+24|0;Q=a+32|0;q=a+36|0;Y=a+40|0;J=a+48|0;K=a+52|0;$=a+56|0;ee=E|0;te=E+4|0;ie=E+8|0;ne=E+12|0;_e=E+16|0;re=E+20|0;oe=E+24|0;se=E+28|0;ae=E+32|0;pe=E+36|0;le=E+40|0;de=E+44|0;ce=E+48|0;be=E+52|0;ue=E+56|0;me=E+60|0;he=o+192|0;fe=N|0;ge=N+4|0;Ce=N+8|0;Se=N+10|0;ye=N+12|0;ve=N+16|0;xe=l+4|0;Me=N|0;N=r[he>>2]|0;Te=0;do{De=r[W>>2]|0;X=+p[De+(Te*80|0)>>2];Z=+p[De+(Te*80|0)+4>>2];z=+p[De+(Te*80|0)+8>>2];G=+p[De+(Te*80|0)+16>>2];U=+p[De+(Te*80|0)+20>>2];H=+p[De+(Te*80|0)+24>>2];Pe=+p[De+(Te*80|0)+32>>2];we=+p[De+(Te*80|0)+36>>2];Ae=+p[De+(Te*80|0)+40>>2];Fe=+p[De+(Te*80|0)+48>>2];Re=+p[De+(Te*80|0)+52>>2];Ie=+p[De+(Te*80|0)+56>>2];Be=r[De+(Te*80|0)+64>>2]|0;Ve=+p[f>>2];Ee=+p[h>>2];Ne=+p[C>>2];ke=+p[g>>2];Oe=+p[L>>2];Le=+p[O>>2];Ue=+p[Q>>2];Ge=+p[q>>2];We=+p[Y>>2];ze=Fe*Ve+Re*Ee+Ie*Ne+ +p[J>>2];He=Fe*ke+Re*Oe+Ie*Le+ +p[K>>2];je=Fe*Ue+Re*Ge+Ie*We+ +p[$>>2];p[ee>>2]=X*Ve+G*Ee+Pe*Ne;p[te>>2]=Z*Ve+U*Ee+we*Ne;p[ie>>2]=z*Ve+H*Ee+Ae*Ne;p[ne>>2]=0.0;p[_e>>2]=X*ke+G*Oe+Pe*Le;p[re>>2]=Z*ke+U*Oe+we*Le;p[oe>>2]=z*ke+H*Oe+Ae*Le;p[se>>2]=0.0;p[ae>>2]=X*Ue+G*Ge+Pe*We;p[pe>>2]=Z*Ue+U*Ge+we*We;p[le>>2]=z*Ue+H*Ge+Ae*We;p[de>>2]=0.0;p[ce>>2]=ze;p[be>>2]=He;p[ue>>2]=je;p[me>>2]=0.0;r[he>>2]=Be;_[Ce>>1]=1;_[Se>>1]=-1;r[fe>>2]=18856;r[ye>>2]=l;r[ve>>2]=Te;p[ge>>2]=+p[xe>>2];Eye(e,t,i,o,Be,E,Me,c);r[he>>2]=N;Te=Te+1|0}while((Te|0)<(r[S>>2]|0))}S=r[9152]|0;Te=S+16|0;N=(r[Te>>2]|0)-1|0;r[Te>>2]=N;if((N|0)!=0){d=b;return}do{if((r[S+4>>2]|0)==0){Xe=S}else{hi(m|0,0)|0;N=r[10742]|0;he=S+8|0;p[he>>2]=+(((r[m+4>>2]|0)-(r[N+4>>2]|0)+(((r[m>>2]|0)-(r[N>>2]|0)|0)*1e6|0)-(r[S+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[he>>2];if((r[Te>>2]|0)==0){Xe=r[9152]|0;break}else{d=b;return}}}while(0);r[9152]=r[Xe+20>>2];d=b;return}if((k|0)==21){je=+p[a>>2];He=+p[a+16>>2];ze=+p[a+32>>2];We=+p[a+4>>2];Ae=+p[a+20>>2];Ge=+p[a+36>>2];H=+p[a+8>>2];Ue=+p[a+24>>2];z=+p[a+40>>2];we=-0.0-+p[a+48>>2];U=-0.0-+p[a+52>>2];Z=-0.0-+p[a+56>>2];Pe=je*we+He*U+ze*Z;G=We*we+Ae*U+Ge*Z;X=H*we+Ue*U+z*Z;Z=+p[t+48>>2];U=+p[t+52>>2];we=+p[t+56>>2];p[y>>2]=Pe+(je*Z+He*U+ze*we);p[y+4>>2]=G+(We*Z+Ae*U+Ge*we);p[y+8>>2]=X+(H*Z+Ue*U+z*we);p[y+12>>2]=0.0;we=+p[i+48>>2];U=+p[i+52>>2];Z=+p[i+56>>2];Le=Pe+(je*we+He*U+ze*Z);Pe=G+(We*we+Ae*U+Ge*Z);G=X+(H*we+Ue*U+z*Z);Z=+p[i>>2];U=+p[i+16>>2];we=+p[i+32>>2];X=+p[i+4>>2];Oe=+p[i+20>>2];ke=+p[i+36>>2];Ne=+p[i+8>>2];Ee=+p[i+24>>2];Ve=+p[i+40>>2];p[v>>2]=je*Z+He*U+ze*we;p[v+4>>2]=je*X+He*Oe+ze*ke;p[v+8>>2]=je*Ne+He*Ee+ze*Ve;p[v+12>>2]=0.0;p[v+16>>2]=We*Z+Ae*U+Ge*we;p[v+20>>2]=We*X+Ae*Oe+Ge*ke;p[v+24>>2]=We*Ne+Ae*Ee+Ge*Ve;p[v+28>>2]=0.0;p[v+32>>2]=H*Z+Ue*U+z*we;p[v+36>>2]=H*X+Ue*Oe+z*ke;p[v+40>>2]=H*Ne+Ue*Ee+z*Ve;vBe(v+44|0,0,20);Ve=+z_t[r[(r[s>>2]|0)+44>>2]&1023](s);r[x+4>>2]=e;Xe=x+8|0;Te=t;r[Xe>>2]=r[Te>>2];r[Xe+4>>2]=r[Te+4>>2];r[Xe+8>>2]=r[Te+8>>2];r[Xe+12>>2]=r[Te+12>>2];Te=x+24|0;Xe=t+16|0;r[Te>>2]=r[Xe>>2];r[Te+4>>2]=r[Xe+4>>2];r[Te+8>>2]=r[Xe+8>>2];r[Te+12>>2]=r[Xe+12>>2];Xe=x+40|0;Te=t+32|0;r[Xe>>2]=r[Te>>2];r[Xe+4>>2]=r[Te+4>>2];r[Xe+8>>2]=r[Te+8>>2];r[Xe+12>>2]=r[Te+12>>2];Te=x+56|0;Xe=t+48|0;r[Te>>2]=r[Xe>>2];r[Te+4>>2]=r[Xe+4>>2];r[Te+8>>2]=r[Xe+8>>2];r[Te+12>>2]=r[Xe+12>>2];Xe=x+72|0;Te=i;r[Xe>>2]=r[Te>>2];r[Xe+4>>2]=r[Te+4>>2];r[Xe+8>>2]=r[Te+8>>2];r[Xe+12>>2]=r[Te+12>>2];Te=x+88|0;Xe=i+16|0;r[Te>>2]=r[Xe>>2];r[Te+4>>2]=r[Xe+4>>2];r[Te+8>>2]=r[Xe+8>>2];r[Te+12>>2]=r[Xe+12>>2];Xe=x+104|0;Te=i+32|0;r[Xe>>2]=r[Te>>2];r[Xe+4>>2]=r[Te+4>>2];r[Xe+8>>2]=r[Te+8>>2];r[Xe+12>>2]=r[Te+12>>2];Te=x+120|0;Xe=i+48|0;r[Te>>2]=r[Xe>>2];r[Te+4>>2]=r[Xe+4>>2];r[Te+8>>2]=r[Xe+8>>2];r[Te+12>>2]=r[Xe+12>>2];Xe=x+136|0;Te=a;r[Xe>>2]=r[Te>>2];r[Xe+4>>2]=r[Te+4>>2];r[Xe+8>>2]=r[Te+8>>2];r[Xe+12>>2]=r[Te+12>>2];Te=x+152|0;Xe=a+16|0;r[Te>>2]=r[Xe>>2];r[Te+4>>2]=r[Xe+4>>2];r[Te+8>>2]=r[Xe+8>>2];r[Te+12>>2]=r[Xe+12>>2];Xe=x+168|0;Te=a+32|0;r[Xe>>2]=r[Te>>2];r[Xe+4>>2]=r[Te+4>>2];r[Xe+8>>2]=r[Te+8>>2];r[Xe+12>>2]=r[Te+12>>2];Te=x+184|0;Xe=a+48|0;r[Te>>2]=r[Xe>>2];r[Te+4>>2]=r[Xe+4>>2];r[Te+8>>2]=r[Xe+8>>2];r[Te+12>>2]=r[Xe+12>>2];p[x+204>>2]=Ve;r[x>>2]=18824;r[x+212>>2]=l;r[x+216>>2]=o;r[x+220>>2]=s;p[x+200>>2]=+p[l+4>>2];p[x+208>>2]=c;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,v,M,T);v=r[s+48>>2]|0;r[u>>2]=18728;r[u+4>>2]=v;r[u+8>>2]=x;x=r[s+52>>2]|0;v=x|0;Xe=u|0;if((n[x+60|0]&1)==0){vwe(v,Xe,y,Le,Pe,G,M,T);d=b;return}else{xwe(v,Xe,y,Le,Pe,G,M,T,r[x+56>>2]|0);d=b;return}}else if((k|0)==28){r[D>>2]=19544;k=D+164|0;r[D+168>>2]=0;p[D+172>>2]=c;x=l+4|0;p[k>>2]=+p[x>>2];r[P>>2]=20336;r[P+4>>2]=0;r[P+8>>2]=0;r[P+12>>2]=e;r[P+16>>2]=0;r[P+20>>2]=s;if(!(yxe(P,t,i,a,a,D)|0)){d=b;return}P=D+132|0;T=P|0;G=+p[T>>2];M=D+136|0;Pe=+p[M>>2];y=D+140|0;Le=+p[y>>2];Ve=G*G+Pe*Pe+Le*Le;if(Ve<=9999999747378752.0e-20){d=b;return}z=+p[k>>2];if(z>=+p[x>>2]){d=b;return}Ee=1.0/+j(+Ve);p[T>>2]=G*Ee;p[M>>2]=Pe*Ee;p[y>>2]=Le*Ee;r[w>>2]=o;r[w+4>>2]=0;y=w+8|0;M=P;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=w+24|0;y=D+148|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];p[w+40>>2]=z;+F_t[r[(r[l>>2]|0)+12>>2]&127](l,w,1);d=b;return}else{w=s;z=+p[a>>2];Ee=+p[a+16>>2];Le=+p[a+32>>2];Pe=+p[a+4>>2];G=+p[a+20>>2];Ve=+p[a+36>>2];Ue=+p[a+8>>2];Ne=+p[a+24>>2];H=+p[a+40>>2];ke=-0.0-+p[a+48>>2];Oe=-0.0-+p[a+52>>2];X=-0.0-+p[a+56>>2];we=z*ke+Ee*Oe+Le*X;U=Pe*ke+G*Oe+Ve*X;Z=Ue*ke+Ne*Oe+H*X;X=+p[t+48>>2];Oe=+p[t+52>>2];ke=+p[t+56>>2];Ge=we+(z*X+Ee*Oe+Le*ke);Ae=U+(Pe*X+G*Oe+Ve*ke);We=Z+(Ue*X+Ne*Oe+H*ke);ke=+p[i+48>>2];Oe=+p[i+52>>2];X=+p[i+56>>2];ze=we+(z*ke+Ee*Oe+Le*X);we=U+(Pe*ke+G*Oe+Ve*X);U=Z+(Ue*ke+Ne*Oe+H*X);X=+p[i>>2];Oe=+p[i+16>>2];ke=+p[i+32>>2];Z=+p[i+4>>2];He=+p[i+20>>2];je=+p[i+36>>2];Ie=+p[i+8>>2];Re=+p[i+24>>2];Fe=+p[i+40>>2];p[A>>2]=z*X+Ee*Oe+Le*ke;p[A+4>>2]=z*Z+Ee*He+Le*je;p[A+8>>2]=z*Ie+Ee*Re+Le*Fe;p[A+12>>2]=0.0;p[A+16>>2]=Pe*X+G*Oe+Ve*ke;p[A+20>>2]=Pe*Z+G*He+Ve*je;p[A+24>>2]=Pe*Ie+G*Re+Ve*Fe;p[A+28>>2]=0.0;p[A+32>>2]=Ue*X+Ne*Oe+H*ke;p[A+36>>2]=Ue*Z+Ne*He+H*je;p[A+40>>2]=Ue*Ie+Ne*Re+H*Fe;vBe(A+44|0,0,20);Fe=+z_t[r[(r[s>>2]|0)+44>>2]&1023](w);r[F+4>>2]=e;y=F+8|0;M=t;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=F+24|0;y=t+16|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];y=F+40|0;M=t+32|0;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=F+56|0;y=t+48|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];y=F+72|0;M=i;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=F+88|0;y=i+16|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];y=F+104|0;M=i+32|0;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=F+120|0;y=i+48|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];y=F+136|0;M=a;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=F+152|0;y=a+16|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];y=F+168|0;M=a+32|0;r[y>>2]=r[M>>2];r[y+4>>2]=r[M+4>>2];r[y+8>>2]=r[M+8>>2];r[y+12>>2]=r[M+12>>2];M=F+184|0;y=a+48|0;r[M>>2]=r[y>>2];r[M+4>>2]=r[y+4>>2];r[M+8>>2]=r[y+8>>2];r[M+12>>2]=r[y+12>>2];p[F+204>>2]=Fe;r[F>>2]=18792;r[F+212>>2]=l;r[F+216>>2]=o;r[F+220>>2]=w;p[F+200>>2]=+p[l+4>>2];p[F+208>>2]=c;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,A,R,I);A=B|0;p[A>>2]=Ge;e=B+4|0;p[e>>2]=Ae;l=B+8|0;p[l>>2]=We;p[B+12>>2]=0.0;if(ze<Ge){p[A>>2]=ze;Ze=ze}else{Ze=Ge}if(we<Ae){p[e>>2]=we;Qe=we}else{Qe=Ae}if(U<We){p[l>>2]=U;qe=U}else{qe=We}o=V|0;p[o>>2]=Ge;y=V+4|0;p[y>>2]=Ae;M=V+8|0;p[M>>2]=We;p[V+12>>2]=0.0;if(Ge<ze){p[o>>2]=ze;Ye=ze}else{Ye=Ge}if(Ae<we){p[y>>2]=we;Je=we}else{Je=Ae}if(We<U){p[M>>2]=U;Ke=U}else{Ke=We}p[A>>2]=+p[R>>2]+Ze;p[e>>2]=+p[R+4>>2]+Qe;p[l>>2]=+p[R+8>>2]+qe;p[o>>2]=+p[I>>2]+Ye;p[y>>2]=+p[I+4>>2]+Je;p[M>>2]=+p[I+8>>2]+Ke;mrt[r[(r[s>>2]|0)+60>>2]&1023](w,F|0,B,V);d=b;return}}function Nye(e){e=e|0;return}function kye(e){e=e|0;return}function Oye(e){e=e|0;return}function Lye(e){e=e|0;return}function Uye(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0;_=d;d=d+256|0;o=_|0;s=_+224|0;a=_+240|0;r[o>>2]=22856;l=o+36|0;c=l;b=t;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];b=o+52|0;u=b;m=i;r[u>>2]=r[m>>2];r[u+4>>2]=r[m+4>>2];r[u+8>>2]=r[m+8>>2];r[u+12>>2]=r[m+12>>2];r[o+212>>2]=e;r[o+216>>2]=n;p[o+68>>2]=1.0;vBe(o+72|0,0,16);p[o+88>>2]=1.0;vBe(o+92|0,0,16);p[o+108>>2]=1.0;r[o+112>>2]=0;n=o+116|0;r[n>>2]=r[c>>2];r[n+4>>2]=r[c+4>>2];r[n+8>>2]=r[c+8>>2];r[n+12>>2]=r[c+12>>2];p[o+132>>2]=1.0;vBe(o+136|0,0,16);p[o+152>>2]=1.0;vBe(o+156|0,0,16);p[o+172>>2]=1.0;r[o+176>>2]=0;c=o+180|0;r[c>>2]=r[m>>2];r[c+4>>2]=r[m+4>>2];r[c+8>>2]=r[m+8>>2];r[c+12>>2]=r[m+12>>2];h=+p[i>>2]-+p[t>>2];f=+p[i+4>>2]-+p[t+4>>2];g=+p[i+8>>2]-+p[t+8>>2];C=1.0/+j(+(h*h+f*f+g*g));S=h*C;h=f*C;f=g*C;if(S==0.0){y=999999984306749400.0}else{y=1.0/S}p[o+4>>2]=y;if(h==0.0){v=999999984306749400.0}else{v=1.0/h}p[o+8>>2]=v;if(f==0.0){x=999999984306749400.0}else{x=1.0/f}p[o+12>>2]=x;r[o+20>>2]=y<0.0;r[o+24>>2]=v<0.0;r[o+28>>2]=x<0.0;p[o+32>>2]=S*(+p[b>>2]-+p[l>>2])+h*(+p[o+56>>2]-+p[o+40>>2])+f*(+p[o+60>>2]-+p[o+44>>2]);l=r[e+76>>2]|0;e=r[(r[l>>2]|0)+24>>2]|0;vBe(s|0,0,16);vBe(a|0,0,16);M_t[e&127](l,t,i,o|0,s,a);d=_;return}function Gye(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=+o;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,X=0.0,Z=0;s=d;d=d+512|0;a=s+8|0;l=s+16|0;c=s+32|0;b=s+40|0;u=s+104|0;m=s+168|0;h=s+184|0;f=s+200|0;g=s+216|0;C=s+232|0;S=s+296|0;y=s+312|0;sBe(16032);v=b;x=i;r[v>>2]=r[x>>2];r[v+4>>2]=r[x+4>>2];r[v+8>>2]=r[x+8>>2];r[v+12>>2]=r[x+12>>2];v=b+16|0;M=i+16|0;r[v>>2]=r[M>>2];r[v+4>>2]=r[M+4>>2];r[v+8>>2]=r[M+8>>2];r[v+12>>2]=r[M+12>>2];v=b+32|0;T=i+32|0;r[v>>2]=r[T>>2];r[v+4>>2]=r[T+4>>2];r[v+8>>2]=r[T+8>>2];r[v+12>>2]=r[T+12>>2];v=b+48|0;D=v;P=i+48|0;r[D>>2]=r[P>>2];r[D+4>>2]=r[P+4>>2];r[D+8>>2]=r[P+8>>2];r[D+12>>2]=r[P+12>>2];D=u;i=n;r[D>>2]=r[i>>2];r[D+4>>2]=r[i+4>>2];r[D+8>>2]=r[i+8>>2];r[D+12>>2]=r[i+12>>2];D=u+16|0;w=n+16|0;r[D>>2]=r[w>>2];r[D+4>>2]=r[w+4>>2];r[D+8>>2]=r[w+8>>2];r[D+12>>2]=r[w+12>>2];D=u+32|0;A=n+32|0;r[D>>2]=r[A>>2];r[D+4>>2]=r[A+4>>2];r[D+8>>2]=r[A+8>>2];r[D+12>>2]=r[A+12>>2];D=u+48|0;F=D;R=n+48|0;r[F>>2]=r[R>>2];r[F+4>>2]=r[R+4>>2];r[F+8>>2]=r[R+8>>2];r[F+12>>2]=r[R+12>>2];tme(b,u,l,c);I=+p[c>>2];B=I*+p[l+4>>2];V=I*+p[l+8>>2];p[f>>2]=+p[l>>2]*I;p[f+4>>2]=B;p[f+8>>2]=V;p[f+12>>2]=0.0;vBe(g|0,0,16);l=C+4|0;c=l;r[c>>2]=0;r[c+4>>2]=0;c=C+24|0;u=c;r[u>>2]=0;r[u+4>>2]=0;u=C+44|0;vBe(u|0,0,20);mn(b|0,S);V=+p[S>>2];B=+p[S+4>>2];I=+p[S+8>>2];E=+p[S+12>>2];N=2.0/(V*V+B*B+I*I+E*E);k=V*N;O=B*N;L=I*N;N=E*k;U=E*O;G=E*L;E=V*k;k=V*O;W=V*L;V=B*O;O=B*L;B=I*L;p[C>>2]=1.0-(V+B);p[l>>2]=k-G;p[C+8>>2]=W+U;p[C+12>>2]=0.0;p[C+16>>2]=k+G;p[C+20>>2]=1.0-(E+B);p[c>>2]=O-N;p[C+28>>2]=0.0;p[C+32>>2]=W-U;p[C+36>>2]=O+N;p[C+40>>2]=1.0-(E+V);p[u>>2]=0.0;vye(t|0,C,g,f,1.0,m,h);r[y>>2]=22144;f=y+36|0;r[f>>2]=r[x>>2];r[f+4>>2]=r[x+4>>2];r[f+8>>2]=r[x+8>>2];r[f+12>>2]=r[x+12>>2];x=y+52|0;r[x>>2]=r[M>>2];r[x+4>>2]=r[M+4>>2];r[x+8>>2]=r[M+8>>2];r[x+12>>2]=r[M+12>>2];M=y+68|0;r[M>>2]=r[T>>2];r[M+4>>2]=r[T+4>>2];r[M+8>>2]=r[T+8>>2];r[M+12>>2]=r[T+12>>2];T=y+84|0;M=T;r[M>>2]=r[P>>2];r[M+4>>2]=r[P+4>>2];r[M+8>>2]=r[P+8>>2];r[M+12>>2]=r[P+12>>2];P=y+100|0;r[P>>2]=r[i>>2];r[P+4>>2]=r[i+4>>2];r[P+8>>2]=r[i+8>>2];r[P+12>>2]=r[i+12>>2];i=y+116|0;r[i>>2]=r[w>>2];r[i+4>>2]=r[w+4>>2];r[i+8>>2]=r[w+8>>2];r[i+12>>2]=r[w+12>>2];w=y+132|0;r[w>>2]=r[A>>2];r[w+4>>2]=r[A+4>>2];r[w+8>>2]=r[A+8>>2];r[w+12>>2]=r[A+12>>2];A=y+148|0;w=A;r[w>>2]=r[R>>2];r[w+4>>2]=r[R+4>>2];r[w+8>>2]=r[R+8>>2];r[w+12>>2]=r[R+12>>2];r[y+180>>2]=e;r[y+184>>2]=_;p[y+188>>2]=o;r[y+192>>2]=t;o=+p[A>>2]-+p[T>>2];V=+p[y+152>>2]-+p[y+88>>2];E=+p[y+156>>2]-+p[y+92>>2];N=1.0/+j(+(o*o+V*V+E*E));O=o*N;U=V*N;W=E*N;if(O==0.0){z=999999984306749400.0}else{z=1.0/O}p[y+4>>2]=z;if(U==0.0){H=999999984306749400.0}else{H=1.0/U}p[y+8>>2]=H;if(W==0.0){X=999999984306749400.0}else{X=1.0/W}p[y+12>>2]=X;r[y+20>>2]=z<0.0;r[y+24>>2]=H<0.0;r[y+28>>2]=X<0.0;p[y+32>>2]=E*W+(o*O+V*U);T=r[e+76>>2]|0;M_t[r[(r[T>>2]|0)+24>>2]&127](T,v,D,y|0,m,h);h=r[9152]|0;m=h+16|0;y=(r[m>>2]|0)-1|0;r[m>>2]=y;if((y|0)!=0){d=s;return}do{if((r[h+4>>2]|0)==0){Z=h}else{hi(a|0,0)|0;y=r[10742]|0;D=h+8|0;p[D>>2]=+(((r[a+4>>2]|0)-(r[y+4>>2]|0)+(((r[a>>2]|0)-(r[y>>2]|0)|0)*1e6|0)-(r[h+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +p[D>>2];if((r[m>>2]|0)==0){Z=r[9152]|0;break}else{d=s;return}}}while(0);r[9152]=r[Z+20>>2];d=s;return}function Wye(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0.0,I=0,B=0,V=0.0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0.0,Be=0.0,Ve=0.0,Ee=0,Ne=0,ke=0.0,Oe=0.0,Le=0.0;_=d;d=d+576|0;o=_|0;s=_+64|0;a=_+80|0;l=_+96|0;c=_+160|0;b=_+176|0;u=_+192|0;m=_+208|0;h=_+304|0;f=_+320|0;g=_+336|0;C=_+432|0;S=_+448|0;y=_+464|0;v=_+480|0;x=_+496|0;M=_+512|0;T=_+528|0;D=_+544|0;P=_+560|0;w=e;A=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;crt[r[(r[A>>2]|0)+56>>2]&255](A,t,1.0);A=i+4|0;F=r[A>>2]|0;switch(F|0){case 28:{R=+p[i+64>>2];I=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;znt[r[(r[I>>2]|0)+88>>2]&63](I,i+48|0,R,t,n);d=_;return};case 8:{R=+z_t[r[(r[i>>2]|0)+44>>2]&1023](i);I=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;W_t[r[(r[I>>2]|0)+16>>2]&63](I,R,t,n);d=_;return};case 10:{I=i;B=r[i+52>>2]|0;R=+p[I+28+(((B+2|0)%3|0)<<2)>>2];V=+p[I+28+(B<<2)>>2];I=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;a_t[r[(r[I>>2]|0)+76>>2]&63](I,R,V,B,t,n);d=_;return};case 31:{B=r[i+16>>2]|0;if((B|0)<=0){d=_;return}I=i+24|0;E=e;N=t|0;k=t+4|0;O=t+8|0;L=t+16|0;U=t+20|0;G=t+24|0;W=t+32|0;z=t+36|0;H=t+40|0;j=t+48|0;X=t+52|0;Z=t+56|0;Q=o|0;q=o+4|0;Y=o+8|0;J=o+12|0;K=o+16|0;$=o+20|0;ee=o+24|0;te=o+28|0;ie=o+32|0;ne=o+36|0;_e=o+40|0;re=o+44|0;oe=o+48|0;se=o+52|0;ae=o+56|0;pe=o+60|0;le=B;do{le=le-1|0;B=r[I>>2]|0;V=+p[B+(le*80|0)>>2];R=+p[B+(le*80|0)+4>>2];de=+p[B+(le*80|0)+8>>2];ce=+p[B+(le*80|0)+16>>2];be=+p[B+(le*80|0)+20>>2];ue=+p[B+(le*80|0)+24>>2];me=+p[B+(le*80|0)+32>>2];he=+p[B+(le*80|0)+36>>2];fe=+p[B+(le*80|0)+40>>2];ge=+p[B+(le*80|0)+48>>2];Ce=+p[B+(le*80|0)+52>>2];Se=+p[B+(le*80|0)+56>>2];ye=r[B+(le*80|0)+64>>2]|0;B=r[(r[E>>2]|0)+24>>2]|0;ve=+p[N>>2];xe=+p[k>>2];Me=+p[O>>2];Te=+p[L>>2];De=+p[U>>2];Pe=+p[G>>2];we=+p[W>>2];Ae=+p[z>>2];Fe=+p[H>>2];Re=ge*ve+Ce*xe+Se*Me+ +p[j>>2];Ie=ge*Te+Ce*De+Se*Pe+ +p[X>>2];Be=ge*we+Ce*Ae+Se*Fe+ +p[Z>>2];p[Q>>2]=V*ve+ce*xe+me*Me;p[q>>2]=R*ve+be*xe+he*Me;p[Y>>2]=de*ve+ue*xe+fe*Me;p[J>>2]=0.0;p[K>>2]=V*Te+ce*De+me*Pe;p[$>>2]=R*Te+be*De+he*Pe;p[ee>>2]=de*Te+ue*De+fe*Pe;p[te>>2]=0.0;p[ie>>2]=V*we+ce*Ae+me*Fe;p[ne>>2]=R*we+be*Ae+he*Fe;p[_e>>2]=de*we+ue*Ae+fe*Fe;p[re>>2]=0.0;p[oe>>2]=Re;p[se>>2]=Ie;p[ae>>2]=Be;p[pe>>2]=0.0;mrt[B&1023](e,o,ye,n)}while((le|0)>0);d=_;return};case 11:{Be=+p[i+56>>2];Ie=+p[i+60>>2];le=r[i+68>>2]|0;o=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;a_t[r[(r[o>>2]|0)+84>>2]&63](o,Be,Ie,le,t,n);d=_;return};case 9:{le=r[i+92>>2]|0;if((le|0)<=0){d=_;return}o=i+100|0;pe=i+120|0;ae=t|0;se=t+4|0;oe=t+8|0;re=t+16|0;_e=t+20|0;ne=t+24|0;ie=t+32|0;te=t+36|0;ee=t+40|0;$=t+48|0;K=t+52|0;J=t+56|0;Y=l|0;q=l+4|0;Q=l+8|0;Z=l+12|0;X=l+16|0;j=l+20|0;H=l+24|0;z=l+28|0;W=l+32|0;G=l+36|0;U=l+40|0;L=l+44|0;O=l+48|0;k=l+52|0;N=l+56|0;E=l+60|0;I=le;do{I=I-1|0;le=r[o>>2]|0;Ie=+p[le+(I<<4)>>2];Be=+p[le+(I<<4)+4>>2];Re=+p[le+(I<<4)+8>>2];le=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;ye=r[(r[le>>2]|0)+16>>2]|0;Fe=+p[(r[pe>>2]|0)+(I<<2)>>2];fe=+p[ae>>2];Ae=+p[se>>2];ue=Ae*0.0;we=+p[oe>>2];de=we*0.0;he=fe*0.0;be=+p[re>>2];R=+p[_e>>2];me=R*0.0;ce=+p[ne>>2];V=ce*0.0;Pe=be*0.0;De=+p[ie>>2];Te=+p[te>>2];Me=Te*0.0;xe=+p[ee>>2];ve=xe*0.0;Se=De*0.0;Ce=Ie*fe+Be*Ae+Re*we+ +p[$>>2];ge=Ie*be+Be*R+Re*ce+ +p[K>>2];Ve=Ie*De+Be*Te+Re*xe+ +p[J>>2];p[Y>>2]=fe+ue+de;p[q>>2]=he+Ae+de;p[Q>>2]=we+(he+ue);p[Z>>2]=0.0;p[X>>2]=be+me+V;p[j>>2]=Pe+R+V;p[H>>2]=ce+(Pe+me);p[z>>2]=0.0;p[W>>2]=De+Me+ve;p[G>>2]=Se+Te+ve;p[U>>2]=xe+(Se+Me);p[L>>2]=0.0;p[O>>2]=Ce;p[k>>2]=ge;p[N>>2]=Ve;p[E>>2]=0.0;W_t[ye&63](le,Fe,l,n)}while((I|0)>0);d=_;return};case 13:{I=r[i+52>>2]|0;Fe=+z_t[r[(r[i>>2]|0)+84>>2]&1023](i);l=c;E=i+28|0;r[l>>2]=r[E>>2];r[l+4>>2]=r[E+4>>2];r[l+8>>2]=r[E+8>>2];r[l+12>>2]=r[E+12>>2];E=i;l=i;Ve=+z_t[r[(r[l>>2]|0)+44>>2]&1023](E);ge=+z_t[r[(r[l>>2]|0)+44>>2]&1023](E);Ce=+z_t[r[(r[l>>2]|0)+44>>2]&1023](E);E=c|0;p[E>>2]=Ve+ +p[E>>2];E=c+4|0;p[E>>2]=ge+ +p[E>>2];E=c+8|0;p[E>>2]=Ce+ +p[E>>2];Ce=+p[c+(I<<2)>>2];c=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;a_t[r[(r[c>>2]|0)+80>>2]&63](c,Fe,Ce,I,t,n);d=_;return};case 0:{I=s;c=i+28|0;r[I>>2]=r[c>>2];r[I+4>>2]=r[c+4>>2];r[I+8>>2]=r[c+8>>2];r[I+12>>2]=r[c+12>>2];c=i;I=i;Ce=+z_t[r[(r[I>>2]|0)+44>>2]&1023](c);Fe=+z_t[r[(r[I>>2]|0)+44>>2]&1023](c);ge=+z_t[r[(r[I>>2]|0)+44>>2]&1023](c);c=s|0;Ve=Ce+ +p[c>>2];p[c>>2]=Ve;c=s+4|0;Ce=Fe+ +p[c>>2];p[c>>2]=Ce;c=s+8|0;Fe=ge+ +p[c>>2];p[c>>2]=Fe;c=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;I=r[(r[c>>2]|0)+72>>2]|0;p[a>>2]=-0.0-Ve;p[a+4>>2]=-0.0-Ce;p[a+8>>2]=-0.0-Fe;p[a+12>>2]=0.0;Unt[I&255](c,a,s,t,n);d=_;return};default:{if((F-21|0)>>>0<9){p[b>>2]=999999984306749400.0;p[b+4>>2]=999999984306749400.0;p[b+8>>2]=999999984306749400.0;p[b+12>>2]=0.0;p[u>>2]=-999999984306749400.0;p[u+4>>2]=-999999984306749400.0;p[u+8>>2]=-999999984306749400.0;p[u+12>>2]=0.0;s=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;r[m>>2]=23856;r[m+4>>2]=23880;r[m+8>>2]=s;s=m+12|0;a=n;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=m+28|0;s=t;r[a>>2]=r[s>>2];r[a+4>>2]=r[s+4>>2];r[a+8>>2]=r[s+8>>2];r[a+12>>2]=r[s+12>>2];s=m+44|0;a=t+16|0;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=m+60|0;s=t+32|0;r[a>>2]=r[s>>2];r[a+4>>2]=r[s+4>>2];r[a+8>>2]=r[s+8>>2];r[a+12>>2]=r[s+12>>2];s=m+76|0;a=t+48|0;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];mrt[r[(r[i>>2]|0)+60>>2]&1023](i,m|0,u,b);Ee=r[A>>2]|0}else{Ee=F}if((Ee|0)==3){p[h>>2]=999999984306749400.0;p[h+4>>2]=999999984306749400.0;p[h+8>>2]=999999984306749400.0;p[h+12>>2]=0.0;p[f>>2]=-999999984306749400.0;p[f+4>>2]=-999999984306749400.0;p[f+8>>2]=-999999984306749400.0;p[f+12>>2]=0.0;F=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;r[g>>2]=23856;r[g+4>>2]=23880;r[g+8>>2]=F;F=g+12|0;b=n;r[F>>2]=r[b>>2];r[F+4>>2]=r[b+4>>2];r[F+8>>2]=r[b+8>>2];r[F+12>>2]=r[b+12>>2];b=g+28|0;F=t;r[b>>2]=r[F>>2];r[b+4>>2]=r[F+4>>2];r[b+8>>2]=r[F+8>>2];r[b+12>>2]=r[F+12>>2];F=g+44|0;b=t+16|0;r[F>>2]=r[b>>2];r[F+4>>2]=r[b+4>>2];r[F+8>>2]=r[b+8>>2];r[F+12>>2]=r[b+12>>2];b=g+60|0;F=t+32|0;r[b>>2]=r[F>>2];r[b+4>>2]=r[F+4>>2];r[b+8>>2]=r[F+8>>2];r[b+12>>2]=r[F+12>>2];F=g+76|0;b=t+48|0;r[F>>2]=r[b>>2];r[F+4>>2]=r[b+4>>2];r[F+8>>2]=r[b+8>>2];r[F+12>>2]=r[b+12>>2];b=r[i+92>>2]|0;mrt[r[(r[b>>2]|0)+8>>2]&1023](b,g+4|0,f,h);Ne=r[A>>2]|0}else{Ne=Ee}if((Ne|0)>=7){d=_;return}Ne=i;Ee=r[i+52>>2]|0;if((Ee|0)==0){A=i;if((Knt[r[(r[A>>2]|0)+92>>2]&4095](Ne)|0)<=0){d=_;return}h=i;i=t|0;f=M|0;g=t+4|0;b=M+4|0;F=t+8|0;u=M+8|0;m=t+48|0;a=t+16|0;s=t+20|0;c=t+24|0;I=t+52|0;E=t+32|0;l=t+36|0;N=t+40|0;k=t+56|0;O=D|0;L=D+4|0;U=D+8|0;G=D+12|0;W=T|0;z=T+4|0;H=T+8|0;j=P|0;X=P+4|0;Z=P+8|0;Q=P+12|0;q=0;do{mrt[r[(r[h>>2]|0)+96>>2]&1023](Ne,q,M,T);Fe=+p[i>>2];Ce=+p[f>>2];Ve=+p[g>>2];ge=+p[b>>2];Me=+p[F>>2];Se=+p[u>>2];xe=+p[m>>2];ve=+p[a>>2];Te=+p[s>>2];De=+p[c>>2];me=+p[I>>2];Pe=+p[E>>2];ce=+p[l>>2];V=+p[N>>2];R=+p[k>>2];p[O>>2]=xe+(Fe*Ce+Ve*ge+Me*Se);p[L>>2]=me+(Ce*ve+ge*Te+Se*De);p[U>>2]=R+(Ce*Pe+ge*ce+Se*V);p[G>>2]=0.0;Se=+p[W>>2];ge=+p[z>>2];Ce=+p[H>>2];p[j>>2]=xe+(Fe*Se+Ve*ge+Me*Ce);p[X>>2]=me+(Se*ve+ge*Te+Ce*De);p[Z>>2]=R+(Se*Pe+ge*ce+Ce*V);p[Q>>2]=0.0;Y=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;mrt[r[(r[Y>>2]|0)+8>>2]&1023](Y,D,P,n);q=q+1|0}while((q|0)<(Knt[r[(r[A>>2]|0)+92>>2]&4095](Ne)|0));d=_;return}Ne=Ee+28|0;if((r[Ne>>2]|0)<=0){d=_;return}A=Ee+36|0;q=y|0;P=y+4|0;D=y+8|0;Q=y+12|0;Z=t|0;X=t+4|0;j=t+8|0;H=t+48|0;z=t+16|0;W=t+20|0;G=t+24|0;U=t+52|0;L=t+32|0;O=t+36|0;k=t+40|0;N=t+56|0;t=v|0;l=v+4|0;E=v+8|0;I=v+12|0;c=x|0;s=x+4|0;a=x+8|0;m=x+12|0;u=Ee+16|0;Ee=C|0;F=C+4|0;b=C+8|0;g=C+12|0;f=S|0;i=S+4|0;T=S+8|0;M=S+12|0;h=0;do{Y=r[A>>2]|0;J=r[Y+(h*56|0)+4>>2]|0;e:do{if((J|0)>0){K=r[Y+(h*56|0)+12>>2]|0;V=0.0;Ce=0.0;ce=0.0;$=r[K+(J-1<<2)>>2]|0;ee=0;te=K;while(1){K=r[te+(ee<<2)>>2]|0;ie=r[u>>2]|0;ge=ce+ +p[ie+(K<<4)>>2];Pe=Ce+ +p[ie+(K<<4)+4>>2];Se=V+ +p[ie+(K<<4)+8>>2];ie=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;ne=r[(r[ie>>2]|0)+8>>2]|0;_e=r[u>>2]|0;R=+p[Z>>2];De=+p[_e+($<<4)>>2];Te=+p[X>>2];ve=+p[_e+($<<4)+4>>2];me=+p[j>>2];Me=+p[_e+($<<4)+8>>2];Ve=+p[H>>2];Fe=+p[z>>2];xe=+p[W>>2];be=+p[G>>2];ue=+p[U>>2];he=+p[L>>2];we=+p[O>>2];de=+p[k>>2];Ae=+p[N>>2];p[Ee>>2]=Ve+(R*De+Te*ve+me*Me);p[F>>2]=ue+(De*Fe+ve*xe+Me*be);p[b>>2]=Ae+(De*he+ve*we+Me*de);p[g>>2]=0.0;_e=r[u>>2]|0;Me=+p[_e+(K<<4)>>2];ve=+p[_e+(K<<4)+4>>2];De=+p[_e+(K<<4)+8>>2];p[f>>2]=Ve+(R*Me+Te*ve+me*De);p[i>>2]=ue+(Me*Fe+ve*xe+De*be);p[T>>2]=Ae+(Me*he+ve*we+De*de);p[M>>2]=0.0;mrt[ne&1023](ie,C,S,n);ie=ee+1|0;ne=r[A>>2]|0;if((ie|0)>=(r[ne+(h*56|0)+4>>2]|0)){ke=ge;Oe=Pe;Le=Se;break e}V=Se;Ce=Pe;ce=ge;$=K;ee=ie;te=r[ne+(h*56|0)+12>>2]|0}}else{ke=0.0;Oe=0.0;Le=0.0}}while(0);ce=1.0/+(J|0);Ce=ke*ce;V=Oe*ce;ge=Le*ce;p[q>>2]=1.0;p[P>>2]=1.0;p[D>>2]=0.0;p[Q>>2]=0.0;Y=r[A>>2]|0;ce=+p[Y+(h*56|0)+40>>2];Pe=+p[Y+(h*56|0)+44>>2];Se=+p[Y+(h*56|0)+48>>2];Y=Knt[r[(r[w>>2]|0)+16>>2]&4095](e)|0;te=r[(r[Y>>2]|0)+8>>2]|0;de=+p[Z>>2];De=+p[X>>2];we=+p[j>>2];ve=+p[H>>2];he=+p[z>>2];Me=+p[W>>2];Ae=+p[G>>2];be=+p[U>>2];xe=+p[L>>2];Fe=+p[O>>2];ue=+p[k>>2];me=+p[N>>2];p[t>>2]=ve+(Ce*de+V*De+ge*we);p[l>>2]=be+(Ce*he+V*Me+ge*Ae);p[E>>2]=me+(Ce*xe+V*Fe+ge*ue);p[I>>2]=0.0;Te=Ce+ce;ce=V+Pe;Pe=ge+Se;p[c>>2]=ve+(Te*de+ce*De+Pe*we);p[s>>2]=be+(Te*he+ce*Me+Pe*Ae);p[a>>2]=me+(Te*xe+ce*Fe+Pe*ue);p[m>>2]=0.0;mrt[te&1023](Y,v,x,y);h=h+1|0}while((h|0)<(r[Ne>>2]|0));d=_;return}}}function zye(e){e=e|0;return}function Hye(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0;t=d;d=d+112|0;i=t|0;n=t+16|0;_=t+32|0;o=t+48|0;s=t+64|0;a=t+80|0;l=t+96|0;c=e;do{if((Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0)!=0){b=Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0;if(((Knt[r[(r[b>>2]|0)+48>>2]&4095](b)|0)&8|0)==0){break}b=e+24|0;u=r[b>>2]|0;m=Knt[r[(r[u>>2]|0)+36>>2]&4095](u)|0;vBe(i|0,0,16);if((m|0)>0){h=0}else{break}do{u=r[b>>2]|0;f=j_t[r[(r[u>>2]|0)+40>>2]&511](u,h)|0;u=r[f+1116>>2]|0;if((u|0)>0){g=0;do{C=Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0;Qnt[r[(r[C>>2]|0)+32>>2]&63](C,f+4+(g*276|0)+32|0,f+4+(g*276|0)+64|0,+p[f+4+(g*276|0)+80>>2],r[f+4+(g*276|0)+144>>2]|0,i);g=g+1|0}while((g|0)<(u|0))}h=h+1|0}while((h|0)<(m|0))}}while(0);if((Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0)==0){d=t;return}h=Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0;if(((Knt[r[(r[h>>2]|0)+48>>2]&4095](h)|0)&3|0)==0){d=t;return}h=e+8|0;if((r[h>>2]|0)<=0){d=t;return}i=e+16|0;m=e+80|0;b=s|0;u=s+4|0;g=s+8|0;f=s+12|0;C=_|0;S=_+4|0;y=_+8|0;v=o|0;x=o+4|0;M=o+8|0;T=a|0;D=a+4|0;P=a+8|0;w=l|0;A=l+4|0;F=l+8|0;R=_+12|0;I=a+12|0;B=o+12|0;V=l+12|0;E=n|0;N=n+4|0;k=n+8|0;O=n+12|0;L=e;U=0;do{G=r[(r[i>>2]|0)+(U<<2)>>2]|0;do{if((r[G+204>>2]&32|0)==0){do{if((Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0)!=0){W=Knt[r[(r[c>>2]|0)+16>>2]&4095](e)|0;if(((Knt[r[(r[W>>2]|0)+48>>2]&4095](W)|0)&1|0)==0){break}p[E>>2]=1.0;p[N>>2]=1.0;p[k>>2]=1.0;p[O>>2]=0.0;switch(r[G+216>>2]|0){case 1:{p[E>>2]=1.0;p[N>>2]=1.0;p[k>>2]=1.0;p[O>>2]=0.0;break};case 2:{p[E>>2]=0.0;p[N>>2]=1.0;p[k>>2]=0.0;p[O>>2]=0.0;break};case 3:{p[E>>2]=0.0;p[N>>2]=1.0;p[k>>2]=1.0;p[O>>2]=0.0;break};case 4:{p[E>>2]=1.0;p[N>>2]=0.0;p[k>>2]=0.0;p[O>>2]=0.0;break};case 5:{p[E>>2]=1.0;p[N>>2]=1.0;p[k>>2]=0.0;p[O>>2]=0.0;break};default:{p[E>>2]=1.0;p[N>>2]=0.0;p[k>>2]=0.0;p[O>>2]=0.0}}mrt[r[(r[L>>2]|0)+24>>2]&1023](e,G+4|0,r[G+192>>2]|0,n)}}while(0);W=r[m>>2]|0;if((W|0)==0){break}if(((Knt[r[(r[W>>2]|0)+48>>2]&4095](W)|0)&2|0)==0){break}p[b>>2]=1.0;p[u>>2]=0.0;p[g>>2]=0.0;p[f>>2]=0.0;W=G+192|0;z=r[W>>2]|0;mrt[r[(r[z>>2]|0)+8>>2]&1023](z,G+4|0,_,o);p[C>>2]=+p[C>>2]+-.019999999552965164;p[S>>2]=+p[S>>2]+-.019999999552965164;p[y>>2]=+p[y>>2]+-.019999999552965164;p[v>>2]=+p[v>>2]+.019999999552965164;p[x>>2]=+p[x>>2]+.019999999552965164;p[M>>2]=+p[M>>2]+.019999999552965164;do{if((r[G+232>>2]|0)==2){z=r[W>>2]|0;mrt[r[(r[z>>2]|0)+8>>2]&1023](z,G+68|0,a,l);H=+p[T>>2]+-.019999999552965164;p[T>>2]=H;j=+p[D>>2]+-.019999999552965164;p[D>>2]=j;X=+p[P>>2]+-.019999999552965164;p[P>>2]=X;Z=+p[w>>2]+.019999999552965164;p[w>>2]=Z;Q=+p[A>>2]+.019999999552965164;p[A>>2]=Q;q=+p[F>>2]+.019999999552965164;p[F>>2]=q;if(H<+p[C>>2]){p[C>>2]=H}if(j<+p[S>>2]){p[S>>2]=j}if(X<+p[y>>2]){p[y>>2]=X}X=+p[I>>2];if(X<+p[R>>2]){p[R>>2]=X}if(+p[v>>2]<Z){p[v>>2]=Z}if(+p[x>>2]<Q){p[x>>2]=Q}if(+p[M>>2]<q){p[M>>2]=q}q=+p[V>>2];if(+p[B>>2]>=q){break}p[B>>2]=q}}while(0);W=r[m>>2]|0;mrt[r[(r[W>>2]|0)+52>>2]&1023](W,_,o,s)}}while(0);U=U+1|0}while((U|0)<(r[h>>2]|0));d=t;return}function jye(e){e=e|0;return}function Xye(e,t){e=e|0;t=t|0;var i=0;i=t;jnt[r[(r[i>>2]|0)+32>>2]&2047](t);qye(e,t);jnt[r[(r[i>>2]|0)+36>>2]&2047](t);return}function Zye(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;t=e+64|0;i=e+72|0;_=r[i>>2]|0;o=e+76|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-8+4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+68>>2]=0;t=e+44|0;i=e+52|0;o=r[i>>2]|0;_=e+56|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+48>>2]=0;t=e+24|0;i=e+32|0;_=r[i>>2]|0;o=e+36|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+28>>2]=0;t=e+4|0;i=e+12|0;o=r[i>>2]|0;_=e+16|0;if((o|0)==0){n[_]=1;r[i>>2]=0;r[t>>2]=0;s=e+8|0;r[s>>2]=0;return}if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0;n[_]=1;r[i>>2]=0;r[t>>2]=0;s=e+8|0;r[s>>2]=0;return}function Qye(e){e=e|0;if((e|0)==0){return}SBe(e);return}function qye(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0;i=d;d=d+80|0;_=i|0;o=e+8|0;s=r[o>>2]|0;if((s|0)>0){a=e+16|0;p=0;l=s;while(1){c=r[(r[a>>2]|0)+(p<<2)>>2]|0;if((r[c+232>>2]|0)==1){Znt[r[(r[c>>2]|0)+24>>2]&2047](c,t);b=r[o>>2]|0}else{b=l}c=p+1|0;if((c|0)<(b|0)){p=c;l=b}else{u=b;break}}}else{u=s}s=_+16|0;n[s]=1;b=_+12|0;r[b>>2]=0;l=_+4|0;r[l>>2]=0;p=_+8|0;r[p>>2]=0;a=_+36|0;n[a]=1;c=_+32|0;r[c>>2]=0;m=_+24|0;r[m>>2]=0;h=_+28|0;r[h>>2]=0;f=_+56|0;n[f]=1;g=_+52|0;r[g>>2]=0;C=_+44|0;r[C>>2]=0;S=_+48|0;r[S>>2]=0;y=_+76|0;n[y]=1;v=_+72|0;r[v>>2]=0;x=_+64|0;r[x>>2]=0;M=_+68|0;r[M>>2]=0;if((u|0)<=0){Zye(_);d=i;return}T=e+16|0;e=0;D=-1;P=0;w=u;u=0;A=0;F=0;while(1){R=r[(r[(r[T>>2]|0)+(e<<2)>>2]|0)+192>>2]|0;I=R;B=I+~(I<<15)|0;V=(B>>10^B)*9|0;B=V>>6^V;V=B+~(B<<11)|0;B=V>>16^V;V=B&D;E=R;e:do{if(V>>>0<P>>>0){N=r[u+(V<<2)>>2]|0;if((N|0)==-1){k=1594;break}O=r[v>>2]|0;L=N;while(1){if((E|0)==(r[O+(L<<3)>>2]|0)){break}N=r[A+(L<<2)>>2]|0;if((N|0)==-1){k=1594;break e}else{L=N}}if((L|0)==-1){k=1594;break}if(((r[g>>2]|0)+(L<<2)|0)==0){k=1594}else{U=w;G=u;W=A;z=F}}else{k=1594}}while(0);if((k|0)==1594){k=0;V=B&F-1;e:do{if(V>>>0<P>>>0){O=r[u+(V<<2)>>2]|0;if((O|0)==-1){k=1601;break}N=r[v>>2]|0;H=O;while(1){if((E|0)==(r[N+(H<<3)>>2]|0)){break}O=r[A+(H<<2)>>2]|0;if((O|0)==-1){k=1601;break e}else{H=O}}if((H|0)==-1){k=1601;break}r[(r[g>>2]|0)+(H<<2)>>2]=R;j=u;X=A;Z=F}else{k=1601}}while(0);if((k|0)==1601){k=0;E=r[C>>2]|0;do{if((E|0)==(F|0)){N=(F|0)==0?1:F<<1;if((F|0)>=(N|0)){Q=F;break}do{if((N|0)==0){q=0}else{r[9806]=(r[9806]|0)+1;L=hBe((N<<2)+19|0)|0;if((L|0)==0){q=0;break}O=-(L+4|0)&15;r[L+O>>2]=L;q=L+(O+4)|0}}while(0);if((F|0)>0){H=0;do{O=q+(H<<2)|0;if((O|0)!=0){r[O>>2]=r[(r[g>>2]|0)+(H<<2)>>2]}H=H+1|0}while((H|0)<(F|0))}H=r[g>>2]|0;if((H|0)!=0){if((n[f]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[H-4>>2]|0)}r[g>>2]=0}n[f]=1;r[g>>2]=q;r[S>>2]=N;Q=r[C>>2]|0}else{Q=E}}while(0);H=(r[g>>2]|0)+(Q<<2)|0;if((H|0)!=0){r[H>>2]=R}r[C>>2]=Q+1;H=r[x>>2]|0;do{if((H|0)==(r[M>>2]|0)){O=(H|0)==0?1:H<<1;if((H|0)>=(O|0)){Y=H;break}do{if((O|0)==0){J=0}else{r[9806]=(r[9806]|0)+1;L=hBe((O<<3|4)+15|0)|0;if((L|0)==0){J=0;break}K=-(L+4|0)&15;r[L+K>>2]=L;J=L+(K+4)|0}}while(0);if((H|0)>0){N=0;do{K=J+(N<<3)|0;if((K|0)!=0){L=(r[v>>2]|0)+(N<<3)|0;$=K;K=r[L+4>>2]|0;r[$>>2]=r[L>>2];r[$+4>>2]=K}N=N+1|0}while((N|0)<(H|0))}N=r[v>>2]|0;if((N|0)!=0){if((n[y]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[N-8+4>>2]|0)}r[v>>2]=0}n[y]=1;r[v>>2]=J;r[M>>2]=O;Y=r[x>>2]|0}else{Y=H}}while(0);H=(r[v>>2]|0)+(Y<<3)|0;if((H|0)!=0){N=H;r[N>>2]=I;r[N+4>>2]=0}r[x>>2]=Y+1;N=r[S>>2]|0;if((F|0)<(N|0)){H=r[l>>2]|0;do{if((H|0)<(N|0)){if((H|0)<=(N|0)){if((r[p>>2]|0)<(N|0)){do{if((N|0)==0){ee=0}else{r[9806]=(r[9806]|0)+1;K=hBe((N<<2)+19|0)|0;if((K|0)==0){ee=0;break}$=-(K+4|0)&15;r[K+$>>2]=K;ee=K+($+4)|0}}while(0);if((H|0)>0){O=0;do{$=ee+(O<<2)|0;if(($|0)!=0){r[$>>2]=r[(r[b>>2]|0)+(O<<2)>>2]}O=O+1|0}while((O|0)<(H|0))}O=r[b>>2]|0;if((O|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[O-4>>2]|0)}r[b>>2]=0}n[s]=1;r[b>>2]=ee;r[p>>2]=N;te=ee}else{te=r[b>>2]|0}O=H;do{$=te+(O<<2)|0;if(($|0)!=0){r[$>>2]=0}O=O+1|0}while((O|0)<(N|0))}r[l>>2]=N;O=r[m>>2]|0;if((O|0)<(N|0)){if((r[h>>2]|0)<(N|0)){do{if((N|0)==0){ie=0}else{r[9806]=(r[9806]|0)+1;$=hBe((N<<2)+19|0)|0;if(($|0)==0){ie=0;break}K=-($+4|0)&15;r[$+K>>2]=$;ie=$+(K+4)|0}}while(0);if((O|0)>0){K=0;do{$=ie+(K<<2)|0;if(($|0)!=0){r[$>>2]=r[(r[c>>2]|0)+(K<<2)>>2]}K=K+1|0}while((K|0)<(O|0))}K=r[c>>2]|0;if((K|0)!=0){if((n[a]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[K-4>>2]|0)}r[c>>2]=0}n[a]=1;r[c>>2]=ie;r[h>>2]=N;ne=ie}else{ne=r[c>>2]|0}K=O;do{$=ne+(K<<2)|0;if(($|0)!=0){r[$>>2]=0}K=K+1|0}while((K|0)<(N|0))}r[m>>2]=N;if((N|0)>0){K=r[b>>2]|0;O=0;do{r[K+(O<<2)>>2]=-1;O=O+1|0}while((O|0)<(N|0));O=r[c>>2]|0;K=0;do{r[O+(K<<2)>>2]=-1;K=K+1|0}while((K|0)<(N|0))}if((H|0)<=0){break}K=r[v>>2]|0;O=r[S>>2]|0;$=r[b>>2]|0;L=r[c>>2]|0;_e=0;do{re=r[K+(_e<<3)>>2]|0;oe=re+~(re<<15)|0;re=(oe>>10^oe)*9|0;oe=re>>6^re;re=oe+~(oe<<11)|0;oe=$+(((re>>16^re)&O-1)<<2)|0;r[L+(_e<<2)>>2]=r[oe>>2];r[oe>>2]=_e;_e=_e+1|0}while((_e|0)<(H|0))}}while(0);H=r[S>>2]|0;se=B&H-1;ae=H}else{se=V;ae=N}H=r[b>>2]|0;I=H+(se<<2)|0;_e=r[c>>2]|0;r[_e+(E<<2)>>2]=r[I>>2];r[I>>2]=E;j=H;X=_e;Z=ae}Znt[r[(r[R>>2]|0)+56>>2]&2047](R,t);U=r[o>>2]|0;G=j;W=X;z=Z}_e=e+1|0;if((_e|0)>=(U|0)){break}e=_e;D=z-1|0;P=r[l>>2]|0;w=U;u=G;A=W;F=z}Zye(_);d=i;return}function Yye(e){e=e|0;return}function Jye(e){e=e|0;return}function Kye(e){e=e|0;return}function $ye(e,t,i){e=e|0;t=t|0;i=i|0;r[e+144>>2]=t;r[e+152>>2]=i;return}function eve(e,t,i){e=e|0;t=t|0;i=i|0;r[e+148>>2]=t;r[e+156>>2]=i;return}function tve(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0,E=0;n=d;d=d+96|0;i=n|0;_=n+16|0;o=n+32|0;s=n+48|0;a=n+64|0;l=n+80|0;c=+p[e+28>>2];b=+p[t>>2];u=+p[e+32>>2];m=+p[t+4>>2];h=+p[e+36>>2];f=+p[t+8>>2];g=+p[e+76>>2];C=g+(c*b+u*m+h*f);S=+p[e+44>>2];y=+p[e+48>>2];v=+p[e+52>>2];x=+p[e+80>>2];M=x+(b*S+m*y+f*v);T=+p[e+60>>2];D=+p[e+64>>2];P=+p[e+68>>2];w=+p[e+84>>2];A=w+(b*T+m*D+f*P);p[i>>2]=C;p[i+4>>2]=M;p[i+8>>2]=A;p[i+12>>2]=0.0;f=+p[t+16>>2];m=+p[t+20>>2];b=+p[t+24>>2];F=g+(c*f+u*m+h*b);R=x+(f*S+m*y+b*v);I=w+(f*T+m*D+b*P);p[_>>2]=F;p[_+4>>2]=R;p[_+8>>2]=I;p[_+12>>2]=0.0;b=+p[t+32>>2];m=+p[t+36>>2];f=+p[t+40>>2];B=g+(c*b+u*m+h*f);h=x+(b*S+m*y+f*v);v=w+(b*T+m*D+f*P);p[o>>2]=B;p[o+4>>2]=h;p[o+8>>2]=v;p[o+12>>2]=0.0;P=(C+F+B)*.3333333432674408;f=(M+R+h)*.3333333432674408;D=(A+I+v)*.3333333432674408;p[s>>2]=P;p[s+4>>2]=f;p[s+8>>2]=D;p[s+12>>2]=0.0;m=F-C;F=R-M;R=I-A;I=B-C;C=h-M;M=v-A;A=F*M-R*C;v=R*I-m*M;M=m*C-F*I;I=1.0/+j(+(M*M+(A*A+v*v)));p[a>>2]=1.0;p[a+4>>2]=1.0;p[a+8>>2]=0.0;p[a+12>>2]=0.0;t=e+8|0;V=r[t>>2]|0;E=r[(r[V>>2]|0)+8>>2]|0;p[l>>2]=I*A+P;p[l+4>>2]=I*v+f;p[l+8>>2]=I*M+D;p[l+12>>2]=0.0;mrt[E&1023](V,s,l,a);a=r[t>>2]|0;l=e+12|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,i,_,l);a=r[t>>2]|0;mrt[r[(r[a>>2]|0)+8>>2]&1023](a,_,o,l);_=r[t>>2]|0;mrt[r[(r[_>>2]|0)+8>>2]&1023](_,o,i,l);d=n;return}function ive(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);return}function nve(e){e=e|0;var t=0;t=e-92+88|0;if((t|0)==0){return}SBe(t);return}function _ve(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0;_=e-92+88|0;mrt[r[(r[_>>2]|0)+8>>2]&1023](_,t,i,n);return}function rve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ove(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0,l=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0.0;o=d;d=d+280|0;s=o|0;a=e+136|0;l=(r[(r[e+4>>2]|0)+1108>>2]|0)!=(r[a>>2]|0);c=+p[i>>2];b=+p[t>>2]*_+c;u=+p[i+4>>2];m=+p[t+4>>2]*_+u;h=+p[i+8>>2];f=+p[t+8>>2]*_+h;if(l){g=b-+p[e+120>>2];C=m-+p[e+124>>2];S=f-+p[e+128>>2];y=c-+p[e+56>>2];v=u-+p[e+60>>2];x=h-+p[e+64>>2];M=y*+p[e+8>>2]+v*+p[e+24>>2]+x*+p[e+40>>2];T=y*+p[e+12>>2]+v*+p[e+28>>2]+x*+p[e+44>>2];D=y*+p[e+16>>2]+v*+p[e+32>>2]+x*+p[e+48>>2];P=g*+p[e+72>>2]+C*+p[e+88>>2]+S*+p[e+104>>2];w=g*+p[e+76>>2]+C*+p[e+92>>2]+S*+p[e+108>>2];A=g*+p[e+80>>2]+C*+p[e+96>>2]+S*+p[e+112>>2]}else{S=b-+p[e+56>>2];C=m-+p[e+60>>2];g=f-+p[e+64>>2];x=c-+p[e+120>>2];c=u-+p[e+124>>2];u=h-+p[e+128>>2];M=x*+p[e+72>>2]+c*+p[e+88>>2]+u*+p[e+104>>2];T=x*+p[e+76>>2]+c*+p[e+92>>2]+u*+p[e+108>>2];D=x*+p[e+80>>2]+c*+p[e+96>>2]+u*+p[e+112>>2];P=S*+p[e+8>>2]+C*+p[e+24>>2]+g*+p[e+40>>2];w=S*+p[e+12>>2]+C*+p[e+28>>2]+g*+p[e+44>>2];A=S*+p[e+16>>2]+C*+p[e+32>>2]+g*+p[e+48>>2]}p[s>>2]=P;p[s+4>>2]=w;p[s+8>>2]=A;p[s+12>>2]=0.0;p[s+16>>2]=M;p[s+20>>2]=T;p[s+24>>2]=D;p[s+28>>2]=0.0;F=s+64|0;R=t;r[F>>2]=r[R>>2];r[F+4>>2]=r[R+4>>2];r[F+8>>2]=r[R+8>>2];r[F+12>>2]=r[R+12>>2];p[s+80>>2]=_;p[s+84>>2]=0.0;p[s+88>>2]=0.0;r[s+108>>2]=0;p[s+112>>2]=0.0;n[s+116|0]=0;p[s+208>>2]=0.0;p[s+240>>2]=0.0;p[s+272>>2]=0.0;vBe(s+120|0,0,28);p[s+48>>2]=b;p[s+52>>2]=m;p[s+56>>2]=f;p[s+60>>2]=0.0;R=s+32|0;F=i;r[R>>2]=r[F>>2];r[R+4>>2]=r[F+4>>2];r[R+8>>2]=r[F+8>>2];r[R+12>>2]=r[F+12>>2];if(l){F=r[e+148>>2]|0;r[s+92>>2]=F;R=r[e+144>>2]|0;r[s+96>>2]=R;i=r[e+156>>2]|0;r[s+100>>2]=i;t=r[e+152>>2]|0;r[s+104>>2]=t;I=F;B=i;V=R;E=t;N=e+140|0;k=l?N:a;O=r[k>>2]|0;L=l?a:N;U=r[L>>2]|0;G=e+160|0;W=r[G>>2]|0;z=W;H=r[z>>2]|0;j=H+12|0;X=r[j>>2]|0;Z=+J_t[X&63](W,s,O,I,B,U,V,E);d=o;return}else{t=r[e+144>>2]|0;r[s+92>>2]=t;R=r[e+148>>2]|0;r[s+96>>2]=R;i=r[e+152>>2]|0;r[s+100>>2]=i;F=r[e+156>>2]|0;r[s+104>>2]=F;I=t;B=i;V=R;E=F;N=e+140|0;k=l?N:a;O=r[k>>2]|0;L=l?a:N;U=r[L>>2]|0;G=e+160|0;W=r[G>>2]|0;z=W;H=r[z>>2]|0;j=H+12|0;X=r[j>>2]|0;Z=+J_t[X&63](W,s,O,I,B,U,V,E);d=o;return}}function sve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ave(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0;i=d;d=d+168|0;n=i|0;_=r[t>>2]|0;t=_;o=e+4|0;if((t|0)==(r[o>>2]|0)){d=i;return 1}s=e+12|0;a=r[s>>2]|0;if(!(j_t[r[(r[a>>2]|0)+8>>2]&511](a,r[_+188>>2]|0)|0)){d=i;return 1}a=e+8|0;e=r[(r[a>>2]|0)+24>>2]|0;p=drt[r[(r[e>>2]|0)+8>>2]&127](e,r[o>>2]|0,t,0)|0;if((p|0)==0){d=i;return 1}e=r[o>>2]|0;o=r[s>>2]|0;s=n|0;r[s>>2]=24e3;r[n+4>>2]=0;r[n+136>>2]=e;r[n+140>>2]=t;l=n+8|0;c=e+4|0;vBe(n+144|0,-1|0,16);r[l>>2]=r[c>>2];r[l+4>>2]=r[c+4>>2];r[l+8>>2]=r[c+8>>2];r[l+12>>2]=r[c+12>>2];c=n+24|0;l=e+20|0;r[c>>2]=r[l>>2];r[c+4>>2]=r[l+4>>2];r[c+8>>2]=r[l+8>>2];r[c+12>>2]=r[l+12>>2];l=n+40|0;c=e+36|0;r[l>>2]=r[c>>2];r[l+4>>2]=r[c+4>>2];r[l+8>>2]=r[c+8>>2];r[l+12>>2]=r[c+12>>2];c=n+56|0;l=e+52|0;r[c>>2]=r[l>>2];r[c+4>>2]=r[l+4>>2];r[c+8>>2]=r[l+8>>2];r[c+12>>2]=r[l+12>>2];l=_+4|0;c=n+72|0;r[c>>2]=r[l>>2];r[c+4>>2]=r[l+4>>2];r[c+8>>2]=r[l+8>>2];r[c+12>>2]=r[l+12>>2];l=_+20|0;c=n+88|0;r[c>>2]=r[l>>2];r[c+4>>2]=r[l+4>>2];r[c+8>>2]=r[l+8>>2];r[c+12>>2]=r[l+12>>2];l=_+36|0;c=n+104|0;r[c>>2]=r[l>>2];r[c+4>>2]=r[l+4>>2];r[c+8>>2]=r[l+8>>2];r[c+12>>2]=r[l+12>>2];l=_+52|0;_=n+120|0;r[_>>2]=r[l>>2];r[_+4>>2]=r[l+4>>2];r[_+8>>2]=r[l+8>>2];r[_+12>>2]=r[l+12>>2];r[s>>2]=21728;r[n+160>>2]=o;Unt[r[(r[p>>2]|0)+8>>2]&255](p,e,t,(r[a>>2]|0)+28|0,n|0);jnt[r[r[p>>2]>>2]&2047](p);n=r[(r[a>>2]|0)+24>>2]|0;Znt[r[(r[n>>2]|0)+60>>2]&2047](n,p);d=i;return 1}function pve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function lve(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0;i=e+184|0;n=r[i>>2]|0;if(+p[n+4>>2]==0.0){_=0;return _|0}o=r[t>>2]|0;if(!(j_t[r[(r[n>>2]|0)+8>>2]&511](n,r[o+188>>2]|0)|0)){_=1;return _|0}Eye(r[e+192>>2]|0,e+36|0,e+100|0,o,r[o+192>>2]|0,o+4|0,r[i>>2]|0,+p[e+188>>2]);_=1;return _|0}function dve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function cve(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0;i=e+216|0;n=r[i>>2]|0;if(+p[n+4>>2]==0.0){_=0;return _|0}o=r[t>>2]|0;if(!(j_t[r[(r[n>>2]|0)+8>>2]&511](n,r[o+188>>2]|0)|0)){_=1;return _|0}Bye(e+68|0,e+132|0,o,r[o+192>>2]|0,o+4|0,r[i>>2]|0);_=1;return _|0}function bve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function uve(e,t){e=e|0;t=t|0;var i=0;i=r[e+12>>2]|0;return j_t[r[(r[i>>2]|0)+8>>2]&511](i,t)|0}function mve(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0;n=d;d=d+8|0;_=n|0;r[_>>2]=-1;r[_+4>>2]=r[e+16>>2];o=t+4|0;if((r[o>>2]|0)==0){r[o>>2]=_}_=e+12|0;o=r[_>>2]|0;s=+F_t[r[(r[o>>2]|0)+12>>2]&127](o,t,i);p[e+4>>2]=+p[(r[_>>2]|0)+4>>2];d=n;return+s}function hve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function fve(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;o=o|0;var s=0,a=0,l=0,c=0.0;s=d;d=d+56|0;a=s|0;l=s+8|0;r[a>>2]=_;r[a+4>>2]=o;o=r[e+212>>2]|0;if(+p[o+4>>2]<n){c=n;d=s;return+c}r[l>>2]=r[e+216>>2];r[l+4>>2]=a;a=l+8|0;e=t;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];e=l+24|0;a=i;r[e>>2]=r[a>>2];r[e+4>>2]=r[a+4>>2];r[e+8>>2]=r[a+8>>2];r[e+12>>2]=r[a+12>>2];p[l+40>>2]=n;c=+F_t[r[(r[o>>2]|0)+12>>2]&127](o,l,0);d=s;return+c}function gve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Cve(e){e=e|0;return}function Sve(e){e=e|0;return}function yve(e,t,i){e=e|0;t=t|0;i=i|0;return}function vve(e,t){e=e|0;t=t|0;return 1}function xve(e,t){e=e|0;t=t|0;return 1}function Mve(e){e=e|0;return}function Tve(e){e=e|0;return}function Dve(e,t){e=e|0;t=+t;return}function Pve(e,t){e=e|0;t=t|0;return}function wve(e,t,i){e=e|0;t=t|0;i=i|0;return}function Ave(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;o=o|0;var s=0,a=0,l=0,c=0.0;s=d;d=d+56|0;a=s|0;l=s+8|0;r[a>>2]=_;r[a+4>>2]=o;o=r[e+212>>2]|0;if(+p[o+4>>2]<n){c=n;d=s;return+c}r[l>>2]=r[e+216>>2];r[l+4>>2]=a;a=l+8|0;e=t;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];e=l+24|0;a=i;r[e>>2]=r[a>>2];r[e+4>>2]=r[a+4>>2];r[e+8>>2]=r[a+8>>2];r[e+12>>2]=r[a+12>>2];p[l+40>>2]=n;c=+F_t[r[(r[o>>2]|0)+12>>2]&127](o,l,1);d=s;return+c}function Fve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Rve(e,t){e=e|0;t=t|0;var i=0;i=r[e+20>>2]|0;return j_t[r[(r[i>>2]|0)+8>>2]&511](i,t)|0}function Ive(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0;n=d;d=d+8|0;_=n|0;r[_>>2]=-1;r[_+4>>2]=r[e+24>>2];o=t+4|0;if((r[o>>2]|0)==0){r[o>>2]=_}_=e+20|0;o=r[_>>2]|0;s=+F_t[r[(r[o>>2]|0)+12>>2]&127](o,t,i);p[e+4>>2]=+p[(r[_>>2]|0)+4>>2];d=n;return+s}function Bve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Vve(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0;i=d;d=d+144|0;n=i|0;o=i+48|0;s=i+112|0;a=r[t+36>>2]|0;t=o;l=r[(r[e+8>>2]|0)+24>>2]|0;c=r[l+(a*80|0)+64>>2]|0;b=r[e+12>>2]|0;u=n;gue(n,b|0,l+(a*80|0)|0);m=+p[l+(a*80|0)+48>>2];h=+p[l+(a*80|0)+52>>2];f=+p[l+(a*80|0)+56>>2];g=+p[b>>2]*m+ +p[b+4>>2]*h+ +p[b+8>>2]*f+ +p[b+48>>2];C=+p[b+16>>2]*m+ +p[b+20>>2]*h+ +p[b+24>>2]*f+ +p[b+52>>2];S=+p[b+32>>2]*m+ +p[b+36>>2]*h+ +p[b+40>>2]*f+ +p[b+56>>2];b=o+48|0;l=o|0;do{l=l+16|0}while((l|0)!=(b|0));r[t>>2]=r[u>>2];r[t+4>>2]=r[u+4>>2];r[t+8>>2]=r[u+8>>2];r[t+12>>2]=r[u+12>>2];u=o+16|0;t=n+16|0;r[u>>2]=r[t>>2];r[u+4>>2]=r[t+4>>2];r[u+8>>2]=r[t+8>>2];r[u+12>>2]=r[t+12>>2];t=o+32|0;u=n+32|0;r[t>>2]=r[u>>2];r[t+4>>2]=r[u+4>>2];r[t+8>>2]=r[u+8>>2];r[t+12>>2]=r[u+12>>2];p[o+48>>2]=g;p[o+52>>2]=C;p[o+56>>2]=S;p[o+60>>2]=0.0;u=e+4|0;t=(r[u>>2]|0)+192|0;n=r[t>>2]|0;r[t>>2]=c;t=r[e+24>>2]|0;b=s+4|0;p[b>>2]=1.0;r[s+8>>2]=0;_[s+12>>1]=1;_[s+14>>1]=-1;r[s+16>>2]=0;r[s>>2]=19e3;r[s+20>>2]=t;r[s+24>>2]=a;p[b>>2]=+p[t+4>>2];Bye(r[e+16>>2]|0,r[e+20>>2]|0,r[u>>2]|0,c,o,s|0);r[(r[u>>2]|0)+192>>2]=n;d=i;return}function Eve(e,t,i){e=e|0;t=t|0;i=+i;Znt[r[(r[e>>2]|0)+12>>2]&2047](e,t);return}function Nve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function kve(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;var o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0;o=d;d=d+40|0;s=o|0;a=o+8|0;r[s>>2]=n;r[s+4>>2]=_;l=+p[t>>2];c=+p[t+4>>2];b=+p[t+8>>2];u=+p[e+56>>2]*l+ +p[e+60>>2]*c+ +p[e+64>>2]*b;m=l*+p[e+72>>2]+c*+p[e+76>>2]+b*+p[e+80>>2];h=l*+p[e+88>>2]+c*+p[e+92>>2]+b*+p[e+96>>2];r[a>>2]=r[e+48>>2];r[a+4>>2]=s;p[a+8>>2]=u;p[a+12>>2]=m;p[a+16>>2]=h;p[a+20>>2]=0.0;p[a+24>>2]=i;s=r[e+44>>2]|0;i=+F_t[r[(r[s>>2]|0)+12>>2]&127](s,a,1);d=o;return+i}function Ove(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Lve(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;var o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0;o=d;d=d+40|0;s=o|0;a=o+8|0;r[s>>2]=n;r[s+4>>2]=_;l=+p[t>>2];c=+p[t+4>>2];b=+p[t+8>>2];u=+p[e+56>>2]*l+ +p[e+60>>2]*c+ +p[e+64>>2]*b;m=l*+p[e+72>>2]+c*+p[e+76>>2]+b*+p[e+80>>2];h=l*+p[e+88>>2]+c*+p[e+92>>2]+b*+p[e+96>>2];r[a>>2]=r[e+48>>2];r[a+4>>2]=s;p[a+8>>2]=u;p[a+12>>2]=m;p[a+16>>2]=h;p[a+20>>2]=0.0;p[a+24>>2]=i;s=r[e+44>>2]|0;i=+F_t[r[(r[s>>2]|0)+12>>2]&127](s,a,1);d=o;return+i}function Uve(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Gve(e,t){e=e|0;t=t|0;var i=0,_=0,o=0;r[e+8>>2]=0;r[e>>2]=24952;n[e+28|0]=1;r[e+24>>2]=0;r[e+16>>2]=0;r[e+20>>2]=0;p[e+32>>2]=999999984306749400.0;p[e+36>>2]=999999984306749400.0;p[e+40>>2]=999999984306749400.0;p[e+44>>2]=0.0;p[e+48>>2]=-999999984306749400.0;p[e+52>>2]=-999999984306749400.0;p[e+56>>2]=-999999984306749400.0;p[e+60>>2]=0.0;i=e+64|0;r[i>>2]=0;r[e+68>>2]=1;p[e+72>>2]=0.0;p[e+76>>2]=1.0;p[e+80>>2]=1.0;p[e+84>>2]=1.0;p[e+88>>2]=0.0;r[e+4>>2]=31;if(!t){return}r[9806]=(r[9806]|0)+1;t=hBe(59)|0;do{if((t|0)==0){_=0}else{e=-(t+4|0)&15;o=t+(e+4)|0;r[t+e>>2]=t;if((o|0)==0){_=0;break}n[t+(e+40)|0]=1;r[t+(e+36)>>2]=0;r[t+(e+28)>>2]=0;r[t+(e|32)>>2]=0;r[o>>2]=0;r[t+(e+8)>>2]=0;r[t+(e+12)>>2]=-1;r[t+(e|16)>>2]=0;r[t+(e+20)>>2]=0;_=o}}while(0);r[i>>2]=_;return}function Wve(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=24952;t=e+64|0;i=r[t>>2]|0;do{if((i|0)!=0){XMe(i);_=r[t>>2]|0;if((_|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[_-40+36>>2]|0)}}while(0);t=e+16|0;i=e+24|0;_=r[i>>2]|0;o=e+28|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-80+76>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+20>>2]=0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-92+88>>2]|0);return}function zve(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=24952;t=e+64|0;i=r[t>>2]|0;do{if((i|0)!=0){XMe(i);_=r[t>>2]|0;if((_|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[_-40+36>>2]|0)}}while(0);t=e+16|0;i=e+24|0;_=r[i>>2]|0;o=e+28|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+20|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-80+76>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+20|0;r[s>>2]=0;return}function Hve(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0,T=0,D=0,P=0,w=0;i=d;d=d+64|0;n=i|0;_=i+16|0;o=i+32|0;s=i+48|0;a=e+68|0;r[a>>2]=(r[a>>2]|0)+1;a=e+64|0;l=r[a>>2]|0;c=e+24|0;if((l|0)!=0){b=r[(r[c>>2]|0)+(t*80|0)+76>>2]|0;$Me(l,b)|0;u=l+4|0;m=r[u>>2]|0;if((m|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-44+40>>2]|0)}r[u>>2]=b;b=l+12|0;r[b>>2]=(r[b>>2]|0)-1}b=e+16|0;e=(r[b>>2]|0)-1|0;l=n;n=_;_=o;o=s;s=r[c>>2]|0;u=s+(t*80|0)|0;r[l>>2]=r[u>>2];r[l+4>>2]=r[u+4>>2];r[l+8>>2]=r[u+8>>2];r[l+12>>2]=r[u+12>>2];m=s+(t*80|0)+16|0;r[n>>2]=r[m>>2];r[n+4>>2]=r[m+4>>2];r[n+8>>2]=r[m+8>>2];r[n+12>>2]=r[m+12>>2];h=s+(t*80|0)+32|0;r[_>>2]=r[h>>2];r[_+4>>2]=r[h+4>>2];r[_+8>>2]=r[h+8>>2];r[_+12>>2]=r[h+12>>2];f=s+(t*80|0)+48|0;r[o>>2]=r[f>>2];r[o+4>>2]=r[f+4>>2];r[o+8>>2]=r[f+8>>2];r[o+12>>2]=r[f+12>>2];g=s+(t*80|0)+64|0;C=r[g>>2]|0;S=s+(t*80|0)+68|0;y=r[S>>2]|0;v=s+(t*80|0)+72|0;x=+p[v>>2];M=s+(t*80|0)+76|0;T=r[M>>2]|0;D=s+(e*80|0)|0;r[u>>2]=r[D>>2];r[u+4>>2]=r[D+4>>2];r[u+8>>2]=r[D+8>>2];r[u+12>>2]=r[D+12>>2];D=s+(e*80|0)+16|0;r[m>>2]=r[D>>2];r[m+4>>2]=r[D+4>>2];r[m+8>>2]=r[D+8>>2];r[m+12>>2]=r[D+12>>2];D=s+(e*80|0)+32|0;r[h>>2]=r[D>>2];r[h+4>>2]=r[D+4>>2];r[h+8>>2]=r[D+8>>2];r[h+12>>2]=r[D+12>>2];D=s+(e*80|0)+48|0;r[f>>2]=r[D>>2];r[f+4>>2]=r[D+4>>2];r[f+8>>2]=r[D+8>>2];r[f+12>>2]=r[D+12>>2];r[g>>2]=r[s+(e*80|0)+64>>2];r[S>>2]=r[s+(e*80|0)+68>>2];p[v>>2]=+p[s+(e*80|0)+72>>2];r[M>>2]=r[s+(e*80|0)+76>>2];s=r[c>>2]|0;M=s+(e*80|0)|0;r[M>>2]=r[l>>2];r[M+4>>2]=r[l+4>>2];r[M+8>>2]=r[l+8>>2];r[M+12>>2]=r[l+12>>2];l=s+(e*80|0)+16|0;r[l>>2]=r[n>>2];r[l+4>>2]=r[n+4>>2];r[l+8>>2]=r[n+8>>2];r[l+12>>2]=r[n+12>>2];n=s+(e*80|0)+32|0;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=s+(e*80|0)+48|0;r[_>>2]=r[o>>2];r[_+4>>2]=r[o+4>>2];r[_+8>>2]=r[o+8>>2];r[_+12>>2]=r[o+12>>2];r[s+(e*80|0)+64>>2]=C;r[s+(e*80|0)+68>>2]=y;p[s+(e*80|0)+72>>2]=x;r[s+(e*80|0)+76>>2]=T;if((r[a>>2]|0)==0){P=r[b>>2]|0;w=P-1|0;r[b>>2]=w;d=i;return}r[(r[(r[c>>2]|0)+(t*80|0)+76>>2]|0)+36>>2]=t;P=r[b>>2]|0;w=P-1|0;r[b>>2]=w;d=i;return}function jve(e,t){e=e|0;t=t|0;var i=0,n=0,_=0;i=e+68|0;r[i>>2]=(r[i>>2]|0)+1;i=r[e+16>>2]|0;if((i|0)>0){n=e+24|0;_=i;do{_=_-1|0;if((r[(r[n>>2]|0)+(_*80|0)+64>>2]|0)==(t|0)){Hve(e,_)}}while((_|0)>0)}jnt[r[(r[e>>2]|0)+64>>2]&2047](e);return}function Xve(e){e=e|0;return 17296|0}function Zve(e){e=e|0;return 24}function Qve(e){e=e|0;return}function qve(e){e=e|0;return e+76|0}function Yve(e,t){e=e|0;t=+t;p[e+72>>2]=t;return}function Jve(e){e=e|0;return+ +p[e+72>>2]}function Kve(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0;t=d;d=d+32|0;i=t|0;n=t+16|0;_=e+32|0;p[_>>2]=999999984306749400.0;o=e+36|0;p[o>>2]=999999984306749400.0;s=e+40|0;p[s>>2]=999999984306749400.0;p[e+44>>2]=0.0;a=e+48|0;p[a>>2]=-999999984306749400.0;l=e+52|0;p[l>>2]=-999999984306749400.0;c=e+56|0;p[c>>2]=-999999984306749400.0;p[e+60>>2]=0.0;b=e+16|0;if((r[b>>2]|0)<=0){d=t;return}u=e+24|0;e=i|0;m=n|0;h=i+4|0;f=n+4|0;g=i+8|0;C=n+8|0;S=0;do{y=r[u>>2]|0;v=r[y+(S*80|0)+64>>2]|0;mrt[r[(r[v>>2]|0)+8>>2]&1023](v,y+(S*80|0)|0,i,n);x=+p[e>>2];if(+p[_>>2]>x){p[_>>2]=x}x=+p[m>>2];if(+p[a>>2]<x){p[a>>2]=x}x=+p[h>>2];if(+p[o>>2]>x){p[o>>2]=x}x=+p[f>>2];if(+p[l>>2]<x){p[l>>2]=x}x=+p[g>>2];if(+p[s>>2]>x){p[s>>2]=x}x=+p[C>>2];if(+p[c>>2]<x){p[c>>2]=x}S=S+1|0}while((S|0)<(r[b>>2]|0));d=t;return}function $ve(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0,b=0.0,u=0.0,m=0.0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0;_=+p[e+48>>2];o=+p[e+32>>2];s=+p[e+52>>2];a=+p[e+36>>2];l=+p[e+56>>2];d=+p[e+40>>2];c=(r[e+16>>2]|0)==0;b=c?0.0:(l+d)*.5;u=c?0.0:(s+a)*.5;m=c?0.0:(_+o)*.5;h=e;f=+z_t[r[(r[h>>2]|0)+44>>2]&1023](e);g=+z_t[r[(r[h>>2]|0)+44>>2]&1023](e);C=(c?0.0:(_-o)*.5)+f;f=(c?0.0:(s-a)*.5)+g;g=(c?0.0:(l-d)*.5)+ +z_t[r[(r[h>>2]|0)+44>>2]&1023](e);d=+p[t>>2];l=+H(+d);a=+p[t+4>>2];s=+H(+a);o=+p[t+8>>2];_=+H(+o);S=+p[t+16>>2];y=+H(+S);v=+p[t+20>>2];x=+H(+v);M=+p[t+24>>2];T=+H(+M);D=+p[t+32>>2];P=+H(+D);w=+p[t+36>>2];A=+H(+w);F=+p[t+40>>2];R=+H(+F);I=+p[t+48>>2]+(m*d+u*a+b*o);o=+p[t+52>>2]+(m*S+u*v+b*M);M=+p[t+56>>2]+(m*D+u*w+b*F);F=C*l+f*s+g*_;_=C*y+f*x+g*T;T=C*P+f*A+g*R;p[i>>2]=I-F;p[i+4>>2]=o-_;p[i+8>>2]=M-T;p[i+12>>2]=0.0;p[n>>2]=F+I;p[n+4>>2]=_+o;p[n+8>>2]=T+M;p[n+12>>2]=0.0;return}function exe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0;n=d;d=d+96|0;_=n|0;o=n+64|0;s=n+80|0;p[_>>2]=1.0;vBe(_+4|0,0,16);p[_+20>>2]=1.0;vBe(_+24|0,0,16);p[_+40>>2]=1.0;vBe(_+44|0,0,20);mrt[r[(r[e>>2]|0)+8>>2]&1023](e,_,o,s);a=(+p[s>>2]-+p[o>>2])*.5*2.0;l=(+p[s+4>>2]-+p[o+4>>2])*.5*2.0;c=(+p[s+8>>2]-+p[o+8>>2])*.5*2.0;b=t/12.0;t=l*l;l=c*c;p[i>>2]=b*(t+l);c=a*a;p[i+4>>2]=b*(c+l);p[i+8>>2]=b*(c+t);d=n;return}function txe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0.0,Z=0.0,Q=0,q=0,Y=0,J=0,K=0,$=0;i=d;d=d+128|0;n=i|0;_=i+16|0;o=i+48|0;s=i+112|0;a=e+16|0;if((r[a>>2]|0)<=0){l=e+76|0;c=l;b=t;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];u=e;m=r[u>>2]|0;h=m+64|0;f=r[h>>2]|0;jnt[f&2047](e);d=i;return}g=e+24|0;C=o;S=o+16|0;y=o+32|0;v=o+48|0;x=v;M=s;T=s|0;D=t|0;P=s+4|0;w=t+4|0;A=s+8|0;F=t+8|0;R=e+76|0;I=e+80|0;B=e+84|0;V=s+12|0;E=v|0;v=o+52|0;N=o+56|0;k=o+48|0;O=o+60|0;L=n;U=_;G=e+64|0;W=_|0;z=_+16|0;_=0;do{H=r[g>>2]|0;j=H+(_*80|0)|0;r[C>>2]=r[j>>2];r[C+4>>2]=r[j+4>>2];r[C+8>>2]=r[j+8>>2];r[C+12>>2]=r[j+12>>2];j=H+(_*80|0)+16|0;r[S>>2]=r[j>>2];r[S+4>>2]=r[j+4>>2];r[S+8>>2]=r[j+8>>2];r[S+12>>2]=r[j+12>>2];j=H+(_*80|0)+32|0;r[y>>2]=r[j>>2];r[y+4>>2]=r[j+4>>2];r[y+8>>2]=r[j+8>>2];r[y+12>>2]=r[j+12>>2];j=H+(_*80|0)+48|0;r[x>>2]=r[j>>2];r[x+4>>2]=r[j+4>>2];r[x+8>>2]=r[j+8>>2];r[x+12>>2]=r[j+12>>2];j=r[H+(_*80|0)+64>>2]|0;H=Knt[r[(r[j>>2]|0)+28>>2]&4095](j)|0;r[M>>2]=r[H>>2];r[M+4>>2]=r[H+4>>2];r[M+8>>2]=r[H+8>>2];X=+p[P>>2]*+p[w>>2]/+p[I>>2];Z=+p[A>>2]*+p[F>>2]/+p[B>>2];p[T>>2]=+p[T>>2]*+p[D>>2]/+p[R>>2];p[P>>2]=X;p[A>>2]=Z;p[V>>2]=0.0;H=r[(r[g>>2]|0)+(_*80|0)+64>>2]|0;Znt[r[(r[H>>2]|0)+24>>2]&2047](H,s);Z=+p[v>>2]*+p[w>>2];X=+p[N>>2]*+p[F>>2];p[k>>2]=+p[E>>2]*+p[D>>2];p[v>>2]=Z;p[N>>2]=X;p[O>>2]=0.0;H=r[g>>2]|0;j=H+(_*80|0)|0;r[j>>2]=r[C>>2];r[j+4>>2]=r[C+4>>2];r[j+8>>2]=r[C+8>>2];r[j+12>>2]=r[C+12>>2];j=H+(_*80|0)+16|0;r[j>>2]=r[S>>2];r[j+4>>2]=r[S+4>>2];r[j+8>>2]=r[S+8>>2];r[j+12>>2]=r[S+12>>2];j=H+(_*80|0)+32|0;r[j>>2]=r[y>>2];r[j+4>>2]=r[y+4>>2];r[j+8>>2]=r[y+8>>2];r[j+12>>2]=r[y+12>>2];j=H+(_*80|0)+48|0;r[j>>2]=r[x>>2];r[j+4>>2]=r[x+4>>2];r[j+8>>2]=r[x+8>>2];r[j+12>>2]=r[x+12>>2];if((r[G>>2]|0)!=0){j=r[(r[g>>2]|0)+(_*80|0)+64>>2]|0;mrt[r[(r[j>>2]|0)+8>>2]&1023](j,o,W,n);r[z>>2]=r[L>>2];r[z+4>>2]=r[L+4>>2];r[z+8>>2]=r[L+8>>2];r[z+12>>2]=r[L+12>>2];j=r[G>>2]|0;H=r[(r[g>>2]|0)+(_*80|0)+76>>2]|0;Q=$Me(j,H)|0;e:do{if((Q|0)==0){q=0}else{Y=r[j+8>>2]|0;if((Y|0)>-1){J=0;K=Q}else{q=r[j>>2]|0;break}while(1){if((J|0)>=(Y|0)){q=K;break e}$=r[K+32>>2]|0;if(($|0)==0){q=K;break}else{J=J+1|0;K=$}}}}while(0);Q=H;yBe(Q|0,U|0,32)|0;KMe(j,q,H)}_=_+1|0}while((_|0)<(r[a>>2]|0));l=e+76|0;c=l;b=t;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];u=e;m=r[u>>2]|0;h=m+64|0;f=r[h>>2]|0;jnt[f&2047](e);d=i;return}function ixe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+20>>2]=+p[e+72>>2];_=r[e+16>>2]|0;o=t+16|0;r[o>>2]=_;s=t+12|0;r[s>>2]=0;if((_|0)==0){return 17848}t=i;a=h_t[r[(r[t>>2]|0)+16>>2]&511](i,76,_)|0;_=a+8|0;l=r[_>>2]|0;r[s>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,l)|0;if((r[o>>2]|0)>0){s=e+24|0;e=i;d=0;c=l;while(1){p[c+72>>2]=+p[(r[s>>2]|0)+(d*80|0)+72>>2];r[c+64>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,r[(r[s>>2]|0)+(d*80|0)+64>>2]|0)|0;if((j_t[r[(r[n>>2]|0)+24>>2]&511](i,r[(r[s>>2]|0)+(d*80|0)+64>>2]|0)|0)==0){l=r[(r[t>>2]|0)+16>>2]|0;b=r[(r[s>>2]|0)+(d*80|0)+64>>2]|0;u=Knt[r[(r[b>>2]|0)+48>>2]&4095](b)|0;b=h_t[l&511](i,u,1)|0;u=r[(r[s>>2]|0)+(d*80|0)+64>>2]|0;l=h_t[r[(r[u>>2]|0)+52>>2]&511](u,r[b+8>>2]|0,i)|0;Unt[r[(r[e>>2]|0)+20>>2]&255](i,b,l,1346455635,r[(r[s>>2]|0)+(d*80|0)+64>>2]|0)}r[c+68>>2]=r[(r[s>>2]|0)+(d*80|0)+68>>2];l=r[s>>2]|0;p[c>>2]=+p[l+(d*80|0)>>2];p[c+4>>2]=+p[l+(d*80|0)+4>>2];p[c+8>>2]=+p[l+(d*80|0)+8>>2];p[c+12>>2]=+p[l+(d*80|0)+12>>2];p[c+16>>2]=+p[l+(d*80|0)+16>>2];p[c+20>>2]=+p[l+(d*80|0)+20>>2];p[c+24>>2]=+p[l+(d*80|0)+24>>2];p[c+28>>2]=+p[l+(d*80|0)+28>>2];p[c+32>>2]=+p[l+(d*80|0)+32>>2];p[c+36>>2]=+p[l+(d*80|0)+36>>2];p[c+40>>2]=+p[l+(d*80|0)+40>>2];p[c+44>>2]=+p[l+(d*80|0)+44>>2];p[c+48>>2]=+p[l+(d*80|0)+48>>2];p[c+52>>2]=+p[l+(d*80|0)+52>>2];p[c+56>>2]=+p[l+(d*80|0)+56>>2];p[c+60>>2]=+p[l+(d*80|0)+60>>2];l=d+1|0;if((l|0)<(r[o>>2]|0)){d=l;c=c+76|0}else{m=e;break}}}else{m=i}Unt[r[(r[m>>2]|0)+20>>2]&255](i,a,16696,1497453121,r[_>>2]|0);return 17848}function nxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0.0,l=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0;n=d;d=d+48|0;_=n|0;o=n+16|0;s=n+32|0;a=+p[t+60>>2]*.5;l=r[t+68>>2]|0;c=+p[i+(l<<2)>>2];b=+p[i>>2];u=+p[i+4>>2];m=+p[i+8>>2];h=+j(+(b*b+u*u+m*m));f=r[t+64>>2]|0;if(c>h*+p[t+52>>2]){p[_+(f<<2)>>2]=0.0;p[_+(l<<2)>>2]=a;p[_+(r[t+72>>2]<<2)>>2]=0.0;g=e;C=_;r[g>>2]=r[C>>2];r[g+4>>2]=r[C+4>>2];r[g+8>>2]=r[C+8>>2];r[g+12>>2]=r[C+12>>2];d=n;return}h=+p[i+(f<<2)>>2];C=r[t+72>>2]|0;c=+p[i+(C<<2)>>2];m=+j(+(h*h+c*c));if(m>1.1920928955078125e-7){u=+p[t+56>>2]/m;p[o+(f<<2)>>2]=h*u;p[o+(l<<2)>>2]=-0.0-a;p[o+(C<<2)>>2]=u*c;t=e;i=o;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];d=n;return}else{p[s+(f<<2)>>2]=0.0;p[s+(l<<2)>>2]=-0.0-a;p[s+(C<<2)>>2]=0.0;C=e;e=s;r[C>>2]=r[e>>2];r[C+4>>2]=r[e+4>>2];r[C+8>>2]=r[e+8>>2];r[C+12>>2]=r[e+12>>2];d=n;return}}function _xe(e,t,i){e=e|0;t=t|0;i=i|0;nxe(e,t,i);return}function rxe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0;_=d;d=d+16|0;o=_|0;if((n|0)<=0){d=_;return}s=o;a=0;do{nxe(o,e,t+(a<<4)|0);p=i+(a<<4)|0;r[p>>2]=r[s>>2];r[p+4>>2]=r[s+4>>2];r[p+8>>2]=r[s+8>>2];r[p+12>>2]=r[s+12>>2];a=a+1|0}while((a|0)<(n|0));d=_;return}function oxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;nxe(e,t,i);n=t|0;_=t;if(+z_t[r[(r[_>>2]|0)+44>>2]&1023](n)==0.0){return}o=+p[i>>2];s=+p[i+4>>2];a=+p[i+8>>2];i=o*o+s*s+a*a<1.4210854715202004e-14;l=i?-1.0:a;a=i?-1.0:s;s=i?-1.0:o;o=1.0/+j(+(l*l+(s*s+a*a)));d=+z_t[r[(r[_>>2]|0)+44>>2]&1023](n);n=e|0;p[n>>2]=o*s*d+ +p[n>>2];n=e+4|0;p[n>>2]=d*o*a+ +p[n>>2];n=e+8|0;p[n>>2]=d*o*l+ +p[n>>2];return}function sxe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0.0,a=0.0,l=0.0;i=r[e+68>>2]|0;n=r[e+64>>2]|0;_=r[e+72>>2]|0;o=e+60|0;s=+p[t+(i<<2)>>2]/+p[e+12+(i<<2)>>2]*+p[o>>2];p[o>>2]=s;o=e+56|0;a=+p[o>>2]*(+p[t+(n<<2)>>2]/+p[e+12+(n<<2)>>2]+ +p[t+(_<<2)>>2]/+p[e+12+(_<<2)>>2])*.5;p[o>>2]=a;p[e+52>>2]=a/+j(+(s*s+a*a));a=+H(+ +p[t>>2]);s=+H(+ +p[t+4>>2]);l=+H(+ +p[t+8>>2]);p[e+12>>2]=a;p[e+16>>2]=s;p[e+20>>2]=l;p[e+24>>2]=0.0;return}function axe(e){e=e|0;return 17840|0}function pxe(e){e=e|0;return}function lxe(e){e=e|0;return}function dxe(e){e=e|0;return}function cxe(e){e=e|0;return}function bxe(e,t,i){e=e|0;t=t|0;i=i|0;return}function uxe(e,t,i){e=e|0;t=t|0;i=i|0;return}function mxe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-76+72>>2]|0);return}function hxe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e,t,i,n);return}function fxe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0;n=d;d=d+96|0;_=n|0;o=n+64|0;s=n+80|0;p[_>>2]=1.0;vBe(_+4|0,0,16);p[_+20>>2]=1.0;vBe(_+24|0,0,16);p[_+40>>2]=1.0;vBe(_+44|0,0,20);a=e|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](a,_,o,s);l=(+p[s>>2]-+p[o>>2])*.5;c=(+p[s+4>>2]-+p[o+4>>2])*.5;b=(+p[s+8>>2]-+p[o+8>>2])*.5;u=+z_t[r[(r[e>>2]|0)+44>>2]&1023](a);m=(l+u)*2.0;l=(c+u)*2.0;c=(b+u)*2.0;u=m*m;m=l*l;l=c*c;c=t*.0833333283662796;p[i>>2]=c*(m+l);p[i+4>>2]=c*(u+l);p[i+8>>2]=c*(u+m);p[i+12>>2]=0.0;d=n;return}function gxe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-76+72>>2]|0);return}function Cxe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-76+72>>2]|0);return}function Sxe(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0,Y=0.0,J=0,K=0.0,$=0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0,pe=0,le=0,de=0;s=d;d=d+280|0;a=s|0;l=s+80|0;c=s+216|0;b=s+232|0;u=s+248|0;m=s+264|0;h=e+16|0;if((r[h>>2]|0)==0){f=r[e+12>>2]|0;g=r[e+20>>2]|0;C=+p[t>>2];S=+p[t+4>>2];y=+p[t+8>>2];v=+p[t+16>>2];x=+p[t+20>>2];M=+p[t+24>>2];T=+p[t+32>>2];D=+p[t+36>>2];P=+p[t+40>>2];w=+p[t+48>>2];A=+p[t+52>>2];F=+p[t+56>>2];R=i|0;I=i+16|0;B=i+32|0;V=i+4|0;E=i+20|0;N=i+36|0;k=i+8|0;O=i+24|0;L=i+40|0;U=+p[R>>2];G=+p[I>>2];W=+p[B>>2];z=+p[V>>2];H=+p[E>>2];j=+p[N>>2];X=+p[k>>2];Z=+p[O>>2];Q=+p[L>>2];q=i+48|0;Y=-0.0-+p[q>>2];J=i+52|0;K=-0.0-+p[J>>2];$=i+56|0;ee=-0.0-+p[$>>2];te=C*U+v*G+T*W;ie=S*U+x*G+D*W;ne=y*U+M*G+P*W;_e=C*z+v*H+T*j;re=S*z+x*H+D*j;oe=y*z+M*H+P*j;se=C*X+v*Z+T*Q;T=S*X+x*Z+D*Q;D=y*X+M*Z+P*Q;ae=r[(r[f>>2]|0)+60>>2]|0;pe=g+48|0;P=-0.0-+p[pe>>2];le=g+52|0;M=-0.0-+p[le>>2];de=g+56|0;y=-0.0-+p[de>>2];p[b>>2]=te*P+_e*M+se*y;p[b+4>>2]=ie*P+re*M+T*y;p[b+8>>2]=ne*P+oe*M+D*y;p[b+12>>2]=0.0;srt[ae&511](c,f,b);y=+p[c>>2];M=+p[c+4>>2];P=+p[c+8>>2];x=w*U+A*G+F*W+(U*Y+G*K+W*ee)+(te*y+ie*M+ne*P);ne=w*z+A*H+F*j+(z*Y+H*K+j*ee)+(_e*y+re*M+oe*P);oe=w*X+A*Z+F*Q+(X*Y+Z*K+Q*ee)+(se*y+T*M+D*P);P=+p[pe>>2];D=+p[le>>2];M=+p[de>>2];T=M*oe+(P*x+D*ne)-+p[g+64>>2];y=x-P*T;P=ne-D*T;D=oe-M*T;M=+p[R>>2];oe=+p[V>>2];ne=+p[k>>2];x=+p[I>>2];se=+p[E>>2];ee=+p[O>>2];Q=+p[J>>2]+(y*x+P*se+D*ee);K=+p[B>>2];Z=+p[N>>2];Y=+p[L>>2];X=+p[$>>2]+(y*K+P*Z+D*Y);p[u>>2]=+p[q>>2]+(ne*D+(M*y+oe*P));p[u+4>>2]=Q;p[u+8>>2]=X;p[u+12>>2]=0.0;X=+p[pe>>2];Q=+p[le>>2];P=+p[de>>2];p[m>>2]=M*X+oe*Q+ne*P;p[m+4>>2]=X*x+Q*se+P*ee;p[m+8>>2]=X*K+Q*Z+P*Y;p[m+12>>2]=0.0;nrt[r[(r[o>>2]|0)+16>>2]&127](o,m,u,T);d=s;return}else{u=e+4|0;m=r[u>>2]|0;n[m+312|0]=0;r[m>>2]=0;n[m+356|0]=1;p[m+292>>2]=999999984306749400.0;p[m+296>>2]=999999984306749400.0;p[m+300>>2]=999999984306749400.0;p[m+304>>2]=0.0;de=m+332|0;vBe(m+336|0,0,17);_[de>>1]=_[de>>1]&-16;de=r[e+12>>2]|0;m=r[h>>2]|0;le=r[de+4>>2]|0;pe=r[m+4>>2]|0;T=+z_t[r[(r[de>>2]|0)+44>>2]&1023](de);q=r[h>>2]|0;Y=+z_t[r[(r[q>>2]|0)+44>>2]&1023](q);q=r[u>>2]|0;u=r[e+8>>2]|0;r[a>>2]=23568;p[a+4>>2]=0.0;p[a+8>>2]=1.0;p[a+12>>2]=0.0;p[a+16>>2]=0.0;r[a+20>>2]=u;r[a+24>>2]=q;r[a+28>>2]=de;r[a+32>>2]=m;r[a+36>>2]=le;r[a+40>>2]=pe;p[a+44>>2]=T;p[a+48>>2]=Y;n[a+52|0]=0;r[a+60>>2]=-1;r[a+72>>2]=1;p[l+128>>2]=999999984306749400.0;r[l+132>>2]=0;pe=l;le=t;r[pe>>2]=r[le>>2];r[pe+4>>2]=r[le+4>>2];r[pe+8>>2]=r[le+8>>2];r[pe+12>>2]=r[le+12>>2];le=l+16|0;pe=t+16|0;r[le>>2]=r[pe>>2];r[le+4>>2]=r[pe+4>>2];r[le+8>>2]=r[pe+8>>2];r[le+12>>2]=r[pe+12>>2];pe=l+32|0;le=t+32|0;r[pe>>2]=r[le>>2];r[pe+4>>2]=r[le+4>>2];r[pe+8>>2]=r[le+8>>2];r[pe+12>>2]=r[le+12>>2];le=l+48|0;pe=t+48|0;r[le>>2]=r[pe>>2];r[le+4>>2]=r[pe+4>>2];r[le+8>>2]=r[pe+8>>2];r[le+12>>2]=r[pe+12>>2];pe=l+64|0;le=i;r[pe>>2]=r[le>>2];r[pe+4>>2]=r[le+4>>2];r[pe+8>>2]=r[le+8>>2];r[pe+12>>2]=r[le+12>>2];le=l+80|0;pe=i+16|0;r[le>>2]=r[pe>>2];r[le+4>>2]=r[pe+4>>2];r[le+8>>2]=r[pe+8>>2];r[le+12>>2]=r[pe+12>>2];pe=l+96|0;le=i+32|0;r[pe>>2]=r[le>>2];r[pe+4>>2]=r[le+4>>2];r[pe+8>>2]=r[le+8>>2];r[pe+12>>2]=r[le+12>>2];le=l+112|0;pe=i+48|0;r[le>>2]=r[pe>>2];r[le+4>>2]=r[pe+4>>2];r[le+8>>2]=r[pe+8>>2];r[le+12>>2]=r[pe+12>>2];NDe(a,l,o|0,0,0);d=s;return}}function yxe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0,U=0,G=0,W=0,z=0,H=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0.0,_e=0,re=0,oe=0.0,se=0.0,ae=0;a=d;d=d+352|0;l=a|0;c=a+16|0;b=a+24|0;u=a+40|0;m=a+48|0;h=a+64|0;f=a+80|0;g=a+96|0;C=a+144|0;S=a+160|0;y=a+224|0;v=a+288|0;x=a+304|0;M=+p[i+48>>2]-+p[t+48>>2];T=+p[i+52>>2]-+p[t+52>>2];D=+p[i+56>>2]-+p[t+56>>2];tme(t,i,b,u);P=+p[u>>2];w=+p[b>>2]*P;A=P*+p[b+4>>2];F=P*+p[b+8>>2];p[m>>2]=w;p[m+4>>2]=A;p[m+8>>2]=F;p[m+12>>2]=0.0;P=+p[o+48>>2]-+p[_+48>>2];R=+p[o+52>>2]-+p[_+52>>2];I=+p[o+56>>2]-+p[_+56>>2];tme(_,o,l,c);B=+p[c>>2];V=+p[l>>2]*B;E=B*+p[l+4>>2];N=B*+p[l+8>>2];p[h>>2]=V;p[h+4>>2]=E;p[h+8>>2]=N;p[h+12>>2]=0.0;l=r[e+12>>2]|0;B=+z_t[r[(r[l>>2]|0)+16>>2]&1023](l|0);l=r[e+16>>2]|0;if((l|0)==0){k=0.0}else{k=+z_t[r[(r[l>>2]|0)+16>>2]&1023](l|0)}O=B*+j(+(w*w+A*A+F*F));F=O+k*+j(+(V*V+E*E+N*N));N=P-M;E=R-T;V=I-D;if(F+ +j(+(N*N+E*E+V*V))==0.0){L=0;d=a;return L|0}r[g>>2]=23960;l=g+36|0;p[l>>2]=999999984306749400.0;c=g+40|0;n[c]=0;Sxe(e,t,_,g);o=(n[c]&1)==0;c=f;b=g+20|0;r[c>>2]=r[b>>2];r[c+4>>2]=r[b+4>>2];r[c+8>>2]=r[b+8>>2];r[c+12>>2]=r[b+12>>2];if(o){L=0;d=a;return L|0}o=s+172|0;k=+p[g+4>>2];O=+p[g+8>>2];A=+p[g+12>>2];if(F+(N*k+E*O+V*A)<=1.1920928955078125e-7){L=0;d=a;return L|0}b=s+168|0;u=s;i=x|0;U=x+36|0;G=x+40|0;W=x+20|0;z=x+4|0;H=x+8|0;X=x+12|0;Z=x+16|0;Q=S+48|0;q=v|0;Y=v+4|0;J=v+8|0;K=v+12|0;$=C|0;ee=C+4|0;te=C+8|0;ie=C+12|0;w=+p[l>>2]+ +p[o>>2];l=0;B=0.0;ne=k;k=O;O=A;A=+p[g+16>>2];while(1){if(w<=.0010000000474974513){_e=2020;break}g=r[b>>2]|0;if((g|0)!=0){re=r[(r[g>>2]|0)+20>>2]|0;p[$>>2]=1.0;p[ee>>2]=1.0;p[te>>2]=1.0;p[ie>>2]=0.0;i_t[re&127](g,f,.20000000298023224,C)}oe=F+(V*O+(E*k+N*ne));if(oe<=1.1920928955078125e-7){L=0;_e=2024;break}se=B+w/oe;if(!(se>=0.0&se<=1.0&se>B)){L=0;_e=2030;break}jue(t,M,T,D,m,se,S);jue(_,P,R,I,h,se,y);g=r[b>>2]|0;if((g|0)!=0){re=r[(r[g>>2]|0)+20>>2]|0;p[q>>2]=1.0;p[Y>>2]=0.0;p[J>>2]=0.0;p[K>>2]=0.0;i_t[re&127](g,Q,.20000000298023224,v)}Wnt[r[r[u>>2]>>2]&1023](s,se);r[i>>2]=23960;p[U>>2]=999999984306749400.0;n[G]=0;Sxe(e,S,y,x);if((n[G]&1)==0){_e=2018;break}oe=+p[U>>2]+ +p[o>>2];r[c>>2]=r[W>>2];r[c+4>>2]=r[W+4>>2];r[c+8>>2]=r[W+8>>2];r[c+12>>2]=r[W+12>>2];ae=l+1|0;if((ae|0)>64){_e=2019;break}else{w=oe;l=ae;B=se;ne=+p[z>>2];k=+p[H>>2];O=+p[X>>2];A=+p[Z>>2]}}if((_e|0)==2024){d=a;return L|0}else if((_e|0)==2030){d=a;return L|0}else if((_e|0)==2019){srt[r[(r[s>>2]|0)+8>>2]&511](s,-2,ae);L=0;d=a;return L|0}else if((_e|0)==2020){p[s+164>>2]=B;p[s+132>>2]=ne;p[s+136>>2]=k;p[s+140>>2]=O;p[s+144>>2]=A;ae=s+148|0;r[ae>>2]=r[c>>2];r[ae+4>>2]=r[c+4>>2];r[ae+8>>2]=r[c+8>>2];r[ae+12>>2]=r[c+12>>2];L=1;d=a;return L|0}else if((_e|0)==2018){srt[r[(r[s>>2]|0)+8>>2]&511](s,-1,l);L=0;d=a;return L|0}return 0}function vxe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function xxe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function Mxe(e){e=e|0;return 0}function Txe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function Dxe(e,t,i){e=e|0;t=t|0;i=+i;return 0}function Pxe(e){e=e|0;return 17288|0}function wxe(e){e=e|0;return 68}function Axe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0;_=(n|0)>0;if(_){o=0;do{p[i+(o<<4)+12>>2]=-999999984306749400.0;o=o+1|0}while((o|0)<(n|0))}o=e+96|0;s=r[o>>2]|0;if((s|0)<=0){return}a=e+104|0;l=e+12|0;d=e+16|0;c=e+20|0;if(_){b=0}else{_=0;do{_=_+1|0}while((_|0)<(s|0));return}do{s=r[a>>2]|0;u=+p[s+(b<<4)>>2]*+p[l>>2];m=+p[s+(b<<4)+4>>2]*+p[d>>2];h=+p[s+(b<<4)+8>>2]*+p[c>>2];s=0;do{f=u*+p[t+(s<<4)>>2]+m*+p[t+(s<<4)+4>>2]+h*+p[t+(s<<4)+8>>2];_=i+(s<<4)+12|0;if(f>+p[_>>2]){p[i+(s<<4)>>2]=u;p[i+(s<<4)+4>>2]=m;p[i+(s<<4)+8>>2]=h;p[_>>2]=f}s=s+1|0}while((s|0)<(n|0));b=b+1|0}while((b|0)<(r[o>>2]|0));return}function Fxe(e){e=e|0;return r[e+96>>2]|0}function Rxe(e){e=e|0;return r[e+96>>2]|0}function Ixe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0.0,c=0,b=0.0;_=r[e+96>>2]|0;o=(t|0)%(_|0)|0;s=(t+1|0)%(_|0)|0;_=e+104|0;t=r[_>>2]|0;a=e+12|0;l=e+16|0;d=+p[t+(o<<4)+4>>2]*+p[l>>2];c=e+20|0;b=+p[t+(o<<4)+8>>2]*+p[c>>2];p[i>>2]=+p[t+(o<<4)>>2]*+p[a>>2];p[i+4>>2]=d;p[i+8>>2]=b;p[i+12>>2]=0.0;i=r[_>>2]|0;b=+p[i+(s<<4)+4>>2]*+p[l>>2];d=+p[i+(s<<4)+8>>2]*+p[c>>2];p[n>>2]=+p[i+(s<<4)>>2]*+p[a>>2];p[n+4>>2]=b;p[n+8>>2]=d;p[n+12>>2]=0.0;return}function Bxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,o=0.0;n=r[e+104>>2]|0;_=+p[n+(t<<4)+4>>2]*+p[e+16>>2];o=+p[n+(t<<4)+8>>2]*+p[e+20>>2];p[i>>2]=+p[n+(t<<4)>>2]*+p[e+12>>2];p[i+4>>2]=_;p[i+8>>2]=o;p[i+12>>2]=0.0;return}function Vxe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0;o=e+36|0;if(+p[o>>2]<=_){return}n[e+40|0]=1;s=e+4|0;a=t;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=e+20|0;e=i;r[a>>2]=r[e>>2];r[a+4>>2]=r[e+4>>2];r[a+8>>2]=r[e+8>>2];r[a+12>>2]=r[e+12>>2];p[o>>2]=_;return}function Exe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0.0,y=0.0;o=d;d=d+16|0;s=o|0;a=e|0;r[e+8>>2]=0;p[e+12>>2]=1.0;p[e+16>>2]=1.0;p[e+20>>2]=1.0;p[e+24>>2]=0.0;p[e+44>>2]=.03999999910593033;r[e+52>>2]=0;p[e+56>>2]=1.0;p[e+60>>2]=1.0;p[e+64>>2]=1.0;p[e+68>>2]=0.0;p[e+72>>2]=-1.0;p[e+76>>2]=-1.0;p[e+80>>2]=-1.0;p[e+84>>2]=0.0;n[e+88|0]=0;r[e>>2]=23600;l=e+108|0;n[l]=1;c=e+104|0;r[c>>2]=0;b=e+96|0;r[b>>2]=0;u=e+100|0;r[u>>2]=0;r[e+4>>2]=4;e:do{if((i|0)>0){r[9806]=(r[9806]|0)+1;e=hBe((i<<4|4)+15|0)|0;if((e|0)==0){m=0}else{h=-(e+4|0)&15;r[e+h>>2]=e;m=e+(h+4)|0}h=r[b>>2]|0;if((h|0)>0){e=0;do{f=m+(e<<4)|0;if((f|0)!=0){g=f;f=(r[c>>2]|0)+(e<<4)|0;r[g>>2]=r[f>>2];r[g+4>>2]=r[f+4>>2];r[g+8>>2]=r[f+8>>2];r[g+12>>2]=r[f+12>>2]}e=e+1|0}while((e|0)<(h|0))}h=r[c>>2]|0;if((h|0)!=0){if((n[l]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[h-16+12>>2]|0)}r[c>>2]=0}n[l]=1;r[c>>2]=m;r[u>>2]=i;h=s;e=0;f=m;while(1){g=f+(e<<4)|0;if((g|0)!=0){C=g;r[C>>2]=r[h>>2];r[C+4>>2]=r[h+4>>2];r[C+8>>2]=r[h+8>>2];r[C+12>>2]=r[h+12>>2]}C=e+1|0;if((C|0)>=(i|0)){break}e=C;f=r[c>>2]|0}r[b>>2]=i;f=t;e=0;while(1){h=r[c>>2]|0;S=+p[f+4>>2];y=+p[f+8>>2];p[h+(e<<4)>>2]=+p[f>>2];p[h+(e<<4)+4>>2]=S;p[h+(e<<4)+8>>2]=y;p[h+(e<<4)+12>>2]=0.0;h=e+1|0;if((h|0)>=(i|0)){break e}f=f+_|0;e=h}}else{r[b>>2]=i}}while(0);dwe(a);d=o;return}function Nxe(e,t){e=e|0;t=t|0;var i=0,n=0;i=e+12|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];dwe(e|0);return}function kxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0;n=e|0;_=e+4|0;o=e+8|0;s=e+12|0;vBe(e|0,0,16);e=r[t+96>>2]|0;if((e|0)<=0){return}a=r[t+104>>2]|0;l=+p[t+12>>2];d=+p[t+16>>2];c=+p[t+20>>2];b=+p[i>>2];u=+p[i+4>>2];m=+p[i+8>>2];h=-999999984306749400.0;i=0;while(1){f=+p[a+(i<<4)>>2]*l;g=+p[a+(i<<4)+4>>2]*d;C=+p[a+(i<<4)+8>>2]*c;S=f*b+g*u+C*m;if(S>h){p[n>>2]=f;p[_>>2]=g;p[o>>2]=C;p[s>>2]=0.0;y=S}else{y=h}t=i+1|0;if((t|0)<(e|0)){h=y;i=t}else{break}}return}function Oxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;srt[r[(r[t>>2]|0)+64>>2]&511](e,t,i);n=t|0;_=t;if(+z_t[r[(r[_>>2]|0)+44>>2]&1023](n)==0.0){return}o=+p[i>>2];s=+p[i+4>>2];a=+p[i+8>>2];i=o*o+s*s+a*a<1.4210854715202004e-14;l=i?-1.0:a;a=i?-1.0:s;s=i?-1.0:o;o=1.0/+j(+(l*l+(s*s+a*a)));d=+z_t[r[(r[_>>2]|0)+44>>2]&1023](n);n=e|0;p[n>>2]=o*s*d+ +p[n>>2];n=e+4|0;p[n>>2]=d*o*a+ +p[n>>2];n=e+8|0;p[n>>2]=d*o*l+ +p[n>>2];return}function Lxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+28>>2]=+p[e+28>>2];p[t+32>>2]=+p[e+32>>2];p[t+36>>2]=+p[e+36>>2];p[t+40>>2]=+p[e+40>>2];p[t+12>>2]=+p[e+12>>2];p[t+16>>2]=+p[e+16>>2];p[t+20>>2]=+p[e+20>>2];p[t+24>>2]=+p[e+24>>2];p[t+44>>2]=+p[e+44>>2];_=r[e+96>>2]|0;r[t+60>>2]=_;if((_|0)==0){r[t+52>>2]=0;r[t+56>>2]=0;return 17784}o=e+104|0;r[t+52>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,r[o>>2]|0)|0;r[t+56>>2]=0;t=h_t[r[(r[i>>2]|0)+16>>2]&511](i,16,_)|0;if((_|0)>0){n=r[t+8>>2]|0;e=0;while(1){s=r[o>>2]|0;p[n>>2]=+p[s+(e<<4)>>2];p[n+4>>2]=+p[s+(e<<4)+4>>2];p[n+8>>2]=+p[s+(e<<4)+8>>2];p[n+12>>2]=+p[s+(e<<4)+12>>2];s=e+1|0;if((s|0)<(_|0)){n=n+16|0;e=s}else{break}}}Unt[r[(r[i>>2]|0)+20>>2]&255](i,t,16904,1497453121,r[o>>2]|0);return 17784}function Uxe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;t=e|0;r[t>>2]=23600;i=e+96|0;_=e+104|0;o=r[_>>2]|0;s=e+108|0;if((o|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-16+12>>2]|0)}r[_>>2]=0}n[s]=1;r[_>>2]=0;r[i>>2]=0;r[e+100>>2]=0;r[t>>2]=21200;t=r[e+52>>2]|0;if((t|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0);return}function Gxe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;t=e|0;r[t>>2]=23600;i=e+96|0;_=e+104|0;o=r[_>>2]|0;s=e+108|0;if((o|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-16+12>>2]|0)}r[_>>2]=0}n[s]=1;r[_>>2]=0;r[i>>2]=0;r[e+100>>2]=0;r[t>>2]=21200;t=r[e+52>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0)}if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-112+108>>2]|0);return}function Wxe(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+H(+ +p[t>>2]);n=+H(+ +p[t+4>>2]);_=+H(+ +p[t+8>>2]);p[e+12>>2]=i;p[e+16>>2]=n;p[e+20>>2]=_;p[e+24>>2]=0.0;return}function zxe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0;_=d;d=d+96|0;o=_|0;s=_+16|0;a=_+32|0;l=_+48|0;c=_+64|0;b=_+80|0;u=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e);m=o|0;h=o+4|0;f=o+8|0;g=e;C=t|0;S=t+16|0;y=t+32|0;v=t+4|0;x=t+20|0;M=t+36|0;T=t+8|0;D=t+24|0;P=t+40|0;w=a|0;A=a+4|0;F=a+8|0;R=a+12|0;I=s|0;B=s+4|0;V=s+8|0;E=t+48|0;N=t+52|0;k=t+56|0;t=l|0;O=l+4|0;L=l+8|0;U=l+12|0;G=b|0;W=b+4|0;z=b+8|0;H=b+12|0;j=c|0;X=c+4|0;Z=c+8|0;Q=o;q=0;do{Y=o+(q<<2)|0;vBe(Q|0,0,16);p[Y>>2]=1.0;J=r[(r[g>>2]|0)+60>>2]|0;K=+p[m>>2];$=+p[h>>2];ee=+p[f>>2];te=K*+p[v>>2]+$*+p[x>>2]+ee*+p[M>>2];ie=K*+p[T>>2]+$*+p[D>>2]+ee*+p[P>>2];p[w>>2]=+p[C>>2]*K+ +p[S>>2]*$+ +p[y>>2]*ee;p[A>>2]=te;p[F>>2]=ie;p[R>>2]=0.0;srt[J&511](s,e,a);ie=+p[I>>2];te=+p[B>>2];ee=+p[V>>2];$=+p[N>>2]+(ie*+p[S>>2]+te*+p[x>>2]+ee*+p[D>>2]);K=+p[k>>2]+(ie*+p[y>>2]+te*+p[M>>2]+ee*+p[P>>2]);p[t>>2]=+p[E>>2]+(+p[C>>2]*ie+ +p[v>>2]*te+ +p[T>>2]*ee);p[O>>2]=$;p[L>>2]=K;p[U>>2]=0.0;J=l+(q<<2)|0;p[n+(q<<2)>>2]=u+ +p[J>>2];p[Y>>2]=-1.0;Y=r[(r[g>>2]|0)+60>>2]|0;K=+p[m>>2];$=+p[h>>2];ee=+p[f>>2];te=K*+p[v>>2]+$*+p[x>>2]+ee*+p[M>>2];ie=K*+p[T>>2]+$*+p[D>>2]+ee*+p[P>>2];p[G>>2]=+p[C>>2]*K+ +p[S>>2]*$+ +p[y>>2]*ee;p[W>>2]=te;p[z>>2]=ie;p[H>>2]=0.0;srt[Y&511](c,e,b);ie=+p[j>>2];te=+p[X>>2];ee=+p[Z>>2];$=+p[N>>2]+(ie*+p[S>>2]+te*+p[x>>2]+ee*+p[D>>2]);K=+p[k>>2]+(ie*+p[y>>2]+te*+p[M>>2]+ee*+p[P>>2]);p[t>>2]=+p[E>>2]+(+p[C>>2]*ie+ +p[v>>2]*te+ +p[T>>2]*ee);p[O>>2]=$;p[L>>2]=K;p[U>>2]=0.0;p[i+(q<<2)>>2]=+p[J>>2]-u;q=q+1|0}while((q|0)<3);d=_;return}function Hxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0;srt[r[(r[t>>2]|0)+64>>2]&511](e,t|0,i);n=t;if(+z_t[r[(r[n>>2]|0)+44>>2]&1023](t)==0.0){return}_=+p[i>>2];o=+p[i+4>>2];s=+p[i+8>>2];i=_*_+o*o+s*s<1.4210854715202004e-14;a=i?-1.0:s;s=i?-1.0:o;o=i?-1.0:_;_=1.0/+j(+(a*a+(o*o+s*s)));l=+z_t[r[(r[n>>2]|0)+44>>2]&1023](t);t=e|0;p[t>>2]=_*o*l+ +p[t>>2];t=e+4|0;p[t>>2]=l*_*s+ +p[t>>2];t=e+8|0;p[t>>2]=l*_*a+ +p[t>>2];return}function jxe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0;_=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0);o=+p[e+68>>2];s=+p[e+52>>2];a=+p[e+72>>2];l=+p[e+56>>2];d=+p[e+76>>2];c=+p[e+60>>2];b=_+(o-s)*.5;u=_+(a-l)*.5;m=_+(d-c)*.5;_=(o+s)*.5;s=(a+l)*.5;l=(d+c)*.5;c=+p[t>>2];d=+H(+c);a=+p[t+4>>2];o=+H(+a);h=+p[t+8>>2];f=+H(+h);g=+p[t+16>>2];C=+H(+g);S=+p[t+20>>2];y=+H(+S);v=+p[t+24>>2];x=+H(+v);M=+p[t+32>>2];T=+H(+M);D=+p[t+36>>2];P=+H(+D);w=+p[t+40>>2];A=+H(+w);F=_*c+s*a+l*h+ +p[t+48>>2];h=_*g+s*S+l*v+ +p[t+52>>2];v=_*M+s*D+l*w+ +p[t+56>>2];w=b*d+u*o+m*f;f=b*C+u*y+m*x;x=b*T+u*P+m*A;p[i>>2]=F-w;p[i+4>>2]=h-f;p[i+8>>2]=v-x;p[i+12>>2]=0.0;p[n>>2]=w+F;p[n+4>>2]=f+h;p[n+8>>2]=x+v;p[n+12>>2]=0.0;return}function Xxe(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+H(+ +p[t>>2]);n=+H(+ +p[t+4>>2]);_=+H(+ +p[t+8>>2]);p[e+12>>2]=i;p[e+16>>2]=n;p[e+20>>2]=_;p[e+24>>2]=0.0;Zxe(e);return}function Zxe(e){e=e|0;var t=0,i=0,_=0.0;t=d;d=d+96|0;i=t|0;n[e+84|0]=1;do{if((n[43008]|0)==0){if((ui(43008)|0)==0){break}p[10356]=1.0;vBe(41428,0,16);p[10361]=1.0;vBe(41448,0,16);p[10366]=1.0;p[10367]=0.0;p[10368]=-1.0;vBe(41476,0,16);p[10373]=-1.0;vBe(41496,0,16);p[10378]=-1.0;p[10379]=0.0}}while(0);vBe(i|0,0,96);mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,41424,i|0,6);_=+p[e+44>>2];p[e+68>>2]=+p[i>>2]+_;p[e+52>>2]=+p[i+48>>2]-_;p[e+72>>2]=+p[i+20>>2]+_;p[e+56>>2]=+p[i+68>>2]-_;p[e+76>>2]=+p[i+40>>2]+_;p[e+60>>2]=+p[i+88>>2]-_;d=t;return}function Qxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0.0,C=0.0,S=0.0,y=0,v=0,x=0.0,M=0,T=0,D=0,P=0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0,L=0,U=0,G=0,W=0.0,z=0.0,H=0.0,X=0;n=d;d=d+80|0;_=n|0;o=n+16|0;s=n+32|0;a=n+48|0;l=n+64|0;switch(r[t+4>>2]|0){case 8:{vBe(e|0,0,16);d=n;return};case 0:{c=t+28|0;b=+p[c>>2];u=+p[c+4>>2];m=+p[i+4>>2]>=0.0?u:-0.0-u;u=+p[c+8>>2];h=+p[i+8>>2]>=0.0?u:-0.0-u;p[e>>2]=+p[i>>2]>=0.0?b:-0.0-b;p[e+4>>2]=m;p[e+8>>2]=h;p[e+12>>2]=0.0;d=n;return};case 4:{c=r[t+104>>2]|0;f=r[t+96>>2]|0;h=+p[t+12>>2];m=+p[t+16>>2];b=+p[t+20>>2];u=+p[i>>2]*h;g=+p[i+4>>2]*m;C=+p[i+8>>2]*b;if((f|0)>0){S=-999999984306749400.0;y=-1;v=0;while(1){x=u*+p[c+(v<<4)>>2]+g*+p[c+(v<<4)+4>>2]+C*+p[c+(v<<4)+8>>2];M=x>S;T=M?v:y;D=v+1|0;if((D|0)<(f|0)){S=M?x:S;y=T;v=D}else{P=T;break}}}else{P=-1}S=m*+p[c+(P<<4)+4>>2];m=b*+p[c+(P<<4)+8>>2];p[e>>2]=h*+p[c+(P<<4)>>2];p[e+4>>2]=S;p[e+8>>2]=m;p[e+12>>2]=0.0;d=n;return};case 10:{m=+p[i>>2];S=+p[i+4>>2];h=+p[i+8>>2];P=t;c=r[t+52>>2]|0;b=+p[P+28+(c<<2)>>2];C=+p[P+28+(((c+2|0)%3|0)<<2)>>2];g=m*m+S*S+h*h;if(g<9999999747378752.0e-20){w=1.0;A=0.0;F=0.0}else{u=1.0/+j(+g);w=m*u;A=S*u;F=h*u}vBe(a|0,0,16);p[a+(c<<2)>>2]=b;u=C*w*+p[t+12>>2];h=C*A*+p[t+16>>2];S=C*F*+p[t+20>>2];C=+p[t+44>>2];m=w*C;g=A*C;x=F*C;C=u+ +p[a>>2]-m;R=h+ +p[a+4>>2]-g;I=S+ +p[a+8>>2]-x;B=F*I+(w*C+A*R);if(B>-999999984306749400.0){V=B;E=C;N=R;k=I}else{V=-999999984306749400.0;E=0.0;N=0.0;k=0.0}vBe(l|0,0,16);p[l+(c<<2)>>2]=-0.0-b;b=u+ +p[l>>2]-m;m=h+ +p[l+4>>2]-g;g=S+ +p[l+8>>2]-x;l=F*g+(w*b+A*m)>V;p[e>>2]=l?b:E;p[e+4>>2]=l?m:N;p[e+8>>2]=l?g:k;p[e+12>>2]=0.0;d=n;return};case 5:{l=r[t+92>>2]|0;c=r[t+96>>2]|0;k=+p[t+12>>2];g=+p[t+16>>2];N=+p[t+20>>2];m=+p[i>>2]*k;E=+p[i+4>>2]*g;b=+p[i+8>>2]*N;if((c|0)>0){V=-999999984306749400.0;a=-1;P=0;while(1){A=m*+p[l+(P<<4)>>2]+E*+p[l+(P<<4)+4>>2]+b*+p[l+(P<<4)+8>>2];v=A>V;y=v?P:a;f=P+1|0;if((f|0)<(c|0)){V=v?A:V;a=y;P=f}else{O=y;break}}}else{O=-1}V=g*+p[l+(O<<4)+4>>2];g=N*+p[l+(O<<4)+8>>2];p[e>>2]=k*+p[l+(O<<4)>>2];p[e+4>>2]=V;p[e+8>>2]=g;p[e+12>>2]=0.0;d=n;return};case 13:{O=_;l=t+28|0;r[O>>2]=r[l>>2];r[O+4>>2]=r[l+4>>2];r[O+8>>2]=r[l+8>>2];r[O+12>>2]=r[l+12>>2];p[o>>2]=+p[i>>2];g=+p[i+4>>2];p[o+4>>2]=g;V=+p[i+8>>2];p[o+8>>2]=V;p[o+12>>2]=0.0;l=r[t+52>>2]|0;if((l|0)==1){L=0;U=l;G=2;W=V}else if((l|0)==2){L=0;U=l;G=1;W=g}else{L=1;U=0;G=2;W=V}V=+p[_+(L<<2)>>2];g=+p[_+(l<<2)>>2];k=+p[o+(L<<2)>>2];N=+j(+(k*k+W*W));if(N!=0.0){b=V/N;p[s+(L<<2)>>2]=k*b;if(+p[o+(U<<2)>>2]<0.0){z=-0.0-g}else{z=g}p[s+(U<<2)>>2]=z;p[s+(G<<2)>>2]=b*W;p[e>>2]=+p[s>>2];p[e+4>>2]=+p[s+4>>2];p[e+8>>2]=+p[s+8>>2];p[e+12>>2]=0.0;d=n;return}else{p[s+(L<<2)>>2]=V;if(+p[o+(U<<2)>>2]<0.0){H=-0.0-g}else{H=g}p[s+(U<<2)>>2]=H;p[s+(G<<2)>>2]=0.0;p[e>>2]=+p[s>>2];p[e+4>>2]=+p[s+4>>2];p[e+8>>2]=+p[s+8>>2];p[e+12>>2]=0.0;d=n;return}break};case 1:{H=+p[i>>2];g=+p[i+4>>2];V=+p[i+8>>2];s=t+56|0;G=s;W=H*+p[s>>2]+g*+p[s+4>>2]+V*+p[s+8>>2];b=H*+p[s+16>>2]+g*+p[s+20>>2]+V*+p[s+24>>2];z=H*+p[s+32>>2]+g*+p[s+36>>2]+V*+p[s+40>>2];if(W<b){X=b<z?2:1}else{X=W<z?2:0}z=+p[G+(X<<4)+4>>2];W=+p[G+(X<<4)+8>>2];p[e>>2]=+p[G+(X<<4)>>2];p[e+4>>2]=z;p[e+8>>2]=W;p[e+12>>2]=0.0;d=n;return};default:{srt[r[(r[t>>2]|0)+64>>2]&511](e,t,i);d=n;return}}}function qxe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0;n=d;d=d+32|0;_=n|0;o=n+16|0;s=_;a=i;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=_|0;l=+p[a>>2];s=_+4|0;c=+p[s>>2];i=_+8|0;b=+p[i>>2];if(l*l+c*c+b*b<1.4210854715202004e-14){p[a>>2]=-1.0;p[s>>2]=-1.0;p[i>>2]=-1.0;p[_+12>>2]=0.0;u=-1.0;m=-1.0;h=-1.0}else{u=l;m=c;h=b}b=1.0/+j(+(u*u+m*m+h*h));p[a>>2]=u*b;p[s>>2]=m*b;p[i>>2]=h*b;Qxe(o,t,_);switch(r[t+4>>2]|0){case 0:{f=+p[t+44>>2];break};case 13:{f=+p[t+44>>2];break};case 1:{f=+p[t+44>>2];break};case 5:case 4:{f=+p[t+44>>2];break};case 8:{f=+p[t+28>>2]*+p[t+12>>2];break};case 10:{f=+p[t+44>>2];break};default:{f=+z_t[r[(r[t>>2]|0)+44>>2]&1023](t)}}b=f*+p[s>>2]+ +p[o+4>>2];h=f*+p[i>>2]+ +p[o+8>>2];p[e>>2]=f*+p[a>>2]+ +p[o>>2];p[e+4>>2]=b;p[e+8>>2]=h;p[e+12>>2]=0.0;d=n;return}function Yxe(e){e=e|0;return}function Jxe(e){e=e|0;return 0}function Kxe(e){e=e|0;return 0}function $xe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function eMe(e,t,i){e=e|0;t=t|0;i=i|0;return}function tMe(e){e=e|0;return 0}function iMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function nMe(e,t,i){e=e|0;t=t|0;i=+i;return 0}function _Me(e){e=e|0;return 17768|0}function rMe(e){e=e|0;return}function oMe(e){e=e|0;return}function sMe(e){e=e|0;return(r[e+92>>2]|0)+4|0}function aMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0,S=0,y=0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0;_=d;d=d+112|0;o=_|0;s=_+16|0;a=_+32|0;l=_+48|0;c=_+64|0;b=_+80|0;u=_+96|0;m=r[e+4>>2]|0;switch(m|0){case 10:{h=e;f=r[e+52>>2]|0;g=+p[h+28+(((f+2|0)%3|0)<<2)>>2];C=u|0;p[C>>2]=g;S=u+4|0;p[S>>2]=g;y=u+8|0;p[y>>2]=g;p[u+12>>2]=0.0;p[u+(f<<2)>>2]=g+ +p[h+28+(f<<2)>>2];g=+p[e+44>>2];v=g+ +p[C>>2];p[C>>2]=v;x=g+ +p[S>>2];p[S>>2]=x;M=g+ +p[y>>2];p[y>>2]=M;g=+H(+ +p[t>>2]);T=+H(+ +p[t+4>>2]);D=+H(+ +p[t+8>>2]);P=+H(+ +p[t+16>>2]);w=+H(+ +p[t+20>>2]);A=+H(+ +p[t+24>>2]);F=+H(+ +p[t+32>>2]);R=+H(+ +p[t+36>>2]);I=+H(+ +p[t+40>>2]);B=+p[t+48>>2];V=+p[t+52>>2];E=+p[t+56>>2];N=M*D+(g*v+T*x);T=M*A+(P*v+w*x);w=M*I+(F*v+R*x);p[i>>2]=B-N;p[i+4>>2]=V-T;p[i+8>>2]=E-w;p[i+12>>2]=0.0;p[n>>2]=B+N;p[n+4>>2]=V+T;p[n+8>>2]=E+w;p[n+12>>2]=0.0;d=_;return};case 0:case 13:{w=+p[e+44>>2];E=w+ +p[e+28>>2];T=w+ +p[e+32>>2];V=w+ +p[e+36>>2];w=+H(+ +p[t>>2]);N=+H(+ +p[t+4>>2]);B=+H(+ +p[t+8>>2]);x=+H(+ +p[t+16>>2]);R=+H(+ +p[t+20>>2]);v=+H(+ +p[t+24>>2]);F=+H(+ +p[t+32>>2]);I=+H(+ +p[t+36>>2]);M=+H(+ +p[t+40>>2]);P=+p[t+48>>2];A=+p[t+52>>2];g=+p[t+56>>2];D=E*w+T*N+V*B;B=E*x+T*R+V*v;v=E*F+T*I+V*M;p[i>>2]=P-D;p[i+4>>2]=A-B;p[i+8>>2]=g-v;p[i+12>>2]=0.0;p[n>>2]=D+P;p[n+4>>2]=B+A;p[n+8>>2]=v+g;p[n+12>>2]=0.0;d=_;return};case 8:{g=+p[e+28>>2];v=g+g*+p[e+12>>2];y=t+48|0;S=t+52|0;g=+p[S>>2]-v;C=t+56|0;A=+p[C>>2]-v;p[i>>2]=+p[y>>2]-v;p[i+4>>2]=g;p[i+8>>2]=A;p[i+12>>2]=0.0;A=v+ +p[S>>2];g=v+ +p[C>>2];p[n>>2]=v+ +p[y>>2];p[n+4>>2]=A;p[n+8>>2]=g;p[n+12>>2]=0.0;d=_;return};case 1:{g=+p[e+44>>2];y=o|0;C=o+4|0;S=o+8|0;f=t|0;h=t+16|0;u=t+32|0;k=t+4|0;O=t+20|0;L=t+36|0;U=t+8|0;G=t+24|0;W=t+40|0;z=a|0;j=a+4|0;X=a+8|0;Z=a+12|0;Q=s|0;q=s+4|0;Y=s+8|0;J=t+48|0;K=t+52|0;$=t+56|0;ee=l|0;te=l+4|0;ie=l+8|0;ne=l+12|0;_e=b|0;re=b+4|0;oe=b+8|0;se=b+12|0;ae=c|0;pe=c+4|0;le=c+8|0;de=o;ce=0;do{be=o+(ce<<2)|0;vBe(de|0,0,16);p[be>>2]=1.0;A=+p[y>>2];v=+p[C>>2];B=+p[S>>2];P=A*+p[k>>2]+v*+p[O>>2]+B*+p[L>>2];D=A*+p[U>>2]+v*+p[G>>2]+B*+p[W>>2];p[z>>2]=+p[f>>2]*A+ +p[h>>2]*v+ +p[u>>2]*B;p[j>>2]=P;p[X>>2]=D;p[Z>>2]=0.0;Qxe(s,e,a);D=+p[Q>>2];P=+p[q>>2];B=+p[Y>>2];v=+p[K>>2]+(D*+p[h>>2]+P*+p[O>>2]+B*+p[G>>2]);A=+p[$>>2]+(D*+p[u>>2]+P*+p[L>>2]+B*+p[W>>2]);p[ee>>2]=+p[J>>2]+(+p[f>>2]*D+ +p[k>>2]*P+ +p[U>>2]*B);p[te>>2]=v;p[ie>>2]=A;p[ne>>2]=0.0;ue=l+(ce<<2)|0;p[n+(ce<<2)>>2]=g+ +p[ue>>2];p[be>>2]=-1.0;A=+p[y>>2];v=+p[C>>2];B=+p[S>>2];P=A*+p[k>>2]+v*+p[O>>2]+B*+p[L>>2];D=A*+p[U>>2]+v*+p[G>>2]+B*+p[W>>2];p[_e>>2]=+p[f>>2]*A+ +p[h>>2]*v+ +p[u>>2]*B;p[re>>2]=P;p[oe>>2]=D;p[se>>2]=0.0;Qxe(c,e,b);D=+p[ae>>2];P=+p[pe>>2];B=+p[le>>2];v=+p[K>>2]+(D*+p[h>>2]+P*+p[O>>2]+B*+p[G>>2]);A=+p[$>>2]+(D*+p[u>>2]+P*+p[L>>2]+B*+p[W>>2]);p[ee>>2]=+p[J>>2]+(+p[f>>2]*D+ +p[k>>2]*P+ +p[U>>2]*B);p[te>>2]=v;p[ie>>2]=A;p[ne>>2]=0.0;p[i+(ce<<2)>>2]=+p[ue>>2]-g;ce=ce+1|0}while((ce|0)<3);d=_;return};case 4:case 5:{if((m-4|0)>>>0<2){me=+p[e+44>>2]}else{me=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e)}g=+p[e+72>>2];A=+p[e+56>>2];v=+p[e+76>>2];B=+p[e+60>>2];P=+p[e+80>>2];D=+p[e+64>>2];M=me+(g-A)*.5;V=me+(v-B)*.5;I=me+(P-D)*.5;me=(g+A)*.5;A=(v+B)*.5;B=(P+D)*.5;D=+p[t>>2];P=+H(+D);v=+p[t+4>>2];g=+H(+v);T=+p[t+8>>2];F=+H(+T);E=+p[t+16>>2];R=+H(+E);x=+p[t+20>>2];N=+H(+x);w=+p[t+24>>2];he=+H(+w);fe=+p[t+32>>2];ge=+H(+fe);Ce=+p[t+36>>2];Se=+H(+Ce);ye=+p[t+40>>2];ve=+H(+ye);xe=me*D+A*v+B*T+ +p[t+48>>2];T=me*E+A*x+B*w+ +p[t+52>>2];w=me*fe+A*Ce+B*ye+ +p[t+56>>2];ye=M*P+V*g+I*F;F=M*R+V*N+I*he;he=M*ge+V*Se+I*ve;p[i>>2]=xe-ye;p[i+4>>2]=T-F;p[i+8>>2]=w-he;p[i+12>>2]=0.0;p[n>>2]=ye+xe;p[n+4>>2]=F+T;p[n+8>>2]=he+w;p[n+12>>2]=0.0;d=_;return};default:{mrt[r[(r[e>>2]|0)+8>>2]&1023](e,t,i,n);d=_;return}}}function pMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0;n=d;d=d+72|0;_=n|0;o=n+40|0;s=n+56|0;a=e;vBe(a|0,0,16);l=+p[i>>2];c=+p[i+4>>2];b=+p[i+8>>2];u=l*l+c*c+b*b;if(u<9999999747378752.0e-20){m=1.0;h=0.0;f=0.0;g=0.0}else{C=+p[i+12>>2];S=1.0/+j(+u);m=l*S;h=c*S;f=b*S;g=C}r[_>>2]=20488;vBe(_+4|0,0,16);p[_+20>>2]=-999999984306749400.0;p[_+24>>2]=m;p[_+28>>2]=h;p[_+32>>2]=f;p[_+36>>2]=g;p[o>>2]=999999984306749400.0;p[o+4>>2]=999999984306749400.0;p[o+8>>2]=999999984306749400.0;p[o+12>>2]=0.0;i=r[t+92>>2]|0;t=r[(r[i>>2]|0)+8>>2]|0;p[s>>2]=-999999984306749400.0;p[s+4>>2]=-999999984306749400.0;p[s+8>>2]=-999999984306749400.0;p[s+12>>2]=0.0;mrt[t&1023](i,_|0,s,o);o=_+4|0;r[a>>2]=r[o>>2];r[a+4>>2]=r[o+4>>2];r[a+8>>2]=r[o+8>>2];r[a+12>>2]=r[o+12>>2];d=n;return}function lMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0;_=d;d=d+72|0;o=_|0;s=_+40|0;a=_+56|0;if((n|0)>0){l=0}else{d=_;return}do{p[i+(l<<4)+12>>2]=-999999984306749400.0;l=l+1|0}while((l|0)<(n|0));l=o|0;c=o+20|0;b=o+4|0;u=o+24|0;m=s|0;h=s+4|0;f=s+8|0;g=s+12|0;C=e+92|0;e=a|0;S=a+4|0;y=a+8|0;v=a+12|0;x=o|0;M=o+4|0;o=0;do{r[l>>2]=20488;vBe(b|0,0,16);p[c>>2]=-999999984306749400.0;T=t+(o<<4)|0;r[u>>2]=r[T>>2];r[u+4>>2]=r[T+4>>2];r[u+8>>2]=r[T+8>>2];r[u+12>>2]=r[T+12>>2];p[m>>2]=999999984306749400.0;p[h>>2]=999999984306749400.0;p[f>>2]=999999984306749400.0;p[g>>2]=0.0;T=r[C>>2]|0;D=r[(r[T>>2]|0)+8>>2]|0;p[e>>2]=-999999984306749400.0;p[S>>2]=-999999984306749400.0;p[y>>2]=-999999984306749400.0;p[v>>2]=0.0;mrt[D&1023](T,x,a,s);T=i+(o<<4)|0;r[T>>2]=r[M>>2];r[T+4>>2]=r[M+4>>2];r[T+8>>2]=r[M+8>>2];r[T+12>>2]=r[M+12>>2];o=o+1|0}while((o|0)<(n|0));d=_;return}function dMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;srt[r[(r[t>>2]|0)+64>>2]&511](e,t,i);n=t|0;_=t;if(+z_t[r[(r[_>>2]|0)+44>>2]&1023](n)==0.0){return}o=+p[i>>2];s=+p[i+4>>2];a=+p[i+8>>2];i=o*o+s*s+a*a<1.4210854715202004e-14;l=i?-1.0:a;a=i?-1.0:s;s=i?-1.0:o;o=1.0/+j(+(l*l+(s*s+a*a)));d=+z_t[r[(r[_>>2]|0)+44>>2]&1023](n);n=e|0;p[n>>2]=o*s*d+ +p[n>>2];n=e+4|0;p[n>>2]=d*o*a+ +p[n>>2];n=e+8|0;p[n>>2]=d*o*l+ +p[n>>2];return}function cMe(e,t){e=e|0;t=t|0;var i=0,n=0;i=(r[e+92>>2]|0)+4|0;n=t;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];dwe(e|0);return}function bMe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0);return}function uMe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[e-96+92>>2]|0);return}function mMe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function hMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0,x=0.0,M=0,T=0,D=0.0,P=0.0,w=0.0;n=d;d=d+96|0;i=n|0;_=n+48|0;r=n+64|0;o=n+80|0;s=+p[e+52>>2];a=+p[t>>2]-s;l=+p[e+56>>2];c=+p[t+4>>2]-l;b=+p[e+60>>2];u=+p[t+8>>2]-b;p[_>>2]=a;p[_+4>>2]=c;p[_+8>>2]=u;p[_+12>>2]=0.0;m=+p[t+16>>2]-s;h=+p[t+20>>2]-l;f=+p[t+24>>2]-b;p[r>>2]=m;p[r+4>>2]=h;p[r+8>>2]=f;p[r+12>>2]=0.0;g=+p[t+32>>2]-s;s=+p[t+36>>2]-l;l=+p[t+40>>2]-b;p[o>>2]=g;p[o+4>>2]=s;p[o+8>>2]=l;p[o+12>>2]=0.0;b=+H(+(u*(s*m-h*g)+(a*(h*l-f*s)+c*(f*g-l*m))))*-.1666666716337204;C=a*m;S=a*g;y=m*g;t=i|0;p[t>>2]=b*((a*a+m*m+g*g)*.10000000149011612+(y+(y+(S+(C+C+S))))*.05000000074505806);v=0;S=a;C=m;y=g;while(1){x=b*((c*S+h*C+s*y)*.10000000149011612+(C*s+(h*y+(S*s+(S*h+c*C+c*y))))*.05000000074505806);p[i+(v<<4)+4>>2]=x;p[i+16+(v<<2)>>2]=x;M=v+1|0;if((v|0)>0){T=0;D=a;P=m;w=g;break}v=M;S=+p[_+(M<<2)>>2];C=+p[r+(M<<2)>>2];y=+p[o+(M<<2)>>2]}while(1){y=b*((u*D+f*P+l*w)*.10000000149011612+(P*l+(f*w+(D*l+(D*f+u*P+u*w))))*.05000000074505806);p[i+(T<<4)+8>>2]=y;p[i+32+(T<<2)>>2]=y;v=T+1|0;if((v|0)>2){break}T=v;D=+p[_+(v<<2)>>2];P=+p[r+(v<<2)>>2];w=+p[o+(v<<2)>>2]}w=+p[t>>2];o=i+20|0;P=+p[o>>2];r=i+40|0;D=+p[r>>2];u=-0.0-D-P;p[t>>2]=u;f=-0.0-w-D;p[o>>2]=f;D=-0.0-P-w;p[r>>2]=D;r=e+4|0;p[r>>2]=u+ +p[r>>2];r=e+8|0;p[r>>2]=+p[i+4>>2]+ +p[r>>2];r=e+12|0;p[r>>2]=+p[i+8>>2]+ +p[r>>2];r=e+20|0;p[r>>2]=+p[i+16>>2]+ +p[r>>2];r=e+24|0;p[r>>2]=f+ +p[r>>2];r=e+28|0;p[r>>2]=+p[i+24>>2]+ +p[r>>2];r=e+36|0;p[r>>2]=+p[i+32>>2]+ +p[r>>2];r=e+40|0;p[r>>2]=+p[i+36>>2]+ +p[r>>2];r=e+44|0;p[r>>2]=D+ +p[r>>2];d=n;return}function fMe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function gMe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0;_=e+4|0;i=e+8|0;if((n[_]&1)==0){o=+p[t>>2];s=+p[i>>2];a=+p[t+4>>2];l=+p[e+12>>2];d=+p[t+8>>2];c=+p[e+16>>2];b=+p[t+16>>2];u=b-s;m=+p[t+20>>2];h=m-l;f=+p[t+24>>2];g=f-c;C=+p[t+32>>2];S=C-s;y=+p[t+36>>2];v=y-l;x=+p[t+40>>2];M=x-c;T=+H(+((d-c)*(u*v-h*S)+((o-s)*(h*M-g*v)+(a-l)*(g*S-u*M))));M=T*.25;D=e+24|0;p[D>>2]=+p[D>>2]+(s+(o+b+C))*M;D=e+28|0;p[D>>2]=(l+(a+m+y))*M+ +p[D>>2];D=e+32|0;p[D>>2]=M*(c+(d+f+x))+ +p[D>>2];D=e+40|0;p[D>>2]=T+ +p[D>>2];return}else{D=i;i=t;r[D>>2]=r[i>>2];r[D+4>>2]=r[i+4>>2];r[D+8>>2]=r[i+8>>2];r[D+12>>2]=r[i+12>>2];n[_]=0;return}}function CMe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function SMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0,b=0.0;n=e+20|0;i=e+4|0;_=+p[e+24>>2];o=+p[e+28>>2];s=+p[e+32>>2];a=_*+p[t>>2]+o*+p[t+4>>2]+s*+p[t+8>>2];l=+p[n>>2];if(a>l){p[n>>2]=a;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];d=a}else{d=l}e=t+16|0;l=_*+p[e>>2]+o*+p[t+20>>2]+s*+p[t+24>>2];if(l>d){p[n>>2]=l;c=e;r[i>>2]=r[c>>2];r[i+4>>2]=r[c+4>>2];r[i+8>>2]=r[c+8>>2];r[i+12>>2]=r[c+12>>2];b=l}else{b=d}c=t+32|0;d=_*+p[c>>2]+o*+p[t+36>>2]+s*+p[t+40>>2];if(d<=b){return}p[n>>2]=d;n=c;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function yMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0;_=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0);o=_+ +p[e+28>>2];s=_+ +p[e+32>>2];a=_+ +p[e+36>>2];_=+H(+ +p[t>>2]);l=+H(+ +p[t+4>>2]);d=+H(+ +p[t+8>>2]);c=+H(+ +p[t+16>>2]);b=+H(+ +p[t+20>>2]);u=+H(+ +p[t+24>>2]);m=+H(+ +p[t+32>>2]);h=+H(+ +p[t+36>>2]);f=+H(+ +p[t+40>>2]);g=+p[t+48>>2];C=+p[t+52>>2];S=+p[t+56>>2];y=o*_+s*l+a*d;d=o*c+s*b+a*u;u=o*m+s*h+a*f;p[i>>2]=g-y;p[i+4>>2]=C-d;p[i+8>>2]=S-u;p[i+12>>2]=0.0;p[n>>2]=y+g;p[n+4>>2]=d+C;p[n+8>>2]=u+S;p[n+12>>2]=0.0;return}function vMe(e,t,i){e=e|0;t=+t;i=i|0;var n=0.0,_=0.0,o=0.0,s=0,a=0,l=0.0,d=0.0,c=0.0,b=0.0;n=+p[e+28>>2];_=+p[e+32>>2];o=+p[e+36>>2];s=e|0;a=e;l=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);d=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s);c=l+n;n=d+_;_=+z_t[r[(r[a>>2]|0)+44>>2]&1023](s)+o;o=t/12.0;d=t*.25;l=t*.5;s=r[e+52>>2]|0;if((s|0)==0){t=n*n;b=d*t+o*c*c*4.0;p[i>>2]=l*t;p[i+4>>2]=b;p[i+8>>2]=b;p[i+12>>2]=0.0;return}else if((s|0)==2){b=c*c;t=d*b+o*_*_*4.0;p[i>>2]=t;p[i+4>>2]=t;p[i+8>>2]=l*b;p[i+12>>2]=0.0;return}else{b=c*c;c=d*b+o*n*n*4.0;p[i>>2]=c;p[i+4>>2]=l*b;p[i+8>>2]=c;p[i+12>>2]=0.0;return}}function xMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;n=+p[t+32>>2];_=+p[t+28>>2];t=i|0;r=+p[i+4>>2];o=+p[i+8>>2];s=+j(+(r*r+o*o));if(s!=0.0){a=n/s;p[e+4>>2]=r*a;if(+p[t>>2]<0.0){l=-0.0-_}else{l=_}p[e>>2]=l;p[e+8>>2]=o*a;return}else{p[e+4>>2]=n;if(+p[t>>2]<0.0){d=-0.0-_}else{d=_}p[e>>2]=d;p[e+8>>2]=0.0;return}}function MMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;n=+p[t+28>>2];_=+p[t+36>>2];r=+p[i>>2];o=+p[i+4>>2];s=+j(+(r*r+o*o));if(s!=0.0){a=n/s;p[e>>2]=r*a;if(+p[i+8>>2]<0.0){l=-0.0-_}else{l=_}p[e+8>>2]=l;p[e+4>>2]=o*a;return}else{p[e>>2]=n;if(+p[i+8>>2]<0.0){d=-0.0-_}else{d=_}p[e+8>>2]=d;p[e+4>>2]=0.0;return}}function TMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;n=+p[t+28>>2];_=+p[t+32>>2];r=+p[i>>2];o=+p[i+8>>2];s=+j(+(r*r+o*o));if(s!=0.0){a=n/s;p[e>>2]=r*a;if(+p[i+4>>2]<0.0){l=-0.0-_}else{l=_}p[e+4>>2]=l;p[e+8>>2]=o*a;return}else{p[e>>2]=n;if(+p[i+4>>2]<0.0){d=-0.0-_}else{d=_}p[e+4>>2]=d;p[e+8>>2]=0.0;return}}function DMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0;if((n|0)<=0){return}_=e+28|0;r=e+32|0;e=0;do{o=+p[_>>2];s=+p[r>>2];a=+p[t+(e<<4)>>2];l=+p[t+(e<<4)+8>>2];d=+j(+(a*a+l*l));do{if(d!=0.0){c=o/d;if(+p[t+(e<<4)+4>>2]<0.0){b=-0.0-s}else{b=s}u=a*c;m=b;h=l*c}else{if(+p[t+(e<<4)+4>>2]>=0.0){u=o;m=s;h=0.0;break}u=o;m=-0.0-s;h=0.0}}while(0);p[i+(e<<4)>>2]=u;p[i+(e<<4)+4>>2]=m;p[i+(e<<4)+8>>2]=h;e=e+1|0}while((e|0)<(n|0));return}function PMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0;if((n|0)<=0){return}_=e+28|0;r=e+36|0;e=0;do{o=+p[_>>2];s=+p[r>>2];a=+p[t+(e<<4)>>2];l=+p[t+(e<<4)+4>>2];d=+j(+(a*a+l*l));do{if(d!=0.0){c=o/d;if(+p[t+(e<<4)+8>>2]<0.0){b=-0.0-s}else{b=s}u=a*c;m=l*c;h=b}else{if(+p[t+(e<<4)+8>>2]>=0.0){u=o;m=0.0;h=s;break}u=o;m=0.0;h=-0.0-s}}while(0);p[i+(e<<4)>>2]=u;p[i+(e<<4)+4>>2]=m;p[i+(e<<4)+8>>2]=h;e=e+1|0}while((e|0)<(n|0));return}function wMe(e){e=e|0;return}function AMe(e){e=e|0;return 16728|0}function FMe(e){e=e|0;return 60}function RMe(e){e=e|0;return}function IMe(e){e=e|0;return 17752|0}function BMe(e){e=e|0;return}function VMe(e){e=e|0;return 16632|0}function EMe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,r=0,o=0.0,s=0.0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0;if((n|0)<=0){return}_=e+28|0;r=e+32|0;e=0;do{o=+p[r>>2];s=+p[_>>2];a=t+(e<<4)|0;l=+p[t+(e<<4)+4>>2];d=+p[t+(e<<4)+8>>2];c=+j(+(l*l+d*d));do{if(c!=0.0){b=o/c;if(+p[a>>2]<0.0){u=-0.0-s}else{u=s}m=u;h=l*b;f=d*b}else{if(+p[a>>2]>=0.0){m=s;h=o;f=0.0;break}m=-0.0-s;h=o;f=0.0}}while(0);p[i+(e<<4)>>2]=m;p[i+(e<<4)+4>>2]=h;p[i+(e<<4)+8>>2]=f;e=e+1|0}while((e|0)<(n|0));return}function NMe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function kMe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0,l=0,d=0.0,c=0,b=0.0,u=0,m=0.0,h=0.0,f=0.0,g=0.0;i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);o=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);i=e+28|0;n=e+32|0;a=e+36|0;l=e+12|0;d=(_+ +p[i>>2])/+p[l>>2];c=e+16|0;b=(o+ +p[n>>2])/+p[c>>2];u=e+20|0;m=(s+ +p[a>>2])/+p[u>>2];h=+H(+ +p[t>>2]);f=+H(+ +p[t+4>>2]);g=+H(+ +p[t+8>>2]);p[l>>2]=h;p[c>>2]=f;p[u>>2]=g;p[e+24>>2]=0.0;p[i>>2]=d*h-_;p[n>>2]=b*f-o;p[a>>2]=m*g-s;p[e+40>>2]=0.0;return}function OMe(e,t){e=e|0;t=+t;var i=0,n=0,_=0.0,o=0.0,s=0.0,a=0,l=0.0,d=0,c=0,b=0.0;i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);o=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);a=e+28|0;l=_+ +p[a>>2];d=e+32|0;_=o+ +p[d>>2];c=e+36|0;o=s+ +p[c>>2];p[e+44>>2]=t;t=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);s=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);b=o-+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);p[a>>2]=l-t;p[d>>2]=_-s;p[c>>2]=b;p[e+40>>2]=0.0;return}function LMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+28>>2]=+p[e+28>>2];p[t+32>>2]=+p[e+32>>2];p[t+36>>2]=+p[e+36>>2];p[t+40>>2]=+p[e+40>>2];p[t+12>>2]=+p[e+12>>2];p[t+16>>2]=+p[e+16>>2];p[t+20>>2]=+p[e+20>>2];p[t+24>>2]=+p[e+24>>2];p[t+44>>2]=+p[e+44>>2];r[t+52>>2]=r[e+52>>2];return 17264}function UMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0;srt[r[(r[t>>2]|0)+64>>2]&511](e,t,i);n=t|0;_=t;if(+z_t[r[(r[_>>2]|0)+44>>2]&1023](n)==0.0){return}o=+p[i>>2];s=+p[i+4>>2];a=+p[i+8>>2];i=o*o+s*s+a*a<1.4210854715202004e-14;l=i?-1.0:a;a=i?-1.0:s;s=i?-1.0:o;o=1.0/+j(+(l*l+(s*s+a*a)));d=+z_t[r[(r[_>>2]|0)+44>>2]&1023](n);n=e|0;p[n>>2]=o*s*d+ +p[n>>2];n=e+4|0;p[n>>2]=d*o*a+ +p[n>>2];n=e+8|0;p[n>>2]=d*o*l+ +p[n>>2];return}function GMe(e){e=e|0;var t=0.0,i=0,n=0,_=0.0;t=+p[e+28>>2];i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);return+(t+_)}function WMe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function zMe(e){e=e|0;var t=0.0,i=0,n=0,_=0.0;t=+p[e+32>>2];i=e|0;n=e;+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);return+(t+_)}function HMe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function jMe(e){e=e|0;var t=0.0,i=0,n=0,_=0.0;t=+p[e+28>>2];i=e|0;n=e;_=+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);+z_t[r[(r[n>>2]|0)+44>>2]&1023](i);return+(t+_)}function XMe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0;t=r[e>>2]|0;if((t|0)!=0){ZMe(e,t)}t=e+4|0;i=r[t>>2]|0;if((i|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-44+40>>2]|0)}r[t>>2]=0;r[e+8>>2]=-1;t=e+24|0;i=e+32|0;_=r[i>>2]|0;o=e+36|0;if((_|0)==0){s=e+28|0;a=e+16|0;r[a>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-8+4>>2]|0)}r[i>>2]=0;s=e+28|0;a=e+16|0;r[a>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;r[s>>2]=0;return}function ZMe(e,t){e=e|0;t=t|0;var i=0;i=t+40|0;if((r[i>>2]|0)!=0){ZMe(e,r[t+36>>2]|0);ZMe(e,r[i>>2]|0)}i=e|0;if((r[i>>2]|0)==(t|0)){r[i>>2]=0}i=e+4|0;e=r[i>>2]|0;if((e|0)==0){r[i>>2]=t;return}r[9804]=(r[9804]|0)+1;SBe(r[e-44+40>>2]|0);r[i>>2]=t;return}function QMe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;o=t+40|0;if(!((r[o>>2]|0)==0|(_|0)==0)){s=_-1|0;QMe(e,r[t+36>>2]|0,i,s);QMe(e,r[o>>2]|0,i,s);s=e+4|0;e=r[s>>2]|0;if((e|0)==0){r[s>>2]=t;return}r[9804]=(r[9804]|0)+1;SBe(r[e-44+40>>2]|0);r[s>>2]=t;return}s=i+4|0;e=r[s>>2]|0;o=i+8|0;do{if((e|0)==(r[o>>2]|0)){_=(e|0)==0?1:e<<1;if((e|0)>=(_|0)){a=e;break}if((_|0)==0){p=0;l=e}else{r[9806]=(r[9806]|0)+1;d=hBe((_<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[s>>2]|0}b=i+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=i+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=_;a=r[s>>2]|0}else{a=e}}while(0);e=(r[i+12>>2]|0)+(a<<2)|0;if((e|0)==0){m=a;h=m+1|0;r[s>>2]=h;return}r[e>>2]=t;m=r[s>>2]|0;h=m+1|0;r[s>>2]=h;return}function qMe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0;t=d;d=d+24|0;i=t|0;_=e|0;o=r[_>>2]|0;if((o|0)==0){d=t;return}s=i+16|0;n[s]=1;a=i+12|0;r[a>>2]=0;p=i+4|0;r[p>>2]=0;l=i+8|0;r[l>>2]=0;c=r[e+12>>2]|0;if((c|0)>0){r[9806]=(r[9806]|0)+1;b=hBe((c<<2)+19|0)|0;if((b|0)==0){u=0}else{m=-(b+4|0)&15;r[b+m>>2]=b;u=b+(m+4)|0}m=r[p>>2]|0;if((m|0)>0){b=0;do{h=u+(b<<2)|0;if((h|0)!=0){r[h>>2]=r[(r[a>>2]|0)+(b<<2)>>2]}b=b+1|0}while((b|0)<(m|0))}m=r[a>>2]|0;if((m|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-4>>2]|0)}r[a>>2]=0}n[s]=1;r[a>>2]=u;r[l>>2]=c;f=r[_>>2]|0}else{f=o}QMe(e,f,i,-1);r[_>>2]=YMe(e,i)|0;i=r[a>>2]|0;if((i|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}r[a>>2]=0}n[s]=1;r[a>>2]=0;r[p>>2]=0;r[l>>2]=0;d=t;return}function YMe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0.0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0,F=0,R=0.0,I=0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0,G=0,W=0,z=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0;i=d;d=d+64|0;_=i|0;o=i+40|0;do{if((n[43056]|0)==0){if((ui(43056)|0)==0){break}p[10716]=1.0;vBe(42868,0,16);p[10721]=1.0;vBe(42888,0,16);p[10726]=1.0;p[10727]=0.0}}while(0);s=t+4|0;a=r[s>>2]|0;if((a|0)<=1){l=r[r[t+12>>2]>>2]|0;d=i;return l|0}c=t+12|0;if((a|0)<=128){t=e+4|0;b=a;while(1){e:do{if((b|0)>0){u=0;m=-1;h=-1;f=3.4028234663852886e+38;t:while(1){g=u+1|0;if((g|0)>=(b|0)){C=m;S=h;break e}y=r[c>>2]|0;v=r[y+(u<<2)>>2]|0;x=+p[v>>2];M=+p[v+16>>2];T=+p[v+4>>2];D=+p[v+20>>2];P=+p[v+8>>2];w=+p[v+24>>2];v=g;A=m;F=h;R=f;while(1){I=r[y+(v<<2)>>2]|0;B=+p[I>>2];V=+p[I+16>>2];E=+p[I+4>>2];N=+p[I+20>>2];k=+p[I+8>>2];O=+p[I+24>>2];L=(M>V?M:V)-(x<B?x:B);B=(D>N?D:N)-(T<E?T:E);E=(w>O?w:O)-(P<k?P:k);k=E+(B+(L+L*B*E));I=k<R;U=I?u:A;G=I?v:F;E=I?k:R;I=v+1|0;if((I|0)<(b|0)){v=I;A=U;F=G;R=E}else{u=g;m=U;h=G;f=E;continue t}}}}else{C=-1;S=-1}}while(0);h=r[c>>2]|0;m=r[h+(C<<2)>>2]|0;u=r[h+(S<<2)>>2]|0;h=r[t>>2]|0;do{if((h|0)==0){r[9806]=(r[9806]|0)+1;g=hBe(63)|0;if((g|0)==0){W=0;break}F=-(g+4|0)&15;A=g+(F+4)|0;r[g+F>>2]=g;if((A|0)==0){W=0;break}vBe(A|0,0,44);W=A}else{r[t>>2]=0;W=h}}while(0);r[W+32>>2]=0;h=W+36|0;r[h>>2]=0;A=W+40|0;r[A>>2]=0;f=+p[m>>2];R=+p[u>>2];p[W>>2]=f<R?f:R;R=+p[m+16>>2];f=+p[u+16>>2];p[W+16>>2]=R>f?R:f;f=+p[m+4>>2];R=+p[u+4>>2];p[W+4>>2]=f<R?f:R;R=+p[m+20>>2];f=+p[u+20>>2];p[W+20>>2]=R>f?R:f;f=+p[m+8>>2];R=+p[u+8>>2];p[W+8>>2]=f<R?f:R;R=+p[m+24>>2];f=+p[u+24>>2];p[W+24>>2]=R>f?R:f;r[h>>2]=m;r[A>>2]=u;r[m+32>>2]=W;r[u+32>>2]=W;r[(r[c>>2]|0)+(C<<2)>>2]=W;A=(r[s>>2]|0)-1|0;h=r[c>>2]|0;g=h+(S<<2)|0;F=r[g>>2]|0;r[g>>2]=r[h+(A<<2)>>2];r[(r[c>>2]|0)+(A<<2)>>2]=F;b=(r[s>>2]|0)-1|0;r[s>>2]=b;if((b|0)<=1){break}}l=r[r[c>>2]>>2]|0;d=i;return l|0}b=r[c>>2]|0;S=r[b>>2]|0;f=+p[S+12>>2];R=+p[S+28>>2];P=+p[S+24>>2];w=+p[S+20>>2];T=+p[S+16>>2];D=+p[S+8>>2];x=+p[S+4>>2];M=+p[S>>2];S=1;do{W=r[b+(S<<2)>>2]|0;E=+p[W>>2];M=M<E?M:E;E=+p[W+16>>2];T=T>E?T:E;E=+p[W+4>>2];x=x<E?x:E;E=+p[W+20>>2];w=w>E?w:E;E=+p[W+8>>2];D=D<E?D:E;E=+p[W+24>>2];P=P>E?P:E;S=S+1|0}while((S|0)<(a|0));E=(x+w)*.5;S=_|0;W=_+16|0;n[W]=1;C=_+12|0;r[C>>2]=0;t=_+4|0;r[t>>2]=0;F=_+8|0;r[F>>2]=0;A=_+36|0;n[A]=1;h=_+32|0;r[h>>2]=0;g=_+24|0;r[g>>2]=0;v=_+28|0;r[v>>2]=0;k=(M+T)*.5;B=(D+P)*.5;vBe(o|0,0,24);do{if((a|0)>0){L=+p[10716];O=+p[10717];N=+p[10718];V=+p[10720];z=+p[10721];j=+p[10722];X=+p[10724];Z=+p[10725];Q=+p[10726];y=0;do{G=r[b+(y<<2)>>2]|0;q=(+p[G>>2]+ +p[G+16>>2])*.5-k;Y=(+p[G+4>>2]+ +p[G+20>>2])*.5-E;J=(+p[G+8>>2]+ +p[G+24>>2])*.5-B;G=o+((q*L+Y*O+J*N>0.0)<<2)|0;r[G>>2]=(r[G>>2]|0)+1;G=o+8+((q*V+Y*z+J*j>0.0)<<2)|0;r[G>>2]=(r[G>>2]|0)+1;G=o+16+((q*X+Y*Z+J*Q>0.0)<<2)|0;r[G>>2]=(r[G>>2]|0)+1;y=y+1|0}while((y|0)<(a|0));y=r[o>>2]|0;if((y|0)<=0){K=-1;$=a;break}u=r[o+4>>2]|0;if((u|0)<=0){K=-1;$=a;break}m=~~+H(+ +(y-u|0));u=(m|0)<(a|0);K=(u^1)<<31>>31;$=u?m:a}else{K=-1;$=a}}while(0);b=r[o+8>>2]|0;do{if((b|0)>0){m=r[o+12>>2]|0;if((m|0)<=0){ee=K;te=$;break}u=~~+H(+ +(b-m|0));m=(u|0)<($|0);ee=m?1:K;te=m?u:$}else{ee=K;te=$}}while(0);$=r[o+16>>2]|0;do{if(($|0)>0){K=r[o+20>>2]|0;if((K|0)<=0){ie=ee;break}ie=(~~+H(+ +($-K|0))|0)<(te|0)?2:ee}else{ie=ee}}while(0);do{if((ie|0)>-1){ee=r[o+(ie<<3)>>2]|0;if((ee|0)>0){r[9806]=(r[9806]|0)+1;te=hBe((ee<<2)+19|0)|0;if((te|0)==0){ne=0}else{$=-(te+4|0)&15;r[te+$>>2]=te;ne=te+($+4)|0}n[W]=1;r[C>>2]=ne;r[F>>2]=ee}ee=r[o+(ie<<3)+4>>2]|0;if((ee|0)>0){r[9806]=(r[9806]|0)+1;$=hBe((ee<<2)+19|0)|0;if(($|0)==0){_e=0}else{te=-($+4|0)&15;r[$+te>>2]=$;_e=$+(te+4)|0}n[A]=1;r[h>>2]=_e;r[v>>2]=ee}r[t>>2]=0;r[g>>2]=0;ee=r[s>>2]|0;if((ee|0)<=0){break}te=42864+(ie<<4)|0;$=42868+(ie<<4)|0;K=42872+(ie<<4)|0;b=0;do{u=(r[c>>2]|0)+(b<<2)|0;m=r[u>>2]|0;if(((+p[m>>2]+ +p[m+16>>2])*.5-k)*+p[te>>2]+((+p[m+4>>2]+ +p[m+20>>2])*.5-E)*+p[$>>2]+((+p[m+8>>2]+ +p[m+24>>2])*.5-B)*+p[K>>2]<0.0){m=r[t>>2]|0;do{if((m|0)==(r[F>>2]|0)){y=(m|0)==0?1:m<<1;if((m|0)>=(y|0)){re=m;break}do{if((y|0)==0){oe=0}else{r[9806]=(r[9806]|0)+1;G=hBe((y<<2)+19|0)|0;if((G|0)==0){oe=0;break}U=-(G+4|0)&15;r[G+U>>2]=G;oe=G+(U+4)|0}}while(0);if((m|0)>0){U=0;do{G=oe+(U<<2)|0;if((G|0)!=0){r[G>>2]=r[(r[C>>2]|0)+(U<<2)>>2]}U=U+1|0}while((U|0)<(m|0))}U=r[C>>2]|0;if((U|0)!=0){if((n[W]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[U-4>>2]|0)}r[C>>2]=0}n[W]=1;r[C>>2]=oe;r[F>>2]=y;re=r[t>>2]|0}else{re=m}}while(0);m=(r[C>>2]|0)+(re<<2)|0;if((m|0)==0){se=re}else{r[m>>2]=r[u>>2];se=r[t>>2]|0}r[t>>2]=se+1}else{m=r[g>>2]|0;do{if((m|0)==(r[v>>2]|0)){U=(m|0)==0?1:m<<1;if((m|0)>=(U|0)){ae=m;break}do{if((U|0)==0){pe=0}else{r[9806]=(r[9806]|0)+1;G=hBe((U<<2)+19|0)|0;if((G|0)==0){pe=0;break}I=-(G+4|0)&15;r[G+I>>2]=G;pe=G+(I+4)|0}}while(0);if((m|0)>0){y=0;do{I=pe+(y<<2)|0;if((I|0)!=0){r[I>>2]=r[(r[h>>2]|0)+(y<<2)>>2]}y=y+1|0}while((y|0)<(m|0))}y=r[h>>2]|0;if((y|0)!=0){if((n[A]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[y-4>>2]|0)}r[h>>2]=0}n[A]=1;r[h>>2]=pe;r[v>>2]=U;ae=r[g>>2]|0}else{ae=m}}while(0);m=(r[h>>2]|0)+(ae<<2)|0;if((m|0)==0){le=ae}else{r[m>>2]=r[u>>2];le=r[g>>2]|0}r[g>>2]=le+1}b=b+1|0}while((b|0)<(ee|0))}else{ee=((a|0)/2|0)+1|0;if((ee|0)>0){r[9806]=(r[9806]|0)+1;b=hBe((ee<<2)+19|0)|0;if((b|0)==0){de=0}else{K=-(b+4|0)&15;r[b+K>>2]=b;de=b+(K+4)|0}K=r[t>>2]|0;if((K|0)>0){b=0;do{$=de+(b<<2)|0;if(($|0)!=0){r[$>>2]=r[(r[C>>2]|0)+(b<<2)>>2]}b=b+1|0}while((b|0)<(K|0))}K=r[C>>2]|0;if((K|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[K-4>>2]|0);r[C>>2]=0}n[W]=1;r[C>>2]=de;r[F>>2]=ee;ce=r[s>>2]|0}else{ce=a}K=(ce|0)/2|0;if((ce|0)>1){do{if((ce+1|0)>>>0<3){be=0}else{r[9806]=(r[9806]|0)+1;b=hBe((K<<2)+19|0)|0;if((b|0)==0){be=0;break}$=-(b+4|0)&15;r[b+$>>2]=b;be=b+($+4)|0}}while(0);n[A]=1;r[h>>2]=be;r[v>>2]=K;ue=r[s>>2]|0}else{ue=ce}if((ue|0)>0){me=0}else{break}do{ee=me&1;$=(r[c>>2]|0)+(me<<2)|0;b=_+(ee*20|0)+4|0;te=r[b>>2]|0;m=_+(ee*20|0)+8|0;do{if((te|0)==(r[m>>2]|0)){y=(te|0)==0?1:te<<1;if((te|0)>=(y|0)){he=te;break}do{if((y|0)==0){fe=0}else{r[9806]=(r[9806]|0)+1;I=hBe((y<<2)+19|0)|0;if((I|0)==0){fe=0;break}G=-(I+4|0)&15;r[I+G>>2]=I;fe=I+(G+4)|0}}while(0);U=_+(ee*20|0)+12|0;if((te|0)>0){G=0;do{I=fe+(G<<2)|0;if((I|0)!=0){r[I>>2]=r[(r[U>>2]|0)+(G<<2)>>2]}G=G+1|0}while((G|0)<(te|0))}G=r[U>>2]|0;I=_+(ee*20|0)+16|0;if((G|0)!=0){if((n[I]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[G-4>>2]|0)}r[U>>2]=0}n[I]=1;r[U>>2]=fe;r[m>>2]=y;he=r[b>>2]|0}else{he=te}}while(0);te=(r[_+(ee*20|0)+12>>2]|0)+(he<<2)|0;if((te|0)!=0){r[te>>2]=r[$>>2]}r[b>>2]=he+1;me=me+1|0}while((me|0)<(ue|0))}}while(0);ue=e+4|0;me=r[ue>>2]|0;do{if((me|0)==0){r[9806]=(r[9806]|0)+1;he=hBe(63)|0;if((he|0)==0){ge=0;break}fe=-(he+4|0)&15;c=he+(fe+4)|0;r[he+fe>>2]=he;if((c|0)==0){ge=0;break}vBe(c|0,0,44);ge=c}else{r[ue>>2]=0;ge=me}}while(0);r[ge+32>>2]=0;me=ge+36|0;r[me>>2]=0;ue=ge+40|0;r[ue>>2]=0;p[ge>>2]=M;p[ge+4>>2]=x;p[ge+8>>2]=D;p[ge+12>>2]=f;p[ge+16>>2]=T;p[ge+20>>2]=w;p[ge+24>>2]=P;p[ge+28>>2]=R;r[me>>2]=YMe(e,S)|0;r[ue>>2]=YMe(e,_+20|0)|0;r[(r[me>>2]|0)+32>>2]=ge;r[(r[ue>>2]|0)+32>>2]=ge;ue=r[h>>2]|0;if((ue|0)!=0){if((n[A]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[ue-4>>2]|0)}r[h>>2]=0}n[A]=1;r[h>>2]=0;r[g>>2]=0;r[v>>2]=0;v=r[C>>2]|0;if((v|0)!=0){if((n[W]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[v-4>>2]|0)}r[C>>2]=0}n[W]=1;r[C>>2]=0;r[t>>2]=0;r[F>>2]=0;l=ge;d=i;return l|0}function JMe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;i=d;d=d+32|0;if((t|0)<0){n=r[e+12>>2]|0}else{n=t}t=e|0;_=r[t>>2]|0;if(!((_|0)!=0&(n|0)>0)){d=i;return}o=e+16|0;s=i|0;a=n;n=_;while(1){_=n+40|0;e:do{if((r[_>>2]|0)==0){p=n}else{l=0;c=n;b=_;while(1){u=(r[o>>2]|0)>>>(l>>>0)&1;m=c+32|0;h=r[m>>2]|0;if(h>>>0>c>>>0){f=h+40|0;g=(r[f>>2]|0)==(c|0)|0;C=g^1;S=r[h+36+(C<<2)>>2]|0;y=h+32|0;v=r[y>>2]|0;if((v|0)==0){r[t>>2]=c}else{r[v+36+(((r[v+40>>2]|0)==(h|0))<<2)>>2]=c}r[S+32>>2]=c;r[y>>2]=c;r[m>>2]=v;v=c+36|0;r[h+36>>2]=r[v>>2];r[f>>2]=r[b>>2];r[(r[v>>2]|0)+32>>2]=h;r[(r[b>>2]|0)+32>>2]=h;r[c+36+(g<<2)>>2]=h;r[c+36+(C<<2)>>2]=S;S=h;yBe(s|0,S|0,32)|0;C=c;yBe(S|0,C|0,32)|0;yBe(C|0,s|0,32)|0;x=h}else{x=c}h=r[x+36+(u<<2)>>2]|0;u=h+40|0;if((r[u>>2]|0)==0){p=h;break e}l=l+1&31;c=h;b=u}}}while(0);if(($Me(e,p)|0)==0){M=0}else{M=r[t>>2]|0}KMe(e,M,p);r[o>>2]=(r[o>>2]|0)+1;_=a-1|0;if((_|0)==0){break}a=_;n=r[t>>2]|0}d=i;return}function KMe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0,a=0.0,l=0.0,d=0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0,S=0,y=0;n=e|0;if((r[n>>2]|0)==0){r[n>>2]=i;r[i+32>>2]=0;return}_=r[t+40>>2]|0;if((_|0)==0){o=t}else{s=+p[i>>2]+ +p[i+16>>2];a=+p[i+4>>2]+ +p[i+20>>2];l=+p[i+8>>2]+ +p[i+24>>2];d=t;t=_;while(1){_=r[d+36>>2]|0;c=a-(+p[_+4>>2]+ +p[_+20>>2]);b=l-(+p[_+8>>2]+ +p[_+24>>2]);u=+H(+(s-(+p[_>>2]+ +p[_+16>>2])));m=u+ +H(+c);c=m+ +H(+b);b=a-(+p[t+4>>2]+ +p[t+20>>2]);m=l-(+p[t+8>>2]+ +p[t+24>>2]);u=+H(+(s-(+p[t>>2]+ +p[t+16>>2])));h=u+ +H(+b);_=r[d+36+((c>=h+ +H(+m))<<2)>>2]|0;f=r[_+40>>2]|0;if((f|0)==0){o=_;break}else{d=_;t=f}}}t=o+32|0;d=r[t>>2]|0;f=e+4|0;e=r[f>>2]|0;do{if((e|0)==0){r[9806]=(r[9806]|0)+1;_=hBe(63)|0;if((_|0)==0){g=0;break}C=-(_+4|0)&15;S=_+(C+4)|0;r[_+C>>2]=_;if((S|0)==0){g=0;break}vBe(S|0,0,44);g=S}else{r[f>>2]=0;g=e}}while(0);r[g+32>>2]=d;e=g+36|0;r[e>>2]=0;f=g+40|0;r[f>>2]=0;s=+p[i>>2];l=+p[o>>2];S=g|0;p[S>>2]=s<l?s:l;l=+p[i+16>>2];s=+p[o+16>>2];p[g+16>>2]=l>s?l:s;s=+p[i+4>>2];l=+p[o+4>>2];p[g+4>>2]=s<l?s:l;l=+p[i+20>>2];s=+p[o+20>>2];p[g+20>>2]=l>s?l:s;s=+p[i+8>>2];l=+p[o+8>>2];p[g+8>>2]=s<l?s:l;l=+p[i+24>>2];s=+p[o+24>>2];p[g+24>>2]=l>s?l:s;if((d|0)==0){r[e>>2]=o;r[t>>2]=g;r[f>>2]=i;r[i+32>>2]=g;r[n>>2]=g;return}r[d+36+(((r[(r[t>>2]|0)+40>>2]|0)==(o|0))<<2)>>2]=g;r[e>>2]=o;r[t>>2]=g;r[f>>2]=i;r[i+32>>2]=g;i=g;g=d;s=+p[S>>2];e:while(1){S=g|0;d=g+4|0;do{if(+p[S>>2]<=s){if(+p[d>>2]>+p[i+4>>2]){break}if(+p[g+8>>2]>+p[i+8>>2]){break}if(+p[g+16>>2]<+p[i+16>>2]){break}if(+p[g+20>>2]<+p[i+20>>2]){break}if(+p[g+24>>2]>=+p[i+24>>2]){y=2664;break e}}}while(0);f=r[g+36>>2]|0;t=r[g+40>>2]|0;l=+p[f>>2];a=+p[t>>2];m=l<a?l:a;p[S>>2]=m;a=+p[f+16>>2];l=+p[t+16>>2];p[g+16>>2]=a>l?a:l;l=+p[f+4>>2];a=+p[t+4>>2];p[d>>2]=l<a?l:a;a=+p[f+20>>2];l=+p[t+20>>2];p[g+20>>2]=a>l?a:l;l=+p[f+8>>2];a=+p[t+8>>2];p[g+8>>2]=l<a?l:a;a=+p[f+24>>2];l=+p[t+24>>2];p[g+24>>2]=a>l?a:l;t=r[g+32>>2]|0;if((t|0)==0){y=2662;break}else{i=g;g=t;s=m}}if((y|0)==2662){return}else if((y|0)==2664){return}}function $Me(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0,h=0.0,f=0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0;i=e|0;if((r[i>>2]|0)==(t|0)){r[i>>2]=0;n=0;return n|0}_=r[t+32>>2]|0;o=r[_+32>>2]|0;s=r[_+36+(((r[_+40>>2]|0)!=(t|0))<<2)>>2]|0;if((o|0)==0){r[i>>2]=s;r[s+32>>2]=0;t=e+4|0;a=r[t>>2]|0;if((a|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-44+40>>2]|0)}r[t>>2]=_;n=r[i>>2]|0;return n|0}r[o+36+(((r[o+40>>2]|0)==(_|0))<<2)>>2]=s;r[s+32>>2]=o;s=e+4|0;e=r[s>>2]|0;if((e|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[e-44+40>>2]|0)}r[s>>2]=_;_=o;do{o=_|0;l=+p[o>>2];s=_+4|0;d=+p[s>>2];e=_+8|0;c=+p[e>>2];t=_+16|0;b=+p[t>>2];a=_+20|0;u=+p[a>>2];m=_+24|0;h=+p[m>>2];f=r[_+36>>2]|0;g=r[_+40>>2]|0;C=+p[f>>2];S=+p[g>>2];y=C<S?C:S;p[o>>2]=y;S=+p[f+16>>2];C=+p[g+16>>2];v=S>C?S:C;p[t>>2]=v;C=+p[f+4>>2];S=+p[g+4>>2];x=C<S?C:S;p[s>>2]=x;S=+p[f+20>>2];C=+p[g+20>>2];M=S>C?S:C;p[a>>2]=M;C=+p[f+8>>2];S=+p[g+8>>2];T=C<S?C:S;p[e>>2]=T;S=+p[f+24>>2];C=+p[g+24>>2];D=S>C?S:C;p[m>>2]=D;if(!(l!=y|d!=x|c!=T|b!=v)){if(!(u!=M|h!=D)){n=_;P=2680;break}}_=r[_+32>>2]|0}while((_|0)!=0);if((P|0)==2680){return n|0}n=r[i>>2]|0;return n|0}function eTe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0;r[e>>2]=24080;n[e+40|0]=1;r[e+36>>2]=0;r[e+28>>2]=0;r[e+32>>2]=0;r[e+4>>2]=0;r[e+8>>2]=0;r[e+12>>2]=-1;r[e+16>>2]=0;r[e+20>>2]=0;n[e+80|0]=1;r[e+76>>2]=0;r[e+68>>2]=0;r[e+72>>2]=0;r[e+44>>2]=0;r[e+48>>2]=0;r[e+52>>2]=-1;r[e+56>>2]=0;r[e+60>>2]=0;n[e+153|0]=0;n[e+154|0]=1;i=(t|0)!=0;n[e+152|0]=i&1^1;p[e+100>>2]=0.0;r[e+104>>2]=0;r[e+124>>2]=0;r[e+108>>2]=1;r[e+112>>2]=0;r[e+116>>2]=10;r[e+120>>2]=1;r[e+128>>2]=0;r[e+132>>2]=0;p[e+136>>2]=0.0;if(i){_=t;o=e+96|0;r[o>>2]=_;s=e+148|0;r[s>>2]=0;a=e+140|0;r[a>>2]=0;l=e+144|0;r[l>>2]=0;d=e+84|0;c=d;vBe(c|0,0,12);return}r[9806]=(r[9806]|0)+1;t=hBe(95)|0;do{if((t|0)==0){b=0}else{i=-(t+4|0)&15;u=t+(i+4)|0;r[t+i>>2]=t;if((u|0)==0){b=0;break}i=u;RPe(i);b=i}}while(0);_=b|0;o=e+96|0;r[o>>2]=_;s=e+148|0;r[s>>2]=0;a=e+140|0;r[a>>2]=0;l=e+144|0;r[l>>2]=0;d=e+84|0;c=d;vBe(c|0,0,12);return}function tTe(e){e=e|0;var t=0,i=0;r[e>>2]=24080;do{if((n[e+152|0]&1)!=0){t=e+96|0;i=r[t>>2]|0;jnt[r[r[i>>2]>>2]&2047](i);i=r[t>>2]|0;if((i|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}}while(0);XMe(e+44|0);XMe(e+4|0);if((e|0)==0){return}SBe(e);return}function iTe(e){e=e|0;var t=0,i=0;r[e>>2]=24080;do{if((n[e+152|0]&1)!=0){t=e+96|0;i=r[t>>2]|0;jnt[r[r[i>>2]>>2]&2047](i);i=r[t>>2]|0;if((i|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}}while(0);XMe(e+44|0);XMe(e+4|0);return}function nTe(e){e=e|0;return}function _Te(e){e=e|0;return}function rTe(e,t,i,o,s,a,p,l,c){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;c=c|0;var b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;c=d;d=d+48|0;l=c|0;o=c+32|0;r[9806]=(r[9806]|0)+1;b=hBe(83)|0;if((b|0)==0){u=0}else{m=-(b+4|0)&15;r[b+m>>2]=b;u=b+(m+4)|0}m=u;r[u>>2]=s;_[u+4>>1]=a;_[u+6>>1]=p;p=u+16|0;a=t;r[p>>2]=r[a>>2];r[p+4>>2]=r[a+4>>2];r[p+8>>2]=r[a+8>>2];r[p+12>>2]=r[a+12>>2];p=u+32|0;t=i;r[p>>2]=r[t>>2];r[p+4>>2]=r[t+4>>2];r[p+8>>2]=r[t+8>>2];r[p+12>>2]=r[t+12>>2];r[u+8>>2]=0;p=u+56|0;r[p>>2]=0;i=u+52|0;r[i>>2]=0;s=l;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=l+16|0;r[a>>2]=r[t>>2];r[a+4>>2]=r[t+4>>2];r[a+8>>2]=r[t+8>>2];r[a+12>>2]=r[t+12>>2];t=e+104|0;r[u+60>>2]=r[t>>2];a=e+148|0;b=(r[a>>2]|0)+1|0;r[a>>2]=b;a=u;r[u+12>>2]=b;b=e+4|0;h=b|0;f=e+8|0;g=r[f>>2]|0;do{if((g|0)==0){r[9806]=(r[9806]|0)+1;C=hBe(63)|0;if((C|0)==0){S=0;break}y=-(C+4|0)&15;v=C+(y+4)|0;r[C+y>>2]=C;if((v|0)==0){S=0;break}vBe(v|0,0,44);S=v}else{r[f>>2]=0;S=g}}while(0);r[S+32>>2]=0;r[S+36>>2]=u;r[S+40>>2]=0;g=S;yBe(g|0,s|0,32)|0;s=b|0;KMe(h,r[s>>2]|0,S);h=e+16|0;r[h>>2]=(r[h>>2]|0)+1;r[u+48>>2]=S;S=e+84+(r[t>>2]<<2)|0;r[i>>2]=0;r[p>>2]=r[S>>2];p=r[S>>2]|0;if((p|0)!=0){r[p+52>>2]=m}r[S>>2]=m;if((n[e+153|0]&1)!=0){d=c;return a|0}r[o>>2]=23368;r[o+4>>2]=e;r[o+8>>2]=m;m=o|0;oTe(r[s>>2]|0,l,m);oTe(r[e+44>>2]|0,l,m);d=c;return a|0}function oTe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0;if((e|0)==0){return}n=+p[t>>2];_=+p[t+4>>2];o=+p[t+8>>2];s=+p[t+16>>2];a=+p[t+20>>2];l=+p[t+24>>2];r[9806]=(r[9806]|0)+1;t=hBe(275)|0;do{if((t|0)==0){d=0}else{c=-(t+4|0)&15;b=t+(c+4)|0;r[t+c>>2]=t;c=b;if((b|0)==0){d=0;break}r[c>>2]=e;d=c}}while(0);e=i;t=1;c=64;b=d;while(1){d=t-1|0;u=r[b+(d<<2)>>2]|0;do{if(+p[u>>2]>s){m=d;h=c;f=b}else{if(+p[u+16>>2]<n){m=d;h=c;f=b;break}if(+p[u+4>>2]>a){m=d;h=c;f=b;break}if(+p[u+20>>2]<_){m=d;h=c;f=b;break}if(+p[u+8>>2]>l){m=d;h=c;f=b;break}if(+p[u+24>>2]<o){m=d;h=c;f=b;break}g=u+40|0;if((r[g>>2]|0)==0){Znt[r[(r[e>>2]|0)+12>>2]&2047](i,u);m=d;h=c;f=b;break}C=r[u+36>>2]|0;do{if((d|0)==(c|0)){S=(c|0)==0?1:c<<1;if((c|0)>=(S|0)){y=c;v=b;break}do{if((S|0)==0){x=0}else{r[9806]=(r[9806]|0)+1;M=hBe((S<<2)+19|0)|0;if((M|0)==0){x=0;break}T=-(M+4|0)&15;r[M+T>>2]=M;x=M+(T+4)|0}}while(0);if((c|0)>0){T=0;do{M=x+(T<<2)|0;if((M|0)!=0){r[M>>2]=r[b+(T<<2)>>2]}T=T+1|0}while((T|0)<(c|0))}if((b|0)==0){y=S;v=x;break}r[9804]=(r[9804]|0)+1;SBe(r[b-4>>2]|0);y=S;v=x}else{y=c;v=b}}while(0);T=v+(d<<2)|0;if((T|0)!=0){r[T>>2]=C}T=r[g>>2]|0;do{if((t|0)==(y|0)){M=(t|0)==0?1:t<<1;if((t|0)>=(M|0)){D=t;P=v;break}do{if((M|0)==0){w=0}else{r[9806]=(r[9806]|0)+1;A=hBe((M<<2)+19|0)|0;if((A|0)==0){w=0;break}F=-(A+4|0)&15;r[A+F>>2]=A;w=A+(F+4)|0}}while(0);if((t|0)>0){S=0;do{F=w+(S<<2)|0;if((F|0)!=0){r[F>>2]=r[v+(S<<2)>>2]}S=S+1|0}while((S|0)<(t|0))}if((v|0)==0){D=M;P=w;break}r[9804]=(r[9804]|0)+1;SBe(r[v-4>>2]|0);D=M;P=w}else{D=y;P=v}}while(0);g=P+(t<<2)|0;if((g|0)!=0){r[g>>2]=T}m=t+1|0;h=D;f=P}}while(0);if((m|0)>0){t=m;c=h;b=f}else{break}}if((f|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[f-4>>2]|0);return}function sTe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0;_=t+60|0;if((r[_>>2]|0)==2){o=e+44|0;s=r[t+48>>2]|0;$Me(o,s)|0;o=e+48|0;a=r[o>>2]|0;if((a|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-44+40>>2]|0)}r[o>>2]=s;s=e+56|0;r[s>>2]=(r[s>>2]|0)-1}else{s=e+4|0;o=r[t+48>>2]|0;$Me(s,o)|0;s=e+8|0;a=r[s>>2]|0;if((a|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-44+40>>2]|0)}r[s>>2]=o;o=e+16|0;r[o>>2]=(r[o>>2]|0)-1}o=t+52|0;s=r[o>>2]|0;a=t+56|0;p=r[a>>2]|0;if((s|0)==0){r[e+84+(r[_>>2]<<2)>>2]=p}else{r[s+56>>2]=p}p=r[a>>2]|0;if((p|0)!=0){r[p+52>>2]=r[o>>2]}o=r[e+96>>2]|0;srt[r[(r[o>>2]|0)+16>>2]&511](o|0,t,i);if((t|0)==0){l=e+154|0;n[l]=1;return}r[9804]=(r[9804]|0)+1;SBe(r[t-48+44>>2]|0);l=e+154|0;n[l]=1;return}function aTe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;e=i;i=t+16|0;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];i=n;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function pTe(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0;i=d;d=d+8|0;s=i|0;r[s>>2]=22928;r[s+4>>2]=n;a=n+4|0;l=n+20|0;c=n+32|0;n=s|0;lTe(r[e+4>>2]|0,t,a,l,+p[c>>2],_,o,n);lTe(r[e+44>>2]|0,t,a,l,+p[c>>2],_,o,n);d=i;return}function lTe(e,t,i,n,_,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;o=o|0;s=s|0;a=a|0;var l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0.0,L=0.0,U=0,G=0.0,W=0.0,z=0.0,H=0.0,j=0,X=0,Z=0,Q=0,q=0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0;l=d;d=d+32|0;c=l|0;if((e|0)==0){d=l;return}r[9806]=(r[9806]|0)+1;b=hBe(531)|0;if((b|0)==0){u=0}else{m=-(b+4|0)&15;r[b+m>>2]=b;u=b+(m+4)|0}m=0;do{b=u+(m<<2)|0;if((b|0)!=0){r[b>>2]=0}m=m+1|0}while((m|0)<128);r[u>>2]=e;e=s|0;m=s+4|0;b=s+8|0;s=c|0;h=c+4|0;f=c+8|0;g=c+12|0;C=o|0;S=o+4|0;y=o+8|0;o=c+16|0;v=c+20|0;x=c+24|0;M=c+28|0;T=t|0;D=i|0;P=n+4|0;w=t+4|0;A=i+4|0;F=n+8|0;R=t+8|0;t=i+8|0;i=a;I=1;B=126;V=128;E=128;N=u;while(1){u=I-1|0;k=r[N+(u<<2)>>2]|0;O=+p[k+4>>2]-+p[m>>2];L=+p[k+8>>2]-+p[b>>2];p[s>>2]=+p[k>>2]-+p[e>>2];p[h>>2]=O;p[f>>2]=L;p[g>>2]=0.0;L=+p[k+20>>2]-+p[S>>2];O=+p[k+24>>2]-+p[y>>2];p[o>>2]=+p[k+16>>2]-+p[C>>2];p[v>>2]=L;p[x>>2]=O;p[M>>2]=0.0;U=r[n>>2]|0;O=+p[T>>2];L=+p[D>>2];G=(+p[c+(U<<4)>>2]-O)*L;W=L*(+p[c+(1-U<<4)>>2]-O);U=r[P>>2]|0;O=+p[w>>2];L=+p[A>>2];z=(+p[c+(U<<4)+4>>2]-O)*L;H=L*(+p[c+(1-U<<4)+4>>2]-O);do{if(G>H|z>W){j=u;X=B;Z=V;Q=E;q=N}else{O=z>G?z:G;L=H<W?H:W;U=r[F>>2]|0;Y=+p[R>>2];J=+p[t>>2];K=(+p[c+(U<<4)+8>>2]-Y)*J;$=J*(+p[c+(1-U<<4)+8>>2]-Y);if(O>$|K>L){j=u;X=B;Z=V;Q=E;q=N;break}if((K>O?K:O)>=_){j=u;X=B;Z=V;Q=E;q=N;break}if(($<L?$:L)<=0.0){j=u;X=B;Z=V;Q=E;q=N;break}U=k+40|0;if((r[U>>2]|0)==0){Znt[r[(r[i>>2]|0)+12>>2]&2047](a,k);j=u;X=B;Z=V;Q=E;q=N;break}if((u|0)>(B|0)){ee=V<<1;if((V|0)<(ee|0)){do{if((E|0)<(ee|0)){do{if((ee|0)==0){te=0}else{r[9806]=(r[9806]|0)+1;ie=hBe((V<<3|4)+15|0)|0;if((ie|0)==0){te=0;break}ne=-(ie+4|0)&15;r[ie+ne>>2]=ie;te=ie+(ne+4)|0}}while(0);if((V|0)>0){ne=0;do{ie=te+(ne<<2)|0;if((ie|0)!=0){r[ie>>2]=r[N+(ne<<2)>>2]}ne=ne+1|0}while((ne|0)<(V|0))}if((N|0)==0){_e=ee;re=te;break}r[9804]=(r[9804]|0)+1;SBe(r[N-4>>2]|0);_e=ee;re=te}else{_e=E;re=N}}while(0);ne=V;while(1){ie=re+(ne<<2)|0;if((ie|0)!=0){r[ie>>2]=0}ie=ne+1|0;if((ie|0)<(ee|0)){ne=ie}else{oe=_e;se=re;break}}}else{oe=E;se=N}ae=ee-2|0;pe=ee;le=oe;de=se}else{ae=B;pe=V;le=E;de=N}r[de+(u<<2)>>2]=r[k+36>>2];r[de+(I<<2)>>2]=r[U>>2];j=I+1|0;X=ae;Z=pe;Q=le;q=de}}while(0);if((j|0)==0){break}else{I=j;B=X;V=Z;E=Q;N=q}}if((q|0)==0){d=l;return}r[9804]=(r[9804]|0)+1;SBe(r[q-4>>2]|0);d=l;return}function dTe(e){e=e|0;return}function cTe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;_=d;d=d+40|0;o=_|0;s=_+8|0;r[o>>2]=22720;r[o+4>>2]=n;n=s;a=t;r[n>>2]=r[a>>2];r[n+4>>2]=r[a+4>>2];r[n+8>>2]=r[a+8>>2];r[n+12>>2]=r[a+12>>2];a=s+16|0;n=i;r[a>>2]=r[n>>2];r[a+4>>2]=r[n+4>>2];r[a+8>>2]=r[n+8>>2];r[a+12>>2]=r[n+12>>2];n=o|0;oTe(r[e+4>>2]|0,s,n);oTe(r[e+44>>2]|0,s,n);d=_;return}function bTe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0.0,u=0,m=0.0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0.0,B=0.0,V=0.0,E=0.0,N=0,k=0.0,O=0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0;o=d;d=d+16|0;s=o|0;a=t;l=i;c=i|0;b=+p[c>>2];u=i+4|0;m=+p[u>>2];h=i+8|0;f=+p[h>>2];g=+p[i+12>>2];i=_;C=+p[_>>2];S=+p[_+4>>2];y=+p[_+8>>2];v=+p[_+12>>2];_=t+60|0;e:do{if((r[_>>2]|0)==2){x=e+44|0;M=t+48|0;T=r[M>>2]|0;$Me(x,T)|0;x=e+48|0;D=r[x>>2]|0;if((D|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[D-44+40>>2]|0)}r[x>>2]=T;T=e+56|0;r[T>>2]=(r[T>>2]|0)-1;T=e+4|0;x=e+8|0;D=r[x>>2]|0;do{if((D|0)==0){r[9806]=(r[9806]|0)+1;P=hBe(63)|0;if((P|0)==0){w=0;break}A=-(P+4|0)&15;F=P+(A+4)|0;r[P+A>>2]=P;if((F|0)==0){w=0;break}vBe(F|0,0,44);w=F}else{r[x>>2]=0;w=D}}while(0);r[w+32>>2]=0;r[w+36>>2]=t;r[w+40>>2]=0;p[w>>2]=b;p[w+4>>2]=m;p[w+8>>2]=f;p[w+12>>2]=g;p[w+16>>2]=C;p[w+20>>2]=S;p[w+24>>2]=y;p[w+28>>2]=v;KMe(T,r[T>>2]|0,w);D=e+16|0;r[D>>2]=(r[D>>2]|0)+1;r[M>>2]=w;R=1}else{D=e+128|0;r[D>>2]=(r[D>>2]|0)+1;D=r[t+48>>2]|0;x=D|0;I=+p[x>>2];do{if(I<=C){F=D+16|0;B=+p[F>>2];if(B<b){break}P=D+4|0;V=+p[P>>2];if(V>S){break}A=D+20|0;E=+p[A>>2];if(E<m){break}N=D+8|0;k=+p[N>>2];if(k>y){break}O=D+24|0;L=+p[O>>2];if(L<f){break}U=+p[t+16>>2];G=+p[t+20>>2];W=+p[t+24>>2];z=+p[e+100>>2];H=(+p[t+32>>2]-U)*.5*z;j=z*(+p[t+36>>2]-G)*.5;X=z*(+p[t+40>>2]-W)*.5;if(+p[c>>2]-U<0.0){Z=-0.0-H}else{Z=H}if(+p[u>>2]-G<0.0){Q=-0.0-j}else{Q=j}if(+p[h>>2]-W<0.0){q=-0.0-X}else{q=X}Y=e+4|0;if(!(I>b|V>m|k>f|B<C|E<S|L<y)){R=0;break e}L=b+-.05000000074505806;E=m+-.05000000074505806;B=f+-.05000000074505806;k=C+.05000000074505806;V=S+.05000000074505806;X=y+.05000000074505806;if(Z>0.0){J=L;K=Z+k}else{J=Z+L;K=k}if(Q>0.0){$=E;ee=Q+V}else{$=Q+E;ee=V}if(q>0.0){te=q+X;ie=B}else{te=X;ie=q+B}ne=$Me(Y,D)|0;t:do{if((ne|0)==0){_e=0}else{re=r[e+12>>2]|0;if((re|0)>-1){oe=0;se=ne}else{_e=r[Y>>2]|0;break}while(1){if((oe|0)>=(re|0)){_e=se;break t}ae=r[se+32>>2]|0;if((ae|0)==0){_e=se;break}else{oe=oe+1|0;se=ae}}}}while(0);p[x>>2]=J;p[P>>2]=$;p[N>>2]=ie;p[D+12>>2]=g;p[F>>2]=K;p[A>>2]=ee;p[O>>2]=te;p[D+28>>2]=v;KMe(Y,_e,D);ne=e+132|0;r[ne>>2]=(r[ne>>2]|0)+1;R=1;break e}}while(0);M=e+4|0;T=$Me(M,D)|0;t:do{if((T|0)==0){pe=0}else{ne=r[e+12>>2]|0;if((ne|0)>-1){le=0;de=T}else{pe=r[M>>2]|0;break}while(1){if((le|0)>=(ne|0)){pe=de;break t}re=r[de+32>>2]|0;if((re|0)==0){pe=de;break}else{le=le+1|0;de=re}}}}while(0);p[x>>2]=b;p[D+4>>2]=m;p[D+8>>2]=f;p[D+12>>2]=g;p[D+16>>2]=C;p[D+20>>2]=S;p[D+24>>2]=y;p[D+28>>2]=v;KMe(M,pe,D);T=e+132|0;r[T>>2]=(r[T>>2]|0)+1;R=1}}while(0);pe=t+52|0;de=r[pe>>2]|0;le=t+56|0;_e=r[le>>2]|0;if((de|0)==0){r[e+84+(r[_>>2]<<2)>>2]=_e}else{r[de+56>>2]=_e}_e=r[le>>2]|0;if((_e|0)!=0){r[_e+52>>2]=r[pe>>2]}_e=t+16|0;r[_e>>2]=r[l>>2];r[_e+4>>2]=r[l+4>>2];r[_e+8>>2]=r[l+8>>2];r[_e+12>>2]=r[l+12>>2];l=t+32|0;r[l>>2]=r[i>>2];r[l+4>>2]=r[i+4>>2];r[l+8>>2]=r[i+8>>2];r[l+12>>2]=r[i+12>>2];i=e+104|0;r[_>>2]=r[i>>2];_=e+84+(r[i>>2]<<2)|0;r[pe>>2]=0;r[le>>2]=r[_>>2];le=r[_>>2]|0;if((le|0)!=0){r[le+52>>2]=a}r[_>>2]=a;if(!R){d=o;return}n[e+154|0]=1;if((n[e+153|0]&1)!=0){d=o;return}r[s>>2]=23368;r[s+4>>2]=e;R=e+44|0;a=t+48|0;t=s|0;uTe(R,r[R>>2]|0,r[a>>2]|0,t);R=e+4|0;uTe(R,r[R>>2]|0,r[a>>2]|0,t);d=o;return}function uTe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0;if((t|0)==0|(i|0)==0){return}o=e+24|0;s=e+28|0;do{if((r[o>>2]|0)<128){if((r[s>>2]|0)>=128){a=s;break}r[9806]=(r[9806]|0)+1;l=hBe(1043)|0;if((l|0)==0){d=0}else{c=-(l+4|0)&15;r[l+c>>2]=l;d=l+(c+4)|0}c=r[o>>2]|0;l=e+32|0;if((c|0)>0){b=0;do{u=d+(b<<3)|0;if((u|0)!=0){m=(r[l>>2]|0)+(b<<3)|0;h=u;u=r[m+4>>2]|0;r[h>>2]=r[m>>2];r[h+4>>2]=u}b=b+1|0}while((b|0)<(c|0))}c=r[l>>2]|0;b=e+36|0;if((c|0)!=0){if((n[b]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}r[l>>2]=0}n[b]=1;r[l>>2]=d;r[s>>2]=128;a=s}else{a=s}}while(0);r[o>>2]=128;s=e+32|0;d=r[s>>2]|0;r[d>>2]=t;r[d+4>>2]=i;i=e+36|0;e=_;d=1;t=124;while(1){b=d-1|0;c=r[s>>2]|0;u=r[c+(b<<3)>>2]|0;h=r[c+(b<<3)+4>>2]|0;if((b|0)>(t|0)){m=r[o>>2]|0;f=m<<1;do{if((m|0)<(f|0)){if((r[a>>2]|0)>=(f|0)){g=c;break}if((f|0)==0){C=0;S=m}else{r[9806]=(r[9806]|0)+1;y=hBe((m<<4|4)+15|0)|0;if((y|0)==0){v=0}else{x=-(y+4|0)&15;r[y+x>>2]=y;v=y+(x+4)|0}C=v;S=r[o>>2]|0}if((S|0)>0){x=0;do{y=C+(x<<3)|0;if((y|0)!=0){M=(r[s>>2]|0)+(x<<3)|0;T=y;y=r[M+4>>2]|0;r[T>>2]=r[M>>2];r[T+4>>2]=y}x=x+1|0}while((x|0)<(S|0))}x=r[s>>2]|0;if((x|0)!=0){if((n[i]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[x-8+4>>2]|0)}r[s>>2]=0}n[i]=1;r[s>>2]=C;r[a>>2]=f;g=C}else{g=c}}while(0);r[o>>2]=f;D=f-4|0;P=g}else{D=t;P=c}do{if((u|0)==(h|0)){m=u+40|0;if((r[m>>2]|0)==0){w=b;break}l=u+36|0;x=P+(b<<3)|0;y=r[l>>2]|0;r[x>>2]=y;r[x+4>>2]=y;y=(r[s>>2]|0)+(d<<3)|0;x=r[m>>2]|0;r[y>>2]=x;r[y+4>>2]=x;x=(r[s>>2]|0)+(d+1<<3)|0;y=r[m>>2]|0;r[x>>2]=r[l>>2];r[x+4>>2]=y;w=d+2|0}else{if(+p[u>>2]>+p[h+16>>2]){w=b;break}if(+p[u+16>>2]<+p[h>>2]){w=b;break}if(+p[u+4>>2]>+p[h+20>>2]){w=b;break}if(+p[u+20>>2]<+p[h+4>>2]){w=b;break}if(+p[u+8>>2]>+p[h+24>>2]){w=b;break}if(+p[u+24>>2]<+p[h+8>>2]){w=b;break}y=u+40|0;x=h+40|0;l=(r[x>>2]|0)!=0;if((r[y>>2]|0)==0){if(l){m=P+(b<<3)|0;T=u;M=0;A=r[h+36>>2]|M;r[m>>2]=T;r[m+4>>2]=A;A=(r[s>>2]|0)+(d<<3)|0;m=r[x>>2]|M;r[A>>2]=T;r[A+4>>2]=m;w=d+1|0;break}else{srt[r[(r[e>>2]|0)+8>>2]&511](_,u,h);w=b;break}}else{m=P+(b<<3)|0;A=u+36|0;T=r[A>>2]|0;if(l){l=h+36|0;M=m;F=r[l>>2]|0;r[M>>2]=T;r[M+4>>2]=F;F=(r[s>>2]|0)+(d<<3)|0;M=r[l>>2]|0;r[F>>2]=r[y>>2];r[F+4>>2]=M;M=(r[s>>2]|0)+(d+1<<3)|0;F=r[x>>2]|0;r[M>>2]=r[A>>2];r[M+4>>2]=F;F=(r[s>>2]|0)+(d+2<<3)|0;M=r[x>>2]|0;r[F>>2]=r[y>>2];r[F+4>>2]=M;w=d+3|0;break}else{M=m;m=0;F=h;r[M>>2]=T|m;r[M+4>>2]=F;M=(r[s>>2]|0)+(d<<3)|0;r[M>>2]=r[y>>2]|m;r[M+4>>2]=F;w=d+1|0;break}}}}while(0);if((w|0)==0){break}else{d=w;t=D}}return}function mTe(e,t){e=e|0;t=t|0;STe(e,t);yTe(e,t);return}function hTe(e){e=e|0;return}function fTe(e){e=e|0;return r[e+96>>2]|0}function gTe(e){e=e|0;return r[e+96>>2]|0}function CTe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0;n=r[e+4>>2]|0;_=r[e+44>>2]|0;e=(_|0)==0;do{if((n|0)==0){if(e){o=0.0;s=0.0;a=0.0;l=0.0;d=0.0;c=0.0;b=0.0;u=0.0;break}o=+p[_>>2];s=+p[_+4>>2];a=+p[_+8>>2];l=+p[_+12>>2];d=+p[_+16>>2];c=+p[_+20>>2];b=+p[_+24>>2];u=+p[_+28>>2]}else{m=+p[n>>2];if(e){o=m;s=+p[n+4>>2];a=+p[n+8>>2];l=+p[n+12>>2];d=+p[n+16>>2];c=+p[n+20>>2];b=+p[n+24>>2];u=+p[n+28>>2];break}else{h=+p[_>>2];f=+p[n+16>>2];g=+p[_+16>>2];C=+p[n+4>>2];S=+p[_+4>>2];y=+p[n+20>>2];v=+p[_+20>>2];x=+p[n+8>>2];M=+p[_+8>>2];T=+p[n+24>>2];D=+p[_+24>>2];o=m<h?m:h;s=C<S?C:S;a=x<M?x:M;l=0.0;d=f>g?f:g;c=y>v?y:v;b=T>D?T:D;u=0.0;break}}}while(0);p[t>>2]=o;p[t+4>>2]=s;p[t+8>>2]=a;p[t+12>>2]=l;p[i>>2]=d;p[i+4>>2]=c;p[i+8>>2]=b;p[i+12>>2]=u;return}function STe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0;i=d;d=d+48|0;_=i|0;o=i+32|0;s=e+4|0;a=s|0;l=e+16|0;JMe(a,((ne(r[e+112>>2]|0,r[l>>2]|0)|0)/100|0)+1|0);c=e+124|0;if((r[c>>2]|0)!=0){b=((ne(r[e+108>>2]|0,r[e+56>>2]|0)|0)/100|0)+1|0;JMe(e+44|0,b);u=(r[c>>2]|0)-b|0;r[c>>2]=(u|0)<0?0:u}u=e+104|0;b=((r[u>>2]|0)+1|0)%2|0;r[u>>2]=b;u=r[e+84+(b<<2)>>2]|0;if((u|0)!=0){b=e+92|0;m=_;h=_+16|0;_=e+44|0;f=e+8|0;g=e+48|0;C=_|0;S=e+56|0;y=u;while(1){u=y+56|0;v=r[u>>2]|0;x=y+60|0;M=y+52|0;T=r[M>>2]|0;if((T|0)==0){r[e+84+(r[x>>2]<<2)>>2]=v}else{r[T+56>>2]=v}T=r[u>>2]|0;if((T|0)!=0){r[T+52>>2]=r[M>>2]}r[M>>2]=0;r[u>>2]=r[b>>2];u=r[b>>2]|0;if((u|0)!=0){r[u+52>>2]=y}r[b>>2]=y;u=y+48|0;M=r[u>>2]|0;$Me(a,M)|0;T=r[f>>2]|0;if((T|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[T-44+40>>2]|0)}r[f>>2]=M;r[l>>2]=(r[l>>2]|0)-1;M=y+16|0;r[m>>2]=r[M>>2];r[m+4>>2]=r[M+4>>2];r[m+8>>2]=r[M+8>>2];r[m+12>>2]=r[M+12>>2];M=y+32|0;r[h>>2]=r[M>>2];r[h+4>>2]=r[M+4>>2];r[h+8>>2]=r[M+8>>2];r[h+12>>2]=r[M+12>>2];M=r[g>>2]|0;do{if((M|0)==0){r[9806]=(r[9806]|0)+1;T=hBe(63)|0;if((T|0)==0){D=0;break}P=-(T+4|0)&15;w=T+(P+4)|0;r[T+P>>2]=T;if((w|0)==0){D=0;break}vBe(w|0,0,44);D=w}else{r[g>>2]=0;D=M}}while(0);r[D+32>>2]=0;r[D+36>>2]=y;r[D+40>>2]=0;M=D;yBe(M|0,m|0,32)|0;KMe(_,r[C>>2]|0,D);r[S>>2]=(r[S>>2]|0)+1;r[u>>2]=D;r[x>>2]=2;if((v|0)==0){break}else{y=v}}r[c>>2]=r[S>>2];n[e+154|0]=1}r[o>>2]=23368;r[o+4>>2]=e;S=e+153|0;c=n[S]|0;if((c&1)==0){A=c}else{uTe(a,r[s>>2]|0,r[e+44>>2]|0,o|0);A=n[S]|0}if((A&1)!=0){A=r[s>>2]|0;uTe(a,A,A,o|0)}o=e+154|0;e:do{if((n[o]&1)!=0){A=e+96|0;a=r[A>>2]|0;s=Knt[r[(r[a>>2]|0)+28>>2]&4095](a)|0;a=s+4|0;S=r[a>>2]|0;if((S|0)<=0){break}c=(ne(r[e+116>>2]|0,S)|0)/100|0;y=r[e+120>>2]|0;D=(y|0)>(c|0)?y:c;c=(S|0)<(D|0)?S:D;D=e+144|0;do{if((c|0)>0){y=s+12|0;C=c;_=0;m=S;while(1){g=((r[D>>2]|0)+_|0)%(m|0)|0;h=r[y>>2]|0;l=r[h+(g<<4)>>2]|0;f=r[h+(g<<4)+4>>2]|0;g=r[l+48>>2]|0;h=r[f+48>>2]|0;do{if(+p[g>>2]>+p[h+16>>2]){F=3013}else{if(+p[g+16>>2]<+p[h>>2]){F=3013;break}if(+p[g+4>>2]>+p[h+20>>2]){F=3013;break}if(+p[g+20>>2]<+p[h+4>>2]){F=3013;break}if(+p[g+8>>2]>+p[h+24>>2]){F=3013;break}if(+p[g+24>>2]<+p[h+8>>2]){F=3013}else{R=_;I=C;B=m}}}while(0);if((F|0)==3013){F=0;h=r[A>>2]|0;g=h|0;b=r[(r[h>>2]|0)+12>>2]|0;drt[b&127](g,l,f,t)|0;R=_-1|0;I=C-1|0;B=r[a>>2]|0}g=R+1|0;if((g|0)<(I|0)){C=I;_=g;m=B}else{break}}if((B|0)>0){V=B;E=I;break}r[D>>2]=0;break e}else{V=S;E=c}}while(0);r[D>>2]=((r[D>>2]|0)+E|0)%(V|0)|0}}while(0);V=e+140|0;r[V>>2]=(r[V>>2]|0)+1;r[e+120>>2]=1;n[o]=0;o=e+128|0;V=r[o>>2]|0;if((V|0)==0){p[e+136>>2]=0.0;N=r[e+132>>2]|0;k=e+132|0;O=N>>>1;r[k>>2]=O;L=V>>>1;r[o>>2]=L;d=i;return}else{E=r[e+132>>2]|0;p[e+136>>2]=+(E>>>0>>>0)/+(V>>>0>>>0);N=E;k=e+132|0;O=N>>>1;r[k>>2]=O;L=V>>>1;r[o>>2]=L;d=i;return}}function yTe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0;i=e+96|0;e=r[i>>2]|0;if(!(Knt[r[(r[e>>2]|0)+56>>2]&4095](e)|0)){return}e=r[i>>2]|0;_=Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0;e=_+4|0;o=r[e>>2]|0;if((o|0)>1){xCe(_,0,o-1|0);s=r[e>>2]|0}else{s=o}do{if((s|0)>0){o=_+12|0;a=0;l=0;d=0;c=0;b=s;while(1){u=r[o>>2]|0;m=u+(d<<4)|0;h=m|0;f=r[h>>2]|0;g=u+(d<<4)+4|0;u=r[g>>2]|0;if((f|0)==(l|0)){if((u|0)==(a|0)){C=l;S=a;y=3037}else{v=l;y=3031}}else{v=f;y=3031}do{if((y|0)==3031){y=0;f=r[v+48>>2]|0;x=r[u+48>>2]|0;if(+p[f>>2]>+p[x+16>>2]){C=v;S=u;y=3037;break}if(+p[f+16>>2]<+p[x>>2]){C=v;S=u;y=3037;break}if(+p[f+4>>2]>+p[x+20>>2]){C=v;S=u;y=3037;break}if(+p[f+20>>2]<+p[x+4>>2]){C=v;S=u;y=3037;break}if(+p[f+8>>2]>+p[x+24>>2]){C=v;S=u;y=3037;break}if(+p[f+24>>2]<+p[x+8>>2]){C=v;S=u;y=3037}else{M=c;T=v;D=u;P=b}}}while(0);if((y|0)==3037){y=0;u=r[i>>2]|0;srt[r[(r[u>>2]|0)+32>>2]&511](u,m,t);r[h>>2]=0;r[g>>2]=0;M=c+1|0;T=C;D=S;P=r[e>>2]|0}u=d+1|0;if((u|0)<(P|0)){a=D;l=T;d=u;c=M;b=P}else{break}}if((P|0)>1){xCe(_,0,P-1|0);w=r[e>>2]|0}else{w=P}b=w-M|0;if((M|0)>=0){A=b;break}c=_+8|0;if((r[c>>2]|0)<(b|0)){if((w|0)==(M|0)){F=0;R=M}else{r[9806]=(r[9806]|0)+1;d=hBe((b<<4|4)+15|0)|0;if((d|0)==0){I=0}else{l=-(d+4|0)&15;r[d+l>>2]=d;I=d+(l+4)|0}F=I;R=r[e>>2]|0}if((R|0)>0){l=0;do{d=r[o>>2]|0;r[F+(l<<4)>>2]=r[d+(l<<4)>>2];r[F+(l<<4)+4>>2]=r[d+(l<<4)+4>>2];r[F+(l<<4)+8>>2]=r[d+(l<<4)+8>>2];r[F+(l<<4)+12>>2]=r[d+(l<<4)+12>>2];l=l+1|0}while((l|0)<(R|0))}l=r[o>>2]|0;d=_+16|0;if((l|0)!=0){if((n[d]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[l-16+12>>2]|0)}r[o>>2]=0}n[d]=1;r[o>>2]=F;r[c>>2]=b;B=w}else{B=w}while(1){d=B+1|0;vBe((r[o>>2]|0)+(B<<4)|0,0,16);if((d|0)<(b|0)){B=d}else{A=b;break}}}else{A=s}}while(0);r[e>>2]=A;return}function vTe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0;if((r[e+16>>2]|0)!=(-(r[e+56>>2]|0)|0)){return}t=e+44|0;i=e+4|0;_=r[i>>2]|0;if((_|0)!=0){ZMe(i,_)}_=e+8|0;i=r[_>>2]|0;if((i|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-44+40>>2]|0)}r[_>>2]=0;r[e+12>>2]=-1;_=e+28|0;i=e+36|0;o=r[i>>2]|0;s=e+40|0;if((o|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-8+4>>2]|0)}r[i>>2]=0}n[s]=1;r[i>>2]=0;r[_>>2]=0;r[e+32>>2]=0;r[e+20>>2]=0;_=r[t>>2]|0;if((_|0)!=0){ZMe(t,_)}_=e+48|0;t=r[_>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-44+40>>2]|0)}r[_>>2]=0;r[e+52>>2]=-1;_=e+68|0;t=e+76|0;i=r[t>>2]|0;s=e+80|0;if((i|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-8+4>>2]|0)}r[t>>2]=0}n[s]=1;r[t>>2]=0;r[_>>2]=0;r[e+72>>2]=0;r[e+60>>2]=0;n[e+153|0]=0;n[e+154|0]=1;r[e+104>>2]=0;r[e+124>>2]=0;r[e+108>>2]=1;r[e+112>>2]=0;r[e+116>>2]=10;r[e+120>>2]=1;vBe(e+84|0,0,12);vBe(e+128|0,0,24);return}function xTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function MTe(e,t){e=e|0;t=t|0;var i=0;i=r[e+4>>2]|0;j_t[r[(r[i>>2]|0)+8>>2]&511](i,r[t+36>>2]|0)|0;return}function TTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function DTe(e,t){e=e|0;t=t|0;var i=0;i=r[e+4>>2]|0;j_t[r[(r[i>>2]|0)+8>>2]&511](i|0,r[t+36>>2]|0)|0;return}function PTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function wTe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;if((t|0)==(i|0)){return}n=e+4|0;e=r[(r[n>>2]|0)+96>>2]|0;h_t[r[(r[e>>2]|0)+8>>2]&511](e|0,r[t+36>>2]|0,r[i+36>>2]|0)|0;i=(r[n>>2]|0)+120|0;r[i>>2]=(r[i>>2]|0)+1;return}function ATe(e,t){e=e|0;t=t|0;srt[r[(r[e>>2]|0)+8>>2]&511](e,t,r[(r[e+8>>2]|0)+48>>2]|0);return}function FTe(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0;r[e>>2]=19872;r[9806]=(r[9806]|0)+1;i=hBe(379)|0;do{if((i|0)==0){o=0}else{s=-(i+4|0)&15;a=i+(s+4)|0;r[i+s>>2]=i;if((a|0)==0){o=0;break}p[i+(s+312)>>2]=9999999747378752.0e-20;l=i+(s|336)|0;_[l>>1]=_[l>>1]&-16;o=a}}while(0);i=e+32|0;r[i>>2]=o;o=(r[t+28>>2]|0)==0;r[9806]=(r[9806]|0)+1;a=hBe(23)|0;if((a|0)==0){d=0}else{l=-(a+4|0)&15;r[a+l>>2]=a;d=a+(l+4)|0}l=(d|0)==0;if(o){if(l){c=0}else{r[d>>2]=19760;c=d}r[e+36>>2]=c}else{if(l){b=0}else{r[d>>2]=19960;b=d}r[e+36>>2]=b}r[9806]=(r[9806]|0)+1;b=hBe(43)|0;do{if((b|0)==0){u=0}else{d=-(b+4|0)&15;l=b+(d+4)|0;r[b+d>>2]=b;if((l|0)==0){u=0;break}c=r[i>>2]|0;o=r[e+36>>2]|0;n[b+(d+8)|0]=0;r[l>>2]=19384;r[b+(d+20)>>2]=0;r[b+(d+24)>>2]=3;r[b+(d|16)>>2]=c;r[b+(d+12)>>2]=o;u=l}}while(0);r[e+40>>2]=u;r[9806]=(r[9806]|0)+1;u=hBe(27)|0;do{if((u|0)==0){m=0}else{b=-(u+4|0)&15;i=u+(b+4)|0;r[u+b>>2]=u;if((i|0)==0){m=0;break}n[u+(b+8)|0]=0;r[i>>2]=19192;m=i}}while(0);r[e+44>>2]=m;r[9806]=(r[9806]|0)+1;m=hBe(27)|0;do{if((m|0)==0){h=0}else{u=-(m+4|0)&15;i=m+(u+4)|0;r[m+u>>2]=m;if((i|0)==0){h=0;break}n[m+(u+8)|0]=0;r[i>>2]=19160;h=i}}while(0);r[e+48>>2]=h;r[9806]=(r[9806]|0)+1;h=hBe(27)|0;do{if((h|0)==0){f=0}else{m=-(h+4|0)&15;i=h+(m+4)|0;r[h+m>>2]=h;if((i|0)==0){f=0;break}n[h+(m+8)|0]=0;r[i>>2]=19320;f=i}}while(0);r[e+52>>2]=f;r[9806]=(r[9806]|0)+1;f=hBe(27)|0;do{if((f|0)==0){g=0}else{h=-(f+4|0)&15;i=f+(h+4)|0;r[f+h>>2]=f;if((i|0)==0){g=0;break}n[f+(h+8)|0]=0;r[i>>2]=19288;g=i}}while(0);r[e+56>>2]=g;r[9806]=(r[9806]|0)+1;g=hBe(27)|0;do{if((g|0)==0){C=0}else{f=-(g+4|0)&15;i=g+(f+4)|0;r[g+f>>2]=g;if((i|0)==0){C=0;break}n[g+(f+8)|0]=0;r[i>>2]=19416;C=i}}while(0);r[e+60>>2]=C;r[9806]=(r[9806]|0)+1;C=hBe(27)|0;do{if((C|0)==0){S=0}else{g=-(C+4|0)&15;i=C+(g+4)|0;r[C+g>>2]=C;if((i|0)==0){S=0;break}n[C+(g+8)|0]=0;r[i>>2]=19224;S=i}}while(0);r[e+64>>2]=S;r[9806]=(r[9806]|0)+1;S=hBe(27)|0;do{if((S|0)==0){y=0}else{C=-(S+4|0)&15;i=S+(C+4)|0;r[S+C>>2]=S;if((i|0)==0){y=0;break}n[S+(C+8)|0]=0;r[i>>2]=19128;y=i}}while(0);r[e+72>>2]=y;r[9806]=(r[9806]|0)+1;y=hBe(27)|0;do{if((y|0)==0){v=0}else{S=-(y+4|0)&15;i=y+(S+4)|0;r[y+S>>2]=y;if((i|0)==0){v=0;break}n[y+(S+8)|0]=0;r[i>>2]=19128;v=i}}while(0);r[e+76>>2]=v;n[v+4|0]=1;r[9806]=(r[9806]|0)+1;v=hBe(27)|0;do{if((v|0)==0){x=0}else{y=-(v+4|0)&15;i=v+(y+4)|0;r[v+y>>2]=v;if((i|0)==0){x=0;break}n[v+(y+8)|0]=0;r[i>>2]=19352;x=i}}while(0);r[e+68>>2]=x;r[9806]=(r[9806]|0)+1;x=hBe(35)|0;do{if((x|0)==0){M=0}else{v=-(x+4|0)&15;i=x+(v+4)|0;r[x+v>>2]=x;if((i|0)==0){M=0;break}n[x+(v+8)|0]=0;r[i>>2]=19256;r[x+(v+12)>>2]=1;r[x+(v|16)>>2]=1;M=i}}while(0);r[e+84>>2]=M;r[9806]=(r[9806]|0)+1;M=hBe(35)|0;do{if((M|0)==0){T=0}else{x=-(M+4|0)&15;i=M+(x+4)|0;r[M+x>>2]=M;if((i|0)==0){T=0;break}n[M+(x+8)|0]=0;r[i>>2]=19256;r[M+(x+12)>>2]=1;r[M+(x|16)>>2]=1;T=i}}while(0);r[e+80>>2]=T;n[T+4|0]=1;T=r[t+20>>2]|0;M=(T|0)<36?36:T;T=(M|0)>80?M:80;M=(T|0)>44?T:44;T=t|0;i=e+12|0;if((r[T>>2]|0)==0){n[i]=1;r[9806]=(r[9806]|0)+1;x=hBe(39)|0;do{if((x|0)==0){D=0}else{v=-(x+4|0)&15;y=x+(v+4)|0;r[x+v>>2]=x;if((y|0)==0){D=0;break}S=r[t+24>>2]|0;vBe(y|0,0,17);r[x+(v+12)>>2]=0;r[9806]=(r[9806]|0)+1;C=hBe(S+19|0)|0;if((C|0)==0){P=0}else{g=-(C+4|0)&15;r[C+g>>2]=C;P=C+(g+4)|0}r[y>>2]=P;r[x+(v+8)>>2]=S;D=y}}while(0);r[e+8>>2]=D}else{n[i]=0;r[e+8>>2]=r[T>>2]}T=t+4|0;i=e+20|0;if((r[T>>2]|0)==0){n[i]=1;r[9806]=(r[9806]|0)+1;D=hBe(39)|0;do{if((D|0)==0){w=0}else{x=-(D+4|0)&15;P=D+(x+4)|0;r[D+x>>2]=D;if((P|0)==0){w=0;break}y=P;S=r[t+12>>2]|0;v=P;r[v>>2]=1140;P=D+(x+8)|0;r[P>>2]=S;r[9806]=(r[9806]|0)+1;g=hBe((S*1140|0)+19|0)|0;if((g|0)==0){A=0}else{S=-(g+4|0)&15;r[g+S>>2]=g;A=g+(S+4)|0}r[D+(x+20)>>2]=A;r[D+(x|16)>>2]=A;S=r[P>>2]|0;r[D+(x+12)>>2]=S;x=S-1|0;if((x|0)==0){F=A}else{S=A;P=x;x=r[v>>2]|0;while(1){r[S>>2]=S+x;g=r[v>>2]|0;C=S+g|0;f=P-1|0;if((f|0)==0){F=C;break}else{S=C;P=f;x=g}}}r[F>>2]=0;w=y}}while(0);r[e+16>>2]=w}else{n[i]=0;r[e+16>>2]=r[T>>2]}T=t+8|0;i=e+28|0;if((r[T>>2]|0)!=0){n[i]=0;r[e+24>>2]=r[T>>2];return}n[i]=1;r[9806]=(r[9806]|0)+1;i=hBe(39)|0;do{if((i|0)==0){R=0}else{T=-(i+4|0)&15;w=i+(T+4)|0;r[i+T>>2]=i;if((w|0)==0){R=0;break}F=w;A=r[t+16>>2]|0;D=w;r[D>>2]=M;w=i+(T+8)|0;r[w>>2]=A;x=ne(A,M)|0;r[9806]=(r[9806]|0)+1;A=hBe(x+19|0)|0;if((A|0)==0){I=0}else{x=-(A+4|0)&15;r[A+x>>2]=A;I=A+(x+4)|0}r[i+(T+20)>>2]=I;r[i+(T|16)>>2]=I;x=r[w>>2]|0;r[i+(T+12)>>2]=x;T=x-1|0;if((T|0)==0){B=I}else{x=I;w=T;T=r[D>>2]|0;while(1){r[x>>2]=x+T;A=r[D>>2]|0;P=x+A|0;S=w-1|0;if((S|0)==0){B=P;break}else{x=P;w=S;T=A}}}r[B>>2]=0;R=F}}while(0);r[e+24>>2]=R;return}function RTe(e){e=e|0;zTe(e);if((e|0)==0){return}SBe(e);return}function ITe(e){e=e|0;return}function BTe(e){e=e|0;return}function VTe(e){e=e|0;return}function ETe(e){e=e|0;return}function NTe(e){e=e|0;return}function kTe(e){e=e|0;return}function OTe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=(t|0)==8;_=(i|0)==8;e:do{if(n&_){o=e+64|0}else{if(n&(i|0)==1){o=e+72|0;break}if((t|0)==1&_){o=e+76|0;break}if((i|t|0)==0){o=e+68|0;break}s=(t|0)<20;if(s&(i|0)==28){o=e+84|0;break}a=(i|0)<20;if(a&(t|0)==28){o=e+80|0;break}do{if(s){if(a){o=e+40|0;break e}if((i-21|0)>>>0>=9){break}o=e+44|0;break e}else{if(!a){break}if((t-21|0)>>>0>=9){break}o=e+48|0;break e}}while(0);if((t|0)==31){o=e+52|0;break}if((i|0)==31){o=e+56|0;break}else{o=e+60|0;break}}}while(0);return r[o>>2]|0}function LTe(e){e=e|0;return r[e+16>>2]|0}function UTe(e){e=e|0;return r[e+24>>2]|0}function GTe(e){e=e|0;return r[e+8>>2]|0}function WTe(e){e=e|0;return r[e+32>>2]|0}function zTe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0;r[e>>2]=19872;do{if((n[e+12|0]&1)!=0){t=e+8|0;i=r[t>>2]|0;_=i+8|0;do{if((r[_>>2]|0)==0){o=i|0;do{if((n[i+16|0]&1)==0){s=r[o>>2]|0;if((s|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[s-4>>2]|0)}}while(0);r[o>>2]=0;r[_>>2]=0;s=r[t>>2]|0;a=s+8|0;if((r[a>>2]|0)!=0){p=s;break}l=s|0;do{if((n[s+16|0]&1)==0){d=r[l>>2]|0;if((d|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}}while(0);r[l>>2]=0;r[a>>2]=0;p=r[t>>2]|0}else{p=i}}while(0);if((p|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[p-20+16>>2]|0)}}while(0);do{if((n[e+28|0]&1)!=0){p=e+24|0;i=r[p>>2]|0;t=r[i+16>>2]|0;if((t|0)==0){c=i}else{r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0);c=r[p>>2]|0}if((c|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[c-20+16>>2]|0)}}while(0);do{if((n[e+20|0]&1)!=0){c=e+16|0;p=r[c>>2]|0;t=r[p+16>>2]|0;if((t|0)==0){b=p}else{r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0);b=r[c>>2]|0}if((b|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[b-20+16>>2]|0)}}while(0);b=e+40|0;c=r[b>>2]|0;jnt[r[r[c>>2]>>2]&2047](c);c=r[b>>2]|0;if((c|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}c=e+44|0;b=r[c>>2]|0;jnt[r[r[b>>2]>>2]&2047](b);b=r[c>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}b=e+48|0;c=r[b>>2]|0;jnt[r[r[c>>2]>>2]&2047](c);c=r[b>>2]|0;if((c|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}c=e+52|0;b=r[c>>2]|0;jnt[r[r[b>>2]>>2]&2047](b);b=r[c>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}b=e+56|0;c=r[b>>2]|0;jnt[r[r[c>>2]>>2]&2047](c);c=r[b>>2]|0;if((c|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}c=e+60|0;b=r[c>>2]|0;jnt[r[r[b>>2]>>2]&2047](b);b=r[c>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}b=e+64|0;c=r[b>>2]|0;jnt[r[r[c>>2]>>2]&2047](c);c=r[b>>2]|0;if((c|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}c=e+72|0;b=r[c>>2]|0;jnt[r[r[b>>2]>>2]&2047](b);b=r[c>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}b=e+76|0;c=r[b>>2]|0;jnt[r[r[c>>2]>>2]&2047](c);c=r[b>>2]|0;if((c|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}c=e+68|0;b=r[c>>2]|0;jnt[r[r[b>>2]>>2]&2047](b);b=r[c>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}b=e+84|0;c=r[b>>2]|0;jnt[r[r[c>>2]>>2]&2047](c);c=r[b>>2]|0;if((c|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-8+4>>2]|0)}c=e+80|0;b=r[c>>2]|0;jnt[r[r[b>>2]>>2]&2047](b);b=r[c>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}b=r[e+32>>2]|0;if((b|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-360+356>>2]|0)}b=e+36|0;e=r[b>>2]|0;jnt[r[r[e>>2]>>2]&2047](e);e=r[b>>2]|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0);return}function HTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function jTe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;o=t|0;t=r[o>>2]|0;s=j_t[r[(r[t>>2]|0)+56>>2]&511](t,28)|0;t=(s|0)==0;if((n[e+4|0]&1)==0){if(t){a=0;p=a|0;return p|0}l=s;d=r[e+8>>2]|0;c=r[e+12>>2]|0;b=s;r[b>>2]=22536;u=r[o>>2]|0;m=s+4|0;r[m>>2]=u;r[b>>2]=19920;b=s+8|0;n[b]=0;h=s+12|0;r[h>>2]=0;n[s+16|0]=0;r[s+20>>2]=d;r[s+24>>2]=c;if(!(h_t[r[(r[u>>2]|0)+24>>2]&511](u,i,_)|0)){a=l;p=a|0;return p|0}u=r[m>>2]|0;r[h>>2]=h_t[r[(r[u>>2]|0)+12>>2]&511](u,i,_)|0;n[b]=1;a=l;p=a|0;return p|0}else{if(t){a=0;p=a|0;return p|0}t=s;l=r[e+8>>2]|0;b=r[e+12>>2]|0;e=s;r[e>>2]=22536;u=r[o>>2]|0;o=s+4|0;r[o>>2]=u;r[e>>2]=19920;e=s+8|0;n[e]=0;h=s+12|0;r[h>>2]=0;n[s+16|0]=1;r[s+20>>2]=l;r[s+24>>2]=b;if(!(h_t[r[(r[u>>2]|0)+24>>2]&511](u,_,i)|0)){a=t;p=a|0;return p|0}u=r[o>>2]|0;r[h>>2]=h_t[r[(r[u>>2]|0)+12>>2]&511](u,_,i)|0;n[e]=1;a=t;p=a|0;return p|0}return 0}function XTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ZTe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0;e=t|0;t=r[e>>2]|0;o=j_t[r[(r[t>>2]|0)+56>>2]&511](t,16)|0;if((o|0)==0){s=0;a=s|0;return a|0}t=o;p=o;r[p>>2]=22536;l=r[e>>2]|0;e=o+4|0;r[e>>2]=l;r[p>>2]=20448;p=o+8|0;n[p]=0;d=o+12|0;r[d>>2]=0;if(!(h_t[r[(r[l>>2]|0)+24>>2]&511](l,i,_)|0)){s=t;a=s|0;return a|0}l=r[e>>2]|0;r[d>>2]=h_t[r[(r[l>>2]|0)+12>>2]&511](l,i,_)|0;n[p]=1;s=t;a=s|0;return a|0}function QTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function qTe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0;o=t|0;s=r[o>>2]|0;a=j_t[r[(r[s>>2]|0)+56>>2]&511](s,20)|0;if((a|0)==0){p=0;l=p|0;return l|0}s=a;d=r[t+4>>2]|0;t=n[e+4|0]&1;e=a;r[e>>2]=22536;c=r[o>>2]|0;r[a+4>>2]=c;r[e>>2]=19688;e=a+8|0;n[e]=0;o=a+12|0;r[o>>2]=d;n[a+16|0]=t;if((d|0)!=0){p=s;l=p|0;return l|0}r[o>>2]=h_t[r[(r[c>>2]|0)+12>>2]&511](c,i,_)|0;n[e]=1;p=s;l=p|0;return l|0}function YTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function JTe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0;e=t|0;t=r[e>>2]|0;o=j_t[r[(r[t>>2]|0)+56>>2]&511](t,16)|0;if((o|0)==0){s=0;a=s|0;return a|0}t=o;r[t>>2]=22536;p=r[e>>2]|0;r[o+4>>2]=p;r[t>>2]=19832;t=o+8|0;n[t]=0;e=o+12|0;r[e>>2]=0;r[e>>2]=h_t[r[(r[p>>2]|0)+12>>2]&511](p,i,_)|0;n[t]=1;s=o;a=s|0;return a|0}function KTe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function $Te(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0;n=t|0;t=r[n>>2]|0;i=j_t[r[(r[t>>2]|0)+56>>2]&511](t,8)|0;if((i|0)==0){_=0;o=_|0;return o|0}t=i;r[t>>2]=22536;r[i+4>>2]=r[n>>2];r[t>>2]=24040;_=i;o=_|0;return o|0}function eDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function tDe(e){e=e|0;return}function iDe(e){e=e|0;return}function nDe(e){e=e|0;return}function _De(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return}function rDe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+1.0}function oDe(e){e=e|0;return}function sDe(e,t){e=e|0;t=t|0;return}function aDe(e){e=e|0;return}function pDe(e,t,i){e=e|0;t=+t;i=i|0;return}function lDe(e){e=e|0;return 16568|0}function dDe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function cDe(e){e=e|0;return e+16|0}function bDe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0;n=r[t>>2]|0;t=e+260|0;i=r[t>>2]|0;_=e+268|0;e=0;while(1){if((e|0)>=(i|0)){o=3368;break}s=r[_>>2]|0;a=s+(e<<2)|0;if((r[a>>2]|0)==(n|0)){break}else{e=e+1|0}}if((o|0)==3368){return}r[a>>2]=r[s+(i-1<<2)>>2];r[t>>2]=(r[t>>2]|0)-1;return}function uDe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0;e=t|0;o=r[e>>2]|0;s=j_t[r[(r[o>>2]|0)+56>>2]&511](o,44)|0;if((s|0)==0){a=0;p=a|0;return p|0}o=s;l=s;r[l>>2]=22536;r[s+4>>2]=r[e>>2];r[l>>2]=20296;n[s+24|0]=1;r[s+20>>2]=0;r[s+12>>2]=0;r[s+16>>2]=0;n[s+28|0]=1;r[s+32>>2]=r[t+4>>2];n[s+36|0]=0;r[s+40>>2]=r[(r[_+192>>2]|0)+68>>2];kRe(o,i,_);a=o;p=a|0;return p|0}function mDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function hDe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0;e=t|0;o=r[e>>2]|0;s=j_t[r[(r[o>>2]|0)+56>>2]&511](o,44)|0;if((s|0)==0){a=0;p=a|0;return p|0}o=s;l=s;r[l>>2]=22536;r[s+4>>2]=r[e>>2];r[l>>2]=20296;n[s+24|0]=1;r[s+20>>2]=0;r[s+12>>2]=0;r[s+16>>2]=0;n[s+28|0]=0;r[s+32>>2]=r[t+4>>2];n[s+36|0]=0;r[s+40>>2]=r[(r[i+192>>2]|0)+68>>2];kRe(o,i,_);a=o;p=a|0;return p|0}function fDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function gDe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0;e=t|0;t=r[e>>2]|0;o=j_t[r[(r[t>>2]|0)+56>>2]&511](t,80)|0;if((o|0)==0){s=0;a=s|0;return a|0}t=o;r[t>>2]=22536;r[o+4>>2]=r[e>>2];r[t>>2]=19792;n[o+8|0]=1;t=r[e>>2]|0;r[o+12>>2]=21136;e=o+60|0;r[e>>2]=t;r[o+64>>2]=0;r[o+16>>2]=_;r[o+20>>2]=i;p=h_t[r[(r[t>>2]|0)+12>>2]&511](t,_,i)|0;r[o+76>>2]=p;i=r[e>>2]|0;Znt[r[(r[i>>2]|0)+20>>2]&2047](i,p);s=o;a=s|0;return a|0}function CDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function SDe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0;e=t|0;t=r[e>>2]|0;o=j_t[r[(r[t>>2]|0)+56>>2]&511](t,80)|0;if((o|0)==0){s=0;a=s|0;return a|0}t=o;r[t>>2]=22536;r[o+4>>2]=r[e>>2];r[t>>2]=19792;n[o+8|0]=0;t=r[e>>2]|0;r[o+12>>2]=21136;e=o+60|0;r[e>>2]=t;r[o+64>>2]=0;r[o+16>>2]=i;r[o+20>>2]=_;p=h_t[r[(r[t>>2]|0)+12>>2]&511](t,i,_)|0;r[o+76>>2]=p;_=r[e>>2]|0;Znt[r[(r[_>>2]|0)+20>>2]&2047](_,p);s=o;a=s|0;return a|0}function yDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function vDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function xDe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0;_=e|0;o=e;s=+z_t[r[(r[o>>2]|0)+44>>2]&1023](_);a=+z_t[r[(r[o>>2]|0)+44>>2]&1023](_);l=+z_t[r[(r[o>>2]|0)+44>>2]&1023](_);_=t+48|0;o=t+52|0;d=+p[o>>2]-a;e=t+56|0;c=+p[e>>2]-l;p[i>>2]=+p[_>>2]-s;p[i+4>>2]=d;p[i+8>>2]=c;p[i+12>>2]=0.0;c=a+ +p[o>>2];a=l+ +p[e>>2];p[n>>2]=s+ +p[_>>2];p[n+4>>2]=c;p[n+8>>2]=a;p[n+12>>2]=0.0;return}function MDe(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function TDe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=25632;t=e+260|0;i=e+268|0;_=r[i>>2]|0;o=e+272|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+264>>2]=0}else{if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+264>>2]=0}r[9804]=(r[9804]|0)+1;SBe(r[e-276+272>>2]|0);return}function DDe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=25632;t=e+260|0;i=e+268|0;_=r[i>>2]|0;o=e+272|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+264>>2]=0;return}function PDe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=r[t>>2]|0;t=e+260|0;_=r[t>>2]|0;o=e+268|0;s=0;while(1){if((s|0)>=(_|0)){break}if((r[(r[o>>2]|0)+(s<<2)>>2]|0)==(i|0)){a=3440;break}else{s=s+1|0}}do{if((a|0)==3440){if((s|0)==(_|0)){break}return}}while(0);s=e+264|0;do{if((_|0)==(r[s>>2]|0)){a=(_|0)==0?1:_<<1;if((_|0)>=(a|0)){p=_;break}if((a|0)==0){l=0;d=_}else{r[9806]=(r[9806]|0)+1;c=hBe((a<<2)+19|0)|0;if((c|0)==0){b=0}else{u=-(c+4|0)&15;r[c+u>>2]=c;b=c+(u+4)|0}l=b;d=r[t>>2]|0}if((d|0)>0){u=0;do{c=l+(u<<2)|0;if((c|0)!=0){r[c>>2]=r[(r[o>>2]|0)+(u<<2)>>2]}u=u+1|0}while((u|0)<(d|0))}u=r[o>>2]|0;c=e+272|0;if((u|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[u-4>>2]|0)}r[o>>2]=0}n[c]=1;r[o>>2]=l;r[s>>2]=a;p=r[t>>2]|0}else{p=_}}while(0);_=(r[o>>2]|0)+(p<<2)|0;if((_|0)==0){m=p}else{r[_>>2]=i;m=r[t>>2]|0}r[t>>2]=m+1;return}function wDe(e){e=e|0;ADe(e);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-280+276>>2]|0);return}function ADe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;t=e|0;r[t>>2]=21080;i=e+276|0;_=r[i>>2]|0;jnt[r[r[_>>2]>>2]&2047](_);_=r[i>>2]|0;if((_|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-76+72>>2]|0)}r[t>>2]=25632;t=e+260|0;_=e+268|0;i=r[_>>2]|0;o=e+272|0;if((i|0)==0){n[o]=1;r[_>>2]=0;r[t>>2]=0;s=e+264|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}r[_>>2]=0;n[o]=1;r[_>>2]=0;r[t>>2]=0;s=e+264|0;r[s>>2]=0;return}function FDe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0;if((i|0)==0){_=r[e+188>>2]|0}else{_=i}i=r[t>>2]|0;o=e+260|0;s=r[o>>2]|0;a=e+268|0;p=0;while(1){if((p|0)>=(s|0)){break}if((r[(r[a>>2]|0)+(p<<2)>>2]|0)==(i|0)){l=3491;break}else{p=p+1|0}}do{if((l|0)==3491){if((p|0)==(s|0)){break}return}}while(0);p=e+264|0;do{if((s|0)==(r[p>>2]|0)){l=(s|0)==0?1:s<<1;if((s|0)>=(l|0)){d=s;break}if((l|0)==0){c=0;b=s}else{r[9806]=(r[9806]|0)+1;u=hBe((l<<2)+19|0)|0;if((u|0)==0){m=0}else{h=-(u+4|0)&15;r[u+h>>2]=u;m=u+(h+4)|0}c=m;b=r[o>>2]|0}if((b|0)>0){h=0;do{u=c+(h<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[a>>2]|0)+(h<<2)>>2]}h=h+1|0}while((h|0)<(b|0))}h=r[a>>2]|0;u=e+272|0;if((h|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[h-4>>2]|0)}r[a>>2]=0}n[u]=1;r[a>>2]=c;r[p>>2]=l;d=r[o>>2]|0}else{d=s}}while(0);s=(r[a>>2]|0)+(d<<2)|0;if((s|0)==0){f=d}else{r[s>>2]=i;f=r[o>>2]|0}r[o>>2]=f+1;f=r[e+276>>2]|0;h_t[r[(r[f>>2]|0)+8>>2]&511](f,_,t)|0;return}function RDe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0;_=r[t>>2]|0;if((n|0)==0){o=r[e+188>>2]|0}else{o=n}n=e+260|0;s=r[n>>2]|0;a=e+268|0;p=0;while(1){if((p|0)>=(s|0)){l=3520;break}d=r[a>>2]|0;c=d+(p<<2)|0;if((r[c>>2]|0)==(_|0)){break}else{p=p+1|0}}if((l|0)==3520){return}r[c>>2]=r[d+(s-1<<2)>>2];r[n>>2]=(r[n>>2]|0)-1;n=r[e+276>>2]|0;drt[r[(r[n>>2]|0)+12>>2]&127](n,o,t,i)|0;return}function IDe(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=+o;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0.0,J=0,K=0,$=0,ee=0.0,te=0.0,ie=0.0,ne=0,_e=0.0,re=0.0,oe=0.0,se=0.0;s=d;d=d+328|0;a=s|0;l=s+16|0;c=s+24|0;b=s+88|0;u=s+152|0;m=s+168|0;h=s+184|0;f=s+200|0;g=s+216|0;C=s+280|0;S=s+296|0;y=s+312|0;v=c;x=i;r[v>>2]=r[x>>2];r[v+4>>2]=r[x+4>>2];r[v+8>>2]=r[x+8>>2];r[v+12>>2]=r[x+12>>2];x=c+16|0;v=i+16|0;r[x>>2]=r[v>>2];r[x+4>>2]=r[v+4>>2];r[x+8>>2]=r[v+8>>2];r[x+12>>2]=r[v+12>>2];v=c+32|0;x=i+32|0;r[v>>2]=r[x>>2];r[v+4>>2]=r[x+4>>2];r[v+8>>2]=r[x+8>>2];r[v+12>>2]=r[x+12>>2];x=i+48|0;v=c+48|0;M=x;r[v>>2]=r[M>>2];r[v+4>>2]=r[M+4>>2];r[v+8>>2]=r[M+8>>2];r[v+12>>2]=r[M+12>>2];M=b;v=n;r[M>>2]=r[v>>2];r[M+4>>2]=r[v+4>>2];r[M+8>>2]=r[v+8>>2];r[M+12>>2]=r[v+12>>2];v=b+16|0;M=n+16|0;r[v>>2]=r[M>>2];r[v+4>>2]=r[M+4>>2];r[v+8>>2]=r[M+8>>2];r[v+12>>2]=r[M+12>>2];M=b+32|0;v=n+32|0;r[M>>2]=r[v>>2];r[M+4>>2]=r[v+4>>2];r[M+8>>2]=r[v+8>>2];r[M+12>>2]=r[v+12>>2];v=n+48|0;M=b+48|0;T=v;r[M>>2]=r[T>>2];r[M+4>>2]=r[T+4>>2];r[M+8>>2]=r[T+8>>2];r[M+12>>2]=r[T+12>>2];D=+p[b+52>>2]-+p[c+52>>2];P=+p[b+56>>2]-+p[c+56>>2];p[h>>2]=+p[b+48>>2]-+p[c+48>>2];p[h+4>>2]=D;p[h+8>>2]=P;p[h+12>>2]=0.0;tme(c,b,a,l);P=+p[l>>2];D=P*+p[a+4>>2];w=P*+p[a+8>>2];p[f>>2]=+p[a>>2]*P;p[f+4>>2]=D;p[f+8>>2]=w;p[f+12>>2]=0.0;a=g+4|0;l=a;r[l>>2]=0;r[l+4>>2]=0;l=g+24|0;T=l;r[T>>2]=0;r[T+4>>2]=0;T=g+44|0;vBe(T|0,0,20);mn(c|0,C);w=+p[C>>2];D=+p[C+4>>2];P=+p[C+8>>2];A=+p[C+12>>2];F=2.0/(w*w+D*D+P*P+A*A);R=w*F;I=D*F;B=P*F;F=A*R;V=A*I;E=A*B;A=w*R;R=w*I;N=w*B;w=D*I;I=D*B;D=P*B;p[g>>2]=1.0-(w+D);p[a>>2]=R-E;p[g+8>>2]=N+V;p[g+12>>2]=0.0;p[g+16>>2]=R+E;p[g+20>>2]=1.0-(A+D);p[l>>2]=I-F;p[g+28>>2]=0.0;p[g+32>>2]=N-V;p[g+36>>2]=I+F;p[g+40>>2]=1.0-(A+w);p[T>>2]=0.0;vye(t|0,g,h,f,1.0,u,m);f=e+260|0;if((r[f>>2]|0)<=0){d=s;return}h=e+268|0;e=_;g=S|0;T=u|0;l=S+4|0;a=u+4|0;C=S+8|0;M=u+8|0;u=S+12|0;k=y|0;O=m|0;L=y+4|0;U=m+4|0;G=y+8|0;W=m+8|0;m=y+12|0;z=x|0;x=i+52|0;H=i+56|0;i=v|0;v=n+52|0;j=n+56|0;n=0;do{X=r[(r[h>>2]|0)+(n<<2)>>2]|0;do{if(j_t[r[(r[e>>2]|0)+8>>2]&511](_,r[X+188>>2]|0)|0){Z=X+192|0;Q=r[Z>>2]|0;q=X+4|0;mrt[r[(r[Q>>2]|0)+8>>2]&1023](Q,q,S,y);w=+p[g>>2]+ +p[T>>2];A=+p[l>>2]+ +p[a>>2];F=+p[C>>2]+ +p[M>>2];p[g>>2]=w;p[l>>2]=A;p[C>>2]=F;p[u>>2]=0.0;I=+p[k>>2]+ +p[O>>2];V=+p[L>>2]+ +p[U>>2];N=+p[G>>2]+ +p[W>>2];p[k>>2]=I;p[L>>2]=V;p[G>>2]=N;p[m>>2]=0.0;D=(I-w)*.5;E=(V-A)*.5;R=(N-F)*.5;B=(I+w)*.5;w=(V+A)*.5;A=(N+F)*.5;F=+p[z>>2]-B;N=+p[x>>2]-w;V=+p[H>>2]-A;I=+p[i>>2]-B;B=+p[v>>2]-w;w=+p[j>>2]-A;A=-0.0-D;P=-0.0-E;Y=-0.0-R;Q=F<A|(F>D?8:0)|(N>E?16:0)|(N<P?2:0)|(V>R?32:0)|(V<Y?4:0);J=I<A|(I>D?8:0)|(B>E?16:0)|(B<P?2:0)|(w>R?32:0)|(w<Y?4:0);if((Q&J|0)!=0){break}Y=I-F;I=B-N;B=w-V;w=-0.0-F;F=-0.0-N;N=-0.0-V;V=1.0;P=0.0;A=1.0;K=1;$=0;while(1){do{if((K&Q|0)==0){if((K&J|0)==0){ee=P;te=V;break}ie=(w-A*D)/Y;if(ie>=V){ee=P;te=V;break}ee=P;te=ie}else{ie=(w-A*D)/Y;if(P>ie){ee=P;te=V;break}ee=ie;te=V}}while(0);ne=K<<1;do{if((ne&Q|0)==0){if((ne&J|0)==0){_e=ee;re=te;break}ie=(F-A*E)/I;if(ie>=te){_e=ee;re=te;break}_e=ee;re=ie}else{ie=(F-A*E)/I;if(ee>ie){_e=ee;re=te;break}_e=ie;re=te}}while(0);ne=K<<2;do{if((ne&Q|0)==0){if((ne&J|0)==0){oe=_e;se=re;break}ie=(N-A*R)/B;if(ie>=re){oe=_e;se=re;break}oe=_e;se=ie}else{ie=(N-A*R)/B;if(_e>ie){oe=_e;se=re;break}oe=ie;se=re}}while(0);ne=$+1|0;if((ne|0)<2){V=se;P=oe;A=-1.0;K=K<<3;$=ne}else{break}}if(oe>se){break}Eye(t,c,b,X,r[Z>>2]|0,q,_,o)}}while(0);n=n+1|0}while((n|0)<(r[f>>2]|0));d=s;return}function BDe(e,t,i,_,s,a,l,c,b,u,m){e=e|0;t=t|0;i=i|0;_=_|0;s=s|0;a=a|0;l=l|0;c=c|0;b=b|0;u=u|0;m=m|0;var h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0.0,P=0,w=0.0,A=0.0,F=0,R=0.0,I=0,B=0.0,V=0.0,E=0,N=0.0,k=0,O=0.0,L=0.0,U=0,G=0,W=0.0,z=0,H=0.0,X=0,Z=0.0,Q=0,q=0.0,Y=0,J=0.0,K=0,$=0.0,ee=0.0,te=0,ie=0.0,ne=0,_e=0.0,re=0,oe=0.0,se=0.0,ae=0,pe=0.0,le=0,de=0.0,ce=0,be=0.0,ue=0.0,me=0,he=0,fe=0.0,ge=0.0,Ce=0.0,Se=0,ye=0,ve=0,xe=0.0,Me=0.0,Te=0.0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0.0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0,it=0,nt=0,_t=0,rt=0,ot=0,st=0,at=0.0,pt=0.0,lt=0.0,dt=0.0,ct=0.0,bt=0.0,ut=0,mt=0,ht=0,ft=0,gt=0,Ct=0,St=0.0,yt=0.0,vt=0.0,xt=0.0,Mt=0.0,Tt=0,Dt=0,Pt=0.0,wt=0.0,At=0.0,Ft=0.0,Rt=0.0,It=0.0,Bt=0.0,Vt=0.0,Et=0.0,Nt=0.0,kt=0.0,Ot=0.0,Lt=0.0,Ut=0,Gt=0.0,Wt=0.0,zt=0.0,Ht=0,jt=0.0,Xt=0.0,Zt=0.0,Qt=0,qt=0.0,Yt=0.0,Jt=0.0,Kt=0.0,$t=0.0,ei=0.0,ti=0,ii=0;m=d;d=d+10944|0;u=m|0;t=m+16|0;e=m+32|0;h=m+160|0;f=m+544|0;g=m+560|0;C=m+576|0;S=m+704|0;y=m+1088|0;v=m+1104|0;x=m+10912|0;M=m+10928|0;T=s+48|0;D=+p[T>>2];P=a+48|0;w=+p[P>>2];A=D-w;F=s+52|0;R=+p[F>>2];I=a+52|0;B=+p[I>>2];V=R-B;E=s+56|0;N=+p[E>>2];k=a+56|0;O=+p[k>>2];L=N-O;p[M>>2]=A;p[M+4>>2]=V;p[M+8>>2]=L;p[M+12>>2]=0.0;U=C|0;r[U>>2]=i;r[C+4>>2]=_;G=a|0;W=+p[G>>2];z=s|0;H=+p[z>>2];X=a+16|0;Z=+p[X>>2];Q=s+16|0;q=+p[Q>>2];Y=a+32|0;J=+p[Y>>2];K=s+32|0;$=+p[K>>2];ee=W*H+Z*q+J*$;te=s+4|0;ie=+p[te>>2];ne=s+20|0;_e=+p[ne>>2];re=s+36|0;oe=+p[re>>2];se=W*ie+Z*_e+J*oe;ae=s+8|0;pe=+p[ae>>2];le=s+24|0;de=+p[le>>2];ce=s+40|0;be=+p[ce>>2];ue=W*pe+Z*de+J*be;s=a+4|0;J=+p[s>>2];me=a+20|0;Z=+p[me>>2];he=a+36|0;W=+p[he>>2];fe=H*J+q*Z+$*W;ge=ie*J+_e*Z+oe*W;Ce=pe*J+de*Z+be*W;Se=a+8|0;W=+p[Se>>2];ye=a+24|0;Z=+p[ye>>2];ve=a+40|0;J=+p[ve>>2];xe=H*W+q*Z+$*J;Me=ie*W+_e*Z+oe*J;Te=pe*W+de*Z+be*J;p[C+8>>2]=ee;p[C+12>>2]=se;p[C+16>>2]=ue;p[C+20>>2]=0.0;p[C+24>>2]=fe;p[C+28>>2]=ge;p[C+32>>2]=Ce;p[C+36>>2]=0.0;p[C+40>>2]=xe;p[C+44>>2]=Me;p[C+48>>2]=Te;p[C+52>>2]=0.0;J=w-D;D=B-R;R=O-N;p[C+56>>2]=ee;p[C+60>>2]=fe;p[C+64>>2]=xe;p[C+68>>2]=0.0;p[C+72>>2]=se;p[C+76>>2]=ge;p[C+80>>2]=Me;p[C+84>>2]=0.0;p[C+88>>2]=ue;p[C+92>>2]=Ce;p[C+96>>2]=Te;p[C+100>>2]=0.0;p[C+104>>2]=J*H+D*q+R*$;p[C+108>>2]=J*ie+D*_e+R*oe;p[C+112>>2]=J*pe+D*de+R*be;p[C+116>>2]=0.0;a=C+120|0;r[a>>2]=116;De=C+124|0;r[De>>2]=0;r[S+364>>2]=0;vBe(S+128|0,0,16);r[S+376>>2]=2;r[S+368>>2]=0;p[S+144>>2]=0.0;p[y>>2]=-0.0-A;p[y+4>>2]=-0.0-V;p[y+8>>2]=-0.0-L;p[y+12>>2]=0.0;e:do{if((IIe(S,C,y)|0)==1){Pe=v+9792|0;we=v+9800|0;Ae=v+9804|0;Fe=v|0;vBe(Pe|0,0,16);r[Fe>>2]=9;Re=v+40|0;Ie=v+9788|0;r[Ie>>2]=0;vBe(Re|0,0,20);Be=0;do{Ve=128-Be-1|0;Ee=v+2108+(Ve*60|0)|0;r[v+2108+(Ve*60|0)+48>>2]=0;r[v+2108+(Ve*60|0)+52>>2]=r[we>>2];Ve=r[we>>2]|0;if((Ve|0)!=0){r[Ve+48>>2]=Ee}r[we>>2]=Ee;r[Ae>>2]=(r[Ae>>2]|0)+1;Be=Be+1|0}while(Be>>>0<128);Be=r[S+372>>2]|0;do{if((r[Be+32>>2]|0)>>>0>1){if(!(BIe(S)|0)){Ne=3601;break}Ee=r[Pe>>2]|0;if((Ee|0)!=0){Ve=v+9796|0;ke=Ee;do{Ee=ke+52|0;Oe=r[Ee>>2]|0;Le=ke+48|0;if((Oe|0)!=0){r[Oe+48>>2]=r[Le>>2]}Oe=r[Le>>2]|0;if((Oe|0)!=0){r[Oe+52>>2]=r[Ee>>2]}if((r[Pe>>2]|0)==(ke|0)){r[Pe>>2]=r[Ee>>2]}r[Ve>>2]=(r[Ve>>2]|0)-1;r[Le>>2]=0;r[Ee>>2]=r[we>>2];Ee=r[we>>2]|0;if((Ee|0)!=0){r[Ee+48>>2]=ke}r[we>>2]=ke;r[Ae>>2]=(r[Ae>>2]|0)+1;ke=r[Pe>>2]|0}while((ke|0)!=0)}r[Fe>>2]=0;r[Ie>>2]=0;ke=Be|0;Ve=r[ke>>2]|0;Ee=Be+12|0;Le=r[Ee>>2]|0;be=+p[Le+16>>2];R=+p[Ve+16>>2]-be;de=+p[Le+20>>2];D=+p[Ve+20>>2]-de;pe=+p[Le+24>>2];J=+p[Ve+24>>2]-pe;Le=Be+4|0;Oe=r[Le>>2]|0;oe=+p[Oe+16>>2]-be;_e=+p[Oe+20>>2]-de;ie=+p[Oe+24>>2]-pe;Ue=Be+8|0;Ge=r[Ue>>2]|0;$=+p[Ge+16>>2]-be;be=+p[Ge+20>>2]-de;de=+p[Ge+24>>2]-pe;if(R*_e*de+(D*ie*$+J*oe*be-R*ie*be-D*oe*de)-J*_e*$<0.0){r[ke>>2]=Oe;r[Le>>2]=Ve;We=Be+16|0;ze=Be+20|0;$=+p[We>>2];p[We>>2]=+p[ze>>2];p[ze>>2]=$;He=Oe;je=Ve}else{He=Ve;je=Oe}Oe=VIe(v,He,je,Ge,1)|0;Ge=VIe(v,r[Le>>2]|0,r[ke>>2]|0,r[Ee>>2]|0,1)|0;Ve=VIe(v,r[Ue>>2]|0,r[Le>>2]|0,r[Ee>>2]|0,1)|0;Le=VIe(v,r[ke>>2]|0,r[Ue>>2]|0,r[Ee>>2]|0,1)|0;Ee=v+9796|0;if((r[Ee>>2]|0)!=4){Ne=3601;break}Ue=r[Pe>>2]|0;$=+p[Ue+16>>2];ke=r[Ue+52>>2]|0;if((ke|0)==0){Xe=Ue;Ze=$}else{_e=$*$;$=+p[Ue+20>>2];ze=Ue;Ue=ke;while(1){J=+p[Ue+16>>2];de=J*J;J=+p[Ue+20>>2];ke=J>=$&de<_e;Qe=ke?Ue:ze;We=r[Ue+52>>2]|0;if((We|0)==0){break}else{_e=ke?de:_e;$=ke?J:$;ze=Qe;Ue=We}}Xe=Qe;Ze=+p[Qe+16>>2]}$=+p[Xe>>2];_e=+p[Xe+4>>2];J=+p[Xe+8>>2];de=+p[Xe+12>>2];oe=+p[Xe+20>>2];Ue=r[Xe+24>>2]|0;ze=r[Xe+28>>2]|0;We=r[Xe+32>>2]|0;n[Oe+56|0]=0;r[Oe+36>>2]=Ge;n[Ge+56|0]=0;r[Ge+36>>2]=Oe;n[Oe+57|0]=0;r[Oe+40>>2]=Ve;n[Ve+56|0]=1;r[Ve+36>>2]=Oe;n[Oe+58|0]=0;r[Oe+44>>2]=Le;n[Le+56|0]=2;r[Le+36>>2]=Oe;n[Ge+57|0]=2;r[Ge+40>>2]=Le;n[Le+58|0]=1;r[Le+44>>2]=Ge;n[Ge+58|0]=1;r[Ge+44>>2]=Ve;n[Ve+57|0]=2;r[Ve+40>>2]=Ge;n[Ve+58|0]=1;r[Ve+44>>2]=Le;n[Le+57|0]=2;r[Le+40>>2]=Ve;r[Fe>>2]=0;ke=g|0;qe=g+4|0;Ye=g+8|0;Je=We;We=ze;ze=Ue;D=oe;oe=Ze;be=de;de=J;J=_e;_e=$;Ue=0;Ke=1;$e=Xe;while(1){et=r[Ie>>2]|0;if(et>>>0>=64){Ne=3598;break}r[ke>>2]=0;r[qe>>2]=0;r[Ye>>2]=0;r[Ie>>2]=et+1;tt=v+60+(et<<5)|0;n[$e+59|0]=Ke&255;it=$e|0;nt=$e+4|0;_t=$e+8|0;EIe(S,+p[it>>2],+p[nt>>2],+p[_t>>2],tt);if(+p[it>>2]*+p[v+60+(et<<5)+16>>2]+ +p[nt>>2]*+p[v+60+(et<<5)+20>>2]+ +p[_t>>2]*+p[v+60+(et<<5)+24>>2]-+p[$e+16>>2]>9999999747378752.0e-20){rt=1;ot=0}else{Ne=3597;break}do{rt=rt&(kIe(v,Ke,tt,r[$e+36+(ot<<2)>>2]|0,o[$e+56+ot|0]|0,g)|0);ot=ot+1|0}while(!(ot>>>0>2|rt^1));if(!rt){Ne=3596;break}if((r[Ye>>2]|0)>>>0<=2){Ne=3596;break}tt=r[ke>>2]|0;et=r[qe>>2]|0;n[tt+57|0]=2;r[tt+40>>2]=et;n[et+58|0]=1;r[et+44>>2]=tt;tt=$e+52|0;et=r[tt>>2]|0;_t=$e+48|0;if((et|0)!=0){r[et+48>>2]=r[_t>>2]}et=r[_t>>2]|0;if((et|0)!=0){r[et+52>>2]=r[tt>>2]}if((r[Pe>>2]|0)==($e|0)){r[Pe>>2]=r[tt>>2]}r[Ee>>2]=(r[Ee>>2]|0)-1;r[_t>>2]=0;r[tt>>2]=r[we>>2];tt=r[we>>2]|0;if((tt|0)!=0){r[tt+48>>2]=$e}r[we>>2]=$e;r[Ae>>2]=(r[Ae>>2]|0)+1;tt=r[Pe>>2]|0;$=+p[tt+16>>2];_t=r[tt+52>>2]|0;if((_t|0)==0){st=tt}else{ie=$*$;$=+p[tt+20>>2];et=tt;tt=_t;while(1){R=+p[tt+16>>2];pe=R*R;R=+p[tt+20>>2];_t=R>=$&pe<ie;nt=_t?tt:et;it=r[tt+52>>2]|0;if((it|0)==0){st=nt;break}else{ie=_t?pe:ie;$=_t?R:$;et=nt;tt=it}}}$=+p[st+20>>2];if($<D){at=_e;pt=J;lt=de;dt=be;ct=oe;bt=D;ut=ze;mt=We;ht=Je}else{at=+p[st>>2];pt=+p[st+4>>2];lt=+p[st+8>>2];dt=+p[st+12>>2];ct=+p[st+16>>2];bt=$;ut=r[st+24>>2]|0;mt=r[st+28>>2]|0;ht=r[st+32>>2]|0}tt=Ue+1|0;if(tt>>>0<255){Je=ht;We=mt;ze=ut;D=bt;oe=ct;be=dt;de=lt;J=pt;_e=at;Ue=tt;Ke=Ke+1|0;$e=st}else{Ne=3600;break}}if((Ne|0)==3600){ft=ht;gt=mt;Ct=ut;St=ct;yt=dt;vt=lt;xt=pt;Mt=at;Tt=(r[Fe>>2]|0)==9}else if((Ne|0)==3596){r[Fe>>2]=4;ft=Je;gt=We;Ct=ze;St=oe;yt=be;vt=de;xt=J;Mt=_e;Tt=0}else if((Ne|0)==3597){r[Fe>>2]=7;ft=Je;gt=We;Ct=ze;St=oe;yt=be;vt=de;xt=J;Mt=_e;Tt=0}else if((Ne|0)==3598){r[Fe>>2]=6;ft=Je;gt=We;Ct=ze;St=oe;yt=be;vt=de;xt=J;Mt=_e;Tt=0}D=St*Mt;$=St*xt;ie=St*vt;p[Re>>2]=Mt;p[v+44>>2]=xt;p[v+48>>2]=vt;p[v+52>>2]=yt;p[v+56>>2]=St;r[v+36>>2]=3;r[v+4>>2]=Ct;r[v+8>>2]=gt;r[v+12>>2]=ft;$e=gt+16|0;R=+p[$e>>2]-D;Ke=gt+20|0;pe=+p[Ke>>2]-$;Ue=gt+24|0;q=+p[Ue>>2]-ie;Ee=ft+16|0;H=+p[Ee>>2]-D;qe=ft+20|0;Te=+p[qe>>2]-$;ke=ft+24|0;Ce=+p[ke>>2]-ie;ue=pe*Ce-q*Te;Me=q*H-R*Ce;Ce=R*Te-pe*H;H=+j(+(Ce*Ce+(ue*ue+Me*Me)));Ye=v+20|0;p[Ye>>2]=H;Me=+p[Ee>>2]-D;ue=+p[qe>>2]-$;Ce=+p[ke>>2]-ie;ke=Ct+16|0;pe=+p[ke>>2]-D;qe=Ct+20|0;Te=+p[qe>>2]-$;Ee=Ct+24|0;R=+p[Ee>>2]-ie;q=ue*R-Ce*Te;ge=Ce*pe-Me*R;R=Me*Te-ue*pe;pe=+j(+(R*R+(q*q+ge*ge)));Ve=v+24|0;p[Ve>>2]=pe;ge=+p[ke>>2]-D;q=+p[qe>>2]-$;R=+p[Ee>>2]-ie;ue=+p[$e>>2]-D;D=+p[Ke>>2]-$;$=+p[Ue>>2]-ie;ie=q*$-R*D;Te=R*ue-ge*$;$=ge*D-q*ue;ue=+j(+($*$+(ie*ie+Te*Te)));Te=ue+(H+pe);p[Ye>>2]=H/Te;p[Ve>>2]=pe/Te;p[v+28>>2]=ue/Te;if(Tt){Dt=0;Pt=0.0;wt=0.0;At=0.0;Ft=0.0;Rt=0.0;It=0.0;Bt=0.0;Vt=0.0;Et=0.0;break e}else{Nt=Mt;kt=St;Ot=xt;Lt=vt;Ut=Ct}}else{Ne=3601}}while(0);if((Ne|0)==3601){r[Fe>>2]=8;p[Re>>2]=A;Pe=v+44|0;p[Pe>>2]=V;Ae=v+48|0;p[Ae>>2]=L;we=v+52|0;p[we>>2]=0.0;Te=+j(+(A*A+V*V+L*L));if(Te>0.0){ue=1.0/Te;Gt=ue*L;Wt=ue*V;zt=ue*A}else{Gt=0.0;Wt=0.0;zt=1.0}p[Re>>2]=zt;p[Pe>>2]=Wt;p[Ae>>2]=Gt;p[we>>2]=0.0;p[v+56>>2]=0.0;r[v+36>>2]=1;we=r[Be>>2]|0;r[v+4>>2]=we;p[v+20>>2]=1.0;Nt=zt;kt=0.0;Ot=Wt;Lt=Gt;Ut=we}we=v+36|0;Ae=x|0;Pe=x+4|0;Ie=x+8|0;ue=0.0;Te=0.0;pe=0.0;Ve=0;Ye=Ut;while(1){Ue=r[a>>2]|0;Ke=(r[U>>2]|0)+(r[De>>2]|0)|0;if((Ue&1|0)==0){Ht=Ue}else{Ht=r[(r[Ke>>2]|0)+(Ue-1)>>2]|0}srt[Ht&511](x,Ke,Ye|0);H=+p[v+20+(Ve<<2)>>2];jt=pe+ +p[Ae>>2]*H;Xt=Te+H*+p[Pe>>2];Zt=ue+H*+p[Ie>>2];Ke=Ve+1|0;if(Ke>>>0>=(r[we>>2]|0)>>>0){break}ue=Zt;Te=Xt;pe=jt;Ve=Ke;Ye=r[v+4+(Ke<<2)>>2]|0}pe=+p[Re>>2];Te=+p[v+56>>2];ue=+p[v+44>>2];H=+p[v+48>>2];ie=+p[z>>2];$=+p[te>>2];q=+p[ae>>2];D=+p[T>>2];ge=+p[Q>>2];R=+p[ne>>2];Me=+p[le>>2];Ce=+p[F>>2];se=+p[K>>2];xe=+p[re>>2];fe=+p[ce>>2];ee=+p[E>>2];N=jt-pe*Te;O=Xt-Te*ue;B=Zt-Te*H;Dt=1;Pt=-0.0-pe;wt=-0.0-ue;At=-0.0-H;Ft=D+(N*ie+O*$+B*q);Rt=Ce+(N*ge+O*R+B*Me);It=ee+(N*se+O*xe+B*fe);Bt=D+(jt*ie+Xt*$+Zt*q);Vt=Ce+(jt*ge+Xt*R+Zt*Me);Et=ee+(jt*se+Xt*xe+Zt*fe)}else{Dt=0;Pt=0.0;wt=0.0;At=0.0;Ft=0.0;Rt=0.0;It=0.0;Bt=0.0;Vt=0.0;Et=0.0}}while(0);if(Dt){p[c>>2]=Bt;p[c+4>>2]=Vt;p[c+8>>2]=Et;p[c+12>>2]=0.0;p[b>>2]=Ft;p[b+4>>2]=Rt;p[b+8>>2]=It;p[b+12>>2]=0.0;p[l>>2]=Pt;p[l+4>>2]=wt;p[l+8>>2]=At;p[l+12>>2]=0.0;Qt=1;d=m;return Qt|0}Dt=e|0;r[Dt>>2]=i;i=e+4|0;r[i>>2]=_;At=+p[G>>2];wt=+p[z>>2];Pt=+p[X>>2];It=+p[Q>>2];Rt=+p[Y>>2];Ft=+p[K>>2];Et=At*wt+Pt*It+Rt*Ft;Vt=+p[te>>2];Bt=+p[ne>>2];Zt=+p[re>>2];Xt=At*Vt+Pt*Bt+Rt*Zt;jt=+p[ae>>2];Gt=+p[le>>2];Lt=+p[ce>>2];Wt=At*jt+Pt*Gt+Rt*Lt;Rt=+p[s>>2];Pt=+p[me>>2];At=+p[he>>2];Ot=wt*Rt+It*Pt+Ft*At;kt=Vt*Rt+Bt*Pt+Zt*At;zt=jt*Rt+Gt*Pt+Lt*At;At=+p[Se>>2];Pt=+p[ye>>2];Rt=+p[ve>>2];Nt=wt*At+It*Pt+Ft*Rt;A=Vt*At+Bt*Pt+Zt*Rt;V=jt*At+Gt*Pt+Lt*Rt;ve=e+8|0;p[ve>>2]=Et;ye=e+12|0;p[ye>>2]=Xt;Se=e+16|0;p[Se>>2]=Wt;p[e+20>>2]=0.0;he=e+24|0;p[he>>2]=Ot;me=e+28|0;p[me>>2]=kt;s=e+32|0;p[s>>2]=zt;p[e+36>>2]=0.0;Y=e+40|0;p[Y>>2]=Nt;X=e+44|0;p[X>>2]=A;G=e+48|0;p[G>>2]=V;p[e+52>>2]=0.0;Rt=+p[P>>2]-+p[T>>2];Pt=+p[I>>2]-+p[F>>2];At=+p[k>>2]-+p[E>>2];k=e+56|0;p[k>>2]=Et;I=e+60|0;p[I>>2]=Ot;P=e+64|0;p[P>>2]=Nt;p[e+68>>2]=0.0;_=e+72|0;p[_>>2]=Xt;v=e+76|0;p[v>>2]=kt;x=e+80|0;p[x>>2]=A;p[e+84>>2]=0.0;Ht=e+88|0;p[Ht>>2]=Wt;De=e+92|0;p[De>>2]=zt;U=e+96|0;p[U>>2]=V;p[e+100>>2]=0.0;a=e+104|0;p[a>>2]=Rt*wt+Pt*It+At*Ft;Ut=e+108|0;p[Ut>>2]=Rt*Vt+Pt*Bt+At*Zt;Ne=e+112|0;p[Ne>>2]=Rt*jt+Pt*Gt+At*Lt;p[e+116>>2]=0.0;Ct=e+120|0;r[Ct>>2]=322;Tt=e+124|0;r[Tt>>2]=0;r[h+364>>2]=0;vBe(h+128|0,0,16);r[h+376>>2]=2;r[h+368>>2]=0;p[h+144>>2]=0.0;if((IIe(h,e,M)|0)!=0){Qt=0;d=m;return Qt|0}M=h+372|0;h=r[M>>2]|0;if((r[h+32>>2]|0)==0){qt=0.0;Yt=0.0;Jt=0.0;Kt=0.0;$t=0.0;ei=0.0}else{e=f|0;ft=f+4|0;gt=f+8|0;ut=t|0;mt=t+4|0;ht=t+8|0;st=t+12|0;rt=u|0;ot=u+4|0;g=u+8|0;Lt=0.0;At=0.0;Gt=0.0;Pt=0.0;jt=0.0;Rt=0.0;S=0;Xe=h;while(1){Zt=+p[Xe+16+(S<<2)>>2];h=r[Ct>>2]|0;Qe=(r[Dt>>2]|0)+(r[Tt>>2]|0)|0;if((h&1|0)==0){ti=h}else{ti=r[(r[Qe>>2]|0)+(h-1)>>2]|0}srt[ti&511](f,Qe,r[Xe+(S<<2)>>2]|0);Bt=Gt+Zt*+p[e>>2];Vt=At+Zt*+p[ft>>2];Ft=Lt+Zt*+p[gt>>2];Qe=r[(r[M>>2]|0)+(S<<2)>>2]|0;It=-0.0-+p[Qe>>2];wt=-0.0-+p[Qe+4>>2];V=-0.0-+p[Qe+8>>2];Qe=r[Ct>>2]|0;h=(r[i>>2]|0)+(r[Tt>>2]|0)|0;if((Qe&1|0)==0){ii=Qe}else{ii=r[(r[h>>2]|0)+(Qe-1)>>2]|0}zt=+p[he>>2]*It+ +p[me>>2]*wt+ +p[s>>2]*V;Wt=+p[Y>>2]*It+ +p[X>>2]*wt+ +p[G>>2]*V;p[ut>>2]=+p[ve>>2]*It+ +p[ye>>2]*wt+ +p[Se>>2]*V;p[mt>>2]=zt;p[ht>>2]=Wt;p[st>>2]=0.0;srt[ii&511](u,h,t);Wt=+p[rt>>2];zt=+p[ot>>2];V=+p[g>>2];wt=Rt+Zt*(+p[a>>2]+(+p[k>>2]*Wt+ +p[I>>2]*zt+ +p[P>>2]*V));It=jt+Zt*(+p[Ut>>2]+(Wt*+p[_>>2]+zt*+p[v>>2]+V*+p[x>>2]));A=Pt+Zt*(+p[Ne>>2]+(Wt*+p[Ht>>2]+zt*+p[De>>2]+V*+p[U>>2]));h=S+1|0;Qe=r[M>>2]|0;if(h>>>0<(r[Qe+32>>2]|0)>>>0){Lt=Ft;At=Vt;Gt=Bt;Pt=A;jt=It;Rt=wt;S=h;Xe=Qe}else{qt=Ft;Yt=Vt;Jt=Bt;Kt=A;$t=It;ei=wt;break}}}Rt=+p[z>>2];jt=+p[te>>2];Pt=+p[ae>>2];Gt=+p[T>>2];At=+p[Q>>2];Lt=+p[ne>>2];wt=+p[le>>2];It=+p[F>>2];A=+p[K>>2];Bt=+p[re>>2];Vt=+p[ce>>2];Ft=+p[E>>2];V=Jt-ei;zt=Yt-$t;Wt=qt-Kt;Zt=+j(+(V*V+zt*zt+Wt*Wt));kt=1.0/(Zt>9999999747378752.0e-20?Zt:1.0);p[c>>2]=Gt+(Jt*Rt+Yt*jt+qt*Pt);p[c+4>>2]=It+(Jt*At+Yt*Lt+qt*wt);p[c+8>>2]=Ft+(Jt*A+Yt*Bt+qt*Vt);p[c+12>>2]=0.0;p[b>>2]=Gt+(ei*Rt+$t*jt+Kt*Pt);p[b+4>>2]=It+(ei*At+$t*Lt+Kt*wt);p[b+8>>2]=Ft+(ei*A+$t*Bt+Kt*Vt);p[b+12>>2]=0.0;p[l>>2]=kt*V;p[l+4>>2]=kt*zt;p[l+8>>2]=kt*Wt;p[l+12>>2]=0.0;Qt=0;d=m;return Qt|0}function VDe(e){e=e|0;return}function EDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function NDe(e,t,i,o,s){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0.0,I=0.0,B=0.0,V=0.0,E=0,N=0.0,k=0,O=0.0,L=0.0,U=0.0,G=0.0,W=0,z=0,H=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0.0,et=0.0,tt=0.0,it=0.0,nt=0.0,_t=0.0,rt=0.0,ot=0.0,st=0.0,at=0.0,pt=0.0,lt=0,dt=0,ct=0,bt=0,ut=0.0,mt=0,ht=0,ft=0.0,gt=0.0,Ct=0.0,St=0,yt=0,vt=0,xt=0,Mt=0.0,Tt=0.0,Dt=0.0,Pt=0.0,wt=0.0,At=0.0,Ft=0.0,Rt=0.0,It=0.0,Bt=0.0,Vt=0.0,Et=0.0,Nt=0,kt=0.0,Ot=0.0,Lt=0.0,Ut=0.0,Gt=0.0,Wt=0.0,zt=0.0,Ht=0.0,jt=0.0,Xt=0,Zt=0,Qt=0.0,qt=0.0,Yt=0.0,Jt=0,Kt=0,$t=0,ei=0,ti=0.0,ii=0,ni=0.0,_i=0.0,ri=0.0,oi=0.0,si=0.0,ai=0.0,pi=0.0,li=0.0,di=0.0;s=d;d=d+256|0;a=s|0;l=s+16|0;c=s+80|0;b=s+144|0;u=s+160|0;m=s+176|0;h=s+192|0;f=s+208|0;g=s+224|0;C=s+240|0;S=a;y=l;v=c;x=e+56|0;p[x>>2]=0.0;M=a|0;T=a+4|0;D=a+8|0;P=a+12|0;w=t;vBe(S|0,0,16);r[y>>2]=r[w>>2];r[y+4>>2]=r[w+4>>2];r[y+8>>2]=r[w+8>>2];r[y+12>>2]=r[w+12>>2];w=l+16|0;y=t+16|0;r[w>>2]=r[y>>2];r[w+4>>2]=r[y+4>>2];r[w+8>>2]=r[y+8>>2];r[w+12>>2]=r[y+12>>2];y=l+32|0;w=t+32|0;r[y>>2]=r[w>>2];r[y+4>>2]=r[w+4>>2];r[y+8>>2]=r[w+8>>2];r[y+12>>2]=r[w+12>>2];w=l+48|0;y=w;A=t+48|0;r[y>>2]=r[A>>2];r[y+4>>2]=r[A+4>>2];r[y+8>>2]=r[A+8>>2];r[y+12>>2]=r[A+12>>2];A=t+64|0;y=A;r[v>>2]=r[y>>2];r[v+4>>2]=r[y+4>>2];r[v+8>>2]=r[y+8>>2];r[v+12>>2]=r[y+12>>2];y=c+16|0;v=t+80|0;r[y>>2]=r[v>>2];r[y+4>>2]=r[v+4>>2];r[y+8>>2]=r[v+8>>2];r[y+12>>2]=r[v+12>>2];v=c+32|0;y=t+96|0;r[v>>2]=r[y>>2];r[v+4>>2]=r[y+4>>2];r[v+8>>2]=r[y+8>>2];r[v+12>>2]=r[y+12>>2];y=c+48|0;v=y;F=t+112|0;r[v>>2]=r[F>>2];r[v+4>>2]=r[F+4>>2];r[v+8>>2]=r[F+8>>2];r[v+12>>2]=r[F+12>>2];F=w|0;R=+p[F>>2];w=y|0;I=+p[w>>2];y=l+52|0;B=+p[y>>2];v=c+52|0;V=+p[v>>2];E=l+56|0;N=+p[E>>2];k=c+56|0;O=+p[k>>2];L=(R+I)*.5;U=(B+V)*.5;G=(N+O)*.5;p[F>>2]=R-L;p[y>>2]=B-U;p[E>>2]=N-G;p[w>>2]=I-L;p[v>>2]=V-U;p[k>>2]=O-G;w=e+28|0;F=e+32|0;if(((r[(r[w>>2]|0)+4>>2]|0)-17|0)>>>0<2){W=((r[(r[F>>2]|0)+4>>2]|0)-17|0)>>>0<2}else{W=0}O=+p[e+44>>2];V=+p[e+48>>2];r[9798]=(r[9798]|0)+1;z=(n[e+52|0]&1)==0;I=z?V:0.0;H=e+64|0;r[H>>2]=0;X=e+4|0;Z=X|0;p[Z>>2]=0.0;Q=e+8|0;p[Q>>2]=1.0;q=e+12|0;p[q>>2]=0.0;Y=e+16|0;p[Y>>2]=0.0;J=e+68|0;r[J>>2]=0;K=e+60|0;r[K>>2]=-1;V=(z?O:0.0)+I;z=e+24|0;$=r[z>>2]|0;n[$+312|0]=0;r[$>>2]=0;n[$+356|0]=1;p[$+292>>2]=999999984306749400.0;p[$+296>>2]=999999984306749400.0;p[$+300>>2]=999999984306749400.0;p[$+304>>2]=0.0;ee=$+332|0;vBe($+336|0,0,17);_[ee>>1]=_[ee>>1]&-16;ee=t|0;$=t+16|0;te=t+32|0;ie=t+4|0;ne=t+20|0;_e=t+36|0;re=t+8|0;oe=t+24|0;se=t+40|0;ae=b|0;pe=b+4|0;le=b+8|0;de=b+12|0;ce=A|0;A=t+80|0;be=t+96|0;ue=t+68|0;me=t+84|0;he=t+100|0;fe=t+72|0;ge=t+88|0;Ce=t+104|0;Se=u|0;ye=u+4|0;ve=u+8|0;xe=u+12|0;Me=l|0;Te=m|0;De=l+4|0;Pe=m+4|0;we=l+8|0;Ae=m+8|0;Fe=l+48|0;Re=l+16|0;Ie=l+20|0;Be=l+24|0;Ve=l+32|0;Ee=l+36|0;Ne=l+40|0;ke=c|0;Oe=h|0;Le=c+4|0;Ue=h+4|0;Ge=c+8|0;We=h+8|0;ze=c+48|0;He=c+16|0;je=c+20|0;Xe=c+24|0;Ze=c+32|0;Qe=c+36|0;qe=c+40|0;Ye=t+128|0;Je=X;Ke=e+4|0;O=+p[Z>>2];N=+p[Q>>2];B=+p[q>>2];e:do{if(W){R=999999984306749400.0;$e=O;et=N;tt=B;while(1){it=-0.0-$e;nt=-0.0-et;_t=-0.0-tt;rt=+p[ie>>2]*it+ +p[ne>>2]*nt+ +p[_e>>2]*_t;ot=+p[re>>2]*it+ +p[oe>>2]*nt+ +p[se>>2]*_t;p[ae>>2]=+p[ee>>2]*it+ +p[$>>2]*nt+ +p[te>>2]*_t;p[pe>>2]=rt;p[le>>2]=ot;p[de>>2]=0.0;ot=$e*+p[ue>>2]+et*+p[me>>2]+tt*+p[he>>2];rt=$e*+p[fe>>2]+et*+p[ge>>2]+tt*+p[Ce>>2];p[Se>>2]=+p[ce>>2]*$e+ +p[A>>2]*et+ +p[be>>2]*tt;p[ye>>2]=ot;p[ve>>2]=rt;p[xe>>2]=0.0;Qxe(m,r[w>>2]|0,b);Qxe(h,r[F>>2]|0,u);rt=+p[Te>>2];ot=+p[Pe>>2];_t=+p[Ae>>2];nt=+p[Fe>>2]+(+p[Me>>2]*rt+ +p[De>>2]*ot+ +p[we>>2]*_t);it=+p[y>>2]+(rt*+p[Re>>2]+ot*+p[Ie>>2]+_t*+p[Be>>2]);_t=+p[Oe>>2];ot=+p[Ue>>2];rt=+p[We>>2];st=+p[ze>>2]+(+p[ke>>2]*_t+ +p[Le>>2]*ot+ +p[Ge>>2]*rt);at=+p[v>>2]+(_t*+p[He>>2]+ot*+p[je>>2]+rt*+p[Xe>>2]);rt=nt-st;ot=it-at;_t=+p[Z>>2]*rt+ +p[Q>>2]*ot+ +p[q>>2]*0.0;if(_t>0.0){if(_t*_t>R*+p[Ye>>2]){pt=R;lt=3656;break e}}dt=r[z>>2]|0;ct=dt|0;bt=r[ct>>2]|0;if((bt|0)>0){ut=+p[dt+308>>2];mt=0;ht=0;while(1){ft=rt-+p[dt+4+(ht<<4)>>2];gt=ot-+p[dt+4+(ht<<4)+4>>2];Ct=0.0-+p[dt+4+(ht<<4)+8>>2];St=mt|ft*ft+gt*gt+Ct*Ct<=ut;yt=ht+1|0;if((yt|0)<(bt|0)){mt=St;ht=yt}else{vt=St;break}}}else{vt=0}ht=dt+304|0;do{if(+p[ht>>2]==0.0){if(+p[dt+300>>2]!=0.0){xt=0;break}if(ot!=+p[dt+296>>2]){xt=0;break}xt=rt==+p[dt+292>>2]}else{xt=0}}while(0);if(xt|vt){Mt=R;lt=3665;break e}ut=R-_t;if(ut<=R*9.999999974752427e-7){Tt=R;Dt=ut;lt=3667;break e}p[dt+292>>2]=rt;p[dt+296>>2]=ot;p[dt+300>>2]=0.0;p[ht>>2]=0.0;n[dt+356|0]=1;p[dt+4+(bt<<4)>>2]=rt;p[dt+4+(bt<<4)+4>>2]=ot;p[dt+4+(bt<<4)+8>>2]=0.0;p[dt+4+(bt<<4)+12>>2]=0.0;mt=r[ct>>2]|0;p[dt+84+(mt<<4)>>2]=nt;p[dt+84+(mt<<4)+4>>2]=it;p[dt+84+(mt<<4)+8>>2]=0.0;p[dt+84+(mt<<4)+12>>2]=0.0;mt=r[ct>>2]|0;p[dt+164+(mt<<4)>>2]=st;p[dt+164+(mt<<4)+4>>2]=at;p[dt+164+(mt<<4)+8>>2]=0.0;p[dt+164+(mt<<4)+12>>2]=0.0;r[ct>>2]=(r[ct>>2]|0)+1;mt=r[z>>2]|0;St=MRe(mt)|0;ut=+p[mt+276>>2];Ct=+p[mt+280>>2];gt=+p[mt+284>>2];ft=+p[mt+288>>2];if(!St){Pt=R;lt=3669;break e}wt=ut*ut+Ct*Ct+gt*gt;if(wt<9.999999974752427e-7){At=R;Ft=ut;Rt=Ct;It=gt;Bt=ft;lt=3671;break e}if(R-wt<=R*1.1920928955078125e-7){Vt=wt;lt=3673;break e}p[Ke>>2]=ut;p[Q>>2]=Ct;p[q>>2]=gt;p[Y>>2]=ft;St=r[H>>2]|0;r[H>>2]=St+1;if((St|0)>1e3){Et=0.0;Nt=0;kt=0.0;Ot=0.0;Lt=0.0;break e}if((r[r[z>>2]>>2]|0)==4){lt=3676;break}else{R=wt;$e=ut;et=Ct;tt=gt}}}else{tt=999999984306749400.0;et=O;$e=N;R=B;while(1){gt=-0.0-et;Ct=-0.0-$e;ut=-0.0-R;wt=+p[ie>>2]*gt+ +p[ne>>2]*Ct+ +p[_e>>2]*ut;ft=+p[re>>2]*gt+ +p[oe>>2]*Ct+ +p[se>>2]*ut;p[ae>>2]=+p[ee>>2]*gt+ +p[$>>2]*Ct+ +p[te>>2]*ut;p[pe>>2]=wt;p[le>>2]=ft;p[de>>2]=0.0;ft=et*+p[ue>>2]+$e*+p[me>>2]+R*+p[he>>2];wt=et*+p[fe>>2]+$e*+p[ge>>2]+R*+p[Ce>>2];p[Se>>2]=+p[ce>>2]*et+ +p[A>>2]*$e+ +p[be>>2]*R;p[ye>>2]=ft;p[ve>>2]=wt;p[xe>>2]=0.0;Qxe(m,r[w>>2]|0,b);Qxe(h,r[F>>2]|0,u);wt=+p[Te>>2];ft=+p[Pe>>2];ut=+p[Ae>>2];Ct=+p[Fe>>2]+(+p[Me>>2]*wt+ +p[De>>2]*ft+ +p[we>>2]*ut);gt=+p[y>>2]+(wt*+p[Re>>2]+ft*+p[Ie>>2]+ut*+p[Be>>2]);Ut=+p[E>>2]+(wt*+p[Ve>>2]+ft*+p[Ee>>2]+ut*+p[Ne>>2]);ut=+p[Oe>>2];ft=+p[Ue>>2];wt=+p[We>>2];Gt=+p[ze>>2]+(+p[ke>>2]*ut+ +p[Le>>2]*ft+ +p[Ge>>2]*wt);Wt=+p[v>>2]+(ut*+p[He>>2]+ft*+p[je>>2]+wt*+p[Xe>>2]);zt=+p[k>>2]+(ut*+p[Ze>>2]+ft*+p[Qe>>2]+wt*+p[qe>>2]);wt=Ct-Gt;ft=gt-Wt;ut=Ut-zt;Ht=+p[Z>>2]*wt+ +p[Q>>2]*ft+ +p[q>>2]*ut;if(Ht>0.0){if(Ht*Ht>tt*+p[Ye>>2]){pt=tt;lt=3656;break e}}St=r[z>>2]|0;mt=St|0;yt=r[mt>>2]|0;if((yt|0)>0){jt=+p[St+308>>2];Xt=0;Zt=0;while(1){Qt=wt-+p[St+4+(Zt<<4)>>2];qt=ft-+p[St+4+(Zt<<4)+4>>2];Yt=ut-+p[St+4+(Zt<<4)+8>>2];Jt=Xt|Qt*Qt+qt*qt+Yt*Yt<=jt;Kt=Zt+1|0;if((Kt|0)<(yt|0)){Xt=Jt;Zt=Kt}else{$t=Jt;break}}}else{$t=0}Zt=St+304|0;do{if(+p[Zt>>2]==0.0){if(ut!=+p[St+300>>2]){ei=0;break}if(ft!=+p[St+296>>2]){ei=0;break}ei=wt==+p[St+292>>2]}else{ei=0}}while(0);if(ei|$t){Mt=tt;lt=3665;break e}jt=tt-Ht;if(jt<=tt*9.999999974752427e-7){Tt=tt;Dt=jt;lt=3667;break e}p[St+292>>2]=wt;p[St+296>>2]=ft;p[St+300>>2]=ut;p[Zt>>2]=0.0;n[St+356|0]=1;p[St+4+(yt<<4)>>2]=wt;p[St+4+(yt<<4)+4>>2]=ft;p[St+4+(yt<<4)+8>>2]=ut;p[St+4+(yt<<4)+12>>2]=0.0;Xt=r[mt>>2]|0;p[St+84+(Xt<<4)>>2]=Ct;p[St+84+(Xt<<4)+4>>2]=gt;p[St+84+(Xt<<4)+8>>2]=Ut;p[St+84+(Xt<<4)+12>>2]=0.0;Xt=r[mt>>2]|0;p[St+164+(Xt<<4)>>2]=Gt;p[St+164+(Xt<<4)+4>>2]=Wt;p[St+164+(Xt<<4)+8>>2]=zt;p[St+164+(Xt<<4)+12>>2]=0.0;r[mt>>2]=(r[mt>>2]|0)+1;Xt=r[z>>2]|0;ct=MRe(Xt)|0;jt=+p[Xt+276>>2];at=+p[Xt+280>>2];st=+p[Xt+284>>2];it=+p[Xt+288>>2];if(!ct){Pt=tt;lt=3669;break e}nt=jt*jt+at*at+st*st;if(nt<9.999999974752427e-7){At=tt;Ft=jt;Rt=at;It=st;Bt=it;lt=3671;break e}if(tt-nt<=tt*1.1920928955078125e-7){Vt=nt;lt=3673;break e}p[Ke>>2]=jt;p[Q>>2]=at;p[q>>2]=st;p[Y>>2]=it;ct=r[H>>2]|0;r[H>>2]=ct+1;if((ct|0)>1e3){Et=0.0;Nt=0;kt=0.0;Ot=0.0;Lt=0.0;break e}if((r[r[z>>2]>>2]|0)==4){lt=3676;break}else{tt=nt;et=jt;$e=at;R=st}}}}while(0);if((lt|0)==3669){r[J>>2]=3;ti=Pt;lt=3677}else if((lt|0)==3671){p[e+4>>2]=Ft;p[Q>>2]=Rt;p[q>>2]=It;p[Y>>2]=Bt;r[J>>2]=6;ti=At;lt=3677}else if((lt|0)==3667){r[J>>2]=Dt>0.0?11:2;ti=Tt;lt=3677}else if((lt|0)==3673){r[J>>2]=12;ti=Vt;lt=3677}else if((lt|0)==3656){r[J>>2]=10;ti=pt;lt=3677}else if((lt|0)==3676){r[J>>2]=13;Et=0.0;Nt=0;kt=0.0;Ot=0.0;Lt=0.0}else if((lt|0)==3665){r[J>>2]=1;ti=Mt;lt=3677}do{if((lt|0)==3677){H=r[z>>2]|0;MRe(H)|0;Mt=+p[H+260>>2];pt=+p[H+264>>2];Vt=+p[H+268>>2];r[S>>2]=r[Je>>2];r[S+4>>2]=r[Je+4>>2];r[S+8>>2]=r[Je+8>>2];r[S+12>>2]=r[Je+12>>2];Tt=+p[Z>>2];Dt=+p[Q>>2];At=+p[q>>2];Bt=Tt*Tt+Dt*Dt+At*At;if(Bt<1.0e-4){r[J>>2]=5}if(Bt>1.4210854715202004e-14){It=1.0/+j(+Bt);p[M>>2]=It*+p[M>>2];p[T>>2]=It*+p[T>>2];p[D>>2]=It*+p[D>>2];Bt=I/+j(+ti);r[K>>2]=1;Et=1.0/It-V;Nt=1;kt=Bt*Tt+Mt;Ot=Bt*Dt+pt;Lt=Bt*At+Vt;break}else{r[K>>2]=2;Et=0.0;Nt=0;kt=Mt;Ot=pt;Lt=Vt;break}}}while(0);do{if((r[e+72>>2]|0)==0){ii=0}else{if((r[e+20>>2]|0)==0){ii=0;break}if((r[J>>2]|0)==0){ii=0;break}ii=V+Et<.01}}while(0);J=Nt^1;do{if(ii|J){H=r[e+20>>2]|0;if((H|0)==0){lt=3700;break}r[9800]=(r[9800]|0)+1;vBe(Je|0,0,16);if(!(p_t[r[(r[H>>2]|0)+8>>2]&63](H,r[z>>2]|0,r[w>>2]|0,r[F>>2]|0,l,c,X,f,g,o,r[t+132>>2]|0)|0)){ti=+p[Z>>2];Vt=+p[Q>>2];pt=+p[q>>2];if(ti*ti+Vt*Vt+pt*pt<=0.0){lt=3700;break}Mt=+p[g>>2];At=+p[f>>2]-Mt;Bt=+p[g+4>>2];Dt=+p[f+4>>2]-Bt;Tt=+p[g+8>>2];It=+p[f+8>>2]-Tt;Rt=+j(+(At*At+Dt*Dt+It*It))-V;if(Rt<Et|J){r[S>>2]=r[Je>>2];r[S+4>>2]=r[Je+4>>2];r[S+8>>2]=r[Je+8>>2];r[S+12>>2]=r[Je+12>>2];It=+p[M>>2];Dt=+p[T>>2];At=+p[D>>2];Ft=1.0/+j(+(It*It+Dt*Dt+At*At));p[M>>2]=It*Ft;p[T>>2]=Dt*Ft;p[D>>2]=At*Ft;r[K>>2]=6;ni=Rt;_i=I*ti+Mt;ri=I*Vt+Bt;oi=I*pt+Tt;break}r[K>>2]=5;if(Nt){ni=Et;_i=kt;ri=Ot;oi=Lt;break}d=s;return}Tt=+p[g>>2];pt=+p[f>>2];Bt=Tt-pt;Vt=+p[g+4>>2];Mt=+p[f+4>>2];ti=Vt-Mt;Rt=+p[g+8>>2];Ft=+p[f+8>>2];At=Rt-Ft;Dt=Bt*Bt+ti*ti+At*At;if(Dt>1.4210854715202004e-14){si=Dt;ai=Bt;pi=ti;li=At;di=0.0}else{At=+p[e+4>>2];ti=+p[Q>>2];Bt=+p[q>>2];si=At*At+ti*ti+Bt*Bt;ai=At;pi=ti;li=Bt;di=+p[Y>>2]}if(si<=1.4210854715202004e-14){r[K>>2]=9;if(Nt){ni=Et;_i=kt;ri=Ot;oi=Lt;break}d=s;return}Bt=1.0/+j(+si);ti=pt-Tt;pt=Mt-Vt;Mt=Ft-Rt;Ft=-0.0-+j(+(ti*ti+pt*pt+Mt*Mt));if(Et>Ft|J){p[M>>2]=ai*Bt;p[T>>2]=pi*Bt;p[D>>2]=li*Bt;p[P>>2]=di;r[K>>2]=3;ni=Ft;_i=Tt;ri=Vt;oi=Rt;break}r[K>>2]=8;if(Nt){ni=Et;_i=kt;ri=Ot;oi=Lt;break}d=s;return}else{lt=3700}}while(0);do{if((lt|0)==3700){if(Nt){ni=Et;_i=kt;ri=Ot;oi=Lt;break}d=s;return}}while(0);do{if(ni>=0.0){if(ni*ni<+p[Ye>>2]){break}d=s;return}}while(0);r[Je>>2]=r[S>>2];r[Je+4>>2]=r[S+4>>2];r[Je+8>>2]=r[S+8>>2];r[Je+12>>2]=r[S+12>>2];p[x>>2]=ni;x=r[(r[i>>2]|0)+16>>2]|0;p[C>>2]=L+_i;p[C+4>>2]=U+ri;p[C+8>>2]=G+oi;p[C+12>>2]=0.0;nrt[x&127](i,a,C,ni);d=s;return}function kDe(e){e=e|0;return}function ODe(e){e=e|0;return}function LDe(e){e=e|0;return 16552|0}function UDe(e,t,i,_,o,s,a,l,d,c){e=e|0;t=t|0;i=i|0;_=_|0;o=+o;s=+s;a=+a;l=l|0;d=d|0;c=c|0;var b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0;r[e+4>>2]=24;r[e+64>>2]=t;r[e+68>>2]=i;p[e+72>>2]=s;p[e+76>>2]=a;b=+(t-1|0);p[e+80>>2]=b;u=+(i-1|0);p[e+84>>2]=u;p[e+88>>2]=o;r[e+92>>2]=_;r[e+96>>2]=d;n[e+100|0]=c&1;n[e+101|0]=0;r[e+104>>2]=l;p[e+108>>2]=1.0;p[e+112>>2]=1.0;p[e+116>>2]=1.0;p[e+120>>2]=0.0;if((l|0)==2){p[e+16>>2]=0.0;p[e+20>>2]=0.0;p[e+24>>2]=s;p[e+28>>2]=0.0;p[e+32>>2]=b;p[e+36>>2]=u;p[e+40>>2]=a;p[e+44>>2]=0.0;m=0.0;h=b;f=0.0;g=u;C=s;S=a}else if((l|0)==0){p[e+16>>2]=s;p[e+20>>2]=0.0;p[e+24>>2]=0.0;p[e+28>>2]=0.0;p[e+32>>2]=a;p[e+36>>2]=b;p[e+40>>2]=u;p[e+44>>2]=0.0;m=s;h=a;f=0.0;g=b;C=0.0;S=u}else if((l|0)==1){p[e+16>>2]=0.0;p[e+20>>2]=s;p[e+24>>2]=0.0;p[e+28>>2]=0.0;p[e+32>>2]=b;p[e+36>>2]=a;p[e+40>>2]=u;p[e+44>>2]=0.0;m=0.0;h=b;f=s;g=a;C=0.0;S=u}else{m=+p[e+16>>2];h=+p[e+32>>2];f=+p[e+20>>2];g=+p[e+36>>2];C=+p[e+24>>2];S=+p[e+40>>2]}p[e+48>>2]=(m+h)*.5;p[e+52>>2]=(f+g)*.5;p[e+56>>2]=(C+S)*.5;p[e+60>>2]=0.0;return}function GDe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,s=0,a=0.0;n=r[e+96>>2]|0;if((n|0)==0){s=(ne(r[e+64>>2]|0,i)|0)+t|0;a=+p[(r[e+92>>2]|0)+(s<<2)>>2];return+a}else if((n|0)==3){s=(ne(r[e+64>>2]|0,i)|0)+t|0;a=+(_[(r[e+92>>2]|0)+(s<<1)>>1]|0)*+p[e+88>>2];return+a}else if((n|0)==5){n=(ne(r[e+64>>2]|0,i)|0)+t|0;a=+p[e+88>>2]*+(o[(r[e+92>>2]|0)+n|0]|0);return+a}else{a=0.0;return+a}return 0.0}function WDe(e){e=e|0;return e+108|0}function zDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function HDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function jDe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0,v=0.0,x=0.0,M=0.0;_=(+p[e+32>>2]-+p[e+16>>2])*+p[e+108>>2]*.5;o=(+p[e+36>>2]-+p[e+20>>2])*+p[e+112>>2]*.5;s=(+p[e+40>>2]-+p[e+24>>2])*+p[e+116>>2]*.5;a=+H(+ +p[t>>2]);l=+H(+ +p[t+4>>2]);d=+H(+ +p[t+8>>2]);c=+H(+ +p[t+16>>2]);b=+H(+ +p[t+20>>2]);u=+H(+ +p[t+24>>2]);m=+H(+ +p[t+32>>2]);h=+H(+ +p[t+36>>2]);f=+H(+ +p[t+40>>2]);g=+p[t+48>>2];C=+p[t+52>>2];S=+p[t+56>>2];t=e|0;y=e;v=+z_t[r[(r[y>>2]|0)+44>>2]&1023](t);x=+z_t[r[(r[y>>2]|0)+44>>2]&1023](t);M=_*a+o*l+s*d+v;v=_*c+o*b+s*u+x;x=_*m+o*h+s*f+ +z_t[r[(r[y>>2]|0)+44>>2]&1023](t);p[i>>2]=g-M;p[i+4>>2]=C-v;p[i+8>>2]=S-x;p[i+12>>2]=0.0;p[n>>2]=g+M;p[n+4>>2]=C+v;p[n+8>>2]=S+x;p[n+12>>2]=0.0;return}function XDe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0;_=+F_t[r[(r[e>>2]|0)+64>>2]&127](e,t,i);o=r[e+104>>2]|0;if((o|0)==1){s=+(t|0)+ +p[e+80>>2]*-.5;a=_-+p[e+52>>2];l=+(i|0)+ +p[e+84>>2]*-.5;p[n>>2]=s;p[n+4>>2]=a;p[n+8>>2]=l;p[n+12>>2]=0.0;d=s;c=a;b=l}else if((o|0)==0){l=_-+p[e+48>>2];a=+(t|0)+ +p[e+80>>2]*-.5;s=+(i|0)+ +p[e+84>>2]*-.5;p[n>>2]=l;p[n+4>>2]=a;p[n+8>>2]=s;p[n+12>>2]=0.0;d=l;c=a;b=s}else if((o|0)==2){s=+(t|0)+ +p[e+80>>2]*-.5;a=+(i|0)+ +p[e+84>>2]*-.5;l=_-+p[e+56>>2];p[n>>2]=s;p[n+4>>2]=a;p[n+8>>2]=l;p[n+12>>2]=0.0;d=s;c=a;b=l}else{d=+p[n>>2];c=+p[n+4>>2];b=+p[n+8>>2]}p[n>>2]=+p[e+108>>2]*d;p[n+4>>2]=+p[e+112>>2]*c;p[n+8>>2]=+p[e+116>>2]*b;return}function ZDe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0;o=d;d=d+48|0;s=o|0;a=1.0/+p[e+108>>2];l=1.0/+p[e+112>>2];c=1.0/+p[e+116>>2];b=+p[e+48>>2];u=a*+p[i>>2]+b;m=+p[e+52>>2];h=l*+p[i+4>>2]+m;f=+p[e+56>>2];g=c*+p[i+8>>2]+f;C=a*+p[_>>2]+b;b=l*+p[_+4>>2]+m;m=c*+p[_+8>>2]+f;f=+p[e+16>>2];c=u<f?f:u;u=+p[e+20>>2];l=h<u?u:h;h=+p[e+24>>2];a=g<h?h:g;g=+p[e+32>>2];S=g<c?g:c;c=+p[e+36>>2];y=c<l?c:l;l=+p[e+40>>2];v=l<a?l:a;a=S;if(S<0.0){x=a+-.5}else{x=a+.5}a=y;if(y<0.0){M=a+-.5}else{M=a+.5}a=v;if(v<0.0){T=a+-.5}else{T=a+.5}a=C<f?f:C;C=b<u?u:b;b=m<h?h:m;m=g<a?g:a;a=c<C?c:C;C=l<b?l:b;b=m;if(m<0.0){D=b+-.5}else{D=b+.5}b=a;if(a<0.0){P=b+-.5}else{P=b+.5}b=C;if(C<0.0){w=b+-.5}else{w=b+.5}_=~~x-1|0;i=~~D+1|0;A=~~M-1|0;F=~~P+1|0;R=~~T-1|0;I=~~w+1|0;B=(r[e+64>>2]|0)-1|0;V=(r[e+68>>2]|0)-1|0;E=r[e+104>>2]|0;if((E|0)==2){N=(F|0)<(V|0)?F:V;k=(A|0)>0?A:0;O=(i|0)<(B|0)?i:B;L=(_|0)>0?_:0}else if((E|0)==0){N=(I|0)<(V|0)?I:V;k=(R|0)>0?R:0;O=(F|0)<(B|0)?F:B;L=(A|0)>0?A:0}else if((E|0)==1){N=(I|0)<(V|0)?I:V;k=(R|0)>0?R:0;O=(i|0)<(B|0)?i:B;L=(_|0)>0?_:0}else{N=V;k=0;O=B;L=0}if((k|0)>=(N|0)){d=o;return}B=s|0;V=e+100|0;_=e+101|0;i=s+16|0;R=s+32|0;s=t;if((L|0)<(O|0)){U=k}else{d=o;return}while(1){k=U+1|0;I=L;do{do{if((n[V]&1)==0){if((n[_]&1)!=0){if((I+U&1|0)==0){G=3775;break}}XDe(e,I,U,B);XDe(e,I,k,i);E=I+1|0;XDe(e,E,U,R);mrt[r[(r[s>>2]|0)+8>>2]&1023](t,B,I,U);XDe(e,E,U,B);XDe(e,I,k,i);XDe(e,E,k,R);mrt[r[(r[s>>2]|0)+8>>2]&1023](t,B,I,U)}else{G=3775}}while(0);if((G|0)==3775){G=0;XDe(e,I,U,B);E=I+1|0;XDe(e,E,U,i);XDe(e,E,k,R);mrt[r[(r[s>>2]|0)+8>>2]&1023](t,B,I,U);XDe(e,I,U,B);XDe(e,E,k,i);XDe(e,I,k,R);mrt[r[(r[s>>2]|0)+8>>2]&1023](t,B,I,U)}I=I+1|0}while((I|0)<(O|0));if((k|0)<(N|0)){U=k}else{break}}d=o;return}function QDe(e,t,i){e=e|0;t=+t;i=i|0;vBe(i|0,0,16);return}function qDe(e,t){e=e|0;t=t|0;var i=0;i=e+108|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function YDe(e){e=e|0;return}function JDe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0,I=0,B=0,V=0,E=0,N=0,k=0;o=d;d=d+280|0;s=o|0;a=r[e+4>>2]|0;if(+p[a+1124>>2]<_){d=o;return}l=r[e+136>>2]|0;c=(r[a+1108>>2]|0)!=(l|0);b=+p[i>>2];u=+p[t>>2]*_+b;m=+p[i+4>>2];h=+p[t+4>>2]*_+m;f=+p[i+8>>2];g=+p[t+8>>2]*_+f;if(c){C=u-+p[e+120>>2];S=h-+p[e+124>>2];y=g-+p[e+128>>2];v=b-+p[e+56>>2];x=m-+p[e+60>>2];M=f-+p[e+64>>2];T=v*+p[e+8>>2]+x*+p[e+24>>2]+M*+p[e+40>>2];D=v*+p[e+12>>2]+x*+p[e+28>>2]+M*+p[e+44>>2];P=v*+p[e+16>>2]+x*+p[e+32>>2]+M*+p[e+48>>2];w=C*+p[e+72>>2]+S*+p[e+88>>2]+y*+p[e+104>>2];A=C*+p[e+76>>2]+S*+p[e+92>>2]+y*+p[e+108>>2];F=C*+p[e+80>>2]+S*+p[e+96>>2]+y*+p[e+112>>2]}else{y=u-+p[e+56>>2];S=h-+p[e+60>>2];C=g-+p[e+64>>2];M=b-+p[e+120>>2];b=m-+p[e+124>>2];m=f-+p[e+128>>2];T=M*+p[e+72>>2]+b*+p[e+88>>2]+m*+p[e+104>>2];D=M*+p[e+76>>2]+b*+p[e+92>>2]+m*+p[e+108>>2];P=M*+p[e+80>>2]+b*+p[e+96>>2]+m*+p[e+112>>2];w=y*+p[e+8>>2]+S*+p[e+24>>2]+C*+p[e+40>>2];A=y*+p[e+12>>2]+S*+p[e+28>>2]+C*+p[e+44>>2];F=y*+p[e+16>>2]+S*+p[e+32>>2]+C*+p[e+48>>2]}p[s>>2]=w;p[s+4>>2]=A;p[s+8>>2]=F;p[s+12>>2]=0.0;p[s+16>>2]=T;p[s+20>>2]=D;p[s+24>>2]=P;p[s+28>>2]=0.0;R=s+64|0;I=t;r[R>>2]=r[I>>2];r[R+4>>2]=r[I+4>>2];r[R+8>>2]=r[I+8>>2];r[R+12>>2]=r[I+12>>2];p[s+80>>2]=_;I=s+84|0;p[I>>2]=0.0;R=s+88|0;p[R>>2]=0.0;r[s+108>>2]=0;p[s+112>>2]=0.0;n[s+116|0]=0;p[s+208>>2]=0.0;p[s+240>>2]=0.0;p[s+272>>2]=0.0;vBe(s+120|0,0,28);p[s+48>>2]=u;p[s+52>>2]=h;p[s+56>>2]=g;p[s+60>>2]=0.0;t=s+32|0;B=i;r[t>>2]=r[B>>2];r[t+4>>2]=r[B+4>>2];r[t+8>>2]=r[B+8>>2];r[t+12>>2]=r[B+12>>2];g=+p[a+1120>>2];B=r[a+1116>>2]|0;if((B|0)>0){t=0;i=-1;h=g*g;while(1){g=+p[a+4+(t*276|0)>>2]-w;u=+p[a+4+(t*276|0)+4>>2]-A;_=+p[a+4+(t*276|0)+8>>2]-F;P=g*g+u*u+_*_;V=P<h;E=V?t:i;N=t+1|0;if((N|0)<(B|0)){t=N;i=E;h=V?P:h}else{k=E;break}}}else{k=-1}i=r[e+140>>2]|0;h=+p[l+224>>2]*+p[i+224>>2];F=h<-10.0?-10.0:h;p[I>>2]=F>10.0?10.0:F;p[R>>2]=+p[l+228>>2]*+p[i+228>>2];if(c){r[s+92>>2]=r[e+148>>2];r[s+96>>2]=r[e+144>>2];r[s+100>>2]=r[e+156>>2];r[s+104>>2]=r[e+152>>2]}else{r[s+92>>2]=r[e+144>>2];r[s+96>>2]=r[e+148>>2];r[s+100>>2]=r[e+152>>2];r[s+104>>2]=r[e+156>>2]}if((k|0)>-1){e=a+4+(k*276|0)+144|0;c=r[e>>2]|0;i=a+4+(k*276|0)+208|0;F=+p[i>>2];l=a+4+(k*276|0)+240|0;h=+p[l>>2];R=a+4+(k*276|0)+272|0;A=+p[R>>2];I=a+4+(k*276|0)+108|0;t=r[I>>2]|0;B=a+4+(k*276|0)|0;E=s;yBe(B|0,E|0,276)|0;r[I>>2]=t;p[a+4+(k*276|0)+112>>2]=F;p[a+4+(k*276|0)+120>>2]=h;p[a+4+(k*276|0)+124>>2]=A;p[i>>2]=F;p[l>>2]=h;p[R>>2]=A;r[e>>2]=c;d=o;return}else{iwe(a,s)|0;d=o;return}}function KDe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function $De(e,t,i,_,o,s,a,l,c,b,u){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;a=a|0;l=l|0;c=c|0;b=b|0;u=u|0;var m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0.0,Be=0,Ve=0.0,Ee=0.0,Ne=0;u=d;d=d+4264|0;e=u|0;m=u+992|0;h=u+1984|0;f=u+2976|0;g=u+3968|0;C=u+3984|0;S=u+4e3|0;y=u+4080|0;v=u+4216|0;x=i+4|0;if(((r[x>>2]|0)-17|0)>>>0<2){M=((r[_+4>>2]|0)-17|0)>>>0<2}else{M=0}T=e|0;D=m|0;P=h|0;w=f|0;A=o|0;F=o+16|0;R=o+32|0;I=o+4|0;B=o+20|0;V=o+36|0;E=o+8|0;N=o+24|0;k=o+40|0;O=s|0;L=s+16|0;U=s+32|0;G=s+4|0;W=s+20|0;z=s+36|0;H=s+8|0;j=s+24|0;X=s+40|0;Z=0;do{sPe();Q=+p[40432+(Z<<4)>>2];q=+p[40436+(Z<<4)>>2];Y=+p[40440+(Z<<4)>>2];J=-0.0-Q;K=-0.0-q;$=-0.0-Y;ee=+p[I>>2]*J+ +p[B>>2]*K+ +p[V>>2]*$;te=+p[E>>2]*J+ +p[N>>2]*K+ +p[k>>2]*$;p[h+(Z<<4)>>2]=+p[A>>2]*J+ +p[F>>2]*K+ +p[R>>2]*$;p[h+(Z<<4)+4>>2]=ee;p[h+(Z<<4)+8>>2]=te;p[h+(Z<<4)+12>>2]=0.0;te=Q*+p[G>>2]+q*+p[W>>2]+Y*+p[z>>2];ee=Q*+p[H>>2]+q*+p[j>>2]+Y*+p[X>>2];p[f+(Z<<4)>>2]=Q*+p[O>>2]+q*+p[L>>2]+Y*+p[U>>2];p[f+(Z<<4)+4>>2]=te;p[f+(Z<<4)+8>>2]=ee;p[f+(Z<<4)+12>>2]=0.0;Z=Z+1|0}while((Z|0)<42);Z=Knt[r[(r[i>>2]|0)+76>>2]&4095](i)|0;if((Z|0)>0){ie=i;ne=g|0;_e=g+4|0;re=g+8|0;oe=g;se=g+12|0;ae=0;pe=42;while(1){srt[r[(r[ie>>2]|0)+80>>2]&511](i,ae,g);ee=+p[ne>>2];te=+p[_e>>2];Y=+p[re>>2];q=ee*+p[F>>2]+te*+p[B>>2]+Y*+p[N>>2];Q=ee*+p[R>>2]+te*+p[V>>2]+Y*+p[k>>2];p[ne>>2]=+p[A>>2]*ee+ +p[I>>2]*te+ +p[E>>2]*Y;p[_e>>2]=q;p[re>>2]=Q;p[se>>2]=0.0;sPe();le=40432+(pe<<4)|0;r[le>>2]=r[oe>>2];r[le+4>>2]=r[oe+4>>2];r[le+8>>2]=r[oe+8>>2];r[le+12>>2]=r[oe+12>>2];Q=+p[ne>>2];q=-0.0-Q;Y=+p[_e>>2];te=-0.0-Y;ee=+p[re>>2];$=-0.0-ee;K=+p[I>>2]*q+ +p[B>>2]*te+ +p[V>>2]*$;J=+p[E>>2]*q+ +p[N>>2]*te+ +p[k>>2]*$;p[h+(pe<<4)>>2]=+p[A>>2]*q+ +p[F>>2]*te+ +p[R>>2]*$;p[h+(pe<<4)+4>>2]=K;p[h+(pe<<4)+8>>2]=J;p[h+(pe<<4)+12>>2]=0.0;J=Q*+p[G>>2]+Y*+p[W>>2]+ee*+p[z>>2];K=Q*+p[H>>2]+Y*+p[j>>2]+ee*+p[X>>2];p[f+(pe<<4)>>2]=+p[O>>2]*Q+ +p[L>>2]*Y+ +p[U>>2]*ee;p[f+(pe<<4)+4>>2]=J;p[f+(pe<<4)+8>>2]=K;p[f+(pe<<4)+12>>2]=0.0;le=ae+1|0;if((le|0)<(Z|0)){ae=le;pe=pe+1|0}else{break}}de=Z+42|0}else{de=42}Z=Knt[r[(r[_>>2]|0)+76>>2]&4095](_)|0;if((Z|0)>0){pe=_;ae=C|0;re=C+4|0;_e=C+8|0;ne=C;oe=C+12|0;se=de;g=0;while(1){srt[r[(r[pe>>2]|0)+80>>2]&511](_,g,C);K=+p[ae>>2];J=+p[re>>2];ee=+p[_e>>2];Y=K*+p[L>>2]+J*+p[W>>2]+ee*+p[j>>2];Q=K*+p[U>>2]+J*+p[z>>2]+ee*+p[X>>2];p[ae>>2]=+p[O>>2]*K+ +p[G>>2]*J+ +p[H>>2]*ee;p[re>>2]=Y;p[_e>>2]=Q;p[oe>>2]=0.0;sPe();ie=40432+(se<<4)|0;r[ie>>2]=r[ne>>2];r[ie+4>>2]=r[ne+4>>2];r[ie+8>>2]=r[ne+8>>2];r[ie+12>>2]=r[ne+12>>2];Q=+p[ae>>2];Y=-0.0-Q;ee=+p[re>>2];J=-0.0-ee;K=+p[_e>>2];$=-0.0-K;te=+p[I>>2]*Y+ +p[B>>2]*J+ +p[V>>2]*$;q=+p[E>>2]*Y+ +p[N>>2]*J+ +p[k>>2]*$;p[h+(se<<4)>>2]=+p[A>>2]*Y+ +p[F>>2]*J+ +p[R>>2]*$;p[h+(se<<4)+4>>2]=te;p[h+(se<<4)+8>>2]=q;p[h+(se<<4)+12>>2]=0.0;q=Q*+p[G>>2]+ee*+p[W>>2]+K*+p[z>>2];te=Q*+p[H>>2]+ee*+p[j>>2]+K*+p[X>>2];p[f+(se<<4)>>2]=+p[O>>2]*Q+ +p[L>>2]*ee+ +p[U>>2]*K;p[f+(se<<4)+4>>2]=q;p[f+(se<<4)+8>>2]=te;p[f+(se<<4)+12>>2]=0.0;ie=g+1|0;if((ie|0)<(Z|0)){se=se+1|0;g=ie}else{break}}ce=Z+de|0}else{ce=de}mrt[r[(r[i>>2]|0)+68>>2]&1023](i,P,T,ce);mrt[r[(r[_>>2]|0)+68>>2]&1023](_,w,D,ce);if((ce|0)>0){D=o+48|0;w=o+52|0;T=o+56|0;P=s+48|0;de=s+52|0;Z=s+56|0;if(M){te=0.0;q=0.0;K=0.0;M=0;ee=999999984306749400.0;while(1){sPe();Q=+p[40432+(M<<4)>>2];$=+p[40436+(M<<4)>>2];J=+p[40444+(M<<4)>>2];do{if(Q*Q+$*$+0.0>.01){Y=+p[e+(M<<4)>>2];be=+p[e+(M<<4)+4>>2];ue=+p[e+(M<<4)+8>>2];me=+p[m+(M<<4)>>2];he=+p[m+(M<<4)+4>>2];fe=+p[m+(M<<4)+8>>2];ge=Q*(+p[P>>2]+(me*+p[O>>2]+he*+p[G>>2]+fe*+p[H>>2])-(+p[D>>2]+(Y*+p[A>>2]+be*+p[I>>2]+ue*+p[E>>2])))+$*(+p[de>>2]+(me*+p[L>>2]+he*+p[W>>2]+fe*+p[j>>2])-(+p[w>>2]+(Y*+p[F>>2]+be*+p[B>>2]+ue*+p[N>>2])))+0.0;if(ge>=ee){Ce=ee;Se=K;ye=q;ve=te;break}Ce=ge;Se=Q;ye=$;ve=J}else{Ce=ee;Se=K;ye=q;ve=te}}while(0);g=M+1|0;if((g|0)<(ce|0)){te=ve;q=ye;K=Se;M=g;ee=Ce}else{xe=ve;Me=0.0;Te=ye;De=Se;Pe=Ce;break}}}else{Ce=0.0;Se=0.0;ye=0.0;ve=0.0;M=0;ee=999999984306749400.0;while(1){sPe();K=+p[40432+(M<<4)>>2];q=+p[40436+(M<<4)>>2];te=+p[40440+(M<<4)>>2];J=+p[40444+(M<<4)>>2];do{if(K*K+q*q+te*te>.01){$=+p[e+(M<<4)>>2];Q=+p[e+(M<<4)+4>>2];ge=+p[e+(M<<4)+8>>2];ue=+p[m+(M<<4)>>2];be=+p[m+(M<<4)+4>>2];Y=+p[m+(M<<4)+8>>2];fe=K*(+p[P>>2]+(ue*+p[O>>2]+be*+p[G>>2]+Y*+p[H>>2])-(+p[D>>2]+($*+p[A>>2]+Q*+p[I>>2]+ge*+p[E>>2])))+q*(+p[de>>2]+(ue*+p[L>>2]+be*+p[W>>2]+Y*+p[j>>2])-(+p[w>>2]+($*+p[F>>2]+Q*+p[B>>2]+ge*+p[N>>2])))+te*(+p[Z>>2]+(ue*+p[U>>2]+be*+p[z>>2]+Y*+p[X>>2])-(+p[T>>2]+($*+p[R>>2]+Q*+p[V>>2]+ge*+p[k>>2])));if(fe>=ee){we=ee;Ae=ve;Fe=ye;Re=Se;Ie=Ce;break}we=fe;Ae=K;Fe=q;Re=te;Ie=J}else{we=ee;Ae=ve;Fe=ye;Re=Se;Ie=Ce}}while(0);g=M+1|0;if((g|0)<(ce|0)){Ce=Ie;Se=Re;ye=Fe;ve=Ae;M=g;ee=we}else{xe=Ie;Me=Re;Te=Fe;De=Ae;Pe=we;break}}}}else{xe=0.0;Me=0.0;Te=0.0;De=0.0;Pe=999999984306749400.0}switch(r[x>>2]|0){case 8:case 0:case 1:case 13:case 10:case 5:case 4:{break};default:{+z_t[r[(r[i>>2]|0)+44>>2]&1023](i)}}M=_+4|0;switch(r[M>>2]|0){case 8:case 0:case 1:case 13:case 10:case 5:case 4:{break};default:{+z_t[r[(r[_>>2]|0)+44>>2]&1023](_)}}if(Pe<0.0){Be=0;d=u;return Be|0}switch(r[x>>2]|0){case 8:{Ve=+p[i+28>>2]*+p[i+12>>2];break};case 0:{Ve=+p[i+44>>2];break};case 1:{Ve=+p[i+44>>2];break};case 13:{Ve=+p[i+44>>2];break};case 10:{Ve=+p[i+44>>2];break};case 5:case 4:{Ve=+p[i+44>>2];break};default:{Ve=+z_t[r[(r[i>>2]|0)+44>>2]&1023](i)}}ce=r[M>>2]|0;switch(ce|0){case 5:case 4:{Ee=+p[_+44>>2];Ne=ce;break};case 13:{Ee=+p[_+44>>2];Ne=13;break};case 1:{Ee=+p[_+44>>2];Ne=1;break};case 8:{Ee=+p[_+28>>2]*+p[_+12>>2];Ne=8;break};case 0:{Ee=+p[_+44>>2];Ne=0;break};case 10:{Ee=+p[_+44>>2];Ne=10;break};default:{Ee=+z_t[r[(r[_>>2]|0)+44>>2]&1023](_);Ne=r[M>>2]|0}}we=Pe+(Ve+Ee+.5);r[S>>2]=23568;M=S+4|0;p[M>>2]=0.0;ce=S+8|0;p[ce>>2]=1.0;k=S+12|0;p[k>>2]=0.0;V=S+16|0;p[V>>2]=0.0;r[S+20>>2]=0;r[S+24>>2]=t;r[S+28>>2]=i;r[S+32>>2]=_;r[S+36>>2]=r[x>>2];r[S+40>>2]=Ne;p[S+44>>2]=+z_t[r[(r[i>>2]|0)+44>>2]&1023](i);p[S+48>>2]=+z_t[r[(r[_>>2]|0)+44>>2]&1023](_);n[S+52|0]=0;r[S+60>>2]=-1;r[S+72>>2]=1;r[y+132>>2]=0;Ee=+p[o+48>>2]+De*we;Ve=+p[o+52>>2]+Te*we;Pe=+p[o+56>>2]+Me*we;_=o;i=y;r[i>>2]=r[_>>2];r[i+4>>2]=r[_+4>>2];r[i+8>>2]=r[_+8>>2];r[i+12>>2]=r[_+12>>2];_=o+16|0;i=o+32|0;o=y+16|0;r[o>>2]=r[_>>2];r[o+4>>2]=r[_+4>>2];r[o+8>>2]=r[_+8>>2];r[o+12>>2]=r[_+12>>2];_=y+32|0;r[_>>2]=r[i>>2];r[_+4>>2]=r[i+4>>2];r[_+8>>2]=r[i+8>>2];r[_+12>>2]=r[i+12>>2];p[y+48>>2]=Ee;p[y+52>>2]=Ve;p[y+56>>2]=Pe;p[y+60>>2]=0.0;i=y+64|0;_=s;r[i>>2]=r[_>>2];r[i+4>>2]=r[_+4>>2];r[i+8>>2]=r[_+8>>2];r[i+12>>2]=r[_+12>>2];_=y+80|0;i=s+16|0;r[_>>2]=r[i>>2];r[_+4>>2]=r[i+4>>2];r[_+8>>2]=r[i+8>>2];r[_+12>>2]=r[i+12>>2];i=y+96|0;_=s+32|0;r[i>>2]=r[_>>2];r[i+4>>2]=r[_+4>>2];r[i+8>>2]=r[_+8>>2];r[i+12>>2]=r[_+12>>2];_=y+112|0;i=s+48|0;r[_>>2]=r[i>>2];r[_+4>>2]=r[i+4>>2];r[_+8>>2]=r[i+8>>2];r[_+12>>2]=r[i+12>>2];p[y+128>>2]=999999984306749400.0;r[v>>2]=18488;i=v+40|0;n[i]=0;p[M>>2]=-0.0-De;p[ce>>2]=-0.0-Te;p[k>>2]=-0.0-Me;p[V>>2]=0.0;NDe(S,y,v|0,b,0);Pe=we-+p[v+36>>2];b=n[i]&1;if(b<<24>>24!=0){i=v+20|0;we=+p[v+24>>2]-Te*Pe;Ve=+p[v+28>>2]-Me*Pe;p[l>>2]=+p[i>>2]-De*Pe;p[l+4>>2]=we;p[l+8>>2]=Ve;p[l+12>>2]=0.0;l=c;c=i;r[l>>2]=r[c>>2];r[l+4>>2]=r[c+4>>2];r[l+8>>2]=r[c+8>>2];r[l+12>>2]=r[c+12>>2];p[a>>2]=De;p[a+4>>2]=Te;p[a+8>>2]=Me;p[a+12>>2]=xe}Be=b<<24>>24!=0;d=u;return Be|0}function ePe(e){e=e|0;return}function tPe(e){e=e|0;return}function iPe(e,t,i){e=e|0;t=t|0;i=i|0;return}function nPe(e,t,i){e=e|0;t=t|0;i=i|0;return}function _Pe(e){e=e|0;return 17248|0}function rPe(e){e=e|0;return 64}function oPe(e,t,i){e=e|0;t=+t;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0;n=(+p[e+68>>2]-+p[e+52>>2])*.5*2.0;_=(+p[e+72>>2]-+p[e+56>>2])*.5*2.0;r=(+p[e+76>>2]-+p[e+60>>2])*.5*2.0;o=t/12.0;t=_*_;_=r*r;r=n*n;p[i>>2]=o*(t+_);p[i+4>>2]=o*(r+_);p[i+8>>2]=o*(r+t);p[i+12>>2]=0.0;return}function sPe(){if((n[43e3]|0)!=0){return}if((ui(43e3)|0)==0){return}p[10108]=0.0;p[10109]=-0.0;p[10110]=-1.0;p[10111]=0.0;p[10112]=.7236080169677734;p[10113]=-.5257250070571899;p[10114]=-.44721901416778564;p[10115]=0.0;p[10116]=-.2763879895210266;p[10117]=-.8506489992141724;p[10118]=-.44721901416778564;p[10119]=0.0;p[10120]=-.8944259881973267;p[10121]=-0.0;p[10122]=-.4472160041332245;p[10123]=0.0;p[10124]=-.2763879895210266;p[10125]=.8506489992141724;p[10126]=-.44721999764442444;p[10127]=0.0;p[10128]=.7236080169677734;p[10129]=.5257250070571899;p[10130]=-.44721901416778564;p[10131]=0.0;p[10132]=.2763879895210266;p[10133]=-.8506489992141724;p[10134]=.44721999764442444;p[10135]=0.0;p[10136]=-.7236080169677734;p[10137]=-.5257250070571899;p[10138]=.44721901416778564;p[10139]=0.0;p[10140]=-.7236080169677734;p[10141]=.5257250070571899;p[10142]=.44721901416778564;p[10143]=0.0;p[10144]=.2763879895210266;p[10145]=.8506489992141724;p[10146]=.44721901416778564;p[10147]=0.0;p[10148]=.8944259881973267;p[10149]=0.0;p[10150]=.4472160041332245;p[10151]=0.0;p[10152]=-0.0;p[10153]=0.0;p[10154]=1.0;p[10155]=0.0;p[10156]=.4253230094909668;p[10157]=-.3090110123157501;p[10158]=-.8506540060043335;p[10159]=0.0;p[10160]=-.16245600581169128;p[10161]=-.49999499320983887;p[10162]=-.8506540060043335;p[10163]=0.0;p[10164]=.2628690004348755;p[10165]=-.8090119957923889;p[10166]=-.525738000869751;p[10167]=0.0;p[10168]=.4253230094909668;p[10169]=.3090110123157501;p[10170]=-.8506540060043335;p[10171]=0.0;p[10172]=.8506479859352112;p[10173]=-0.0;p[10174]=-.5257359743118286;p[10175]=0.0;p[10176]=-.5257300138473511;p[10177]=-0.0;p[10178]=-.8506519794464111;p[10179]=0.0;p[10180]=-.6881899833679199;p[10181]=-.49999698996543884;p[10182]=-.5257359743118286;p[10183]=0.0;p[10184]=-.16245600581169128;p[10185]=.49999499320983887;p[10186]=-.8506540060043335;p[10187]=0.0;p[10188]=-.6881899833679199;p[10189]=.49999698996543884;p[10190]=-.5257359743118286;p[10191]=0.0;p[10192]=.2628690004348755;p[10193]=.8090119957923889;p[10194]=-.525738000869751;p[10195]=0.0;p[10196]=.9510579705238342;p[10197]=.3090130090713501;p[10198]=0.0;p[10199]=0.0;p[10200]=.9510579705238342;p[10201]=-.3090130090713501;p[10202]=0.0;p[10203]=0.0;p[10204]=.5877860188484192;p[10205]=-.80901700258255;p[10206]=0.0;p[10207]=0.0;p[10208]=0.0;p[10209]=-1.0;p[10210]=0.0;p[10211]=0.0;p[10212]=-.5877860188484192;p[10213]=-.80901700258255;p[10214]=0.0;p[10215]=0.0;p[10216]=-.9510579705238342;p[10217]=-.3090130090713501;p[10218]=-0.0;p[10219]=0.0;p[10220]=-.9510579705238342;p[10221]=.3090130090713501;p[10222]=-0.0;p[10223]=0.0;p[10224]=-.5877860188484192;p[10225]=.80901700258255;p[10226]=-0.0;p[10227]=0.0;p[10228]=-0.0;p[10229]=1.0;p[10230]=-0.0;p[10231]=0.0;p[10232]=.5877860188484192;p[10233]=.80901700258255;p[10234]=-0.0;p[10235]=0.0;p[10236]=.6881899833679199;p[10237]=-.49999698996543884;p[10238]=.5257359743118286;p[10239]=0.0;p[10240]=-.2628690004348755;p[10241]=-.8090119957923889;p[10242]=.525738000869751;p[10243]=0.0;p[10244]=-.8506479859352112;p[10245]=0.0;p[10246]=.5257359743118286;p[10247]=0.0;p[10248]=-.2628690004348755;p[10249]=.8090119957923889;p[10250]=.525738000869751;p[10251]=0.0;p[10252]=.6881899833679199;p[10253]=.49999698996543884;p[10254]=.5257359743118286;p[10255]=0.0;p[10256]=.5257300138473511;p[10257]=0.0;p[10258]=.8506519794464111;p[10259]=0.0;p[10260]=.16245600581169128;p[10261]=-.49999499320983887;p[10262]=.8506540060043335;p[10263]=0.0;p[10264]=-.4253230094909668;p[10265]=-.3090110123157501;p[10266]=.8506540060043335;p[10267]=0.0;p[10268]=-.4253230094909668;p[10269]=.3090110123157501;p[10270]=.8506540060043335;p[10271]=0.0;p[10272]=.16245600581169128;p[10273]=.49999499320983887;p[10274]=.8506540060043335;p[10275]=0.0;return}function aPe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function pPe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function lPe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0;o=e+4|0;s=t;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=e+20|0;o=i;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];p[e+36>>2]=_;n[e+40|0]=1;return}function dPe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0.0,T=0;n=e|0;_=e+4|0;o=e+8|0;s=e+12|0;vBe(e|0,0,16);a=+p[i>>2];l=+p[i+4>>2];d=+p[i+8>>2];c=a*a+l*l+d*d;if(c<1.4210854715202004e-14){b=1.0;u=0.0;m=0.0}else{h=1.0/+j(+c);b=a*h;u=l*h;m=d*h}i=r[t+92>>2]|0;if((i|0)<=0){return}e=t|0;f=t+12|0;g=t+16|0;C=t+20|0;S=t;h=-999999984306749400.0;y=r[t+100>>2]|0;v=r[t+120>>2]|0;t=0;while(1){d=+p[v>>2];l=+p[y>>2]+b*+p[f>>2]*d;a=u*+p[g>>2]*d+ +p[y+4>>2];c=d*m*+p[C>>2]+ +p[y+8>>2];d=+z_t[r[(r[S>>2]|0)+44>>2]&1023](e);x=l-b*d;l=a-u*d;a=c-m*d;d=m*a+(b*x+u*l);if(d>h){p[n>>2]=x;p[_>>2]=l;p[o>>2]=a;p[s>>2]=0.0;M=d}else{M=h}T=t+1|0;if((T|0)<(i|0)){h=M;y=y+16|0;v=v+4|0;t=T}else{break}}return}function cPe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0,M=0,T=0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0;if((n|0)<=0){return}_=e+100|0;o=e+120|0;s=e+92|0;a=e|0;l=e+12|0;d=e+16|0;c=e+20|0;b=e;e=0;do{u=r[s>>2]|0;e:do{if((u|0)>0){m=t+(e<<4)|0;h=t+(e<<4)+4|0;f=t+(e<<4)+8|0;g=i+(e<<4)|0;C=i+(e<<4)+4|0;S=i+(e<<4)+8|0;y=i+(e<<4)+12|0;v=-999999984306749400.0;x=r[_>>2]|0;M=r[o>>2]|0;T=1;while(1){D=+p[M>>2];P=+p[x>>2]+ +p[m>>2]*+p[l>>2]*D;w=+p[h>>2]*+p[d>>2]*D+ +p[x+4>>2];A=D*+p[f>>2]*+p[c>>2]+ +p[x+8>>2];D=+z_t[r[(r[b>>2]|0)+44>>2]&1023](a);F=+p[m>>2];R=+p[h>>2];I=+p[f>>2];B=P-D*F;P=w-D*R;w=A-D*I;D=F*B+R*P+I*w;if(D>v){p[g>>2]=B;p[C>>2]=P;p[S>>2]=w;p[y>>2]=0.0;V=D}else{V=v}if((T|0)>=(u|0)){break e}v=V;x=x+16|0;M=M+4|0;T=T+1|0}}}while(0);e=e+1|0}while((e|0)<(n|0));return}function bPe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+28>>2]=+p[e+28>>2];p[t+32>>2]=+p[e+32>>2];p[t+36>>2]=+p[e+36>>2];p[t+40>>2]=+p[e+40>>2];p[t+12>>2]=+p[e+12>>2];p[t+16>>2]=+p[e+16>>2];p[t+20>>2]=+p[e+20>>2];p[t+24>>2]=+p[e+24>>2];p[t+44>>2]=+p[e+44>>2];_=r[e+92>>2]|0;if((_|0)==0){r[t+52>>2]=0;r[t+56>>2]=0;return 17728}o=e+100|0;r[t+52>>2]=j_t[r[(r[n>>2]|0)+28>>2]&511](i,r[o>>2]|0)|0;r[t+56>>2]=_;t=h_t[r[(r[i>>2]|0)+16>>2]&511](i,20,_)|0;if((_|0)>0){n=e+120|0;e=r[t+8>>2]|0;s=0;while(1){a=r[o>>2]|0;p[e>>2]=+p[a+(s<<4)>>2];p[e+4>>2]=+p[a+(s<<4)+4>>2];p[e+8>>2]=+p[a+(s<<4)+8>>2];p[e+12>>2]=+p[a+(s<<4)+12>>2];p[e+16>>2]=+p[(r[n>>2]|0)+(s<<2)>>2];a=s+1|0;if((a|0)<(_|0)){e=e+20|0;s=a}else{break}}}Unt[r[(r[i>>2]|0)+20>>2]&255](i,t,16504,1497453121,r[o>>2]|0);return 17728}function uPe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=23192;t=e+112|0;i=e+120|0;_=r[i>>2]|0;o=e+124|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+116>>2]=0;t=e+92|0;i=e+100|0;o=r[i>>2]|0;_=e+104|0;if((o|0)==0){n[_]=1;r[i>>2]=0;r[t>>2]=0;s=e+96|0;r[s>>2]=0;return}if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-16+12>>2]|0)}r[i>>2]=0;n[_]=1;r[i>>2]=0;r[t>>2]=0;s=e+96|0;r[s>>2]=0;return}function mPe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=23192;t=e+112|0;i=e+120|0;_=r[i>>2]|0;o=e+124|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+116>>2]=0;t=e+92|0;i=e+100|0;o=r[i>>2]|0;_=e+104|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-16+12>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+96>>2]=0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-128+124>>2]|0);return}function hPe(e){e=e|0;Cwe(e|0);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-172+168>>2]|0);return}function fPe(e){e=e|0;Cwe(e|0);return}function gPe(e,t,i,o,s){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;var a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0;a=d;d=d+168|0;l=a|0;c=a+32|0;b=a+40|0;u=a+56|0;m=a+72|0;h=a+136|0;f=e|0;g=e+60|0;n[g]=i&1;if(i){C=+p[o>>2]+-1.0;S=+p[o+4>>2]+-1.0;y=+p[o+8>>2]+-1.0;p[e+4>>2]=C;p[e+8>>2]=S;p[e+12>>2]=y;p[e+16>>2]=0.0;v=+p[s>>2]+1.0;x=+p[s+4>>2]+1.0;M=+p[s+8>>2]+1.0;p[e+20>>2]=v;p[e+24>>2]=x;p[e+28>>2]=M;p[e+32>>2]=0.0;p[e+36>>2]=65533.0/(v-C);p[e+40>>2]=65533.0/(x-S);p[e+44>>2]=65533.0/(M-y);p[e+48>>2]=0.0;n[g]=1;r[l>>2]=19032;r[l+4>>2]=e+104;r[l+8>>2]=f;mrt[r[(r[t>>2]|0)+8>>2]&1023](t,l|0,e+4|0,e+20|0);l=r[e+108>>2]|0;s=l<<1;o=a+16|0;vBe(o|0,0,16);i=e+128|0;T=r[i>>2]|0;if((T|0)<(s|0)){D=e+132|0;if((r[D>>2]|0)<(s|0)){if((s|0)==0){P=0;w=T}else{r[9806]=(r[9806]|0)+1;A=hBe((l<<5|4)+15|0)|0;if((A|0)==0){F=0}else{R=-(A+4|0)&15;r[A+R>>2]=A;F=A+(R+4)|0}P=F;w=r[i>>2]|0}F=e+136|0;if((w|0)>0){R=0;do{A=P+(R<<4)|0;I=(r[F>>2]|0)+(R<<4)|0;r[A>>2]=r[I>>2];r[A+4>>2]=r[I+4>>2];r[A+8>>2]=r[I+8>>2];r[A+12>>2]=r[I+12>>2];R=R+1|0}while((R|0)<(w|0))}w=r[F>>2]|0;R=e+140|0;if((w|0)!=0){if((n[R]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[w-16+12>>2]|0)}r[F>>2]=0}n[R]=1;r[F>>2]=P;r[D>>2]=s;B=F}else{B=e+136|0}F=T;do{T=(r[B>>2]|0)+(F<<4)|0;r[T>>2]=r[o>>2];r[T+4>>2]=r[o+4>>2];r[T+8>>2]=r[o+8>>2];r[T+12>>2]=r[o+12>>2];F=F+1|0}while((F|0)<(s|0))}r[i>>2]=s;V=l}else{r[c>>2]=19064;r[c+4>>2]=e+64;p[b>>2]=-999999984306749400.0;p[b+4>>2]=-999999984306749400.0;p[b+8>>2]=-999999984306749400.0;p[b+12>>2]=0.0;p[u>>2]=999999984306749400.0;p[u+4>>2]=999999984306749400.0;p[u+8>>2]=999999984306749400.0;p[u+12>>2]=0.0;mrt[r[(r[t>>2]|0)+8>>2]&1023](t,c|0,b,u);u=r[e+68>>2]|0;b=m;vBe(b|0,0,64);m=u<<1;c=e+88|0;t=r[c>>2]|0;if((t|0)<(m|0)){l=e+92|0;if((r[l>>2]|0)<(m|0)){if((m|0)==0){E=0;N=t}else{r[9806]=(r[9806]|0)+1;s=hBe((u<<7|4)+15|0)|0;if((s|0)==0){k=0}else{i=-(s+4|0)&15;r[s+i>>2]=s;k=s+(i+4)|0}E=k;N=r[c>>2]|0}k=e+96|0;if((N|0)>0){i=0;do{s=E+(i<<6)|0;F=(r[k>>2]|0)+(i<<6)|0;yBe(s|0,F|0,64)|0;i=i+1|0}while((i|0)<(N|0))}N=r[k>>2]|0;i=e+100|0;if((N|0)!=0){if((n[i]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[N-64+60>>2]|0)}r[k>>2]=0}n[i]=1;r[k>>2]=E;r[l>>2]=m;O=k}else{O=e+96|0}k=t;do{t=(r[O>>2]|0)+(k<<6)|0;yBe(t|0,b|0,64)|0;k=k+1|0}while((k|0)<(m|0))}r[c>>2]=m;V=u}r[e+56>>2]=0;fwe(f,0,V);V=e+152|0;do{if((n[g]&1)!=0){if((r[V>>2]|0)!=0){break}f=e+156|0;if((r[f>>2]|0)==0){r[9806]=(r[9806]|0)+1;u=hBe(51)|0;if((u|0)==0){L=0}else{m=-(u+4|0)&15;r[u+m>>2]=u;L=u+(m+4)|0}m=r[V>>2]|0;u=e+160|0;if((m|0)>0){c=0;do{k=L+(c<<5)|0;b=(r[u>>2]|0)+(c<<5)|0;yBe(k|0,b|0,32)|0;c=c+1|0}while((c|0)<(m|0))}m=r[u>>2]|0;c=e+164|0;if((m|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-32+28>>2]|0)}r[u>>2]=0}n[c]=1;r[u>>2]=L;r[f>>2]=1;U=(r[V>>2]|0)+1|0;G=L}else{U=1;G=r[e+160>>2]|0}r[V>>2]=U;c=e+160|0;m=G;b=h;yBe(m|0,b|0,32)|0;b=r[c>>2]|0;c=e+136|0;m=r[c>>2]|0;_[b>>1]=_[m>>1]|0;_[b+2>>1]=_[m+2>>1]|0;_[b+4>>1]=_[m+4>>1]|0;_[b+6>>1]=_[m+6>>1]|0;_[b+8>>1]=_[m+8>>1]|0;_[b+10>>1]=_[m+10>>1]|0;r[b+12>>2]=0;m=r[(r[c>>2]|0)+12>>2]|0;r[b+16>>2]=(m|0)>-1?1:-m|0}}while(0);r[e+168>>2]=r[V>>2];V=e+108|0;h=e+116|0;G=r[h>>2]|0;U=e+120|0;if((G|0)!=0){if((n[U]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[G-16+12>>2]|0)}r[h>>2]=0}n[U]=1;r[h>>2]=0;r[V>>2]=0;r[e+112>>2]=0;V=e+68|0;h=e+76|0;U=r[h>>2]|0;G=e+80|0;if((U|0)==0){n[G]=1;r[h>>2]=0;r[V>>2]=0;W=e+72|0;r[W>>2]=0;d=a;return}if((n[G]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[U-64+60>>2]|0)}r[h>>2]=0;n[G]=1;r[h>>2]=0;r[V>>2]=0;W=e+72|0;r[W>>2]=0;d=a;return}function CPe(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var s=0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0,h=0;s=e+60|0;if((n[s]&1)==0){return}a=+p[i>>2]+-1.0;l=+p[i+4>>2]+-1.0;d=+p[i+8>>2]+-1.0;p[e+4>>2]=a;p[e+8>>2]=l;p[e+12>>2]=d;p[e+16>>2]=0.0;c=+p[o>>2]+1.0;b=+p[o+4>>2]+1.0;u=+p[o+8>>2]+1.0;p[e+20>>2]=c;p[e+24>>2]=b;p[e+28>>2]=u;p[e+32>>2]=0.0;p[e+36>>2]=65533.0/(c-a);p[e+40>>2]=65533.0/(b-l);p[e+44>>2]=65533.0/(u-d);p[e+48>>2]=0.0;n[s]=1;xPe(e,t,0,r[e+56>>2]|0);t=e+152|0;if((r[t>>2]|0)<=0){return}s=e+160|0;o=e+136|0;e=0;do{i=r[s>>2]|0;m=r[i+(e<<5)+12>>2]|0;h=r[o>>2]|0;_[i+(e<<5)>>1]=_[h+(m<<4)>>1]|0;_[i+(e<<5)+2>>1]=_[h+(m<<4)+2>>1]|0;_[i+(e<<5)+4>>1]=_[h+(m<<4)+4>>1]|0;_[i+(e<<5)+6>>1]=_[h+(m<<4)+6>>1]|0;_[i+(e<<5)+8>>1]=_[h+(m<<4)+8>>1]|0;_[i+(e<<5)+10>>1]=_[h+(m<<4)+10>>1]|0;e=e+1|0}while((e|0)<(r[t>>2]|0));return}function SPe(e){e=e|0;return 84}function yPe(e){e=e|0;return}function vPe(e){e=e|0;return}function xPe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0;o=d;d=d+112|0;a=o|0;c=o+8|0;b=o+16|0;u=o+24|0;m=o+32|0;h=o+40|0;f=o+48|0;g=o+56|0;C=o+64|0;r[a>>2]=0;r[c>>2]=0;r[b>>2]=2;r[u>>2]=0;r[m>>2]=0;r[h>>2]=0;r[f>>2]=0;r[g>>2]=2;S=n-1|0;if((S|0)<(i|0)){d=o;return}y=e+136|0;v=t+4|0;x=t+8|0;M=t+12|0;T=C|0;D=C+4|0;P=C+8|0;w=C+16|0;A=C+20|0;F=C+24|0;R=C+32|0;I=C+36|0;B=C+40|0;V=e+4|0;E=e+8|0;N=e+12|0;k=e+36|0;O=e+40|0;L=e+44|0;e=t;U=t;G=n;n=-1;W=S;e:while(1){S=G;z=W;while(1){H=r[y>>2]|0;j=r[H+(z<<4)+12>>2]|0;if((j|0)>-1){break}X=r[H+(S<<4)+12>>2]|0;Z=S+((X|0)>-1?1:-X|0)|0;X=_[H+(S<<4)>>1]|0;Q=H+(z<<4)|0;_[Q>>1]=X;q=_[H+(Z<<4)>>1]|0;if((X&65535)>(q&65535)){_[Q>>1]=q}q=_[H+(S<<4)+6>>1]|0;Q=H+(z<<4)+6|0;_[Q>>1]=q;X=_[H+(Z<<4)+6>>1]|0;if((q&65535)<(X&65535)){_[Q>>1]=X}X=_[H+(S<<4)+2>>1]|0;Q=H+(z<<4)+2|0;_[Q>>1]=X;q=_[H+(Z<<4)+2>>1]|0;if((X&65535)>(q&65535)){_[Q>>1]=q}q=_[H+(S<<4)+8>>1]|0;Q=H+(z<<4)+8|0;_[Q>>1]=q;X=_[H+(Z<<4)+8>>1]|0;if((q&65535)<(X&65535)){_[Q>>1]=X}X=_[H+(S<<4)+4>>1]|0;Q=H+(z<<4)+4|0;_[Q>>1]=X;q=_[H+(Z<<4)+4>>1]|0;if((X&65535)>(q&65535)){_[Q>>1]=q}q=_[H+(S<<4)+10>>1]|0;Q=H+(z<<4)+10|0;_[Q>>1]=q;X=_[H+(Z<<4)+10>>1]|0;if((q&65535)<(X&65535)){_[Q>>1]=X}X=z-1|0;if((X|0)<(i|0)){Y=n;break e}else{S=z;z=X}}S=j>>21;X=j&2097151;if((S|0)==(n|0)){J=n}else{if((n|0)>-1){Znt[r[(r[e>>2]|0)+24>>2]&2047](t,n)}H_t[r[(r[U>>2]|0)+16>>2]&63](t,a,c,b,u,m,h,f,g,S);J=S}S=r[m>>2]|0;Q=S+(ne(r[h>>2]|0,X)|0)|0;X=Q;S=Q;Q=(r[g>>2]|0)==3;q=(r[b>>2]|0)==0;Z=r[a>>2]|0;K=r[u>>2]|0;$=2;while(1){if(Q){ee=s[S+($<<1)>>1]|0}else{ee=r[X+($<<2)>>2]|0}te=ne(K,ee)|0;ie=Z+te|0;if(q){_e=+p[Z+(te+4)>>2]*+p[x>>2];re=+p[Z+(te+8)>>2]*+p[M>>2];p[C+($<<4)>>2]=+p[ie>>2]*+p[v>>2];p[C+($<<4)+4>>2]=_e;p[C+($<<4)+8>>2]=re;p[C+($<<4)+12>>2]=0.0}else{re=+l[Z+(te+8)>>3]*+p[x>>2];_e=+l[Z+(te+16)>>3]*+p[M>>2];p[C+($<<4)>>2]=+l[ie>>3]*+p[v>>2];p[C+($<<4)+4>>2]=re;p[C+($<<4)+8>>2]=_e;p[C+($<<4)+12>>2]=0.0}if(($|0)>0){$=$-1|0}else{break}}_e=+p[T>>2];re=_e<999999984306749400.0?_e:999999984306749400.0;oe=+p[D>>2];se=oe<999999984306749400.0?oe:999999984306749400.0;ae=+p[P>>2];pe=ae<999999984306749400.0?ae:999999984306749400.0;le=_e>-999999984306749400.0?_e:-999999984306749400.0;_e=oe>-999999984306749400.0?oe:-999999984306749400.0;oe=ae>-999999984306749400.0?ae:-999999984306749400.0;ae=+p[w>>2];de=ae<re?ae:re;re=+p[A>>2];ce=re<se?re:se;se=+p[F>>2];be=se<pe?se:pe;pe=le<ae?ae:le;le=_e<re?re:_e;_e=oe<se?se:oe;oe=+p[R>>2];se=+p[I>>2];re=+p[B>>2];ae=((se<ce?se:ce)-+p[E>>2])*+p[O>>2];ce=((re<be?re:be)-+p[N>>2])*+p[L>>2];_[H+(z<<4)>>1]=~~(((oe<de?oe:de)-+p[V>>2])*+p[k>>2])&-2;_[H+(z<<4)+2>>1]=~~ae&-2;_[H+(z<<4)+4>>1]=~~ce&-2;ce=((le<se?se:le)-+p[E>>2])*+p[O>>2];le=((_e<re?re:_e)-+p[N>>2])*+p[L>>2];_[H+(z<<4)+6>>1]=~~(((pe<oe?oe:pe)-+p[V>>2])*+p[k>>2]+1.0)|1;_[H+(z<<4)+8>>1]=~~(ce+1.0)|1;_[H+(z<<4)+10>>1]=~~(le+1.0)|1;$=z-1|0;if(($|0)<(i|0)){Y=J;break}else{G=z;n=J;W=$}}if((Y|0)<=-1){d=o;return}Znt[r[(r[e>>2]|0)+24>>2]&2047](t,Y);d=o;return}function MPe(e,t,i,n,o,a,l,d){e=e|0;t=t|0;i=+i;n=+n;o=+o;a=+a;l=+l;d=+d;var c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0;c=+p[e+4>>2];b=+p[e+8>>2];u=+p[e+12>>2];m=+p[e+36>>2];h=+p[e+40>>2];f=+p[e+44>>2];g=~~((i-c)*m)&-2;C=~~((n-b)*h)&-2;S=~~((o-u)*f)&-2;y=~~(m*(a-c)+1.0)|1;v=~~(h*(l-b)+1.0)|1;x=~~(f*(d-u)+1.0)|1;M=e+152|0;T=r[M>>2]|0;if((T|0)<=0){return}D=e+160|0;P=e+136|0;w=0;A=T;while(1){T=r[D>>2]|0;F=T+(w<<5)|0;R=T+(w<<5)+6|0;I=T+(w<<5)+10|0;B=T+(w<<5)+4|0;V=T+(w<<5)+8|0;E=T+(w<<5)+2|0;if((-((g&65535)<=(s[R>>1]|0)&(y&65535)>=(s[F>>1]|0)&(S&65535)<=(s[I>>1]|0)&(x&65535)>=(s[B>>1]|0)&(C&65535)<=(s[V>>1]|0)&(v&65535)>=(s[E>>1]|0)&1)&1|0)==0){N=A}else{k=T+(w<<5)+12|0;O=r[k>>2]|0;xPe(e,t,O,(r[T+(w<<5)+16>>2]|0)+O|0);O=r[k>>2]|0;k=r[P>>2]|0;_[F>>1]=_[k+(O<<4)>>1]|0;_[E>>1]=_[k+(O<<4)+2>>1]|0;_[B>>1]=_[k+(O<<4)+4>>1]|0;_[R>>1]=_[k+(O<<4)+6>>1]|0;_[V>>1]=_[k+(O<<4)+8>>1]|0;_[I>>1]=_[k+(O<<4)+10>>1]|0;N=r[M>>2]|0}O=w+1|0;if((O|0)<(N|0)){w=O;A=N}else{break}}return}function TPe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;Mwe(e|0,t,i,n)|0;return 1}function DPe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function PPe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0;o=d;d=d+24|0;s=o|0;a=+p[t>>2];l=a<999999984306749400.0?a:999999984306749400.0;c=+p[t+4>>2];b=c<999999984306749400.0?c:999999984306749400.0;u=+p[t+8>>2];m=u<999999984306749400.0?u:999999984306749400.0;h=+p[t+12>>2];f=h<0.0?h:0.0;g=a>-999999984306749400.0?a:-999999984306749400.0;a=c>-999999984306749400.0?c:-999999984306749400.0;c=u>-999999984306749400.0?u:-999999984306749400.0;u=h>0.0?h:0.0;h=+p[t+16>>2];C=h<l?h:l;l=+p[t+20>>2];S=l<b?l:b;b=+p[t+24>>2];y=b<m?b:m;m=+p[t+28>>2];v=m<f?m:f;f=g<h?h:g;g=a<l?l:a;a=c<b?b:c;c=u<m?m:u;u=+p[t+32>>2];m=u<C?u:C;C=+p[t+36>>2];b=C<S?C:S;S=+p[t+40>>2];l=S<y?S:y;y=+p[t+44>>2];h=y<v?y:v;v=f<u?u:f;f=g<C?C:g;g=a<S?S:a;a=c<y?y:c;t=r[e+4>>2]|0;e=t+4|0;x=r[e>>2]|0;M=t+8|0;do{if((x|0)==(r[M>>2]|0)){T=(x|0)==0?1:x<<1;if((x|0)>=(T|0)){D=x;break}if((T|0)==0){P=0;w=x}else{r[9806]=(r[9806]|0)+1;A=hBe((T<<6|4)+15|0)|0;if((A|0)==0){F=0}else{R=-(A+4|0)&15;r[A+R>>2]=A;F=A+(R+4)|0}P=F;w=r[e>>2]|0}R=t+12|0;if((w|0)>0){A=0;do{I=P+(A<<6)|0;B=(r[R>>2]|0)+(A<<6)|0;yBe(I|0,B|0,64)|0;A=A+1|0}while((A|0)<(w|0))}A=r[R>>2]|0;B=t+16|0;if((A|0)!=0){if((n[B]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[A-64+60>>2]|0)}r[R>>2]=0}n[B]=1;r[R>>2]=P;r[M>>2]=T;D=r[e>>2]|0}else{D=x}}while(0);x=r[t+12>>2]|0;p[x+(D<<6)>>2]=m;p[x+(D<<6)+4>>2]=b;p[x+(D<<6)+8>>2]=l;p[x+(D<<6)+12>>2]=h;p[x+(D<<6)+16>>2]=v;p[x+(D<<6)+20>>2]=f;p[x+(D<<6)+24>>2]=g;p[x+(D<<6)+28>>2]=a;r[x+(D<<6)+32>>2]=-1;r[x+(D<<6)+36>>2]=i;r[x+(D<<6)+40>>2]=_;_=x+(D<<6)+44|0;D=s;r[_>>2]=r[D>>2];r[_+4>>2]=r[D+4>>2];r[_+8>>2]=r[D+8>>2];r[_+12>>2]=r[D+12>>2];r[_+16>>2]=r[D+16>>2];r[e>>2]=(r[e>>2]|0)+1;d=o;return}function wPe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function APe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0;r[9808]=(r[9808]|0)+1;n=(r[t+12>>2]|0)>(r[i+12>>2]|0);_=r[(n?i:t)+12>>2]|0;o=r[(n?t:i)+12>>2]|0;i=o<<16|_;t=i+~(i<<15)|0;i=(t>>10^t)*9|0;t=i>>6^i;i=t+~(t<<11)|0;t=(i>>16^i)&(r[e+12>>2]|0)-1;if((t|0)>=(r[e+36>>2]|0)){s=0;return s|0}i=r[(r[e+44>>2]|0)+(t<<2)>>2]|0;if((i|0)==-1){s=0;return s|0}t=r[e+16>>2]|0;n=e+64|0;e=i;while(1){if((r[(r[t+(e<<4)>>2]|0)+12>>2]|0)==(_|0)){if((r[(r[t+(e<<4)+4>>2]|0)+12>>2]|0)==(o|0)){break}}i=r[(r[n>>2]|0)+(e<<2)>>2]|0;if((i|0)==-1){s=0;a=4102;break}else{e=i}}if((a|0)==4102){return s|0}s=t+(e<<4)|0;return s|0}function FPe(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0;s=+p[t>>2];a=s<999999984306749400.0?s:999999984306749400.0;l=+p[t+4>>2];d=l<999999984306749400.0?l:999999984306749400.0;c=+p[t+8>>2];b=c<999999984306749400.0?c:999999984306749400.0;u=s>-999999984306749400.0?s:-999999984306749400.0;s=l>-999999984306749400.0?l:-999999984306749400.0;l=c>-999999984306749400.0?c:-999999984306749400.0;c=+p[t+16>>2];m=c<a?c:a;a=+p[t+20>>2];h=a<d?a:d;d=+p[t+24>>2];f=d<b?d:b;b=u<c?c:u;u=s<a?a:s;s=l<d?d:l;l=+p[t+32>>2];d=l<m?l:m;m=+p[t+36>>2];a=m<h?m:h;h=+p[t+40>>2];c=h<f?h:f;f=b<l?l:b;b=u<m?m:u;u=s<h?h:s;if(f-d<.0020000000949949026){g=f+.0010000000474974513;C=d+-.0010000000474974513}else{g=f;C=d}if(b-a<.0020000000949949026){S=b+.0010000000474974513;y=a+-.0010000000474974513}else{S=b;y=a}if(u-c<.0020000000949949026){v=u+.0010000000474974513;x=c+-.0010000000474974513}else{v=u;x=c}t=r[e+8>>2]|0;c=+p[t+4>>2];u=+p[t+8>>2];a=+p[t+12>>2];b=+p[t+36>>2];d=+p[t+40>>2];f=+p[t+44>>2];t=~~((C-c)*b)&-2;M=~~((y-u)*d)&-2;T=~~((x-a)*f)&-2;D=~~((g-c)*b+1.0)|1;P=~~((S-u)*d+1.0)|1;w=~~((v-a)*f+1.0)|1;A=i<<21|o;o=r[e+4>>2]|0;e=o+4|0;i=r[e>>2]|0;F=o+8|0;do{if((i|0)==(r[F>>2]|0)){R=(i|0)==0?1:i<<1;if((i|0)>=(R|0)){I=i;break}if((R|0)==0){B=0;V=i}else{r[9806]=(r[9806]|0)+1;E=hBe((R<<4|4)+15|0)|0;if((E|0)==0){N=0}else{k=-(E+4|0)&15;r[E+k>>2]=E;N=E+(k+4)|0}B=N;V=r[e>>2]|0}k=o+12|0;if((V|0)>0){E=0;do{O=B+(E<<4)|0;L=(r[k>>2]|0)+(E<<4)|0;r[O>>2]=r[L>>2];r[O+4>>2]=r[L+4>>2];r[O+8>>2]=r[L+8>>2];r[O+12>>2]=r[L+12>>2];E=E+1|0}while((E|0)<(V|0))}E=r[k>>2]|0;L=o+16|0;if((E|0)!=0){if((n[L]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[E-16+12>>2]|0)}r[k>>2]=0}n[L]=1;r[k>>2]=B;r[F>>2]=R;I=r[e>>2]|0}else{I=i}}while(0);i=r[o+12>>2]|0;_[i+(I<<4)>>1]=t;_[i+(I<<4)+2>>1]=M;_[i+(I<<4)+4>>1]=T;_[i+(I<<4)+6>>1]=D;_[i+(I<<4)+8>>1]=P;_[i+(I<<4)+10>>1]=w;r[i+(I<<4)+12>>2]=A;r[e>>2]=(r[e>>2]|0)+1;return}function RPe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0;r[e>>2]=20208;t=e+20|0;n[t]=1;i=e+16|0;r[i>>2]=0;_=e+8|0;r[_>>2]=0;o=e+12|0;r[o>>2]=0;r[e+24>>2]=0;n[e+28|0]=0;n[e+48|0]=1;r[e+44>>2]=0;r[e+36>>2]=0;r[e+40>>2]=0;n[e+68|0]=1;r[e+64>>2]=0;r[e+56>>2]=0;r[e+60>>2]=0;r[e+72>>2]=0;r[9806]=(r[9806]|0)+1;s=hBe(51)|0;if((s|0)==0){a=0}else{p=-(s+4|0)&15;r[s+p>>2]=s;a=s+(p+4)|0}p=r[_>>2]|0;if((p|0)>0){_=0;do{s=r[i>>2]|0;r[a+(_<<4)>>2]=r[s+(_<<4)>>2];r[a+(_<<4)+4>>2]=r[s+(_<<4)+4>>2];r[a+(_<<4)+8>>2]=r[s+(_<<4)+8>>2];r[a+(_<<4)+12>>2]=r[s+(_<<4)+12>>2];_=_+1|0}while((_|0)<(p|0))}p=r[i>>2]|0;if((p|0)==0){n[t]=1;r[i>>2]=a;r[o>>2]=2;IPe(e);return}if((n[t]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[p-16+12>>2]|0)}r[i>>2]=0;n[t]=1;r[i>>2]=a;r[o>>2]=2;IPe(e);return}function IPe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0;t=e+12|0;i=r[t>>2]|0;_=e+36|0;o=r[_>>2]|0;if((o|0)>=(i|0)){return}if((o|0)<=(i|0)){s=e+40|0;if((r[s>>2]|0)<(i|0)){if((i|0)==0){a=0;p=o}else{r[9806]=(r[9806]|0)+1;l=hBe((i<<2)+19|0)|0;if((l|0)==0){d=0}else{c=-(l+4|0)&15;r[l+c>>2]=l;d=l+(c+4)|0}a=d;p=r[_>>2]|0}d=e+44|0;if((p|0)>0){c=0;do{l=a+(c<<2)|0;if((l|0)!=0){r[l>>2]=r[(r[d>>2]|0)+(c<<2)>>2]}c=c+1|0}while((c|0)<(p|0))}p=r[d>>2]|0;c=e+48|0;if((p|0)!=0){if((n[c]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[p-4>>2]|0)}r[d>>2]=0}n[c]=1;r[d>>2]=a;r[s>>2]=i;b=d}else{b=e+44|0}d=o;do{s=(r[b>>2]|0)+(d<<2)|0;if((s|0)!=0){r[s>>2]=0}d=d+1|0}while((d|0)<(i|0))}r[_>>2]=i;_=e+56|0;d=r[_>>2]|0;if((d|0)<(i|0)){b=e+60|0;if((r[b>>2]|0)<(i|0)){if((i|0)==0){u=0;m=d}else{r[9806]=(r[9806]|0)+1;s=hBe((i<<2)+19|0)|0;if((s|0)==0){h=0}else{a=-(s+4|0)&15;r[s+a>>2]=s;h=s+(a+4)|0}u=h;m=r[_>>2]|0}h=e+64|0;if((m|0)>0){a=0;do{s=u+(a<<2)|0;if((s|0)!=0){r[s>>2]=r[(r[h>>2]|0)+(a<<2)>>2]}a=a+1|0}while((a|0)<(m|0))}m=r[h>>2]|0;a=e+68|0;if((m|0)!=0){if((n[a]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[m-4>>2]|0)}r[h>>2]=0}n[a]=1;r[h>>2]=u;r[b>>2]=i;f=h}else{f=e+64|0}h=d;do{d=(r[f>>2]|0)+(h<<2)|0;if((d|0)!=0){r[d>>2]=0}h=h+1|0}while((h|0)<(i|0))}r[_>>2]=i;if((i|0)>0){_=e+44|0;h=0;do{r[(r[_>>2]|0)+(h<<2)>>2]=-1;h=h+1|0}while((h|0)<(i|0));h=e+64|0;_=0;do{r[(r[h>>2]|0)+(_<<2)>>2]=-1;_=_+1|0}while((_|0)<(i|0))}if((o|0)<=0){return}i=e+16|0;_=e+44|0;h=e+64|0;e=0;do{f=r[i>>2]|0;d=r[(r[f+(e<<4)+4>>2]|0)+12>>2]<<16|r[(r[f+(e<<4)>>2]|0)+12>>2];f=d+~(d<<15)|0;d=(f>>10^f)*9|0;f=d>>6^d;d=f+~(f<<11)|0;f=(d>>16^d)&(r[t>>2]|0)-1;r[(r[h>>2]|0)+(e<<2)>>2]=r[(r[_>>2]|0)+(f<<2)>>2];r[(r[_>>2]|0)+(f<<2)>>2]=e;e=e+1|0}while((e|0)<(o|0));return}function BPe(e){e=e|0;VPe(e);if((e|0)==0){return}SBe(e);return}function VPe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=20208;t=e+56|0;i=e+64|0;_=r[i>>2]|0;o=e+68|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+60>>2]=0;t=e+36|0;i=e+44|0;o=r[i>>2]|0;_=e+48|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+40>>2]=0;t=e+8|0;i=e+16|0;_=r[i>>2]|0;o=e+20|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}function EPe(e,t,i){e=e|0;t=t|0;i=i|0;e=t+8|0;t=r[e>>2]|0;if((t|0)==0){return}jnt[r[r[t>>2]>>2]&2047](t);Znt[r[(r[i>>2]|0)+60>>2]&2047](i,r[e>>2]|0);r[e>>2]=0;return}function NPe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=d;d=d+16|0;_=n|0;r[_>>2]=18592;r[_+4>>2]=t;r[_+8>>2]=e;r[_+12>>2]=i;srt[r[(r[e>>2]|0)+48>>2]&511](e,_|0,i);d=n;return}function kPe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=d;d=d+8|0;_=n|0;r[_>>2]=18560;r[_+4>>2]=t;srt[r[(r[e>>2]|0)+48>>2]&511](e,_|0,i);d=n;return}function OPe(e){e=e|0;return 0}function LPe(e){e=e|0;return}function UPe(e){e=e|0;return}function GPe(e){e=e|0;return r[e+16>>2]|0}function WPe(e){e=e|0;return r[e+16>>2]|0}function zPe(e){e=e|0;return e+4|0}function HPe(e){e=e|0;return r[e+8>>2]|0}function jPe(e,t){e=e|0;t=t|0;r[e+24>>2]=t;return}function XPe(e,t){e=e|0;t=t|0;r[e+72>>2]=t;return}function ZPe(e,t){e=e|0;t=t|0;var i=0,n=0;i=r[e+4>>2]|0;if((r[t>>2]|0)==(i|0)){n=1;return n|0}n=(r[t+4>>2]|0)==(i|0);return n|0}function QPe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;t=e+4|0;i=r[t>>2]|0;_=e+8|0;if((i|0)!=(r[_>>2]|0)){o=i;s=o+1|0;r[t>>2]=s;a=e+12|0;p=r[a>>2]|0;l=p+(i<<4)|0;return l|0}d=(i|0)==0?1:i<<1;if((i|0)>=(d|0)){o=i;s=o+1|0;r[t>>2]=s;a=e+12|0;p=r[a>>2]|0;l=p+(i<<4)|0;return l|0}if((d|0)==0){c=0;b=i}else{r[9806]=(r[9806]|0)+1;u=hBe((d<<4|4)+15|0)|0;if((u|0)==0){m=0}else{h=-(u+4|0)&15;r[u+h>>2]=u;m=u+(h+4)|0}c=m;b=r[t>>2]|0}m=e+12|0;if((b|0)>0){h=0;do{u=r[m>>2]|0;r[c+(h<<4)>>2]=r[u+(h<<4)>>2];r[c+(h<<4)+4>>2]=r[u+(h<<4)+4>>2];r[c+(h<<4)+8>>2]=r[u+(h<<4)+8>>2];r[c+(h<<4)+12>>2]=r[u+(h<<4)+12>>2];h=h+1|0}while((h|0)<(b|0))}b=r[m>>2]|0;h=e+16|0;if((b|0)!=0){if((n[h]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-16+12>>2]|0)}r[m>>2]=0}n[h]=1;r[m>>2]=c;r[_>>2]=d;o=r[t>>2]|0;s=o+1|0;r[t>>2]=s;a=e+12|0;p=r[a>>2]|0;l=p+(i<<4)|0;return l|0}function qPe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0;r[9790]=(r[9790]|0)+1;_=(r[t+12>>2]|0)>(r[i+12>>2]|0);o=_?i:t;s=_?t:i;i=r[o+12>>2]|0;t=r[s+12>>2]|0;_=t<<16|i;a=_+~(_<<15)|0;_=(a>>10^a)*9|0;a=_>>6^_;_=a+~(a<<11)|0;a=e+12|0;p=(_>>16^_)&(r[a>>2]|0)-1;_=e+44|0;l=r[(r[_>>2]|0)+(p<<2)>>2]|0;if((l|0)==-1){d=0;return d|0}c=e+16|0;b=r[c>>2]|0;u=e+64|0;m=l;while(1){if((r[(r[b+(m<<4)>>2]|0)+12>>2]|0)==(i|0)){if((r[(r[b+(m<<4)+4>>2]|0)+12>>2]|0)==(t|0)){break}}l=r[(r[u>>2]|0)+(m<<2)>>2]|0;if((l|0)==-1){d=0;h=4278;break}else{m=l}}if((h|0)==4278){return d|0}t=b+(m<<4)|0;if((t|0)==0){d=0;return d|0}srt[r[(r[e>>2]|0)+32>>2]&511](e,t,n);i=r[b+(m<<4)+12>>2]|0;m=(t-(r[c>>2]|0)|0)/16|0;t=(r[_>>2]|0)+(p<<2)|0;p=r[t>>2]|0;b=r[u>>2]|0;do{if((p|0)==(m|0)){f=r[b+(m<<2)>>2]|0;h=4263}else{l=p;while(1){g=b+(l<<2)|0;C=r[g>>2]|0;if((C|0)==(m|0)){break}else{l=C}}C=r[b+(m<<2)>>2]|0;if((l|0)==-1){f=C;h=4263;break}r[g>>2]=C}}while(0);if((h|0)==4263){r[t>>2]=f}f=e+8|0;t=(r[f>>2]|0)-1|0;g=r[e+72>>2]|0;if((g|0)!=0){e=r[(r[g>>2]|0)+12>>2]|0;drt[e&127](g,o,s,n)|0}if((t|0)==(m|0)){r[f>>2]=(r[f>>2]|0)-1;d=i;return d|0}n=r[c>>2]|0;s=r[(r[n+(t<<4)+4>>2]|0)+12>>2]<<16|r[(r[n+(t<<4)>>2]|0)+12>>2];n=s+~(s<<15)|0;s=(n>>10^n)*9|0;n=s>>6^s;s=n+~(n<<11)|0;n=(s>>16^s)&(r[a>>2]|0)-1;a=(r[_>>2]|0)+(n<<2)|0;s=r[a>>2]|0;o=r[u>>2]|0;do{if((s|0)==(t|0)){S=r[o+(t<<2)>>2]|0;h=4273}else{g=s;while(1){y=o+(g<<2)|0;e=r[y>>2]|0;if((e|0)==(t|0)){break}else{g=e}}l=r[o+(t<<2)>>2]|0;if((g|0)==-1){S=l;h=4273;break}r[y>>2]=l}}while(0);if((h|0)==4273){r[a>>2]=S}S=r[c>>2]|0;c=S+(m<<4)|0;a=S+(t<<4)|0;r[c>>2]=r[a>>2];r[c+4>>2]=r[a+4>>2];r[c+8>>2]=r[a+8>>2];r[c+12>>2]=r[a+12>>2];r[(r[u>>2]|0)+(m<<2)>>2]=r[(r[_>>2]|0)+(n<<2)>>2];r[(r[_>>2]|0)+(n<<2)>>2]=m;r[f>>2]=(r[f>>2]|0)-1;d=i;return d|0}function YPe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0;n=e+8|0;if((r[n>>2]|0)<=0){return}_=e+16|0;o=t;s=e;a=0;e:while(1){while(1){p=r[_>>2]|0;l=p+(a<<4)|0;if(!(j_t[r[(r[o>>2]|0)+8>>2]&511](t,l)|0)){break}drt[r[(r[s>>2]|0)+12>>2]&127](e,r[l>>2]|0,r[p+(a<<4)+4>>2]|0,i)|0;r[9792]=(r[9792]|0)-1;if((a|0)>=(r[n>>2]|0)){d=4288;break e}}p=a+1|0;if((p|0)<(r[n>>2]|0)){a=p}else{d=4290;break}}if((d|0)==4288){return}else if((d|0)==4290){return}}function JPe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0;i=d;d=d+24|0;_=i|0;o=_+16|0;n[o]=1;s=_+12|0;r[s>>2]=0;a=_+4|0;r[a>>2]=0;p=_+8|0;r[p>>2]=0;l=e+8|0;do{if((r[l>>2]|0)>0){c=e+16|0;b=0;u=0;m=0;while(1){h=r[c>>2]|0;do{if((u|0)==(m|0)){f=(m|0)==0?1:m<<1;if((m|0)>=(f|0)){g=m;break}if((f|0)==0){C=0;S=m}else{r[9806]=(r[9806]|0)+1;y=hBe((f<<4|4)+15|0)|0;if((y|0)==0){v=0}else{x=-(y+4|0)&15;r[y+x>>2]=y;v=y+(x+4)|0}C=v;S=r[a>>2]|0}if((S|0)>0){x=0;do{y=r[s>>2]|0;r[C+(x<<4)>>2]=r[y+(x<<4)>>2];r[C+(x<<4)+4>>2]=r[y+(x<<4)+4>>2];r[C+(x<<4)+8>>2]=r[y+(x<<4)+8>>2];r[C+(x<<4)+12>>2]=r[y+(x<<4)+12>>2];x=x+1|0}while((x|0)<(S|0))}x=r[s>>2]|0;if((x|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[x-16+12>>2]|0)}r[s>>2]=0}n[o]=1;r[s>>2]=C;r[p>>2]=f;g=r[a>>2]|0}else{g=u}}while(0);x=r[s>>2]|0;r[x+(g<<4)>>2]=r[h+(b<<4)>>2];r[x+(g<<4)+4>>2]=r[h+(b<<4)+4>>2];r[x+(g<<4)+8>>2]=r[h+(b<<4)+8>>2];r[x+(g<<4)+12>>2]=r[h+(b<<4)+12>>2];M=(r[a>>2]|0)+1|0;r[a>>2]=M;x=b+1|0;if((x|0)>=(r[l>>2]|0)){break}b=x;u=M;m=r[p>>2]|0}if((M|0)<=0){T=M;break}m=e;u=0;while(1){b=r[s>>2]|0;drt[r[(r[m>>2]|0)+12>>2]&127](e,r[b+(u<<4)>>2]|0,r[b+(u<<4)+4>>2]|0,t)|0;b=u+1|0;c=r[a>>2]|0;if((b|0)<(c|0)){u=b}else{T=c;break}}}else{T=0}}while(0);t=e+56|0;if((r[t>>2]|0)>0){M=e+64|0;p=0;do{r[(r[M>>2]|0)+(p<<2)>>2]=-1;p=p+1|0}while((p|0)<(r[t>>2]|0));D=r[a>>2]|0}else{D=T}if((D|0)>1){xCe(_,0,D-1|0);P=r[a>>2]|0}else{P=D}if((P|0)>0){P=e;D=0;do{_=r[s>>2]|0;h_t[r[(r[P>>2]|0)+8>>2]&511](e,r[_+(D<<4)>>2]|0,r[_+(D<<4)+4>>2]|0)|0;D=D+1|0}while((D|0)<(r[a>>2]|0))}a=r[s>>2]|0;if((a|0)==0){d=i;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-16+12>>2]|0)}r[s>>2]=0;d=i;return}function KPe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0;r[9812]=(r[9812]|0)+1;n=r[e+24>>2]|0;do{if((n|0)==0){if((_[i+6>>1]&_[t+4>>1])<<16>>16==0){o=0;return o|0}if((_[t+6>>1]&_[i+4>>1])<<16>>16==0){o=0}else{break}return o|0}else{if(h_t[r[(r[n>>2]|0)+8>>2]&511](n,t,i)|0){break}else{o=0}return o|0}}while(0);n=(r[t+12>>2]|0)>(r[i+12>>2]|0);s=n?i:t;a=n?t:i;i=s+12|0;t=r[i>>2]|0;n=a+12|0;p=r[n>>2]|0;l=p<<16|t;d=l+~(l<<15)|0;l=(d>>10^d)*9|0;d=l>>6^l;l=d+~(d<<11)|0;d=l>>16^l;l=e+4|0;c=e+12|0;b=r[c>>2]|0;u=d&b-1;m=e+44|0;h=r[(r[m>>2]|0)+(u<<2)>>2]|0;e:do{if((h|0)!=-1){f=r[e+16>>2]|0;g=e+64|0;C=h;while(1){if((r[(r[f+(C<<4)>>2]|0)+12>>2]|0)==(t|0)){if((r[(r[f+(C<<4)+4>>2]|0)+12>>2]|0)==(p|0)){break}}S=r[(r[g>>2]|0)+(C<<2)>>2]|0;if((S|0)==-1){break e}else{C=S}}g=f+(C<<4)|0;if((g|0)==0){break}else{o=g}return o|0}}while(0);p=r[e+8>>2]|0;t=QPe(l)|0;l=r[e+72>>2]|0;if((l|0)!=0){h=r[(r[l>>2]|0)+8>>2]|0;h_t[h&511](l,s,a)|0}if((b|0)<(r[c>>2]|0)){IPe(e);y=(r[c>>2]|0)-1&d}else{y=u}u=t|0;if((r[i>>2]|0)<(r[n>>2]|0)){r[u>>2]=s;r[t+4>>2]=a}else{r[u>>2]=a;r[t+4>>2]=s}s=t+8|0;r[s>>2]=0;r[s+4>>2]=0;r[(r[e+64>>2]|0)+(p<<2)>>2]=r[(r[m>>2]|0)+(y<<2)>>2];r[(r[m>>2]|0)+(y<<2)>>2]=p;o=t;return o|0}function $Pe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ewe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function twe(e,t){e=e|0;t=t|0;var i=0;i=r[e+4>>2]|0;do{if((r[t>>2]|0)!=(i|0)){if((r[t+4>>2]|0)==(i|0)){break}return 0}}while(0);i=r[e+8>>2]|0;srt[r[(r[i>>2]|0)+32>>2]&511](i,t,r[e+12>>2]|0);return 0}function iwe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,d=0,c=0.0,b=0.0,u=0.0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0;i=e+1116|0;n=r[i>>2]|0;if((n|0)!=4){r[i>>2]=n+1;_=n;o=(_|0)<0;s=o?0:_;a=e+4+(s*276|0)|0;l=a;d=t;yBe(l|0,d|0,276)|0;return s|0}c=+p[t+80>>2];b=+p[e+84>>2];n=b<c;u=n?b:c;c=+p[e+360>>2];i=c<u;b=i?c:u;u=+p[e+636>>2];m=u<b;h=+p[e+912>>2]<(m?u:b);f=h?3:m?2:i?1:(n^1)<<31>>31;b=+p[t>>2];do{if((f|0)==0){g=0.0;C=+p[t+4>>2];S=+p[t+8>>2];y=+p[e+832>>2];v=+p[e+556>>2];x=+p[e+836>>2];M=+p[e+560>>2];T=+p[e+840>>2];D=+p[e+564>>2];P=+p[e+280>>2];w=+p[e+284>>2];A=+p[e+288>>2];F=4381}else{u=+p[e+280>>2];c=b-u;R=+p[t+4>>2];I=+p[e+284>>2];B=R-I;V=+p[t+8>>2];E=+p[e+288>>2];N=V-E;k=+p[e+832>>2];O=+p[e+556>>2];L=k-O;U=+p[e+836>>2];G=+p[e+560>>2];W=U-G;z=+p[e+840>>2];j=+p[e+564>>2];X=z-j;Z=B*X-N*W;Q=N*L-c*X;X=c*W-B*L;L=X*X+(Z*Z+Q*Q);if((f|0)!=1){g=L;C=R;S=V;y=k;v=O;x=U;M=G;T=z;D=j;P=u;w=I;A=E;F=4381;break}q=0.0;Y=L;J=O;K=G;$=j;ee=R;te=V;ie=k;ne=U;_e=z;re=+p[e+4>>2];oe=+p[e+8>>2];se=+p[e+12>>2];ae=u;pe=I;le=E;F=4382}}while(0);if((F|0)==4381){E=+p[e+4>>2];I=b-E;u=+p[e+8>>2];z=C-u;U=+p[e+12>>2];k=S-U;V=y-v;R=x-M;j=T-D;G=z*j-k*R;O=k*V-I*j;j=I*R-z*V;V=j*j+(G*G+O*O);if((f|0)==2){de=0.0;ce=V;be=g;ue=E;me=C;he=u;fe=S;ge=U;Ce=v;Se=M;ye=D;ve=P;xe=w;Me=A;F=4383}else{q=V;Y=g;J=v;K=M;$=D;ee=C;te=S;ie=y;ne=x;_e=T;re=E;oe=u;se=U;ae=P;pe=w;le=A;F=4382}}if((F|0)==4382){A=b-re;w=ee-oe;P=te-se;U=ie-ae;ie=ne-pe;ne=_e-le;_e=w*ne-P*ie;u=P*U-A*ne;ne=A*ie-w*U;U=ne*ne+(_e*_e+u*u);if(h){Te=0.0;De=U;Pe=q;we=Y}else{de=U;ce=q;be=Y;ue=re;me=ee;he=oe;fe=te;ge=se;Ce=J;Se=K;ye=$;ve=ae;xe=pe;Me=le;F=4383}}if((F|0)==4383){le=b-ue;ue=me-he;he=fe-ge;ge=Ce-ve;ve=Se-xe;xe=ye-Me;Me=ue*xe-he*ve;ye=he*ge-le*xe;xe=le*ve-ue*ge;Te=xe*xe+(Me*Me+ye*ye);De=de;Pe=ce;we=be}be=+H(+we);we=+H(+Pe);Pe=+H(+De);F=be>-999999984306749400.0;De=F?be:-999999984306749400.0;h=we>De;be=h?we:De;f=Pe>be;_=+H(+Te)>(f?Pe:be)?3:f?2:h?1:(F^1)<<31>>31;o=(_|0)<0;s=o?0:_;a=e+4+(s*276|0)|0;l=a;d=t;yBe(l|0,d|0,276)|0;return s|0}function nwe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0,G=0,W=0;_=e+1116|0;o=r[_>>2]|0;if((o|0)<=0){return}s=t|0;a=t+4|0;l=t+8|0;d=t+48|0;c=t+16|0;b=t+20|0;u=t+24|0;m=t+52|0;h=t+32|0;f=t+36|0;g=t+40|0;C=t+56|0;t=i|0;S=i+4|0;y=i+8|0;v=i+48|0;x=i+16|0;M=i+20|0;T=i+24|0;D=i+52|0;P=i+32|0;w=i+36|0;A=i+40|0;F=i+56|0;i=o;do{i=i-1|0;R=+p[e+4+(i*276|0)>>2];I=+p[e+4+(i*276|0)+4>>2];B=+p[e+4+(i*276|0)+8>>2];V=+p[d>>2]+(+p[s>>2]*R+ +p[a>>2]*I+ +p[l>>2]*B);E=+p[m>>2]+(R*+p[c>>2]+I*+p[b>>2]+B*+p[u>>2]);N=+p[C>>2]+(R*+p[h>>2]+I*+p[f>>2]+B*+p[g>>2]);p[e+4+(i*276|0)+48>>2]=V;p[e+4+(i*276|0)+52>>2]=E;p[e+4+(i*276|0)+56>>2]=N;p[e+4+(i*276|0)+60>>2]=0.0;B=+p[e+4+(i*276|0)+16>>2];I=+p[e+4+(i*276|0)+20>>2];R=+p[e+4+(i*276|0)+24>>2];k=+p[v>>2]+(+p[t>>2]*B+ +p[S>>2]*I+ +p[y>>2]*R);O=+p[D>>2]+(B*+p[x>>2]+I*+p[M>>2]+R*+p[T>>2]);L=+p[F>>2]+(B*+p[P>>2]+I*+p[w>>2]+R*+p[A>>2]);p[e+4+(i*276|0)+32>>2]=k;p[e+4+(i*276|0)+36>>2]=O;p[e+4+(i*276|0)+40>>2]=L;p[e+4+(i*276|0)+44>>2]=0.0;p[e+4+(i*276|0)+80>>2]=(V-k)*+p[e+4+(i*276|0)+64>>2]+(E-O)*+p[e+4+(i*276|0)+68>>2]+(N-L)*+p[e+4+(i*276|0)+72>>2];o=e+4+(i*276|0)+144|0;r[o>>2]=(r[o>>2]|0)+1}while((i|0)>0);i=r[_>>2]|0;if((i|0)<=0){return}A=e+1120|0;w=e+1124|0;P=i;F=i;while(1){i=P-1|0;T=e+4+(i*276|0)|0;L=+p[e+4+(i*276|0)+80>>2];do{if(L>+p[((r[e+4+(i*276|0)+144>>2]|0)>1?A:w)>>2]){M=F-1|0;if((M|0)==(i|0)){U=F}else{x=T;D=e+4+(M*276|0)|0;yBe(x|0,D|0,276)|0;r[e+4+(M*276|0)+108>>2]=0;p[e+4+(M*276|0)+208>>2]=0.0;p[e+4+(M*276|0)+240>>2]=0.0;p[e+4+(M*276|0)+272>>2]=0.0;p[e+4+(M*276|0)+112>>2]=0.0;n[e+4+(M*276|0)+116|0]=0;p[e+4+(M*276|0)+120>>2]=0.0;p[e+4+(M*276|0)+124>>2]=0.0;r[e+4+(M*276|0)+144>>2]=0;U=r[_>>2]|0}M=U-1|0;r[_>>2]=M;G=M}else{N=+p[e+4+(i*276|0)+32>>2]-(+p[e+4+(i*276|0)+48>>2]-+p[e+4+(i*276|0)+64>>2]*L);O=+p[e+4+(i*276|0)+36>>2]-(+p[e+4+(i*276|0)+52>>2]-L*+p[e+4+(i*276|0)+68>>2]);E=+p[e+4+(i*276|0)+40>>2]-(+p[e+4+(i*276|0)+56>>2]-L*+p[e+4+(i*276|0)+72>>2]);k=+p[A>>2];if(N*N+O*O+E*E<=k*k){G=F;break}M=F-1|0;if((M|0)==(i|0)){W=F}else{D=T;x=e+4+(M*276|0)|0;yBe(D|0,x|0,276)|0;r[e+4+(M*276|0)+108>>2]=0;p[e+4+(M*276|0)+208>>2]=0.0;p[e+4+(M*276|0)+240>>2]=0.0;p[e+4+(M*276|0)+272>>2]=0.0;p[e+4+(M*276|0)+112>>2]=0.0;n[e+4+(M*276|0)+116|0]=0;p[e+4+(M*276|0)+120>>2]=0.0;p[e+4+(M*276|0)+124>>2]=0.0;r[e+4+(M*276|0)+144>>2]=0;W=r[_>>2]|0}M=W-1|0;r[_>>2]=M;G=M}}while(0);if((i|0)>0){P=i;F=G}else{break}}return}function _we(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[e-56+52>>2]|0);return}function rwe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0);return}function owe(e){e=e|0;var t=0,i=0,o=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0,he=0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0,it=0,nt=0,_t=0,rt=0,ot=0,st=0,at=0,pt=0,lt=0,dt=0,ct=0,bt=0,ut=0,mt=0.0,ht=0,ft=0,gt=0,Ct=0,St=0,yt=0,vt=0,xt=0,Mt=0,Tt=0,Dt=0,Pt=0,wt=0,At=0,Ft=0,Rt=0,It=0,Bt=0,Vt=0,Et=0,Nt=0,kt=0,Ot=0,Lt=0,Ut=0,Gt=0,Wt=0,zt=0,Ht=0,jt=0,Xt=0,Zt=0,Qt=0,qt=0,Yt=0,Jt=0,Kt=0,$t=0,ei=0,ti=0,ii=0,ni=0,_i=0,ri=0,oi=0,si=0,ai=0,pi=0,li=0,di=0,ci=0,bi=0.0,ui=0,mi=0,hi=0,fi=0,gi=0,Ci=0,Si=0,yi=0,vi=0,xi=0,Mi=0,Ti=0,Di=0,Pi=0,wi=0,Ai=0,Fi=0,Ri=0,Ii=0,Bi=0,Vi=0,Ei=0,Ni=0,ki=0,Oi=0,Li=0,Ui=0,Gi=0,Wi=0,zi=0,Hi=0,ji=0,Xi=0,Zi=0,Qi=0,qi=0,Yi=0,Ji=0,Ki=0,$i=0,en=0,tn=0,nn=0,_n=0,rn=0,on=0,sn=0,an=0,pn=0,ln=0,dn=0,cn=0,bn=0.0,un=0,mn=0,hn=0,fn=0,gn=0,Cn=0,Sn=0,yn=0,vn=0,xn=0,Mn=0.0,Tn=0.0,Dn=0.0;t=d;d=d+544|0;i=t|0;o=t+8|0;a=t+16|0;l=t+32|0;c=t+56|0;b=t+72|0;u=t+88|0;m=t+104|0;h=t+232|0;f=t+248|0;g=t+264|0;C=t+280|0;S=t+296|0;y=t+312|0;v=t+376|0;x=t+392|0;M=t+448|0;D=t+464|0;P=t+512|0;w=t+528|0;A=e+52|0;F=r[A>>2]|0;if((F|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[F-80+76>>2]|0)}r[9806]=(r[9806]|0)+1;F=hBe(99)|0;do{if((F|0)==0){R=0}else{I=-(F+4|0)&15;B=F+(I+4)|0;r[F+I>>2]=F;if((B|0)==0){R=0;break}r[B>>2]=23416;n[F+(I+24)|0]=1;r[F+(I+20)>>2]=0;r[F+(I+12)>>2]=0;r[F+(I|16)>>2]=0;n[F+(I+44)|0]=1;r[F+(I+40)>>2]=0;r[F+(I|32)>>2]=0;r[F+(I+36)>>2]=0;n[F+(I|64)|0]=1;r[F+(I+60)>>2]=0;r[F+(I+52)>>2]=0;r[F+(I+56)>>2]=0;R=B}}while(0);r[A>>2]=R;R=e;F=e;B=S;S=0;I=0;V=0;while(1){if((S|0)>=(Knt[r[(r[R>>2]|0)+88>>2]&4095](e)|0)){break}do{if((S|0)==(I|0)){E=(I|0)==0?1:I<<1;if((I|0)>=(E|0)){N=I;k=V;break}do{if((E|0)==0){O=0}else{r[9806]=(r[9806]|0)+1;L=hBe((E<<4|4)+15|0)|0;if((L|0)==0){O=0;break}U=-(L+4|0)&15;r[L+U>>2]=L;O=L+(U+4)|0}}while(0);if((I|0)>0){U=0;do{L=O+(U<<4)|0;if((L|0)!=0){G=L;L=V+(U<<4)|0;r[G>>2]=r[L>>2];r[G+4>>2]=r[L+4>>2];r[G+8>>2]=r[L+8>>2];r[G+12>>2]=r[L+12>>2]}U=U+1|0}while((U|0)<(I|0))}if((V|0)==0){N=E;k=O;break}r[9804]=(r[9804]|0)+1;SBe(r[V-16+12>>2]|0);N=E;k=O}else{N=I;k=V}}while(0);U=k+(S<<4)|0;if((U|0)!=0){L=U;r[L>>2]=r[B>>2];r[L+4>>2]=r[B+4>>2];r[L+8>>2]=r[B+8>>2];r[L+12>>2]=r[B+12>>2]}srt[r[(r[F>>2]|0)+100>>2]&511](e,S,U);S=S+1|0;I=N;V=k}k=y+16|0;n[k]=1;N=y+12|0;r[N>>2]=0;I=y+4|0;r[I>>2]=0;F=y+8|0;r[F>>2]=0;B=y+36|0;n[B]=1;O=y+32|0;r[O>>2]=0;R=y+24|0;r[R>>2]=0;U=y+28|0;r[U>>2]=0;L=y+56|0;n[L]=1;G=y+52|0;r[G>>2]=0;W=y+44|0;r[W>>2]=0;z=y+48|0;r[z>>2]=0;X=V;Z=h;h=f;f=g;g=C;do{if((S|0)<1){n[k]=1;r[N>>2]=0;r[I>>2]=0;r[F>>2]=0;n[B]=1;r[O>>2]=0;r[R>>2]=0;r[U>>2]=0;n[L]=1;r[G>>2]=0;r[W>>2]=0;r[z>>2]=0}else{C=m+32|0;r[C>>2]=0;Q=m+36|0;r[Q>>2]=0;q=m+40|0;r[q>>2]=0;Y=m+44|0;r[Y>>2]=256;J=m+48|0;r[J>>2]=0;K=m+52|0;r[K>>2]=0;$=m+56|0;r[$>>2]=0;ee=m+60|0;r[ee>>2]=256;te=m+64|0;r[te>>2]=0;r[m+68>>2]=0;r[m+72>>2]=0;r[m+76>>2]=256;ie=m+96|0;n[ie]=1;ne=m+92|0;r[ne>>2]=0;_e=m+84|0;r[_e>>2]=0;re=m+88|0;r[re>>2]=0;oe=c;se=u;ae=(S|0)>0;pe=1.0000000150474662e+30;le=1.0000000150474662e+30;de=1.0000000150474662e+30;ce=-1.0000000150474662e+30;be=-1.0000000150474662e+30;ue=-1.0000000150474662e+30;me=0;he=X;while(1){fe=+p[he>>2];ge=+p[he+4>>2];Ce=+p[he+8>>2];Se=fe<de?fe:de;ye=ge<le?ge:le;ve=Ce<pe?Ce:pe;xe=ue<fe?fe:ue;Me=be<ge?ge:be;Te=ce<Ce?Ce:ce;De=me+1|0;if((De|0)<(S|0)){pe=ve;le=ye;de=Se;ce=Te;be=Me;ue=xe;me=De;he=he+16|0}else{break}}ue=xe-Se;be=Me-ye;ce=Te-ve;if(ue<be){he=m+112|0;r[he>>2]=be<ce?2:1;Pe=ue<ce?0:2;we=he}else{he=m+112|0;r[he>>2]=ue<ce?2:0;Pe=be<ce?1:2;we=he}he=m+104|0;r[he>>2]=Pe;me=r[we>>2]|0;if((Pe|0)==(me|0)){De=((Pe+1|0)>>>0)%3|0;r[he>>2]=De;Ae=r[we>>2]|0;Fe=De}else{Ae=me;Fe=Pe}me=m+108|0;r[me>>2]=3-Ae-Fe;de=ue*9788566967472434.0e-20;ue=be*9788566967472434.0e-20;be=ce*9788566967472434.0e-20;De=m|0;p[De>>2]=de;Re=m+4|0;p[Re>>2]=ue;Ie=m+8|0;p[Ie>>2]=be;p[m+12>>2]=0.0;if(de>0.0){Be=1.0/de}else{Be=de}if(ue>0.0){Ve=1.0/ue}else{Ve=ue}if(be>0.0){Ee=1.0/be}else{Ee=be}Ne=m+16|0;p[Ne>>2]=(Se+xe)*.5;ke=m+20|0;p[ke>>2]=(ye+Me)*.5;Oe=m+24|0;p[Oe>>2]=(ve+Te)*.5;p[m+28>>2]=0.0;Le=l+16|0;n[Le]=1;Ue=l+12|0;r[Ue>>2]=0;Ge=l+4|0;r[Ge>>2]=0;We=l+8|0;r[We>>2]=0;do{if(ae){r[9806]=(r[9806]|0)+1;ze=hBe((S<<4|4)+15|0)|0;do{if((ze|0)==0){He=0}else{je=-(ze+4|0)&15;r[ze+je>>2]=ze;Xe=ze+(je+4)|0;je=r[Ge>>2]|0;if((je|0)>0){Ze=0}else{He=Xe;break}while(1){Qe=Xe+(Ze<<4)|0;if((Qe|0)!=0){qe=Qe;Qe=(r[Ue>>2]|0)+(Ze<<4)|0;r[qe>>2]=r[Qe>>2];r[qe+4>>2]=r[Qe+4>>2];r[qe+8>>2]=r[Qe+8>>2];r[qe+12>>2]=r[Qe+12>>2]}Qe=Ze+1|0;if((Qe|0)<(je|0)){Ze=Qe}else{He=Xe;break}}}}while(0);ze=r[Ue>>2]|0;if((ze|0)!=0){if((n[Le]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[ze-16+12>>2]|0)}r[Ue>>2]=0}n[Le]=1;r[Ue>>2]=He;r[We>>2]=S;ze=0;E=He;while(1){Xe=E+(ze<<4)|0;if((Xe|0)!=0){je=Xe;r[je>>2]=r[oe>>2];r[je+4>>2]=r[oe+4>>2];r[je+8>>2]=r[oe+8>>2];r[je+12>>2]=r[oe+12>>2]}je=ze+1|0;if((je|0)>=(S|0)){break}ze=je;E=r[Ue>>2]|0}r[Ge>>2]=S;E=b|0;ze=b+4|0;je=b+8|0;Xe=b+12|0;Qe=0;qe=X;while(1){be=+p[qe>>2];p[E>>2]=be;ue=+p[qe+4>>2];p[ze>>2]=ue;de=Ve*(ue-+p[ke>>2]);ue=Ee*(+p[qe+8>>2]-+p[Oe>>2]);p[E>>2]=Be*(be-+p[Ne>>2]);p[ze>>2]=de;p[je>>2]=ue;p[Xe>>2]=0.0;r[(r[Ue>>2]|0)+(Qe<<4)>>2]=~~+p[b+(r[me>>2]<<2)>>2];r[(r[Ue>>2]|0)+(Qe<<4)+4>>2]=~~+p[b+(r[we>>2]<<2)>>2];r[(r[Ue>>2]|0)+(Qe<<4)+8>>2]=~~+p[b+(r[he>>2]<<2)>>2];r[(r[Ue>>2]|0)+(Qe<<4)+12>>2]=Qe;Ye=Qe+1|0;if((Ye|0)>=(S|0)){break}Qe=Ye;qe=qe+16|0}qe=r[Ge>>2]|0;if((qe|0)<=1){break}JIe(l,0,qe-1|0)}else{r[Ge>>2]=S}}while(0);oe=m+32|0;r[Q>>2]=r[oe>>2];r[q>>2]=0;r[Y>>2]=S;qe=r[_e>>2]|0;if((qe|0)<(S|0)){if((r[re>>2]|0)<(S|0)){if((S|0)==0){Je=0;Ke=qe}else{r[9806]=(r[9806]|0)+1;Qe=hBe((S<<2)+19|0)|0;if((Qe|0)==0){$e=0}else{Xe=-(Qe+4|0)&15;r[Qe+Xe>>2]=Qe;$e=Qe+(Xe+4)|0}Je=$e;Ke=r[_e>>2]|0}if((Ke|0)>0){Xe=0;do{Qe=Je+(Xe<<2)|0;if((Qe|0)!=0){r[Qe>>2]=r[(r[ne>>2]|0)+(Xe<<2)>>2]}Xe=Xe+1|0}while((Xe|0)<(Ke|0))}Xe=r[ne>>2]|0;if((Xe|0)!=0){if((n[ie]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Xe-4>>2]|0)}r[ne>>2]=0}n[ie]=1;r[ne>>2]=Je;r[re>>2]=S;et=qe}else{et=qe}do{Xe=(r[ne>>2]|0)+(et<<2)|0;if((Xe|0)!=0){r[Xe>>2]=0}et=et+1|0}while((et|0)<(S|0))}r[_e>>2]=S;if(ae){qe=0;do{Xe=r[q>>2]|0;if((Xe|0)==0){Qe=r[Q>>2]|0;if((Qe|0)==0){r[9806]=(r[9806]|0)+1;je=hBe(31)|0;do{if((je|0)==0){tt=0}else{ze=-(je+4|0)&15;E=je+(ze+4)|0;r[je+ze>>2]=je;if((E|0)==0){tt=0;break}Ye=r[Y>>2]|0;r[je+(ze+8)>>2]=Ye;r[je+(ze+12)>>2]=0;r[9806]=(r[9806]|0)+1;ze=hBe((Ye*112|0|4)+15|0)|0;if((ze|0)==0){it=0}else{Ye=-(ze+4|0)&15;r[ze+Ye>>2]=ze;it=ze+(Ye+4)|0}r[E>>2]=it;tt=E}}while(0);r[tt+8>>2]=r[oe>>2];r[oe>>2]=tt;nt=tt}else{r[Q>>2]=r[Qe+8>>2];nt=Qe}je=nt|0;E=nt+4|0;Ye=r[E>>2]|0;if((Ye|0)>0){ze=r[je>>2]|0;_t=0;rt=Ye;while(1){Ye=_t+1|0;ot=ze+112|0;r[ze>>2]=(Ye|0)<(rt|0)?ot:0;st=r[E>>2]|0;if((Ye|0)<(st|0)){ze=ot;_t=Ye;rt=st}else{break}}}rt=r[je>>2]|0;r[q>>2]=r[rt>>2];if((rt|0)==0){at=0}else{pt=rt;lt=4509}}else{r[q>>2]=r[Xe>>2];pt=Xe;lt=4509}if((lt|0)==4509){lt=0;vBe(pt|0,0,20);r[pt+104>>2]=-1;at=pt}r[at+8>>2]=0;rt=at+88|0;_t=(r[Ue>>2]|0)+(qe<<4)|0;r[rt>>2]=r[_t>>2];r[rt+4>>2]=r[_t+4>>2];r[rt+8>>2]=r[_t+8>>2];r[rt+12>>2]=r[_t+12>>2];r[at+104>>2]=-1;r[(r[ne>>2]|0)+(qe<<2)>>2]=at;qe=qe+1|0}while((qe|0)<(S|0))}qe=r[Ue>>2]|0;if((qe|0)!=0){if((n[Le]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[qe-16+12>>2]|0)}r[Ue>>2]=0}n[Le]=1;r[Ue>>2]=0;r[Ge>>2]=0;r[We>>2]=0;r[K>>2]=r[J>>2];r[$>>2]=0;r[ee>>2]=S*6|0;r[m+116>>2]=0;r[m+120>>2]=0;r[m+100>>2]=-3;vBe(se|0,0,16);zIe(m,0,S,u);qe=m+124|0;r[qe>>2]=r[u>>2];q=r[Ue>>2]|0;if((q|0)!=0){if((n[Le]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[q-16+12>>2]|0)}r[Ue>>2]=0}q=r[I>>2]|0;if((q|0)<0){Q=r[N>>2]|0;if((r[F>>2]|0)<0){if((Q|0)!=0){if((n[k]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Q-16+12>>2]|0)}r[N>>2]=0}n[k]=1;r[N>>2]=0;r[F>>2]=0;dt=0}else{dt=Q}Q=q;do{q=dt+(Q<<4)|0;if((q|0)!=0){oe=q;r[oe>>2]=r[Z>>2];r[oe+4>>2]=r[Z+4>>2];r[oe+8>>2]=r[Z+8>>2];r[oe+12>>2]=r[Z+12>>2]}Q=Q+1|0}while((Q|0)<0)}r[I>>2]=0;vBe(h|0,0,12);Q=r[R>>2]|0;if((Q|0)<0){Ue=r[O>>2]|0;if((r[U>>2]|0)<0){if((Ue|0)!=0){if((n[B]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Ue-12+8>>2]|0)}r[O>>2]=0}n[B]=1;r[O>>2]=0;r[U>>2]=0;ct=0}else{ct=Ue}Ue=Q;do{Q=ct+(Ue*12|0)|0;if((Q|0)!=0){Le=Q;r[Le>>2]=r[h>>2];r[Le+4>>2]=r[h+4>>2];r[Le+8>>2]=r[h+8>>2]}Ue=Ue+1|0}while((Ue|0)<0)}r[R>>2]=0;Ue=r[W>>2]|0;if((Ue|0)<0){Le=r[G>>2]|0;if((r[z>>2]|0)<0){if((Le|0)!=0){if((n[L]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Le-4>>2]|0)}r[G>>2]=0}n[L]=1;r[G>>2]=0;r[z>>2]=0;bt=0}else{bt=Le}Le=Ue;do{Ue=bt+(Le<<2)|0;if((Ue|0)!=0){r[Ue>>2]=0}Le=Le+1|0}while((Le|0)<0)}r[W>>2]=0;Le=r[qe>>2]|0;Ue=Le+104|0;do{if((r[Ue>>2]|0)<0){r[Ue>>2]=0;r[9806]=(r[9806]|0)+1;Q=hBe(23)|0;do{if((Q|0)==0){ut=0}else{se=-(Q+4|0)&15;ee=Q+(se+4)|0;r[Q+se>>2]=Q;se=ee;if((ee|0)==0){ut=0;break}r[se>>2]=Le;ut=se}}while(0);Q=a|0;Xe=m+112|0;je=a+4|0;se=a+8|0;ee=ut;$=1;K=1;We=0;while(1){Ge=r[ee+(We<<2)>>2]|0;if((r[Ge+100>>2]|0)>-1){p[a+(r[me>>2]<<2)>>2]=+(r[Ge+88>>2]|0);p[a+(r[Xe>>2]<<2)>>2]=+(r[Ge+92>>2]|0);mt=+(r[Ge+96>>2]|0)}else{ue=+YIe(Ge+24|0);oe=Ge+72|0;de=ue/+YIe(oe);p[a+(r[me>>2]<<2)>>2]=de;de=+YIe(Ge+40|0);ue=de/+YIe(oe);p[a+(r[Xe>>2]<<2)>>2]=ue;ue=+YIe(Ge+56|0);mt=ue/+YIe(oe)}p[a+(r[he>>2]<<2)>>2]=mt;ue=+p[Q>>2]*+p[De>>2]+ +p[Ne>>2];de=+p[je>>2]*+p[Re>>2]+ +p[ke>>2];be=+p[se>>2]*+p[Ie>>2]+ +p[Oe>>2];oe=r[I>>2]|0;do{if((oe|0)==(r[F>>2]|0)){q=(oe|0)==0?1:oe<<1;if((oe|0)>=(q|0)){ht=oe;break}do{if((q|0)==0){ft=0}else{r[9806]=(r[9806]|0)+1;Y=hBe((q<<4|4)+15|0)|0;if((Y|0)==0){ft=0;break}ae=-(Y+4|0)&15;r[Y+ae>>2]=Y;ft=Y+(ae+4)|0}}while(0);if((oe|0)>0){ae=0;do{Y=ft+(ae<<4)|0;if((Y|0)!=0){_t=Y;Y=(r[N>>2]|0)+(ae<<4)|0;r[_t>>2]=r[Y>>2];r[_t+4>>2]=r[Y+4>>2];r[_t+8>>2]=r[Y+8>>2];r[_t+12>>2]=r[Y+12>>2]}ae=ae+1|0}while((ae|0)<(oe|0))}ae=r[N>>2]|0;if((ae|0)!=0){if((n[k]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[ae-16+12>>2]|0)}r[N>>2]=0}n[k]=1;r[N>>2]=ft;r[F>>2]=q;ht=r[I>>2]|0}else{ht=oe}}while(0);oe=r[N>>2]|0;ae=oe+(ht<<4)|0;if((ae|0)!=0){p[ae>>2]=ue;p[oe+(ht<<4)+4>>2]=de;p[oe+(ht<<4)+8>>2]=be;p[oe+(ht<<4)+12>>2]=0.0}r[I>>2]=ht+1;oe=r[Ge+8>>2]|0;if((oe|0)==0){gt=K;Ct=$;St=ee}else{ae=oe;Y=-1;_t=-1;rt=K;ze=$;E=ee;while(1){Qe=ae+20|0;st=r[Qe>>2]|0;if((st|0)<0){Ye=r[R>>2]|0;vBe(f|0,0,12);ot=r[U>>2]|0;do{if((Ye|0)==(ot|0)){yt=(Ye|0)==0?1:Ye<<1;if((Ye|0)>=(yt|0)){vt=Ye;xt=Ye;break}do{if((yt|0)==0){Mt=0}else{r[9806]=(r[9806]|0)+1;Tt=hBe((yt*12|0)+19|0)|0;if((Tt|0)==0){Mt=0;break}Dt=-(Tt+4|0)&15;r[Tt+Dt>>2]=Tt;Mt=Tt+(Dt+4)|0}}while(0);if((Ye|0)>0){Dt=0;do{Tt=Mt+(Dt*12|0)|0;if((Tt|0)!=0){Pt=Tt;Tt=(r[O>>2]|0)+(Dt*12|0)|0;r[Pt>>2]=r[Tt>>2];r[Pt+4>>2]=r[Tt+4>>2];r[Pt+8>>2]=r[Tt+8>>2]}Dt=Dt+1|0}while((Dt|0)<(Ye|0))}Dt=r[O>>2]|0;if((Dt|0)!=0){if((n[B]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Dt-12+8>>2]|0)}r[O>>2]=0}n[B]=1;r[O>>2]=Mt;r[U>>2]=yt;vt=r[R>>2]|0;xt=yt}else{vt=Ye;xt=ot}}while(0);ot=r[O>>2]|0;q=ot+(vt*12|0)|0;if((q|0)!=0){Dt=q;r[Dt>>2]=r[f>>2];r[Dt+4>>2]=r[f+4>>2];r[Dt+8>>2]=r[f+8>>2]}Dt=vt+1|0;r[R>>2]=Dt;vBe(g|0,0,12);do{if((Dt|0)==(xt|0)){q=(xt|0)==0?1:xt<<1;if((xt|0)>=(q|0)){wt=xt;At=ot;break}do{if((q|0)==0){Ft=0}else{r[9806]=(r[9806]|0)+1;Tt=hBe((q*12|0)+19|0)|0;if((Tt|0)==0){Ft=0;break}Pt=-(Tt+4|0)&15;r[Tt+Pt>>2]=Tt;Ft=Tt+(Pt+4)|0}}while(0);if((xt|0)>0){yt=0;do{Pt=Ft+(yt*12|0)|0;if((Pt|0)!=0){Tt=Pt;Pt=(r[O>>2]|0)+(yt*12|0)|0;r[Tt>>2]=r[Pt>>2];r[Tt+4>>2]=r[Pt+4>>2];r[Tt+8>>2]=r[Pt+8>>2]}yt=yt+1|0}while((yt|0)<(xt|0));Rt=r[O>>2]|0}else{Rt=ot}if((Rt|0)!=0){if((n[B]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Rt-12+8>>2]|0)}r[O>>2]=0}n[B]=1;r[O>>2]=Ft;r[U>>2]=q;wt=r[R>>2]|0;At=Ft}else{wt=Dt;At=ot}}while(0);ot=At+(wt*12|0)|0;if((ot|0)==0){It=wt;Bt=At}else{Dt=ot;r[Dt>>2]=r[g>>2];r[Dt+4>>2]=r[g+4>>2];r[Dt+8>>2]=r[g+8>>2];It=r[R>>2]|0;Bt=r[O>>2]|0}r[R>>2]=It+1;Dt=Ye+1|0;r[Qe>>2]=Ye;r[(r[ae+8>>2]|0)+20>>2]=Dt;r[Bt+(Ye*12|0)+4>>2]=1;r[Bt+(Dt*12|0)+4>>2]=-1;ot=r[ae+12>>2]|0;yt=ot+104|0;Pt=r[yt>>2]|0;if((Pt|0)<0){r[yt>>2]=rt;do{if((rt|0)==(ze|0)){yt=(ze|0)==0?1:ze<<1;if((ze|0)>=(yt|0)){Vt=ze;Et=E;break}do{if((yt|0)==0){Nt=0}else{r[9806]=(r[9806]|0)+1;Tt=hBe((yt<<2)+19|0)|0;if((Tt|0)==0){Nt=0;break}kt=-(Tt+4|0)&15;r[Tt+kt>>2]=Tt;Nt=Tt+(kt+4)|0}}while(0);if((ze|0)>0){q=0;do{kt=Nt+(q<<2)|0;if((kt|0)!=0){r[kt>>2]=r[E+(q<<2)>>2]}q=q+1|0}while((q|0)<(ze|0))}if((E|0)==0){Vt=yt;Et=Nt;break}r[9804]=(r[9804]|0)+1;SBe(r[E-4>>2]|0);Vt=yt;Et=Nt}else{Vt=ze;Et=E}}while(0);q=Et+(rt<<2)|0;if((q|0)!=0){r[q>>2]=ot}Ot=rt;Lt=rt+1|0;Ut=Vt;Gt=Et}else{Ot=Pt;Lt=rt;Ut=ze;Gt=E}r[Bt+(Ye*12|0)+8>>2]=Ot;r[Bt+(Dt*12|0)+8>>2]=We;Wt=Lt;zt=Ut;Ht=Gt;jt=r[Qe>>2]|0}else{Wt=rt;zt=ze;Ht=E;jt=st}if((Y|0)>-1){r[(r[O>>2]|0)+(jt*12|0)>>2]=Y-jt;Xt=_t;Zt=r[Qe>>2]|0}else{Xt=jt;Zt=jt}q=r[ae>>2]|0;if((q|0)==(oe|0)){break}else{ae=q;Y=Zt;_t=Xt;rt=Wt;ze=zt;E=Ht}}r[(r[O>>2]|0)+(Xt*12|0)>>2]=Zt-Xt;gt=Wt;Ct=zt;St=Ht}Qt=We+1|0;if((Qt|0)<(gt|0)){ee=St;$=Ct;K=gt;We=Qt}else{break}}if((Qt|0)>0){We=0;do{K=r[(r[St+(We<<2)>>2]|0)+8>>2]|0;if((K|0)!=0){$=K;do{ee=$+20|0;if((r[ee>>2]|0)>-1){se=r[W>>2]|0;do{if((se|0)==(r[z>>2]|0)){je=(se|0)==0?1:se<<1;if((se|0)>=(je|0)){qt=se;break}do{if((je|0)==0){Yt=0}else{r[9806]=(r[9806]|0)+1;Q=hBe((je<<2)+19|0)|0;if((Q|0)==0){Yt=0;break}Xe=-(Q+4|0)&15;r[Q+Xe>>2]=Q;Yt=Q+(Xe+4)|0}}while(0);if((se|0)>0){yt=0;do{Xe=Yt+(yt<<2)|0;if((Xe|0)!=0){r[Xe>>2]=r[(r[G>>2]|0)+(yt<<2)>>2]}yt=yt+1|0}while((yt|0)<(se|0))}yt=r[G>>2]|0;if((yt|0)!=0){if((n[L]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[yt-4>>2]|0)}r[G>>2]=0}n[L]=1;r[G>>2]=Yt;r[z>>2]=je;qt=r[W>>2]|0}else{qt=se}}while(0);se=(r[G>>2]|0)+(qt<<2)|0;if((se|0)!=0){r[se>>2]=r[ee>>2]}r[W>>2]=qt+1;se=$;do{r[se+20>>2]=-1;se=r[(r[se+8>>2]|0)+4>>2]|0}while((se|0)!=($|0))}$=r[$>>2]|0}while(($|0)!=(K|0))}We=We+1|0}while((We|0)<(Qt|0))}if((St|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[St-4>>2]|0)}}while(0);Oe=r[ne>>2]|0;if((Oe|0)!=0){if((n[ie]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Oe-4>>2]|0)}r[ne>>2]=0}n[ie]=1;r[ne>>2]=0;r[_e>>2]=0;r[re>>2]=0;Oe=r[te>>2]|0;if((Oe|0)!=0){Ie=Oe;do{r[te>>2]=r[Ie+8>>2];Oe=r[Ie>>2]|0;if((Oe|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Oe-60+56>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[Ie-12+8>>2]|0);Ie=r[te>>2]|0}while((Ie|0)!=0)}Ie=r[J>>2]|0;if((Ie|0)!=0){te=Ie;do{r[J>>2]=r[te+8>>2];Ie=r[te>>2]|0;if((Ie|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Ie-24+20>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[te-12+8>>2]|0);te=r[J>>2]|0}while((te|0)!=0)}te=r[C>>2]|0;if((te|0)==0){break}else{Jt=te}do{r[C>>2]=r[Jt+8>>2];te=r[Jt>>2]|0;if((te|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[te-4>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[Jt-12+8>>2]|0);Jt=r[C>>2]|0}while((Jt|0)!=0)}}while(0);Jt=r[W>>2]|0;W=(Jt|0)>0;if(W){r[9806]=(r[9806]|0)+1;St=hBe((Jt<<4|4)+15|0)|0;if((St|0)==0){Kt=0}else{Qt=-(St+4|0)&15;r[St+Qt>>2]=St;Kt=St+(Qt+4)|0}Qt=v;v=0;while(1){St=Kt+(v<<4)|0;if((St|0)!=0){qt=St;r[qt>>2]=r[Qt>>2];r[qt+4>>2]=r[Qt+4>>2];r[qt+8>>2]=r[Qt+8>>2];r[qt+12>>2]=r[Qt+12>>2]}qt=v+1|0;if((qt|0)<(Jt|0)){v=qt}else{$t=Kt;break}}}else{$t=0}Kt=r[A>>2]|0;vBe(x|0,0,56);v=x+16|0;n[v]=1;Qt=x+12|0;r[Qt>>2]=0;qt=x+4|0;r[qt>>2]=0;St=x+8|0;r[St>>2]=0;z=x+36|0;n[z]=1;Yt=x+32|0;r[Yt>>2]=0;L=x+24|0;r[L>>2]=0;gt=x+28|0;r[gt>>2]=0;Ct=Kt+24|0;Ht=Kt+28|0;zt=r[Ht>>2]|0;do{if((zt|0)>(Jt|0)){Wt=Kt+36|0;Xt=Jt;while(1){Zt=r[Wt>>2]|0;jt=Zt+(Xt*56|0)+24|0;Gt=Zt+(Xt*56|0)+32|0;Ut=r[Gt>>2]|0;Lt=Zt+(Xt*56|0)+36|0;if((Ut|0)!=0){if((n[Lt]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Ut-4>>2]|0)}r[Gt>>2]=0}n[Lt]=1;r[Gt>>2]=0;r[jt>>2]=0;r[Zt+(Xt*56|0)+28>>2]=0;jt=Zt+(Xt*56|0)+4|0;Gt=Zt+(Xt*56|0)+12|0;Lt=r[Gt>>2]|0;Ut=Zt+(Xt*56|0)+16|0;if((Lt|0)!=0){if((n[Ut]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Lt-4>>2]|0)}r[Gt>>2]=0}n[Ut]=1;r[Gt>>2]=0;r[jt>>2]=0;r[Zt+(Xt*56|0)+8>>2]=0;Zt=Xt+1|0;if((Zt|0)<(zt|0)){Xt=Zt}else{lt=4712;break}}}else{if((zt|0)>=(Jt|0)){lt=4712;break}Xt=Kt+32|0;if((r[Xt>>2]|0)<(Jt|0)){do{if((Jt|0)==0){ei=0}else{r[9806]=(r[9806]|0)+1;Wt=hBe((Jt*56|0|4)+15|0)|0;if((Wt|0)==0){ei=0;break}Zt=-(Wt+4|0)&15;r[Wt+Zt>>2]=Wt;ei=Wt+(Zt+4)|0}}while(0);Zt=r[Ht>>2]|0;Wt=Kt+36|0;if((Zt|0)>0){jt=0;do{Gt=ei+(jt*56|0)|0;if((Gt|0)!=0){Ut=r[Wt>>2]|0;bwe(Gt,Ut+(jt*56|0)|0);bwe(Gt+20|0,Ut+(jt*56|0)+20|0);Lt=Gt+40|0;Gt=Ut+(jt*56|0)+40|0;r[Lt>>2]=r[Gt>>2];r[Lt+4>>2]=r[Gt+4>>2];r[Lt+8>>2]=r[Gt+8>>2];r[Lt+12>>2]=r[Gt+12>>2]}jt=jt+1|0}while((jt|0)<(Zt|0));ti=r[Ht>>2]|0}else{ti=Zt}uwe(Ct,ti);jt=r[Wt>>2]|0;Gt=Kt+40|0;if((jt|0)!=0){if((n[Gt]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[jt-4>>2]|0)}r[Wt>>2]=0}n[Gt]=1;r[Wt>>2]=ei;r[Xt>>2]=Jt;ii=Wt}else{ii=Kt+36|0}Gt=x|0;jt=x+20|0;Lt=x+40|0;Ut=zt;do{Bt=(r[ii>>2]|0)+(Ut*56|0)|0;if((Bt|0)!=0){bwe(Bt,Gt);bwe(Bt+20|0,jt);Ot=Bt+40|0;r[Ot>>2]=r[Lt>>2];r[Ot+4>>2]=r[Lt+4>>2];r[Ot+8>>2]=r[Lt+8>>2];r[Ot+12>>2]=r[Lt+12>>2]}Ut=Ut+1|0}while((Ut|0)<(Jt|0));Ut=r[Yt>>2]|0;r[Ht>>2]=Jt;if((Ut|0)==0){break}if((n[z]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Ut-4>>2]|0)}r[Yt>>2]=0}}while(0);if((lt|0)==4712){r[Ht>>2]=Jt}n[z]=1;r[Yt>>2]=0;r[L>>2]=0;r[gt>>2]=0;gt=r[Qt>>2]|0;if((gt|0)!=0){if((n[v]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[gt-4>>2]|0)}r[Qt>>2]=0}n[v]=1;r[Qt>>2]=0;r[qt>>2]=0;r[St>>2]=0;St=r[I>>2]|0;qt=r[A>>2]|0;Qt=qt+8|0;v=r[Qt>>2]|0;if((v|0)<(St|0)){gt=qt+12|0;if((r[gt>>2]|0)<(St|0)){if((St|0)==0){ni=0;_i=v}else{r[9806]=(r[9806]|0)+1;L=hBe((St<<4|4)+15|0)|0;if((L|0)==0){ri=0}else{Yt=-(L+4|0)&15;r[L+Yt>>2]=L;ri=L+(Yt+4)|0}ni=ri;_i=r[Qt>>2]|0}ri=qt+16|0;if((_i|0)>0){Yt=0;do{L=ni+(Yt<<4)|0;if((L|0)!=0){z=L;L=(r[ri>>2]|0)+(Yt<<4)|0;r[z>>2]=r[L>>2];r[z+4>>2]=r[L+4>>2];r[z+8>>2]=r[L+8>>2];r[z+12>>2]=r[L+12>>2]}Yt=Yt+1|0}while((Yt|0)<(_i|0))}_i=r[ri>>2]|0;Yt=qt+20|0;if((_i|0)!=0){if((n[Yt]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_i-16+12>>2]|0)}r[ri>>2]=0}n[Yt]=1;r[ri>>2]=ni;r[gt>>2]=St;oi=ri}else{oi=qt+16|0}qt=M;M=v;do{v=(r[oi>>2]|0)+(M<<4)|0;if((v|0)!=0){ri=v;r[ri>>2]=r[qt>>2];r[ri+4>>2]=r[qt+4>>2];r[ri+8>>2]=r[qt+8>>2];r[ri+12>>2]=r[qt+12>>2]}M=M+1|0}while((M|0)<(St|0))}r[Qt>>2]=St;if((St|0)>0){Qt=r[N>>2]|0;M=0;do{qt=(r[(r[A>>2]|0)+16>>2]|0)+(M<<4)|0;oi=Qt+(M<<4)|0;r[qt>>2]=r[oi>>2];r[qt+4>>2]=r[oi+4>>2];r[qt+8>>2]=r[oi+8>>2];r[qt+12>>2]=r[oi+12>>2];M=M+1|0}while((M|0)<(St|0))}if(W){W=D+4|0;St=D+24|0;M=D+8|0;Qt=D+20|0;oi=D+16|0;qt=D|0;ri=0;do{v=(r[O>>2]|0)+((r[(r[G>>2]|0)+(ri<<2)>>2]|0)*12|0)|0;gt=v;ni=0;while(1){Yt=gt+4|0;_i=r[gt+((r[Yt>>2]|0)*12|0)+8>>2]|0;L=r[(r[A>>2]|0)+36>>2]|0;z=L+(ri*56|0)+4|0;Ht=r[z>>2]|0;ii=L+(ri*56|0)+8|0;do{if((Ht|0)==(r[ii>>2]|0)){zt=(Ht|0)==0?1:Ht<<1;if((Ht|0)>=(zt|0)){si=Ht;break}if((zt|0)==0){ai=0;pi=Ht}else{r[9806]=(r[9806]|0)+1;x=hBe((zt<<2)+19|0)|0;if((x|0)==0){li=0}else{Kt=-(x+4|0)&15;r[x+Kt>>2]=x;li=x+(Kt+4)|0}ai=li;pi=r[z>>2]|0}Kt=L+(ri*56|0)+12|0;if((pi|0)>0){x=0;do{ei=ai+(x<<2)|0;if((ei|0)!=0){r[ei>>2]=r[(r[Kt>>2]|0)+(x<<2)>>2]}x=x+1|0}while((x|0)<(pi|0))}x=r[Kt>>2]|0;ei=L+(ri*56|0)+16|0;if((x|0)!=0){if((n[ei]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[x-4>>2]|0)}r[Kt>>2]=0}n[ei]=1;r[Kt>>2]=ai;r[ii>>2]=zt;si=r[z>>2]|0}else{si=Ht}}while(0);Ht=(r[L+(ri*56|0)+12>>2]|0)+(si<<2)|0;if((Ht|0)==0){di=si}else{r[Ht>>2]=_i;di=r[z>>2]|0}r[z>>2]=di+1;Ht=r[gt+8>>2]|0;ii=r[N>>2]|0;mt=+p[ii+(Ht<<4)>>2]-+p[ii+(_i<<4)>>2];Be=+p[ii+(Ht<<4)+4>>2]-+p[ii+(_i<<4)+4>>2];Ee=+p[ii+(Ht<<4)+8>>2]-+p[ii+(_i<<4)+8>>2];Ve=1.0/+j(+(mt*mt+Be*Be+Ee*Ee));if((ni|0)<2){p[D+(ni<<4)>>2]=mt*Ve;p[D+(ni<<4)+4>>2]=Be*Ve;p[D+(ni<<4)+8>>2]=Ee*Ve;p[D+(ni<<4)+12>>2]=0.0;ci=ni+1|0}else{ci=ni}ii=r[Yt>>2]|0;Ht=gt+(((r[gt+(ii*12|0)>>2]|0)+ii|0)*12|0)|0;if((Ht|0)==(v|0)){break}else{gt=Ht;ni=ci}}ni=$t+(ri<<4)|0;if((ci|0)==2){Ve=+p[W>>2];Ee=+p[St>>2];Be=+p[M>>2];mt=+p[Qt>>2];Te=Ve*Ee-Be*mt;ve=+p[oi>>2];Me=+p[qt>>2];ye=Be*ve-Ee*Me;Ee=mt*Me-Ve*ve;gt=$t+(ri<<4)+4|0;v=$t+(ri<<4)+8|0;p[$t+(ri<<4)+12>>2]=0.0;ve=1.0/+j(+(Te*Te+ye*ye+Ee*Ee));Ve=Te*ve;p[ni>>2]=Ve;p[gt>>2]=ye*ve;p[v>>2]=Ee*ve;p[(r[(r[A>>2]|0)+36>>2]|0)+(ri*56|0)+40>>2]=-0.0-Ve;p[(r[(r[A>>2]|0)+36>>2]|0)+(ri*56|0)+44>>2]=-0.0-+p[gt>>2];p[(r[(r[A>>2]|0)+36>>2]|0)+(ri*56|0)+48>>2]=-0.0-+p[v>>2];p[(r[(r[A>>2]|0)+36>>2]|0)+(ri*56|0)+52>>2]=1.0000000150474662e+30}else{vBe(ni|0,0,16)}v=r[A>>2]|0;gt=r[v+36>>2]|0;Ht=r[gt+(ri*56|0)+4>>2]|0;if((Ht|0)>0){Ve=+p[ni>>2];ve=+p[$t+(ri<<4)+4>>2];Ee=+p[$t+(ri<<4)+8>>2];ni=r[gt+(ri*56|0)+12>>2]|0;ii=r[v+16>>2]|0;ye=1.0000000150474662e+30;v=0;while(1){ei=r[ni+(v<<2)>>2]|0;Te=+p[ii+(ei<<4)>>2]*Ve+ +p[ii+(ei<<4)+4>>2]*ve+ +p[ii+(ei<<4)+8>>2]*Ee;Me=ye>Te?Te:ye;ei=v+1|0;if((ei|0)<(Ht|0)){ye=Me;v=ei}else{bi=Me;break}}}else{bi=1.0000000150474662e+30}p[gt+(ri*56|0)+52>>2]=bi;ri=ri+1|0}while((ri|0)<(Jt|0))}Jt=r[A>>2]|0;ri=r[Jt+28>>2]|0;do{if((ri|0)==0){ui=Jt;mi=0}else{if(!((r[I>>2]|0)!=0&(ri|0)>0)){ui=Jt;mi=ri;break}qt=e;oi=w|0;Qt=w+4|0;M=w+8|0;St=w+12|0;W=e|0;ci=P|0;D=P+4|0;N=P+8|0;di=0;si=Jt;while(1){ai=r[si+36>>2]|0;bi=+p[ai+(di*56|0)+40>>2];ye=+p[ai+(di*56|0)+44>>2];Ee=+p[ai+(di*56|0)+48>>2];ve=+p[ai+(di*56|0)+52>>2];ai=r[(r[qt>>2]|0)+60>>2]|0;p[oi>>2]=-0.0-bi;p[Qt>>2]=-0.0-ye;p[M>>2]=-0.0-Ee;p[St>>2]=0.0;srt[ai&511](P,W,w);e:do{if(bi*+p[ci>>2]+ye*+p[D>>2]+Ee*+p[N>>2]<ve){ai=(r[(r[A>>2]|0)+36>>2]|0)+(di*56|0)+40|0;p[ai>>2]=+p[ai>>2]*-1.0;ai=(r[(r[A>>2]|0)+36>>2]|0)+(di*56|0)+44|0;p[ai>>2]=+p[ai>>2]*-1.0;ai=(r[(r[A>>2]|0)+36>>2]|0)+(di*56|0)+48|0;p[ai>>2]=+p[ai>>2]*-1.0;ai=(r[(r[A>>2]|0)+36>>2]|0)+(di*56|0)+52|0;p[ai>>2]=+p[ai>>2]*-1.0;ai=r[(r[A>>2]|0)+36>>2]|0;pi=r[ai+(di*56|0)+4>>2]|0;li=(pi|0)/2|0;if((pi|0)<=1){break}G=pi-1|0;pi=0;O=ai;while(1){ai=r[O+(di*56|0)+12>>2]|0;v=ai+(pi<<2)|0;Ht=ai+(G-pi<<2)|0;ai=r[v>>2]|0;r[v>>2]=r[Ht>>2];r[Ht>>2]=ai;ai=pi+1|0;if((ai|0)>=(li|0)){break e}pi=ai;O=r[(r[A>>2]|0)+36>>2]|0}}}while(0);Yt=di+1|0;_i=r[A>>2]|0;z=r[_i+28>>2]|0;if((Yt|0)<(z|0)){di=Yt;si=_i}else{ui=_i;mi=z;break}}}}while(0);r[i>>2]=0;r[o>>2]=0;A=ui+64|0;w=ui+68|0;P=ui+72|0;Jt=ui+28|0;vBe(A|0,0,16);do{if((mi|0)>0){e=ui+36|0;ri=ui+16|0;I=ui+48|0;si=ui+52|0;di=ui+56|0;N=ui+60|0;D=0;ci=mi;W=0;St=0;M=0;Qt=0;oi=0;qt=0;gt=0;z=0;_i=0;Yt=0;while(1){L=r[e>>2]|0;O=r[L+(D*56|0)+4>>2]|0;if((O|0)>0){pi=D&65535;li=D|-65536;G=0;zt=L;L=W;Kt=St;ai=M;Ht=Qt;v=oi;ii=qt;ni=gt;ei=z;x=_i;ti=Yt;while(1){Ct=G+1|0;Ut=r[zt+(D*56|0)+12>>2]|0;Lt=r[Ut+(G<<2)>>2]&65535;jt=r[Ut+(((Ct|0)==(O|0)?0:Ct)<<2)>>2]&65535;Ut=Lt<<16>>16<jt<<16>>16;Gt=Ut?Lt:jt;Wt=Ut?jt:Lt;Lt=Wt<<16>>16;jt=v-1|0;Ut=((Gt&65535)<<16)+Lt&jt;e:do{if(Ut>>>0<ii>>>0){Xt=r[(r[i>>2]|0)+(Ut<<2)>>2]|0;if((Xt|0)==-1){hi=0;break}Zt=r[o>>2]|0;Ot=Xt;while(1){if(Wt<<16>>16==(_[L+(Ot<<2)>>1]|0)){if(Gt<<16>>16==(_[L+(Ot<<2)+2>>1]|0)){break}}Xt=r[Zt+(Ot<<2)>>2]|0;if((Xt|0)==-1){hi=0;break e}else{Ot=Xt}}if((Ot|0)==-1){hi=0;break}hi=Ht+(Ot<<2)|0}else{hi=0}}while(0);Ut=Gt<<16>>16;Zt=r[ri>>2]|0;ve=+p[Zt+(Ut<<4)>>2]-+p[Zt+(Lt<<4)>>2];Ee=+p[Zt+(Ut<<4)+4>>2]-+p[Zt+(Lt<<4)+4>>2];ye=+p[Zt+(Ut<<4)+8>>2]-+p[Zt+(Lt<<4)+8>>2];bi=1.0/+j(+(ve*ve+Ee*Ee+ye*ye));Ve=ve*bi;ve=Ee*bi;Ee=ye*bi;Zt=r[I>>2]|0;e:do{if((Zt|0)>0){Ut=r[di>>2]|0;Xt=0;while(1){bi=+p[Ut+(Xt<<4)>>2];ye=+p[Ut+(Xt<<4)+8>>2];Me=ye-Ee;do{if(+H(+(bi-Ve))<=1.0e-6){if(+H(+(+p[Ut+(Xt<<4)+4>>2]-ve))>1.0e-6){break}if(+H(+Me)<=1.0e-6){break e}}}while(0);Me=Ee+ye;do{if(+H(+(Ve+bi))<=1.0e-6){if(+H(+(ve+ +p[Ut+(Xt<<4)+4>>2]))>1.0e-6){break}if(+H(+Me)<=1.0e-6){break e}}}while(0);je=Xt+1|0;if((je|0)<(Zt|0)){Xt=je}else{lt=4817;break}}}else{lt=4817}}while(0);if((lt|0)==4817){lt=0;do{if((Zt|0)==(r[si>>2]|0)){Lt=(Zt|0)==0?1:Zt<<1;if((Zt|0)>=(Lt|0)){fi=Zt;break}if((Lt|0)==0){gi=0;Ci=Zt}else{r[9806]=(r[9806]|0)+1;Xt=hBe((Lt<<4|4)+15|0)|0;if((Xt|0)==0){Si=0}else{Ut=-(Xt+4|0)&15;r[Xt+Ut>>2]=Xt;Si=Xt+(Ut+4)|0}gi=Si;Ci=r[I>>2]|0}if((Ci|0)>0){Ut=0;do{Xt=gi+(Ut<<4)|0;if((Xt|0)!=0){Ot=Xt;Xt=(r[di>>2]|0)+(Ut<<4)|0;r[Ot>>2]=r[Xt>>2];r[Ot+4>>2]=r[Xt+4>>2];r[Ot+8>>2]=r[Xt+8>>2];r[Ot+12>>2]=r[Xt+12>>2]}Ut=Ut+1|0}while((Ut|0)<(Ci|0))}Ut=r[di>>2]|0;if((Ut|0)!=0){if((n[N]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Ut-16+12>>2]|0)}r[di>>2]=0}n[N]=1;r[di>>2]=gi;r[si>>2]=Lt;fi=r[I>>2]|0}else{fi=Zt}}while(0);Zt=r[di>>2]|0;Ut=Zt+(fi<<4)|0;if((Ut|0)==0){yi=fi}else{p[Ut>>2]=Ve;p[Zt+(fi<<4)+4>>2]=ve;p[Zt+(fi<<4)+8>>2]=Ee;p[Zt+(fi<<4)+12>>2]=0.0;yi=r[I>>2]|0}r[I>>2]=yi+1}e:do{if((hi|0)==0){Zt=(Gt&65535)<<16;Ut=Zt+(Wt<<16>>16)|0;Xt=Ut&jt;t:do{if(Xt>>>0<ii>>>0){Ot=r[(r[i>>2]|0)+(Xt<<2)>>2]|0;if((Ot|0)==-1){break}je=r[o>>2]|0;Bt=Ot;while(1){if(Wt<<16>>16==(_[L+(Bt<<2)>>1]|0)){if(Gt<<16>>16==(_[L+(Bt<<2)+2>>1]|0)){break}}Ot=r[je+(Bt<<2)>>2]|0;if((Ot|0)==-1){break t}else{Bt=Ot}}if((Bt|0)==-1){break}je=Ht+(Bt<<2)|0;T=li;_[je>>1]=T&65535;_[je+2>>1]=T>>16;vi=L;xi=Kt;Mi=ai;Ti=Ht;Di=v;Pi=ii;wi=ni;Ai=ei;Fi=x;Ri=ti;break e}}while(0);do{if((ei|0)==(v|0)){Lt=(ei|0)==0?1:ei<<1;if((ei|0)>=(Lt|0)){Ii=Ht;Bi=ei;break}do{if((Lt|0)==0){Vi=0}else{r[9806]=(r[9806]|0)+1;je=hBe((Lt<<2)+19|0)|0;if((je|0)==0){Vi=0;break}Ot=-(je+4|0)&15;r[je+Ot>>2]=je;Vi=je+(Ot+4)|0}}while(0);if((ei|0)>0){Bt=0;do{Ot=Vi+(Bt<<2)|0;if((Ot|0)!=0){je=Ht+(Bt<<2)|0;Et=Ot;T=s[je>>1]|s[je+2>>1]<<16;_[Et>>1]=T&65535;_[Et+2>>1]=T>>16}Bt=Bt+1|0}while((Bt|0)<(ei|0))}if((Ht|0)==0){Ii=Vi;Bi=Lt;break}r[9804]=(r[9804]|0)+1;SBe(r[Ht-4>>2]|0);Ii=Vi;Bi=Lt}else{Ii=Ht;Bi=v}}while(0);Bt=Ii+(ei<<2)|0;if((Bt|0)!=0){Et=Bt;T=li;_[Et>>1]=T&65535;_[Et+2>>1]=T>>16}Et=ei+1|0;do{if((ai|0)==(Kt|0)){Bt=(ai|0)==0?1:ai<<1;if((ai|0)>=(Bt|0)){Ei=L;Ni=ai;break}do{if((Bt|0)==0){ki=0}else{r[9806]=(r[9806]|0)+1;je=hBe((Bt<<2)+19|0)|0;if((je|0)==0){ki=0;break}Ot=-(je+4|0)&15;r[je+Ot>>2]=je;ki=je+(Ot+4)|0}}while(0);if((ai|0)>0){Lt=0;do{Ot=ki+(Lt<<2)|0;if((Ot|0)!=0){je=L+(Lt<<2)|0;Vt=Ot;T=s[je>>1]|s[je+2>>1]<<16;_[Vt>>1]=T&65535;_[Vt+2>>1]=T>>16}Lt=Lt+1|0}while((Lt|0)<(ai|0))}if((L|0)==0){Ei=ki;Ni=Bt;break}r[9804]=(r[9804]|0)+1;SBe(r[L-4>>2]|0);Ei=ki;Ni=Bt}else{Ei=L;Ni=Kt}}while(0);Lt=Ei+(ai<<2)|0;if((Lt|0)!=0){Vt=Lt;T=Zt|Wt&65535;_[Vt>>1]=T&65535;_[Vt+2>>1]=T>>16}Vt=ai+1|0;if((v|0)<(Bi|0)){do{if((ii|0)<(Bi|0)){if((ii|0)>(Bi|0)){Oi=ni}else{if((ni|0)<(Bi|0)){do{if((Bi|0)==0){Li=0}else{r[9806]=(r[9806]|0)+1;Lt=hBe((Bi<<2)+19|0)|0;if((Lt|0)==0){Li=0;break}je=-(Lt+4|0)&15;r[Lt+je>>2]=Lt;Li=Lt+(je+4)|0}}while(0);if((ii|0)>0){Bt=0;do{je=Li+(Bt<<2)|0;if((je|0)!=0){r[je>>2]=r[(r[i>>2]|0)+(Bt<<2)>>2]}Bt=Bt+1|0}while((Bt|0)<(ii|0))}Bt=r[i>>2]|0;if((Bt|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Bt-4>>2]|0);r[i>>2]=0}r[i>>2]=Li;Ui=Bi;Gi=Li}else{Ui=ni;Gi=r[i>>2]|0}Bt=ii;while(1){je=Gi+(Bt<<2)|0;if((je|0)!=0){r[je>>2]=0}je=Bt+1|0;if((je|0)<(Bi|0)){Bt=je}else{Oi=Ui;break}}}if((x|0)<(Bi|0)){if((ti|0)<(Bi|0)){do{if((Bi|0)==0){Wi=0}else{r[9806]=(r[9806]|0)+1;Bt=hBe((Bi<<2)+19|0)|0;if((Bt|0)==0){Wi=0;break}je=-(Bt+4|0)&15;r[Bt+je>>2]=Bt;Wi=Bt+(je+4)|0}}while(0);if((x|0)>0){je=0;do{Bt=Wi+(je<<2)|0;if((Bt|0)!=0){r[Bt>>2]=r[(r[o>>2]|0)+(je<<2)>>2]}je=je+1|0}while((je|0)<(x|0))}je=r[o>>2]|0;if((je|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[je-4>>2]|0);r[o>>2]=0}r[o>>2]=Wi;zi=Bi;Hi=Wi}else{zi=ti;Hi=r[o>>2]|0}je=x;while(1){Bt=Hi+(je<<2)|0;if((Bt|0)!=0){r[Bt>>2]=0}Bt=je+1|0;if((Bt|0)<(Bi|0)){je=Bt}else{ji=zi;break}}}else{ji=ti}if((Bi|0)>0){je=r[i>>2]|0;Bt=0;do{r[je+(Bt<<2)>>2]=-1;Bt=Bt+1|0}while((Bt|0)<(Bi|0));Bt=r[o>>2]|0;je=0;do{r[Bt+(je<<2)>>2]=-1;je=je+1|0}while((je|0)<(Bi|0))}if((ii|0)<=0){Xi=Bi;Zi=Oi;Qi=Bi;qi=ji;break}je=Bi-1|0;Bt=r[i>>2]|0;Lt=r[o>>2]|0;Ot=0;while(1){Nt=Bt+(((s[Ei+(Ot<<2)+2>>1]<<16)+(_[Ei+(Ot<<2)>>1]|0)&je)<<2)|0;r[Lt+(Ot<<2)>>2]=r[Nt>>2];r[Nt>>2]=Ot;Nt=Ot+1|0;if((Nt|0)<(ii|0)){Ot=Nt}else{Xi=Bi;Zi=Oi;Qi=Bi;qi=ji;break}}}else{Xi=ii;Zi=ni;Qi=x;qi=ti}}while(0);Yi=Ut&Bi-1;Ji=Xi;Ki=Zi;$i=Qi;en=qi}else{Yi=Xt;Ji=ii;Ki=ni;$i=x;en=ti}Zt=(r[i>>2]|0)+(Yi<<2)|0;r[(r[o>>2]|0)+(ei<<2)>>2]=r[Zt>>2];r[Zt>>2]=ei;vi=Ei;xi=Ni;Mi=Vt;Ti=Ii;Di=Bi;Pi=Ji;wi=Ki;Ai=Et;Fi=$i;Ri=en}else{_[hi+2>>1]=pi;vi=L;xi=Kt;Mi=ai;Ti=Ht;Di=v;Pi=ii;wi=ni;Ai=ei;Fi=x;Ri=ti}}while(0);if((Ct|0)>=(O|0)){break}G=Ct;zt=r[e>>2]|0;L=vi;Kt=xi;ai=Mi;Ht=Ti;v=Di;ii=Pi;ni=wi;ei=Ai;x=Fi;ti=Ri}tn=r[Jt>>2]|0;nn=vi;_n=xi;rn=Mi;on=Ti;sn=Di;an=Pi;pn=wi;ln=Ai;dn=Fi;cn=Ri}else{tn=ci;nn=W;_n=St;rn=M;on=Qt;sn=oi;an=qt;pn=gt;ln=z;dn=_i;cn=Yt}ti=D+1|0;if((ti|0)<(tn|0)){D=ti;ci=tn;W=nn;St=_n;M=rn;Qt=on;oi=sn;qt=an;gt=pn;z=ln;_i=dn;Yt=cn}else{break}}if((tn|0)<=0){bn=0.0;un=nn;mn=on;break}Yt=sn-1|0;_i=r[i>>2]|0;z=r[o>>2]|0;gt=0;do{qt=r[e>>2]|0;oi=r[qt+(gt*56|0)+4>>2]|0;Qt=qt+(gt*56|0)+24|0;M=r[Qt>>2]|0;if((M|0)<(oi|0)){St=qt+(gt*56|0)+28|0;if((r[St>>2]|0)<(oi|0)){if((oi|0)==0){hn=0;fn=M}else{r[9806]=(r[9806]|0)+1;W=hBe((oi<<2)+19|0)|0;if((W|0)==0){gn=0}else{ci=-(W+4|0)&15;r[W+ci>>2]=W;gn=W+(ci+4)|0}hn=gn;fn=r[Qt>>2]|0}ci=qt+(gt*56|0)+32|0;if((fn|0)>0){W=0;do{D=hn+(W<<2)|0;if((D|0)!=0){r[D>>2]=r[(r[ci>>2]|0)+(W<<2)>>2]}W=W+1|0}while((W|0)<(fn|0))}W=r[ci>>2]|0;D=qt+(gt*56|0)+36|0;if((W|0)!=0){if((n[D]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[W-4>>2]|0)}r[ci>>2]=0}n[D]=1;r[ci>>2]=hn;r[St>>2]=oi;Cn=ci}else{Cn=qt+(gt*56|0)+32|0}D=M;do{W=(r[Cn>>2]|0)+(D<<2)|0;if((W|0)!=0){r[W>>2]=0}D=D+1|0}while((D|0)<(oi|0))}r[Qt>>2]=oi;if((oi|0)>0){D=0;while(1){M=D+1|0;qt=r[e>>2]|0;ci=r[qt+(gt*56|0)+12>>2]|0;St=r[ci+(D<<2)>>2]&65535;W=r[ci+(((M|0)==(oi|0)?0:M)<<2)>>2]&65535;ci=St<<16>>16<W<<16>>16;I=ci?St:W;di=ci?W:St;St=((I&65535)<<16)+(di<<16>>16)&Yt;e:do{if(St>>>0<an>>>0){W=r[_i+(St<<2)>>2]|0;if((W|0)==-1){Sn=0;break}else{yn=W}while(1){if(di<<16>>16==(_[nn+(yn<<2)>>1]|0)){if(I<<16>>16==(_[nn+(yn<<2)+2>>1]|0)){break}}W=r[z+(yn<<2)>>2]|0;if((W|0)==-1){Sn=0;break e}else{yn=W}}if((yn|0)==-1){Sn=0;break}Sn=on+(yn<<2)|0}else{Sn=0}}while(0);I=_[Sn>>1]|0;if((I<<16>>16|0)==(gt|0)){vn=_[Sn+2>>1]|0}else{vn=I}r[(r[qt+(gt*56|0)+32>>2]|0)+(D<<2)>>2]=vn<<16>>16;if((M|0)<(oi|0)){D=M}else{break}}}gt=gt+1|0;xn=r[Jt>>2]|0}while((gt|0)<(xn|0));if((xn|0)<=0){bn=0.0;un=nn;mn=on;break}gt=r[e>>2]|0;z=r[ri>>2]|0;Ee=0.0;_i=0;while(1){Yt=r[gt+(_i*56|0)+4>>2]|0;D=Yt-2|0;oi=gt+(_i*56|0)+12|0;Qt=r[oi>>2]|0;I=r[Qt>>2]|0;e:do{if((D|0)<1){Mn=Ee}else{di=z+(I<<4)|0;St=z+(I<<4)+4|0;Ct=z+(I<<4)+8|0;ve=Ee;Et=1;Ve=+p[A>>2];Me=+p[w>>2];bi=+p[P>>2];Vt=Qt;while(1){Xt=Et+1|0;Ut=r[Vt+(Et<<2)>>2]|0;W=r[Vt+(((Xt|0)%(Yt|0)|0)<<2)>>2]|0;ye=+p[di>>2];Te=+p[z+(Ut<<4)>>2];mt=ye-Te;Be=+p[St>>2];xe=+p[z+(Ut<<4)+4>>2];Se=Be-xe;be=+p[Ct>>2];de=+p[z+(Ut<<4)+8>>2];ue=be-de;ce=+p[z+(W<<4)>>2];le=ye-ce;pe=+p[z+(W<<4)+4>>2];Ce=Be-pe;ge=+p[z+(W<<4)+8>>2];fe=be-ge;Tn=Se*fe-ue*Ce;Dn=ue*le-mt*fe;fe=mt*Ce-Se*le;le=+j(+(fe*fe+(Tn*Tn+Dn*Dn)))*.5;Dn=Ve+(ye+Te+ce)*.3333333432674408*le;p[A>>2]=Dn;ce=(Be+xe+pe)*.3333333432674408*le+Me;p[w>>2]=ce;pe=le*(be+de+ge)*.3333333432674408+bi;p[P>>2]=pe;ge=ve+le;if((Xt|0)>(D|0)){Mn=ge;break e}ve=ge;Et=Xt;Ve=Dn;Me=ce;bi=pe;Vt=r[oi>>2]|0}}}while(0);oi=_i+1|0;if((oi|0)<(xn|0)){Ee=Mn;_i=oi}else{bn=Mn;un=nn;mn=on;break}}}else{bn=0.0;un=0;mn=0}}while(0);Mn=1.0/bn;p[A>>2]=Mn*+p[A>>2];p[w>>2]=Mn*+p[w>>2];p[P>>2]=Mn*+p[P>>2];if((un|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[un-4>>2]|0)}if((mn|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[mn-4>>2]|0)}mn=r[o>>2]|0;if((mn|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[mn-4>>2]|0);r[o>>2]=0}r[o>>2]=0;o=r[i>>2]|0;if((o|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0);r[i>>2]=0}if(($t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[$t-16+12>>2]|0)}mwe(y);if((V|0)==0){d=t;return 1}r[9804]=(r[9804]|0)+1;SBe(r[V-16+12>>2]|0);d=t;return 1}function swe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0;n=d;d=d+16|0;_=n|0;o=e;vBe(o|0,0,16);s=+p[i>>2];a=+p[i+4>>2];l=+p[i+8>>2];c=s*s+a*a+l*l;if(c<9999999747378752.0e-20){b=1.0;u=0.0;m=0.0}else{h=1.0/+j(+c);b=s*h;u=a*h;m=l*h}i=t;if((Knt[r[(r[i>>2]|0)+88>>2]&4095](t)|0)<=0){d=n;return}e=t;f=_|0;g=_+4|0;C=_+8|0;S=_;h=-999999984306749400.0;y=0;while(1){srt[r[(r[e>>2]|0)+100>>2]&511](t,y,_);l=b*+p[f>>2]+u*+p[g>>2]+m*+p[C>>2];if(l>h){r[o>>2]=r[S>>2];r[o+4>>2]=r[S+4>>2];r[o+8>>2]=r[S+8>>2];r[o+12>>2]=r[S+12>>2];v=l}else{v=h}x=y+1|0;if((x|0)<(Knt[r[(r[i>>2]|0)+88>>2]&4095](t)|0)){h=v;y=x}else{break}}d=n;return}function awe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0;_=d;d=d+16|0;o=_|0;if((n|0)>0){s=0}else{d=_;return}do{p[i+(s<<4)+12>>2]=-999999984306749400.0;s=s+1|0}while((s|0)<(n|0));s=e;a=e;l=o|0;c=o+4|0;b=o+8|0;u=o;m=0;do{if((Knt[r[(r[s>>2]|0)+88>>2]&4095](e)|0)>0){h=t+(m<<4)|0;f=t+(m<<4)+4|0;g=t+(m<<4)+8|0;C=i+(m<<4)+12|0;S=i+(m<<4)|0;y=0;do{srt[r[(r[a>>2]|0)+100>>2]&511](e,y,o);v=+p[h>>2]*+p[l>>2]+ +p[f>>2]*+p[c>>2]+ +p[g>>2]*+p[b>>2];if(v>+p[C>>2]){r[S>>2]=r[u>>2];r[S+4>>2]=r[u+4>>2];r[S+8>>2]=r[u+8>>2];r[S+12>>2]=r[u+12>>2];p[C>>2]=v}y=y+1|0}while((y|0)<(Knt[r[(r[s>>2]|0)+88>>2]&4095](e)|0))}m=m+1|0}while((m|0)<(n|0));d=_;return}function pwe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0;n=d;d=d+96|0;_=n|0;o=n+64|0;s=n+80|0;a=e|0;l=+z_t[r[(r[e>>2]|0)+44>>2]&1023](a);p[_>>2]=1.0;vBe(_+4|0,0,16);p[_+20>>2]=1.0;vBe(_+24|0,0,16);p[_+40>>2]=1.0;vBe(_+44|0,0,20);mrt[r[(r[e>>2]|0)+8>>2]&1023](a,_,o,s);c=(l+(+p[s>>2]-+p[o>>2])*.5)*2.0;b=(l+(+p[s+4>>2]-+p[o+4>>2])*.5)*2.0;u=(l+(+p[s+8>>2]-+p[o+8>>2])*.5)*2.0;l=c*c;c=b*b;b=u*u;u=t*.0833333283662796;p[i>>2]=u*(c+b);p[i+4>>2]=u*(l+b);p[i+8>>2]=u*(l+c);p[i+12>>2]=0.0;d=n;return}function lwe(e,t){e=e|0;t=t|0;var i=0.0,n=0.0,_=0.0;i=+H(+ +p[t>>2]);n=+H(+ +p[t+4>>2]);_=+H(+ +p[t+8>>2]);p[e+12>>2]=i;p[e+16>>2]=n;p[e+20>>2]=_;p[e+24>>2]=0.0;dwe(e);return}function dwe(e){e=e|0;var t=0,i=0,_=0.0;t=d;d=d+96|0;i=t|0;n[e+88|0]=1;do{if((n[42992]|0)==0){if((ui(42992)|0)==0){break}p[10084]=1.0;vBe(40340,0,16);p[10089]=1.0;vBe(40360,0,16);p[10094]=1.0;p[10095]=0.0;p[10096]=-1.0;vBe(40388,0,16);p[10101]=-1.0;vBe(40408,0,16);p[10106]=-1.0;p[10107]=0.0}}while(0);vBe(i|0,0,96);mrt[r[(r[e>>2]|0)+68>>2]&1023](e|0,40336,i|0,6);_=+p[e+44>>2];p[e+72>>2]=+p[i>>2]+_;p[e+56>>2]=+p[i+48>>2]-_;p[e+76>>2]=+p[i+20>>2]+_;p[e+60>>2]=+p[i+68>>2]-_;p[e+80>>2]=+p[i+40>>2]+_;p[e+64>>2]=+p[i+88>>2]-_;d=t;return}function cwe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0;_=+z_t[r[(r[e>>2]|0)+44>>2]&1023](e|0);o=+p[e+72>>2];s=+p[e+56>>2];a=+p[e+76>>2];l=+p[e+60>>2];d=+p[e+80>>2];c=+p[e+64>>2];b=_+(o-s)*.5;u=_+(a-l)*.5;m=_+(d-c)*.5;_=(o+s)*.5;s=(a+l)*.5;l=(d+c)*.5;c=+p[t>>2];d=+H(+c);a=+p[t+4>>2];o=+H(+a);h=+p[t+8>>2];f=+H(+h);g=+p[t+16>>2];C=+H(+g);S=+p[t+20>>2];y=+H(+S);v=+p[t+24>>2];x=+H(+v);M=+p[t+32>>2];T=+H(+M);D=+p[t+36>>2];P=+H(+D);w=+p[t+40>>2];A=+H(+w);F=_*c+s*a+l*h+ +p[t+48>>2];h=_*g+s*S+l*v+ +p[t+52>>2];v=_*M+s*D+l*w+ +p[t+56>>2];w=b*d+u*o+m*f;f=b*C+u*y+m*x;x=b*T+u*P+m*A;p[i>>2]=F-w;p[i+4>>2]=h-f;p[i+8>>2]=v-x;p[i+12>>2]=0.0;p[n>>2]=w+F;p[n+4>>2]=f+h;p[n+8>>2]=x+v;p[n+12>>2]=0.0;return}function bwe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0;i=e+16|0;n[i]=1;_=e+12|0;r[_>>2]=0;o=e+4|0;r[o>>2]=0;s=e+8|0;r[s>>2]=0;e=r[t+4>>2]|0;if((e|0)<=0){r[o>>2]=e;return}r[9806]=(r[9806]|0)+1;a=hBe((e<<2)+19|0)|0;if((a|0)==0){p=0}else{l=-(a+4|0)&15;r[a+l>>2]=a;p=a+(l+4)|0}l=r[o>>2]|0;if((l|0)>0){a=0;do{d=p+(a<<2)|0;if((d|0)!=0){r[d>>2]=r[(r[_>>2]|0)+(a<<2)>>2]}a=a+1|0}while((a|0)<(l|0))}l=r[_>>2]|0;if((l|0)!=0){if((n[i]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[l-4>>2]|0)}r[_>>2]=0}n[i]=1;r[_>>2]=p;r[s>>2]=e;s=0;i=p;while(1){p=i+(s<<2)|0;if((p|0)==0){c=i}else{r[p>>2]=0;c=r[_>>2]|0}p=s+1|0;if((p|0)<(e|0)){s=p;i=c}else{break}}r[o>>2]=e;o=t+12|0;t=0;do{i=c+(t<<2)|0;if((i|0)!=0){r[i>>2]=r[(r[o>>2]|0)+(t<<2)>>2]}t=t+1|0}while((t|0)<(e|0));return}function uwe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0;if((t|0)<=0){return}i=e+12|0;e=0;do{_=r[i>>2]|0;o=_+(e*56|0)+24|0;s=_+(e*56|0)+32|0;a=r[s>>2]|0;p=_+(e*56|0)+36|0;if((a|0)!=0){if((n[p]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-4>>2]|0)}r[s>>2]=0}n[p]=1;r[s>>2]=0;r[o>>2]=0;r[_+(e*56|0)+28>>2]=0;o=_+(e*56|0)+4|0;s=_+(e*56|0)+12|0;p=r[s>>2]|0;a=_+(e*56|0)+16|0;if((p|0)!=0){if((n[a]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[p-4>>2]|0)}r[s>>2]=0}n[a]=1;r[s>>2]=0;r[o>>2]=0;r[_+(e*56|0)+8>>2]=0;e=e+1|0}while((e|0)<(t|0));return}function mwe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;t=e+44|0;i=e+52|0;_=r[i>>2]|0;o=e+56|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+48>>2]=0;t=e+24|0;i=e+32|0;o=r[i>>2]|0;_=e+36|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-12+8>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+28>>2]=0;t=e+4|0;i=e+12|0;_=r[i>>2]|0;o=e+16|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+8|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+8|0;r[s>>2]=0;return}function hwe(e){e=e|0;var t=0,i=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0;t=d;d=d+48|0;i=t+16|0;o=e+60|0;n[o]=1;s=e+108|0;a=r[s>>2]|0;p=a<<1;l=t|0;vBe(l|0,0,16);c=e+128|0;b=r[c>>2]|0;if((b|0)<(p|0)){u=e+132|0;if((r[u>>2]|0)<(p|0)){if((p|0)==0){m=0;h=b}else{r[9806]=(r[9806]|0)+1;f=hBe((a<<5|4)+15|0)|0;if((f|0)==0){g=0}else{C=-(f+4|0)&15;r[f+C>>2]=f;g=f+(C+4)|0}m=g;h=r[c>>2]|0}g=e+136|0;if((h|0)>0){C=0;do{f=m+(C<<4)|0;S=(r[g>>2]|0)+(C<<4)|0;r[f>>2]=r[S>>2];r[f+4>>2]=r[S+4>>2];r[f+8>>2]=r[S+8>>2];r[f+12>>2]=r[S+12>>2];C=C+1|0}while((C|0)<(h|0))}h=r[g>>2]|0;C=e+140|0;if((h|0)!=0){if((n[C]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[h-16+12>>2]|0)}r[g>>2]=0}n[C]=1;r[g>>2]=m;r[u>>2]=p;y=g}else{y=e+136|0}g=b;do{b=(r[y>>2]|0)+(g<<4)|0;r[b>>2]=r[l>>2];r[b+4>>2]=r[l+4>>2];r[b+8>>2]=r[l+8>>2];r[b+12>>2]=r[l+12>>2];g=g+1|0}while((g|0)<(p|0))}r[c>>2]=p;r[e+56>>2]=0;fwe(e,0,a);a=e+152|0;do{if((n[o]&1)!=0){if((r[a>>2]|0)!=0){break}p=e+156|0;if((r[p>>2]|0)==0){r[9806]=(r[9806]|0)+1;c=hBe(51)|0;if((c|0)==0){v=0}else{g=-(c+4|0)&15;r[c+g>>2]=c;v=c+(g+4)|0}g=r[a>>2]|0;c=e+160|0;if((g|0)>0){l=0;do{y=v+(l<<5)|0;b=(r[c>>2]|0)+(l<<5)|0;yBe(y|0,b|0,32)|0;l=l+1|0}while((l|0)<(g|0))}g=r[c>>2]|0;l=e+164|0;if((g|0)!=0){if((n[l]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[g-32+28>>2]|0)}r[c>>2]=0}n[l]=1;r[c>>2]=v;r[p>>2]=1;x=(r[a>>2]|0)+1|0;M=v}else{x=1;M=r[e+160>>2]|0}r[a>>2]=x;l=e+160|0;g=M;b=i;yBe(g|0,b|0,32)|0;b=r[l>>2]|0;l=e+136|0;g=r[l>>2]|0;_[b>>1]=_[g>>1]|0;_[b+2>>1]=_[g+2>>1]|0;_[b+4>>1]=_[g+4>>1]|0;_[b+6>>1]=_[g+6>>1]|0;_[b+8>>1]=_[g+8>>1]|0;_[b+10>>1]=_[g+10>>1]|0;r[b+12>>2]=0;g=r[(r[l>>2]|0)+12>>2]|0;r[b+16>>2]=(g|0)>-1?1:-g|0}}while(0);r[e+168>>2]=r[a>>2];a=e+116|0;i=r[a>>2]|0;M=e+120|0;if((i|0)!=0){if((n[M]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-16+12>>2]|0)}r[a>>2]=0}n[M]=1;r[a>>2]=0;r[s>>2]=0;r[e+112>>2]=0;s=e+68|0;a=e+76|0;M=r[a>>2]|0;i=e+80|0;if((M|0)==0){n[i]=1;r[a>>2]=0;r[s>>2]=0;T=e+72|0;r[T>>2]=0;d=t;return}if((n[i]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[M-64+60>>2]|0)}r[a>>2]=0;n[i]=1;r[a>>2]=0;r[s>>2]=0;T=e+72|0;r[T>>2]=0;d=t;return}function fwe(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0.0,F=0.0,R=0.0,I=0,B=0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0,$=0,ee=0,te=0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0;o=d;d=d+176|0;a=o|0;l=o+32|0;c=o+64|0;b=o+80|0;u=o+144|0;m=o+160|0;h=i-t|0;f=e+56|0;g=r[f>>2]|0;if((h|0)==1){if((n[e+60|0]&1)==0){C=(r[e+96>>2]|0)+(g<<6)|0;S=(r[e+76>>2]|0)+(t<<6)|0;yBe(C|0,S|0,64)|0}else{S=(r[e+136>>2]|0)+(g<<4)|0;C=(r[e+116>>2]|0)+(t<<4)|0;r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2]}r[f>>2]=(r[f>>2]|0)+1;d=o;return}C=(t|0)<(i|0);if(C){S=(n[e+60|0]&1)==0;y=e+76|0;v=e+116|0;x=e+36|0;M=e+40|0;T=e+44|0;D=e+4|0;P=e+8|0;w=e+12|0;A=0.0;F=0.0;R=0.0;I=t;do{if(S){B=r[y>>2]|0;V=+p[B+(I<<6)>>2];E=+p[B+(I<<6)+4>>2];N=+p[B+(I<<6)+8>>2];k=+p[B+(I<<6)+24>>2];O=+p[B+(I<<6)+20>>2];L=+p[B+(I<<6)+16>>2]}else{B=r[v>>2]|0;U=+p[x>>2];G=+p[M>>2];W=+p[T>>2];z=+p[D>>2];H=+p[P>>2];j=+p[w>>2];V=+((s[B+(I<<4)>>1]|0)>>>0)/U+z;E=+((s[B+(I<<4)+2>>1]|0)>>>0)/G+H;N=+((s[B+(I<<4)+4>>1]|0)>>>0)/W+j;k=+((s[B+(I<<4)+10>>1]|0)>>>0)/W+j;O=+((s[B+(I<<4)+8>>1]|0)>>>0)/G+H;L=+((s[B+(I<<4)+6>>1]|0)>>>0)/U+z}R=R+(L+V)*.5;F=F+(O+E)*.5;A=A+(k+N)*.5;I=I+1|0}while((I|0)<(i|0));N=+(h|0);k=1.0/N;E=R*k;R=F*k;F=A*k;if(S){S=r[y>>2]|0;k=0.0;A=0.0;O=0.0;y=t;while(1){V=(+p[S+(y<<6)+16>>2]+ +p[S+(y<<6)>>2])*.5-E;L=(+p[S+(y<<6)+20>>2]+ +p[S+(y<<6)+4>>2])*.5-R;z=(+p[S+(y<<6)+24>>2]+ +p[S+(y<<6)+8>>2])*.5-F;U=O+V*V;V=A+L*L;L=k+z*z;I=y+1|0;if((I|0)<(i|0)){k=L;A=V;O=U;y=I}else{X=L;Z=V;Q=U;q=N;break}}}else{y=r[v>>2]|0;O=+p[x>>2];A=+p[M>>2];k=+p[T>>2];U=+p[D>>2];V=+p[P>>2];L=+p[w>>2];z=0.0;H=0.0;G=0.0;w=t;while(1){j=(+((s[y+(w<<4)+6>>1]|0)>>>0)/O+U+(+((s[y+(w<<4)>>1]|0)>>>0)/O+U))*.5-E;W=(+((s[y+(w<<4)+8>>1]|0)>>>0)/A+V+(+((s[y+(w<<4)+2>>1]|0)>>>0)/A+V))*.5-R;Y=(+((s[y+(w<<4)+10>>1]|0)>>>0)/k+L+(+((s[y+(w<<4)+4>>1]|0)>>>0)/k+L))*.5-F;J=G+j*j;j=H+W*W;W=z+Y*Y;P=w+1|0;if((P|0)<(i|0)){z=W;H=j;G=J;w=P}else{X=W;Z=j;Q=J;q=N;break}}}}else{X=0.0;Z=0.0;Q=0.0;q=+(h|0)}N=1.0/(q+-1.0);q=Q*N;Q=Z*N;Z=X*N;if(q<Q){K=Q<Z?2:1}else{K=q<Z?2:0}w=u|0;y=u+4|0;P=u+8|0;vBe(u|0,0,16);if(C){D=(n[e+60|0]&1)==0;T=e+76|0;M=e+116|0;x=e+36|0;v=e+40|0;S=e+44|0;I=e+4|0;B=e+8|0;$=e+12|0;ee=t;Z=0.0;q=0.0;Q=0.0;do{if(D){te=r[T>>2]|0;ie=+p[te+(ee<<6)>>2];ne=+p[te+(ee<<6)+4>>2];_e=+p[te+(ee<<6)+8>>2];re=+p[te+(ee<<6)+24>>2];oe=+p[te+(ee<<6)+20>>2];se=+p[te+(ee<<6)+16>>2]}else{te=r[M>>2]|0;N=+p[x>>2];X=+p[v>>2];G=+p[S>>2];H=+p[I>>2];z=+p[B>>2];F=+p[$>>2];ie=+((s[te+(ee<<4)>>1]|0)>>>0)/N+H;ne=+((s[te+(ee<<4)+2>>1]|0)>>>0)/X+z;_e=+((s[te+(ee<<4)+4>>1]|0)>>>0)/G+F;re=+((s[te+(ee<<4)+10>>1]|0)>>>0)/G+F;oe=+((s[te+(ee<<4)+8>>1]|0)>>>0)/X+z;se=+((s[te+(ee<<4)+6>>1]|0)>>>0)/N+H}Z=Z+(se+ie)*.5;q=(oe+ne)*.5+q;Q=(re+_e)*.5+Q;ee=ee+1|0}while((ee|0)<(i|0));p[w>>2]=Z;p[y>>2]=q;p[P>>2]=Q;ae=Z;pe=q;le=Q}else{ae=0.0;pe=0.0;le=0.0}Q=1.0/+(h|0);p[w>>2]=Q*ae;p[y>>2]=Q*pe;p[P>>2]=Q*le;le=+p[u+(K<<2)>>2];if(C){u=e+60|0;P=e+76|0;y=m|0;w=m+4|0;ee=m+8|0;$=m+12|0;B=m+(K<<2)|0;K=c;c=b;b=e+116|0;m=e+36|0;I=e+40|0;S=e+44|0;v=e+4|0;x=e+8|0;M=e+12|0;T=t;D=t;while(1){te=(n[u]&1)==0;if(te){de=r[P>>2]|0;ce=+p[de+(D<<6)>>2];be=+p[de+(D<<6)+4>>2];ue=+p[de+(D<<6)+8>>2];me=+p[de+(D<<6)+24>>2];he=+p[de+(D<<6)+20>>2];fe=+p[de+(D<<6)+16>>2]}else{de=r[b>>2]|0;Q=+p[m>>2];pe=+p[I>>2];ae=+p[S>>2];q=+p[v>>2];Z=+p[x>>2];_e=+p[M>>2];ce=+((s[de+(D<<4)>>1]|0)>>>0)/Q+q;be=+((s[de+(D<<4)+2>>1]|0)>>>0)/pe+Z;ue=+((s[de+(D<<4)+4>>1]|0)>>>0)/ae+_e;me=+((s[de+(D<<4)+10>>1]|0)>>>0)/ae+_e;he=+((s[de+(D<<4)+8>>1]|0)>>>0)/pe+Z;fe=+((s[de+(D<<4)+6>>1]|0)>>>0)/Q+q}p[y>>2]=(fe+ce)*.5;p[w>>2]=(he+be)*.5;p[ee>>2]=(me+ue)*.5;p[$>>2]=0.0;if(+p[B>>2]>le){if(te){te=r[P>>2]|0;de=te+(D<<6)|0;yBe(c|0,de|0,64)|0;ge=te+(T<<6)|0;yBe(de|0,ge|0,64)|0;ge=(r[P>>2]|0)+(T<<6)|0;yBe(ge|0,c|0,64)|0}else{ge=r[b>>2]|0;de=ge+(D<<4)|0;r[K>>2]=r[de>>2];r[K+4>>2]=r[de+4>>2];r[K+8>>2]=r[de+8>>2];r[K+12>>2]=r[de+12>>2];te=ge+(T<<4)|0;r[de>>2]=r[te>>2];r[de+4>>2]=r[te+4>>2];r[de+8>>2]=r[te+8>>2];r[de+12>>2]=r[te+12>>2];te=(r[b>>2]|0)+(T<<4)|0;r[te>>2]=r[K>>2];r[te+4>>2]=r[K+4>>2];r[te+8>>2]=r[K+8>>2];r[te+12>>2]=r[K+12>>2]}Ce=T+1|0}else{Ce=T}te=D+1|0;if((te|0)<(i|0)){T=Ce;D=te}else{Se=Ce;break}}}else{Se=t}Ce=(h|0)/3|0;if((Se|0)>(Ce+t|0)){if((Se|0)<(i-1-Ce|0)){ye=Se}else{ve=41}}else{ve=41}if((ve|0)==41){ye=(h>>1)+t|0}h=r[f>>2]|0;ve=e+20|0;Se=e+60|0;if((n[Se]&1)==0){Ce=(r[e+96>>2]|0)+(h<<6)|0;D=ve;r[Ce>>2]=r[D>>2];r[Ce+4>>2]=r[D+4>>2];r[Ce+8>>2]=r[D+8>>2];r[Ce+12>>2]=r[D+12>>2]}else{D=r[e+136>>2]|0;le=(+p[e+24>>2]-+p[e+8>>2])*+p[e+40>>2];ue=(+p[e+28>>2]-+p[e+12>>2])*+p[e+44>>2];_[D+(h<<4)>>1]=~~((+p[ve>>2]-+p[e+4>>2])*+p[e+36>>2])&-2;_[D+(h<<4)+2>>1]=~~le&-2;_[D+(h<<4)+4>>1]=~~ue&-2}D=r[f>>2]|0;ve=e+4|0;if((n[Se]&1)==0){Ce=(r[e+96>>2]|0)+(D<<6)+16|0;T=ve;r[Ce>>2]=r[T>>2];r[Ce+4>>2]=r[T+4>>2];r[Ce+8>>2]=r[T+8>>2];r[Ce+12>>2]=r[T+12>>2]}else{T=r[e+136>>2]|0;ue=+p[ve>>2];le=+p[e+8>>2];me=+p[e+12>>2];be=(le-le)*+p[e+40>>2];le=(me-me)*+p[e+44>>2];_[T+(D<<4)+6>>1]=~~((ue-ue)*+p[e+36>>2]+1.0)|1;_[T+(D<<4)+8>>1]=~~(be+1.0)|1;_[T+(D<<4)+10>>1]=~~(le+1.0)|1}D=r[f>>2]|0;if(C){C=e+76|0;T=e+116|0;ve=e+36|0;Ce=e+40|0;K=e+44|0;b=e+4|0;c=e+8|0;P=e+12|0;B=e+96|0;$=e+136|0;ee=t;w=D;while(1){do{if((n[Se]&1)==0){y=r[C>>2]|0;le=+p[y+(ee<<6)>>2];be=+p[y+(ee<<6)+4>>2];ue=+p[y+(ee<<6)+8>>2];me=+p[y+(ee<<6)+12>>2];he=+p[y+(ee<<6)+16>>2];ce=+p[y+(ee<<6)+20>>2];fe=+p[y+(ee<<6)+24>>2];q=+p[y+(ee<<6)+28>>2];y=r[B>>2]|0;M=y+(w<<6)|0;if(le<+p[M>>2]){p[M>>2]=le}M=y+(w<<6)+4|0;if(be<+p[M>>2]){p[M>>2]=be}M=y+(w<<6)+8|0;if(ue<+p[M>>2]){p[M>>2]=ue}M=y+(w<<6)+12|0;if(me<+p[M>>2]){p[M>>2]=me}M=r[B>>2]|0;y=M+(w<<6)+16|0;if(+p[y>>2]<he){p[y>>2]=he}y=M+(w<<6)+20|0;if(+p[y>>2]<ce){p[y>>2]=ce}y=M+(w<<6)+24|0;if(+p[y>>2]<fe){p[y>>2]=fe}y=M+(w<<6)+28|0;if(+p[y>>2]>=q){break}p[y>>2]=q}else{y=r[T>>2]|0;q=+p[ve>>2];fe=+p[Ce>>2];ce=+p[K>>2];he=+p[b>>2];me=+p[c>>2];ue=+p[P>>2];be=+p[b>>2];le=+p[c>>2];Q=+p[P>>2];Z=+p[ve>>2];pe=+p[Ce>>2];_e=+p[K>>2];M=~~((+((s[y+(ee<<4)>>1]|0)>>>0)/q+he-be)*Z)&-2;x=~~((+((s[y+(ee<<4)+2>>1]|0)>>>0)/fe+me-le)*pe)&-2;v=~~((+((s[y+(ee<<4)+4>>1]|0)>>>0)/ce+ue-Q)*_e)&-2;S=~~((+((s[y+(ee<<4)+6>>1]|0)>>>0)/q+he-be)*Z+1.0)|1;I=~~((+((s[y+(ee<<4)+8>>1]|0)>>>0)/fe+me-le)*pe+1.0)|1;m=~~((+((s[y+(ee<<4)+10>>1]|0)>>>0)/ce+ue-Q)*_e+1.0)|1;y=r[$>>2]|0;u=y+(w<<4)|0;if((s[u>>1]|0)>(M&65535)){_[u>>1]=M;xe=r[$>>2]|0}else{xe=y}y=xe+(w<<4)+6|0;if((s[y>>1]|0)<(S&65535)){_[y>>1]=S;Me=r[$>>2]|0}else{Me=xe}S=Me+(w<<4)+2|0;if((s[S>>1]|0)>(x&65535)){_[S>>1]=x;Te=r[$>>2]|0}else{Te=Me}x=Te+(w<<4)+8|0;if((s[x>>1]|0)<(I&65535)){_[x>>1]=I;De=r[$>>2]|0}else{De=Te}I=De+(w<<4)+4|0;if((s[I>>1]|0)>(v&65535)){_[I>>1]=v;Pe=r[$>>2]|0}else{Pe=De}v=Pe+(w<<4)+10|0;if((s[v>>1]|0)>=(m&65535)){break}_[v>>1]=m}}while(0);m=ee+1|0;v=r[f>>2]|0;if((m|0)<(i|0)){ee=m;w=v}else{we=v;break}}}else{we=D}D=we+1|0;r[f>>2]=D;fwe(e,t,ye);t=r[f>>2]|0;fwe(e,ye,i);i=(r[f>>2]|0)-g|0;g=n[Se]|0;do{if((g&1)==0){Ae=g}else{if((i<<4|0)<=2048){Ae=g;break}f=a;ye=l;we=r[e+136>>2]|0;w=r[we+(D<<4)+12>>2]|0;ee=(w|0)>-1?1:-w|0;w=r[we+(t<<4)+12>>2]|0;Pe=(w|0)>-1?1:-w|0;w=Pe<<4;De=e+152|0;if((ee<<4|0)<2049){$=r[De>>2]|0;Te=e+156|0;do{if(($|0)==(r[Te>>2]|0)){Me=($|0)==0?1:$<<1;if(($|0)>=(Me|0)){Fe=$;break}if((Me|0)==0){Re=0;Ie=$}else{r[9806]=(r[9806]|0)+1;xe=hBe((Me<<5|4)+15|0)|0;if((xe|0)==0){Be=0}else{K=-(xe+4|0)&15;r[xe+K>>2]=xe;Be=xe+(K+4)|0}Re=Be;Ie=r[De>>2]|0}K=e+160|0;if((Ie|0)>0){xe=0;do{Ce=Re+(xe<<5)|0;ve=(r[K>>2]|0)+(xe<<5)|0;yBe(Ce|0,ve|0,32)|0;xe=xe+1|0}while((xe|0)<(Ie|0))}xe=r[K>>2]|0;ve=e+164|0;if((xe|0)!=0){if((n[ve]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[xe-32+28>>2]|0)}r[K>>2]=0}n[ve]=1;r[K>>2]=Re;r[Te>>2]=Me;Fe=r[De>>2]|0}else{Fe=$}}while(0);r[De>>2]=Fe+1;Te=e+160|0;ve=(r[Te>>2]|0)+($<<5)|0;yBe(ve|0,f|0,32)|0;ve=r[Te>>2]|0;_[ve+($<<5)>>1]=_[we+(D<<4)>>1]|0;_[ve+($<<5)+2>>1]=_[we+(D<<4)+2>>1]|0;_[ve+($<<5)+4>>1]=_[we+(D<<4)+4>>1]|0;_[ve+($<<5)+6>>1]=_[we+(D<<4)+6>>1]|0;_[ve+($<<5)+8>>1]=_[we+(D<<4)+8>>1]|0;_[ve+($<<5)+10>>1]=_[we+(D<<4)+10>>1]|0;r[ve+($<<5)+12>>2]=D;r[ve+($<<5)+16>>2]=ee;Ve=De}else{Ve=De}if((w|0)<2049){ve=r[Ve>>2]|0;Te=e+156|0;do{if((ve|0)==(r[Te>>2]|0)){xe=(ve|0)==0?1:ve<<1;if((ve|0)>=(xe|0)){Ee=ve;break}if((xe|0)==0){Ne=0;ke=ve}else{r[9806]=(r[9806]|0)+1;Ce=hBe((xe<<5|4)+15|0)|0;if((Ce|0)==0){Oe=0}else{P=-(Ce+4|0)&15;r[Ce+P>>2]=Ce;Oe=Ce+(P+4)|0}Ne=Oe;ke=r[Ve>>2]|0}P=e+160|0;if((ke|0)>0){Ce=0;do{c=Ne+(Ce<<5)|0;b=(r[P>>2]|0)+(Ce<<5)|0;yBe(c|0,b|0,32)|0;Ce=Ce+1|0}while((Ce|0)<(ke|0))}Ce=r[P>>2]|0;Me=e+164|0;if((Ce|0)!=0){if((n[Me]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Ce-32+28>>2]|0)}r[P>>2]=0}n[Me]=1;r[P>>2]=Ne;r[Te>>2]=xe;Ee=r[Ve>>2]|0}else{Ee=ve}}while(0);r[Ve>>2]=Ee+1;Te=e+160|0;w=(r[Te>>2]|0)+(ve<<5)|0;yBe(w|0,ye|0,32)|0;w=r[Te>>2]|0;_[w+(ve<<5)>>1]=_[we+(t<<4)>>1]|0;_[w+(ve<<5)+2>>1]=_[we+(t<<4)+2>>1]|0;_[w+(ve<<5)+4>>1]=_[we+(t<<4)+4>>1]|0;_[w+(ve<<5)+6>>1]=_[we+(t<<4)+6>>1]|0;_[w+(ve<<5)+8>>1]=_[we+(t<<4)+8>>1]|0;_[w+(ve<<5)+10>>1]=_[we+(t<<4)+10>>1]|0;r[w+(ve<<5)+12>>2]=t;r[w+(ve<<5)+16>>2]=Pe}r[e+168>>2]=r[Ve>>2];Ae=n[Se]|0}}while(0);if((Ae&1)==0){r[(r[e+96>>2]|0)+(h<<6)+32>>2]=i;d=o;return}else{r[(r[e+136>>2]|0)+(h<<4)+12>>2]=-i;d=o;return}}function gwe(e){e=e|0;Cwe(e);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-172+168>>2]|0);return}function Cwe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=25328;t=e+152|0;i=e+160|0;_=r[i>>2]|0;o=e+164|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-32+28>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+156>>2]=0;t=e+128|0;i=e+136|0;o=r[i>>2]|0;_=e+140|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-16+12>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+132>>2]=0;t=e+108|0;i=e+116|0;_=r[i>>2]|0;o=e+120|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+112>>2]=0;t=e+88|0;i=e+96|0;o=r[i>>2]|0;_=e+100|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-64+60>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+92>>2]=0;t=e+68|0;i=e+76|0;_=r[i>>2]|0;o=e+80|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+72|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-64+60>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+72|0;r[s>>2]=0;return}function Swe(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0;a=d;d=d+16|0;l=a|0;c=a+8|0;if((n[e+60|0]&1)==0){b=e+56|0;u=r[b>>2]|0;e:do{if((u|0)>0){m=i|0;h=i+8|0;f=i+4|0;g=o+4|0;C=t;S=o+8|0;y=o|0;v=1;x=0;M=r[e+96>>2]|0;T=u;while(1){do{if(+p[m>>2]>+p[M+16>>2]){D=0}else{if(+p[y>>2]<+p[M>>2]){D=0;break}D=1}}while(0);do{if(+p[h>>2]>+p[M+24>>2]){P=0}else{if(+p[S>>2]<+p[M+8>>2]){P=0;break}P=D}}while(0);do{if(+p[f>>2]>+p[M+20>>2]){w=192}else{if(+p[g>>2]<+p[M+4>>2]){w=192;break}A=r[M+32>>2]|0;F=(A|0)==-1;if(!(F&P)){R=P;I=F;B=A;w=195;break}srt[r[(r[C>>2]|0)+8>>2]&511](t,r[M+36>>2]|0,r[M+40>>2]|0);V=r[b>>2]|0;w=196}}while(0);if((w|0)==192){w=0;A=r[M+32>>2]|0;R=0;I=(A|0)==-1;B=A;w=195}do{if((w|0)==195){w=0;if(R|I){V=T;w=196;break}E=M+(B<<6)|0;N=B+x|0;k=T}}while(0);if((w|0)==196){w=0;E=M+64|0;N=x+1|0;k=V}if((N|0)>=(k|0)){O=v;break e}v=v+1|0;x=N;M=E;T=k}}else{O=0}}while(0);if((r[9788]|0)>=(O|0)){d=a;return}r[9788]=O;d=a;return}O=l|0;L=+p[i>>2];U=+p[i+4>>2];G=+p[i+8>>2];W=+p[e+4>>2];z=L<W?W:L;L=+p[e+8>>2];H=U<L?L:U;U=+p[e+12>>2];j=G<U?U:G;G=+p[e+20>>2];X=+p[e+24>>2];Z=+p[e+28>>2];Q=+p[e+36>>2];q=+p[e+40>>2];Y=+p[e+44>>2];i=~~(((G<z?G:z)-W)*Q)&-2;_[O>>1]=i;k=~~(((X<H?X:H)-L)*q)&-2;_[l+2>>1]=k;E=~~(((Z<j?Z:j)-U)*Y)&-2;_[l+4>>1]=E;l=c|0;j=+p[o>>2];H=+p[o+4>>2];z=+p[o+8>>2];J=j<W?W:j;j=H<L?L:H;H=z<U?U:z;o=~~(((G<J?G:J)-W)*Q+1.0)|1;_[l>>1]=o;N=~~(((X<j?X:j)-L)*q+1.0)|1;_[c+2>>1]=N;V=~~(((Z<H?Z:H)-U)*Y+1.0)|1;_[c+4>>1]=V;c=r[e+144>>2]|0;if((c|0)==2){ywe(r[e+136>>2]|0,t,O,l);d=a;return}else if((c|0)==0){l=r[e+56>>2]|0;e:do{if((l|0)>0){O=t;w=r[e+136>>2]|0;B=1;I=0;while(1){R=w+12|0;b=r[R>>2]|0;P=(b|0)>-1;D=(-((i&65535)<=(s[w+6>>1]|0)&(o&65535)>=(s[w>>1]|0)&(E&65535)<=(s[w+10>>1]|0)&(V&65535)>=(s[w+4>>1]|0)&(k&65535)<=(s[w+8>>1]|0)&(N&65535)>=(s[w+2>>1]|0)&1)&1|0)==0;if(!(D|P^1)){srt[r[(r[O>>2]|0)+8>>2]&511](t,b>>21,b&2097151)}if(P|D^1){K=I+1|0;$=w+16|0}else{D=r[R>>2]|0;K=I-D|0;$=w+(-D<<4)|0}if((K|0)>=(l|0)){ee=B;break e}w=$;B=B+1|0;I=K}}else{ee=0}}while(0);if((r[9788]|0)>=(ee|0)){d=a;return}r[9788]=ee;d=a;return}else if((c|0)==1){c=e+152|0;ee=r[c>>2]|0;if((ee|0)<=0){d=a;return}K=e+160|0;$=e+136|0;e=t;l=0;I=ee;while(1){ee=r[K>>2]|0;if((-((i&65535)<=(s[ee+(l<<5)+6>>1]|0)&(o&65535)>=(s[ee+(l<<5)>>1]|0)&(E&65535)<=(s[ee+(l<<5)+10>>1]|0)&(V&65535)>=(s[ee+(l<<5)+4>>1]|0)&(k&65535)<=(s[ee+(l<<5)+8>>1]|0)&(N&65535)>=(s[ee+(l<<5)+2>>1]|0)&1)&1|0)==0){te=I}else{B=r[ee+(l<<5)+12>>2]|0;w=r[ee+(l<<5)+16>>2]|0;ee=w+B|0;e:do{if((w|0)>0){O=(r[$>>2]|0)+(B<<4)|0;D=1;R=B;while(1){P=O+12|0;b=r[P>>2]|0;u=(b|0)>-1;T=(-((i&65535)<=(s[O+6>>1]|0)&(o&65535)>=(s[O>>1]|0)&(E&65535)<=(s[O+10>>1]|0)&(V&65535)>=(s[O+4>>1]|0)&(k&65535)<=(s[O+8>>1]|0)&(N&65535)>=(s[O+2>>1]|0)&1)&1|0)==0;if(!(T|u^1)){srt[r[(r[e>>2]|0)+8>>2]&511](t,b>>21,b&2097151)}if(u|T^1){ie=R+1|0;ne=O+16|0}else{T=r[P>>2]|0;ie=R-T|0;ne=O+(-T<<4)|0}if((ie|0)>=(ee|0)){_e=D;break e}O=ne;D=D+1|0;R=ie}}else{_e=0}}while(0);if((r[9788]|0)<(_e|0)){r[9788]=_e}te=r[c>>2]|0}ee=l+1|0;if((ee|0)<(te|0)){l=ee;I=te}else{break}}d=a;return}else{d=a;return}}function ywe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,a=0,p=0,l=0,d=0,c=0;_=i+4|0;o=n+4|0;a=i+2|0;p=n+2|0;l=e;while(1){d=r[l+12>>2]|0;if((-((s[i>>1]|0)<=(s[l+6>>1]|0)&(s[n>>1]|0)>=(s[l>>1]|0)&(s[_>>1]|0)<=(s[l+10>>1]|0)&(s[o>>1]|0)>=(s[l+4>>1]|0)&(s[a>>1]|0)<=(s[l+8>>1]|0)&(s[p>>1]|0)>=(s[l+2>>1]|0)&1)&1|0)==0){c=219;break}if((d|0)>-1){break}ywe(l+16|0,t,i,n);e=r[l+28>>2]|0;if((e|0)>-1){l=l+32|0;continue}else{l=l+(1-e<<4)|0;continue}}if((c|0)==219){return}srt[r[(r[t>>2]|0)+8>>2]&511](t,d>>21,d&2097151);return}function vwe(e,t,i,n,_,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;o=+o;s=s|0;a=a|0;var l=0,c=0,b=0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0,S=0.0,y=0.0,v=0,x=0.0,M=0.0,T=0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0.0,I=0.0,B=0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0,G=0,W=0,z=0,H=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0;l=d;d=d+32|0;c=l|0;b=r[e+96>>2]|0;u=i|0;m=+p[u>>2];h=i+4|0;f=+p[h>>2];g=i+8|0;C=+p[g>>2];i=s|0;S=+p[i>>2];y=(m>n?n:m)+S;v=s+4|0;x=+p[v>>2];M=(f>_?_:f)+x;T=s+8|0;D=+p[T>>2];P=(C>o?o:C)+D;s=a|0;w=+p[s>>2];A=(m<n?n:m)+w;F=a+4|0;R=+p[F>>2];I=(f<_?_:f)+R;B=a+8|0;V=+p[B>>2];E=(C<o?o:C)+V;N=n-m;m=_-f;f=o-C;C=1.0/+j(+(N*N+m*m+f*f));o=N*C;_=m*C;n=f*C;C=f*n+(N*o+m*_);if(o==0.0){k=999999984306749400.0}else{k=1.0/o}if(_==0.0){O=999999984306749400.0}else{O=1.0/_}if(n==0.0){L=999999984306749400.0}else{L=1.0/n}a=k<0.0|0;U=O<0.0|0;G=L<0.0|0;W=e+56|0;e=r[W>>2]|0;e:do{if((e|0)>0){z=c;H=c+16|0;X=H;Z=c|0;Q=c+4|0;q=c+8|0;Y=H|0;H=c+20|0;J=c+24|0;K=c+(a<<4)|0;$=c+((a^1)<<4)|0;ee=c+(U<<4)+4|0;te=c+((U^1)<<4)+4|0;ie=c+(G<<4)+8|0;ne=c+((G^1)<<4)+8|0;_e=t;re=0;oe=1;se=b;n=w;_=R;o=V;m=S;N=x;f=D;ae=e;while(1){pe=se;r[z>>2]=r[pe>>2];r[z+4>>2]=r[pe+4>>2];r[z+8>>2]=r[pe+8>>2];r[z+12>>2]=r[pe+12>>2];pe=se+16|0;le=pe;r[X>>2]=r[le>>2];r[X+4>>2]=r[le+4>>2];r[X+8>>2]=r[le+8>>2];r[X+12>>2]=r[le+12>>2];p[Z>>2]=+p[Z>>2]-n;p[Q>>2]=+p[Q>>2]-_;p[q>>2]=+p[q>>2]-o;p[Y>>2]=+p[Y>>2]-m;p[H>>2]=+p[H>>2]-N;p[J>>2]=+p[J>>2]-f;do{if(y>+p[pe>>2]){de=0}else{if(A<+p[se>>2]){de=0;break}de=1}}while(0);do{if(P>+p[se+24>>2]){ce=0}else{if(E<+p[se+8>>2]){ce=0;break}ce=de}}while(0);do{if(M>+p[se+20>>2]){be=240}else{if(I<+p[se+4>>2]|ce^1){be=240;break}ue=+p[u>>2];me=k*(+p[K>>2]-ue);he=k*(+p[$>>2]-ue);ue=+p[h>>2];fe=O*(+p[ee>>2]-ue);ge=O*(+p[te>>2]-ue);if(me>ge|fe>he){be=240;break}ue=fe>me?fe:me;me=ge<he?ge:he;he=+p[g>>2];ge=L*(+p[ie>>2]-he);fe=L*(+p[ne>>2]-he);if(ue>fe|ge>me){be=240;break}if((ge>ue?ge:ue)>=C){be=240;break}pe=(fe<me?fe:me)>0.0;le=r[se+32>>2]|0;Ce=(le|0)==-1;if(!(Ce&pe)){Se=pe;ye=Ce;ve=le;be=243;break}srt[r[(r[_e>>2]|0)+8>>2]&511](t,r[se+36>>2]|0,r[se+40>>2]|0);xe=r[W>>2]|0;be=244}}while(0);if((be|0)==240){be=0;le=r[se+32>>2]|0;Se=0;ye=(le|0)==-1;ve=le;be=243}do{if((be|0)==243){be=0;if(Se|ye){xe=ae;be=244;break}Me=se+(ve<<6)|0;Te=ve+re|0;De=ae}}while(0);if((be|0)==244){be=0;Me=se+64|0;Te=re+1|0;De=xe}if((Te|0)>=(De|0)){Pe=oe;break e}re=Te;oe=oe+1|0;se=Me;n=+p[s>>2];_=+p[F>>2];o=+p[B>>2];m=+p[i>>2];N=+p[v>>2];f=+p[T>>2];ae=De}}else{Pe=0}}while(0);if((r[9788]|0)>=(Pe|0)){d=l;return}r[9788]=Pe;d=l;return}function xwe(e,t,i,n,o,a,l,c,b){e=e|0;t=t|0;i=i|0;n=+n;o=+o;a=+a;l=l|0;c=c|0;b=b|0;var u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0,y=0.0,v=0.0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0.0,H=0,X=0.0,Z=0,Q=0.0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0;u=d;d=d+32|0;m=u|0;h=r[e+136>>2]|0;f=i|0;g=+p[f>>2];C=n-g;S=i+4|0;y=+p[S>>2];v=o-y;x=i+8|0;M=+p[x>>2];T=a-M;D=1.0/+j(+(C*C+v*v+T*T));P=C*D;w=v*D;A=T*D;D=T*A+(C*P+v*w);if(P==0.0){F=999999984306749400.0}else{F=1.0/P}if(w==0.0){R=999999984306749400.0}else{R=1.0/w}if(A==0.0){I=999999984306749400.0}else{I=1.0/A}i=F<0.0|0;B=R<0.0|0;V=I<0.0|0;E=l|0;A=(g>n?n:g)+ +p[E>>2];N=l+4|0;w=(y>o?o:y)+ +p[N>>2];k=l+8|0;P=(M>a?a:M)+ +p[k>>2];l=c|0;v=(g<n?n:g)+ +p[l>>2];O=c+4|0;g=(y<o?o:y)+ +p[O>>2];L=c+8|0;y=(M<a?a:M)+ +p[L>>2];c=e+4|0;M=+p[c>>2];a=A<M?M:A;U=e+8|0;A=+p[U>>2];o=w<A?A:w;G=e+12|0;w=+p[G>>2];n=P<w?w:P;P=+p[e+20>>2];C=+p[e+24>>2];T=+p[e+28>>2];W=e+36|0;z=+p[W>>2];H=e+40|0;X=+p[H>>2];Z=e+44|0;Q=+p[Z>>2];e=~~(((P<a?P:a)-M)*z)&-2;q=~~(((C<o?C:o)-A)*X)&-2;Y=~~(((T<n?T:n)-w)*Q)&-2;n=v<M?M:v;v=g<A?A:g;g=y<w?w:y;J=~~(((P<n?P:n)-M)*z+1.0)|1;K=~~(((C<v?C:v)-A)*X+1.0)|1;$=~~(((T<g?T:g)-w)*Q+1.0)|1;if((b|0)>0){ee=m|0;te=m+4|0;ie=m+8|0;ne=m+12|0;_e=m+16|0;re=m+20|0;oe=m+24|0;se=m+28|0;ae=m+(i<<4)|0;pe=m+((i^1)<<4)|0;i=m+(B<<4)+4|0;le=m+((B^1)<<4)+4|0;B=t;de=m+(V<<4)+8|0;ce=m+((V^1)<<4)+8|0;V=h;h=0;m=0;while(1){be=h+1|0;ue=V+6|0;me=_[V>>1]|0;he=V+10|0;fe=_[V+4>>1]|0;ge=V+8|0;Ce=_[V+2>>1]|0;Se=V+12|0;ye=(r[Se>>2]|0)>-1;do{if((-((e&65535)<=(s[ue>>1]|0)&(J&65535)>=(me&65535)&(Y&65535)<=(s[he>>1]|0)&($&65535)>=(fe&65535)&(q&65535)<=(s[ge>>1]|0)&(K&65535)>=(Ce&65535)&1)&1|0)==0){ve=1;xe=267}else{Q=+p[W>>2];w=+p[H>>2];g=+p[Z>>2];T=+p[c>>2];X=+((me&65535)>>>0)/Q+T;A=+p[U>>2];v=+((Ce&65535)>>>0)/w+A;C=+p[G>>2];z=+((fe&65535)>>>0)/g+C;p[ee>>2]=X;p[te>>2]=v;p[ie>>2]=z;p[ne>>2]=0.0;M=+((s[ue>>1]|0)>>>0)/Q+T;T=+((s[ge>>1]|0)>>>0)/w+A;A=+((s[he>>1]|0)>>>0)/g+C;p[se>>2]=0.0;p[ee>>2]=X-+p[l>>2];p[te>>2]=v-+p[O>>2];p[ie>>2]=z-+p[L>>2];p[_e>>2]=M-+p[E>>2];p[re>>2]=T-+p[N>>2];p[oe>>2]=A-+p[k>>2];A=+p[f>>2];T=F*(+p[ae>>2]-A);M=F*(+p[pe>>2]-A);A=+p[S>>2];z=R*(+p[i>>2]-A);v=R*(+p[le>>2]-A);if(T>v|z>M){ve=1;xe=267;break}A=z>T?z:T;T=v<M?v:M;M=+p[x>>2];v=I*(+p[de>>2]-M);z=I*(+p[ce>>2]-M);if(A>z|v>T){ve=1;xe=267;break}if((v>A?v:A)>=D){ve=1;xe=267;break}Me=(z<T?z:T)<=0.0;if(Me|ye^1){ve=Me;xe=267;break}Me=r[Se>>2]|0;srt[r[(r[B>>2]|0)+8>>2]&511](t,Me>>21,Me&2097151);xe=268}}while(0);do{if((xe|0)==267){xe=0;if(ye|ve^1){xe=268;break}he=r[Se>>2]|0;Te=m-he|0;De=V+(-he<<4)|0}}while(0);if((xe|0)==268){xe=0;Te=m+1|0;De=V+16|0}if((Te|0)<(b|0)){V=De;h=be;m=Te}else{Pe=be;break}}}else{Pe=0}if((r[9788]|0)>=(Pe|0)){d=u;return}r[9788]=Pe;d=u;return}function Mwe(e,t,i,o){e=e|0;t=t|0;i=i|0;o=o|0;var s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0;i=e+168|0;r[i>>2]=r[e+152>>2];r[t>>2]=25328;r[t+52>>2]=278;s=t+60|0;n[s]=0;n[t+80|0]=1;r[t+76>>2]=0;r[t+68>>2]=0;r[t+72>>2]=0;a=t+100|0;n[a]=1;l=t+96|0;r[l>>2]=0;d=t+88|0;c=d;r[c>>2]=0;b=t+92|0;r[b>>2]=0;n[t+120|0]=1;r[t+116>>2]=0;r[t+108>>2]=0;r[t+112>>2]=0;u=t+140|0;n[u]=1;m=t+136|0;r[m>>2]=0;h=t+128|0;f=h;r[f>>2]=0;g=t+132|0;r[g>>2]=0;C=t+144|0;r[C>>2]=0;S=t+164|0;n[S]=1;y=t+160|0;r[y>>2]=0;v=t+152|0;x=v;r[x>>2]=0;M=t+156|0;r[M>>2]=0;T=t+168|0;r[T>>2]=0;D=t+4|0;p[D>>2]=-3.4028234663852886e+38;P=t+8|0;p[P>>2]=-3.4028234663852886e+38;w=t+12|0;p[w>>2]=-3.4028234663852886e+38;A=t+16|0;p[A>>2]=0.0;F=t+20|0;p[F>>2]=3.4028234663852886e+38;R=t+24|0;p[R>>2]=3.4028234663852886e+38;I=t+28|0;p[I>>2]=3.4028234663852886e+38;B=t+32|0;p[B>>2]=0.0;V=e+56|0;E=r[V>>2]|0;if(o){r[t+56>>2]=Ii(E|0)|0;N=e+4|0;n[D]=n[N+3|0]|0;n[t+5|0]=n[N+2|0]|0;n[t+6|0]=n[N+1|0]|0;n[t+7|0]=n[N]|0;N=e+8|0;n[P]=n[N+3|0]|0;n[t+9|0]=n[N+2|0]|0;n[t+10|0]=n[N+1|0]|0;n[t+11|0]=n[N]|0;N=e+12|0;n[w]=n[N+3|0]|0;n[t+13|0]=n[N+2|0]|0;n[t+14|0]=n[N+1|0]|0;n[t+15|0]=n[N]|0;N=e+16|0;n[A]=n[N+3|0]|0;n[t+17|0]=n[N+2|0]|0;n[t+18|0]=n[N+1|0]|0;n[t+19|0]=n[N]|0;N=e+20|0;n[F]=n[N+3|0]|0;n[t+21|0]=n[N+2|0]|0;n[t+22|0]=n[N+1|0]|0;n[t+23|0]=n[N]|0;N=e+24|0;n[R]=n[N+3|0]|0;n[t+25|0]=n[N+2|0]|0;n[t+26|0]=n[N+1|0]|0;n[t+27|0]=n[N]|0;N=e+28|0;n[I]=n[N+3|0]|0;n[t+29|0]=n[N+2|0]|0;n[t+30|0]=n[N+1|0]|0;n[t+31|0]=n[N]|0;N=e+32|0;n[B]=n[N+3|0]|0;n[t+33|0]=n[N+2|0]|0;n[t+34|0]=n[N+1|0]|0;n[t+35|0]=n[N]|0;N=e+36|0;n[t+36|0]=n[N+3|0]|0;n[t+37|0]=n[N+2|0]|0;n[t+38|0]=n[N+1|0]|0;n[t+39|0]=n[N]|0;N=e+40|0;n[t+40|0]=n[N+3|0]|0;n[t+41|0]=n[N+2|0]|0;n[t+42|0]=n[N+1|0]|0;n[t+43|0]=n[N]|0;N=e+44|0;n[t+44|0]=n[N+3|0]|0;n[t+45|0]=n[N+2|0]|0;n[t+46|0]=n[N+1|0]|0;n[t+47|0]=n[N]|0;N=e+48|0;n[t+48|0]=n[N+3|0]|0;n[t+49|0]=n[N+2|0]|0;n[t+50|0]=n[N+1|0]|0;n[t+51|0]=n[N]|0;r[C>>2]=Ii(r[e+144>>2]|0)|0;k=Ii(r[i>>2]|0)|0}else{r[t+56>>2]=E;E=e+4|0;r[D>>2]=r[E>>2];r[D+4>>2]=r[E+4>>2];r[D+8>>2]=r[E+8>>2];r[D+12>>2]=r[E+12>>2];E=e+20|0;r[F>>2]=r[E>>2];r[F+4>>2]=r[E+4>>2];r[F+8>>2]=r[E+8>>2];r[F+12>>2]=r[E+12>>2];E=t+36|0;F=e+36|0;r[E>>2]=r[F>>2];r[E+4>>2]=r[F+4>>2];r[E+8>>2]=r[F+8>>2];r[E+12>>2]=r[F+12>>2];r[C>>2]=r[e+144>>2];k=r[i>>2]|0}r[T>>2]=k;k=e+60|0;n[s]=n[k]&1;s=t+172|0;T=r[V>>2]|0;if((n[k]&1)==0){k=s;vBe(d|0,0,13);r[l>>2]=k;r[c>>2]=T;r[b>>2]=T;b=(T|0)>0;e:do{if(o){if(!b){break}c=e+96|0;V=0;C=k;while(1){F=r[c>>2]|0;E=C+(V<<6)|0;D=F+(V<<6)|0;n[E]=n[D+3|0]|0;n[E+1|0]=n[D+2|0]|0;n[E+2|0]=n[D+1|0]|0;n[E+3|0]=n[D]|0;D=C+(V<<6)+4|0;E=F+(V<<6)+4|0;n[D]=n[E+3|0]|0;n[D+1|0]=n[E+2|0]|0;n[D+2|0]=n[E+1|0]|0;n[D+3|0]=n[E]|0;E=C+(V<<6)+8|0;D=F+(V<<6)+8|0;n[E]=n[D+3|0]|0;n[E+1|0]=n[D+2|0]|0;n[E+2|0]=n[D+1|0]|0;n[E+3|0]=n[D]|0;D=C+(V<<6)+12|0;E=F+(V<<6)+12|0;n[D]=n[E+3|0]|0;n[D+1|0]=n[E+2|0]|0;n[D+2|0]=n[E+1|0]|0;n[D+3|0]=n[E]|0;E=r[c>>2]|0;D=r[l>>2]|0;F=D+(V<<6)+16|0;N=E+(V<<6)+16|0;n[F]=n[N+3|0]|0;n[F+1|0]=n[N+2|0]|0;n[F+2|0]=n[N+1|0]|0;n[F+3|0]=n[N]|0;N=D+(V<<6)+20|0;F=E+(V<<6)+20|0;n[N]=n[F+3|0]|0;n[N+1|0]=n[F+2|0]|0;n[N+2|0]=n[F+1|0]|0;n[N+3|0]=n[F]|0;F=D+(V<<6)+24|0;N=E+(V<<6)+24|0;n[F]=n[N+3|0]|0;n[F+1|0]=n[N+2|0]|0;n[F+2|0]=n[N+1|0]|0;n[F+3|0]=n[N]|0;N=D+(V<<6)+28|0;D=E+(V<<6)+28|0;n[N]=n[D+3|0]|0;n[N+1|0]=n[D+2|0]|0;n[N+2|0]=n[D+1|0]|0;n[N+3|0]=n[D]|0;D=Ii(r[(r[c>>2]|0)+(V<<6)+32>>2]|0)|0;r[(r[l>>2]|0)+(V<<6)+32>>2]=D;D=Ii(r[(r[c>>2]|0)+(V<<6)+36>>2]|0)|0;r[(r[l>>2]|0)+(V<<6)+36>>2]=D;D=Ii(r[(r[c>>2]|0)+(V<<6)+40>>2]|0)|0;r[(r[l>>2]|0)+(V<<6)+40>>2]=D;D=V+1|0;if((D|0)>=(T|0)){break e}V=D;C=r[l>>2]|0}}else{if(!b){break}C=e+96|0;V=0;c=k;while(1){D=c+(V<<6)|0;N=(r[C>>2]|0)+(V<<6)|0;r[D>>2]=r[N>>2];r[D+4>>2]=r[N+4>>2];r[D+8>>2]=r[N+8>>2];r[D+12>>2]=r[N+12>>2];N=(r[l>>2]|0)+(V<<6)+16|0;D=(r[C>>2]|0)+(V<<6)+16|0;r[N>>2]=r[D>>2];r[N+4>>2]=r[D+4>>2];r[N+8>>2]=r[D+8>>2];r[N+12>>2]=r[D+12>>2];r[(r[l>>2]|0)+(V<<6)+32>>2]=r[(r[C>>2]|0)+(V<<6)+32>>2];r[(r[l>>2]|0)+(V<<6)+36>>2]=r[(r[C>>2]|0)+(V<<6)+36>>2];r[(r[l>>2]|0)+(V<<6)+40>>2]=r[(r[C>>2]|0)+(V<<6)+40>>2];D=V+1|0;if((D|0)>=(T|0)){break e}V=D;c=r[l>>2]|0}}}while(0);k=T<<6;b=r[l>>2]|0;if((b|0)!=0){if((n[a]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-64+60>>2]|0)}r[l>>2]=0}vBe(d|0,0,13);O=k}else{k=s;vBe(h|0,0,13);r[m>>2]=k;r[f>>2]=T;r[g>>2]=T;g=(T|0)>0;e:do{if(o){if(!g){break}f=e+136|0;s=0;d=k;while(1){_[d+(s<<4)>>1]=ai(_[(r[f>>2]|0)+(s<<4)>>1]|0)|0;l=ai(_[(r[f>>2]|0)+(s<<4)+2>>1]|0)|0;_[(r[m>>2]|0)+(s<<4)+2>>1]=l;l=ai(_[(r[f>>2]|0)+(s<<4)+4>>1]|0)|0;_[(r[m>>2]|0)+(s<<4)+4>>1]=l;l=ai(_[(r[f>>2]|0)+(s<<4)+6>>1]|0)|0;_[(r[m>>2]|0)+(s<<4)+6>>1]=l;l=ai(_[(r[f>>2]|0)+(s<<4)+8>>1]|0)|0;_[(r[m>>2]|0)+(s<<4)+8>>1]=l;l=ai(_[(r[f>>2]|0)+(s<<4)+10>>1]|0)|0;_[(r[m>>2]|0)+(s<<4)+10>>1]=l;l=Ii(r[(r[f>>2]|0)+(s<<4)+12>>2]|0)|0;r[(r[m>>2]|0)+(s<<4)+12>>2]=l;l=s+1|0;if((l|0)>=(T|0)){break e}s=l;d=r[m>>2]|0}}else{if(!g){break}d=e+136|0;s=0;f=k;while(1){_[f+(s<<4)>>1]=_[(r[d>>2]|0)+(s<<4)>>1]|0;_[(r[m>>2]|0)+(s<<4)+2>>1]=_[(r[d>>2]|0)+(s<<4)+2>>1]|0;_[(r[m>>2]|0)+(s<<4)+4>>1]=_[(r[d>>2]|0)+(s<<4)+4>>1]|0;_[(r[m>>2]|0)+(s<<4)+6>>1]=_[(r[d>>2]|0)+(s<<4)+6>>1]|0;_[(r[m>>2]|0)+(s<<4)+8>>1]=_[(r[d>>2]|0)+(s<<4)+8>>1]|0;_[(r[m>>2]|0)+(s<<4)+10>>1]=_[(r[d>>2]|0)+(s<<4)+10>>1]|0;r[(r[m>>2]|0)+(s<<4)+12>>2]=r[(r[d>>2]|0)+(s<<4)+12>>2];l=s+1|0;if((l|0)>=(T|0)){break e}s=l;f=r[m>>2]|0}}}while(0);k=T<<4;T=r[m>>2]|0;if((T|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[T-16+12>>2]|0)}r[m>>2]=0}vBe(h|0,0,13);O=k}k=t+(O+172)|0;O=r[i>>2]|0;h=r[y>>2]|0;if((h|0)!=0){if((n[S]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[h-32+28>>2]|0)}r[y>>2]=0}h=k;vBe(v|0,0,13);r[y>>2]=h;r[x>>2]=O;r[M>>2]=O;O=(r[i>>2]|0)>0;e:do{if(o){if(!O){break}M=e+160|0;x=0;k=h;while(1){_[k+(x<<5)>>1]=ai(_[(r[M>>2]|0)+(x<<5)>>1]|0)|0;m=ai(_[(r[M>>2]|0)+(x<<5)+2>>1]|0)|0;_[(r[y>>2]|0)+(x<<5)+2>>1]=m;m=ai(_[(r[M>>2]|0)+(x<<5)+4>>1]|0)|0;_[(r[y>>2]|0)+(x<<5)+4>>1]=m;m=ai(_[(r[M>>2]|0)+(x<<5)+6>>1]|0)|0;_[(r[y>>2]|0)+(x<<5)+6>>1]=m;m=ai(_[(r[M>>2]|0)+(x<<5)+8>>1]|0)|0;_[(r[y>>2]|0)+(x<<5)+8>>1]=m;m=ai(_[(r[M>>2]|0)+(x<<5)+10>>1]|0)|0;_[(r[y>>2]|0)+(x<<5)+10>>1]=m;m=Ii(r[(r[M>>2]|0)+(x<<5)+12>>2]|0)|0;r[(r[y>>2]|0)+(x<<5)+12>>2]=m;m=Ii(r[(r[M>>2]|0)+(x<<5)+16>>2]|0)|0;r[(r[y>>2]|0)+(x<<5)+16>>2]=m;m=x+1|0;if((m|0)>=(r[i>>2]|0)){break e}x=m;k=r[y>>2]|0}}else{if(!O){break}k=e+160|0;x=0;M=h;while(1){_[M+(x<<5)>>1]=_[(r[k>>2]|0)+(x<<5)>>1]|0;_[(r[y>>2]|0)+(x<<5)+2>>1]=_[(r[k>>2]|0)+(x<<5)+2>>1]|0;_[(r[y>>2]|0)+(x<<5)+4>>1]=_[(r[k>>2]|0)+(x<<5)+4>>1]|0;_[(r[y>>2]|0)+(x<<5)+6>>1]=_[(r[k>>2]|0)+(x<<5)+6>>1]|0;_[(r[y>>2]|0)+(x<<5)+8>>1]=_[(r[k>>2]|0)+(x<<5)+8>>1]|0;_[(r[y>>2]|0)+(x<<5)+10>>1]=_[(r[k>>2]|0)+(x<<5)+10>>1]|0;r[(r[y>>2]|0)+(x<<5)+12>>2]=r[(r[k>>2]|0)+(x<<5)+12>>2];r[(r[y>>2]|0)+(x<<5)+16>>2]=r[(r[k>>2]|0)+(x<<5)+16>>2];r[(r[y>>2]|0)+(x<<5)+20>>2]=0;r[(r[y>>2]|0)+(x<<5)+24>>2]=0;r[(r[y>>2]|0)+(x<<5)+28>>2]=0;m=x+1|0;if((m|0)>=(r[i>>2]|0)){break e}x=m;M=r[y>>2]|0}}}while(0);i=r[y>>2]|0;if((i|0)==0){L=t;r[L>>2]=0;vBe(v|0,0,13);return 1}if((n[S]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-32+28>>2]|0)}r[y>>2]=0;L=t;r[L>>2]=0;vBe(v|0,0,13);return 1}function Twe(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0;if((e|0)==0){o=0;return o|0}s=e;if(i){a=e+56|0;p=Ii(r[a>>2]|0)|0;r[a>>2]=p;a=e+4|0;l=e+7|0;d=e+6|0;c=n[d]|0;b=e+5|0;u=n[b]|0;m=n[a]|0;h=e+8|0;f=e+11|0;g=n[f]|0;C=e+10|0;S=n[C]|0;y=e+9|0;v=n[y]|0;x=n[h]|0;M=e+12|0;T=e+15|0;D=n[T]|0;P=e+14|0;w=n[P]|0;A=e+13|0;F=n[A]|0;R=n[M]|0;I=e+16|0;B=e+19|0;V=n[B]|0;E=e+18|0;N=n[E]|0;k=e+17|0;O=n[k]|0;L=n[I]|0;n[a]=n[l]|0;n[b]=c;n[d]=u;n[l]=m;n[h]=g;n[y]=S;n[C]=v;n[f]=x;n[M]=D;n[A]=w;n[P]=F;n[T]=R;n[I]=V;n[k]=N;n[E]=O;n[B]=L;L=e+20|0;B=e+23|0;O=e+22|0;E=n[O]|0;N=e+21|0;k=n[N]|0;V=n[L]|0;I=e+24|0;R=e+27|0;T=n[R]|0;F=e+26|0;P=n[F]|0;w=e+25|0;A=n[w]|0;D=n[I]|0;M=e+28|0;x=e+31|0;f=n[x]|0;v=e+30|0;C=n[v]|0;S=e+29|0;y=n[S]|0;g=n[M]|0;h=e+32|0;m=e+35|0;l=n[m]|0;u=e+34|0;d=n[u]|0;c=e+33|0;b=n[c]|0;a=n[h]|0;n[L]=n[B]|0;n[N]=E;n[O]=k;n[B]=V;n[I]=T;n[w]=P;n[F]=A;n[R]=D;n[M]=f;n[S]=C;n[v]=y;n[x]=g;n[h]=l;n[c]=d;n[u]=b;n[m]=a;a=e+36|0;m=e+39|0;b=e+38|0;u=n[b]|0;d=e+37|0;c=n[d]|0;l=n[a]|0;h=e+40|0;g=e+43|0;x=n[g]|0;y=e+42|0;v=n[y]|0;C=e+41|0;S=n[C]|0;f=n[h]|0;M=e+44|0;D=e+47|0;R=n[D]|0;A=e+46|0;F=n[A]|0;P=e+45|0;w=n[P]|0;T=n[M]|0;I=e+48|0;V=e+51|0;B=n[V]|0;k=e+50|0;O=n[k]|0;E=e+49|0;N=n[E]|0;L=n[I]|0;n[a]=n[m]|0;n[d]=u;n[b]=c;n[m]=l;n[h]=x;n[C]=v;n[y]=S;n[g]=f;n[M]=R;n[P]=F;n[A]=w;n[D]=T;n[I]=B;n[E]=O;n[k]=N;n[V]=L;L=e+144|0;r[L>>2]=Ii(r[L>>2]|0)|0;L=e+168|0;V=Ii(r[L>>2]|0)|0;r[L>>2]=V;U=V;G=p}else{U=r[e+168>>2]|0;G=r[e+56>>2]|0}p=e+168|0;V=(n[e+60|0]&1)==0;if(((U<<5)+172+(G<<(V?6:4))|0)>>>0>t>>>0){o=0;return o|0}t=e+172|0;r[e>>2]=25328;r[e+52>>2]=278;n[e+80|0]=1;r[e+76>>2]=0;r[e+68>>2]=0;r[e+72>>2]=0;n[e+100|0]=1;U=e+96|0;r[U>>2]=0;L=e+88|0;N=L;r[N>>2]=0;k=e+92|0;r[k>>2]=0;n[e+120|0]=1;r[e+116>>2]=0;r[e+108>>2]=0;r[e+112>>2]=0;n[e+140|0]=1;O=e+136|0;r[O>>2]=0;E=e+128|0;B=E;r[B>>2]=0;I=e+132|0;r[I>>2]=0;T=e+164|0;n[T]=1;D=e+160|0;r[D>>2]=0;w=e+152|0;A=w;r[A>>2]=0;F=e+156|0;r[F>>2]=0;if(V){V=t;vBe(L|0,0,13);r[U>>2]=V;r[N>>2]=G;r[k>>2]=G;e:do{if((G|0)>0&i){k=0;N=V;while(1){L=N+(k<<6)|0;P=L+3|0;R=L+2|0;M=n[R]|0;f=L+1|0;g=n[f]|0;S=n[L]|0;y=N+(k<<6)+4|0;v=n[y+3|0]|0;C=n[y+2|0]|0;x=n[y+1|0]|0;h=n[y]|0;l=N+(k<<6)+8|0;m=n[l+3|0]|0;c=n[l+2|0]|0;b=n[l+1|0]|0;u=n[l]|0;d=N+(k<<6)+12|0;a=n[d+3|0]|0;W=n[d+2|0]|0;z=n[d+1|0]|0;H=n[d]|0;n[L]=n[P]|0;n[f]=M;n[R]=g;n[P]=S;n[y]=v;n[L+5|0]=C;n[L+6|0]=x;n[L+7|0]=h;n[l]=m;n[L+9|0]=c;n[L+10|0]=b;n[L+11|0]=u;n[d]=a;n[L+13|0]=W;n[L+14|0]=z;n[L+15|0]=H;H=r[U>>2]|0;L=H+(k<<6)+16|0;z=n[L+2|0]|0;W=n[L+1|0]|0;a=n[L]|0;d=H+(k<<6)+20|0;u=n[d+3|0]|0;b=n[d+2|0]|0;c=n[d+1|0]|0;m=n[d]|0;l=H+(k<<6)+24|0;h=n[l+3|0]|0;x=n[l+2|0]|0;C=n[l+1|0]|0;v=n[l]|0;y=H+(k<<6)+28|0;S=n[y+3|0]|0;P=n[y+2|0]|0;g=n[y+1|0]|0;R=n[y]|0;n[L]=n[L+3|0]|0;L=H+(k<<6)|0;n[L+17|0]=z;n[L+18|0]=W;n[L+19|0]=a;n[d]=u;n[L+21|0]=b;n[L+22|0]=c;n[L+23|0]=m;n[l]=h;n[L+25|0]=x;n[L+26|0]=C;n[L+27|0]=v;n[y]=S;n[L+29|0]=P;n[L+30|0]=g;n[L+31|0]=R;R=(r[U>>2]|0)+(k<<6)+32|0;r[R>>2]=Ii(r[R>>2]|0)|0;R=(r[U>>2]|0)+(k<<6)+36|0;r[R>>2]=Ii(r[R>>2]|0)|0;R=(r[U>>2]|0)+(k<<6)+40|0;r[R>>2]=Ii(r[R>>2]|0)|0;R=k+1|0;if((R|0)>=(G|0)){break e}k=R;N=r[U>>2]|0}}}while(0);j=G<<6}else{U=t;vBe(E|0,0,13);r[O>>2]=U;r[B>>2]=G;r[I>>2]=G;e:do{if((G|0)>0&i){I=0;B=U;while(1){E=B+(I<<4)|0;_[E>>1]=ai(_[E>>1]|0)|0;E=(r[O>>2]|0)+(I<<4)+2|0;_[E>>1]=ai(_[E>>1]|0)|0;E=(r[O>>2]|0)+(I<<4)+4|0;_[E>>1]=ai(_[E>>1]|0)|0;E=(r[O>>2]|0)+(I<<4)+6|0;_[E>>1]=ai(_[E>>1]|0)|0;E=(r[O>>2]|0)+(I<<4)+8|0;_[E>>1]=ai(_[E>>1]|0)|0;E=(r[O>>2]|0)+(I<<4)+10|0;_[E>>1]=ai(_[E>>1]|0)|0;E=(r[O>>2]|0)+(I<<4)+12|0;r[E>>2]=Ii(r[E>>2]|0)|0;E=I+1|0;if((E|0)>=(G|0)){break e}I=E;B=r[O>>2]|0}}}while(0);j=G<<4}G=e+(j+172)|0;j=r[p>>2]|0;e=r[D>>2]|0;if((e|0)!=0){if((n[T]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[e-32+28>>2]|0)}r[D>>2]=0}e=G;vBe(w|0,0,13);r[D>>2]=e;r[A>>2]=j;r[F>>2]=j;if(!i){o=s;return o|0}if((r[p>>2]|0)>0){X=0;Z=e}else{o=s;return o|0}while(1){e=Z+(X<<5)|0;_[e>>1]=ai(_[e>>1]|0)|0;e=(r[D>>2]|0)+(X<<5)+2|0;_[e>>1]=ai(_[e>>1]|0)|0;e=(r[D>>2]|0)+(X<<5)+4|0;_[e>>1]=ai(_[e>>1]|0)|0;e=(r[D>>2]|0)+(X<<5)+6|0;_[e>>1]=ai(_[e>>1]|0)|0;e=(r[D>>2]|0)+(X<<5)+8|0;_[e>>1]=ai(_[e>>1]|0)|0;e=(r[D>>2]|0)+(X<<5)+10|0;_[e>>1]=ai(_[e>>1]|0)|0;e=(r[D>>2]|0)+(X<<5)+12|0;r[e>>2]=Ii(r[e>>2]|0)|0;e=(r[D>>2]|0)+(X<<5)+16|0;r[e>>2]=Ii(r[e>>2]|0)|0;e=X+1|0;if((e|0)>=(r[p>>2]|0)){o=s;break}X=e;Z=r[D>>2]|0}return o|0}function Dwe(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0;i=d;d=d+112|0;o=i+64|0;s=i+80|0;p[e+20>>2]=+p[t+16>>2];p[e+24>>2]=+p[t+20>>2];p[e+28>>2]=+p[t+24>>2];p[e+32>>2]=+p[t+28>>2];p[e+4>>2]=+p[t>>2];p[e+8>>2]=+p[t+4>>2];p[e+12>>2]=+p[t+8>>2];p[e+16>>2]=+p[t+12>>2];p[e+36>>2]=+p[t+32>>2];p[e+40>>2]=+p[t+36>>2];p[e+44>>2]=+p[t+40>>2];p[e+48>>2]=+p[t+44>>2];r[e+56>>2]=r[t+48>>2];n[e+60|0]=(r[t+52>>2]|0)!=0|0;a=r[t+56>>2]|0;l=i|0;vBe(l|0,0,64);c=e+88|0;b=r[c>>2]|0;if((b|0)<(a|0)){u=e+92|0;if((r[u>>2]|0)<(a|0)){if((a|0)==0){m=0;h=b}else{r[9806]=(r[9806]|0)+1;f=hBe((a<<6|4)+15|0)|0;if((f|0)==0){g=0}else{C=-(f+4|0)&15;r[f+C>>2]=f;g=f+(C+4)|0}m=g;h=r[c>>2]|0}g=e+96|0;if((h|0)>0){C=0;do{f=m+(C<<6)|0;S=(r[g>>2]|0)+(C<<6)|0;yBe(f|0,S|0,64)|0;C=C+1|0}while((C|0)<(h|0))}h=r[g>>2]|0;C=e+100|0;if((h|0)!=0){if((n[C]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[h-64+60>>2]|0)}r[g>>2]=0}n[C]=1;r[g>>2]=m;r[u>>2]=a;y=g}else{y=e+96|0}g=b;do{b=(r[y>>2]|0)+(g<<6)|0;yBe(b|0,l|0,64)|0;g=g+1|0}while((g|0)<(a|0))}r[c>>2]=a;e:do{if((a|0)>0){c=e+96|0;g=0;l=r[t+64>>2]|0;while(1){y=r[c>>2]|0;p[y+(g<<6)+16>>2]=+p[l+16>>2];p[y+(g<<6)+20>>2]=+p[l+20>>2];p[y+(g<<6)+24>>2]=+p[l+24>>2];p[y+(g<<6)+28>>2]=+p[l+28>>2];y=r[c>>2]|0;p[y+(g<<6)>>2]=+p[l>>2];p[y+(g<<6)+4>>2]=+p[l+4>>2];p[y+(g<<6)+8>>2]=+p[l+8>>2];p[y+(g<<6)+12>>2]=+p[l+12>>2];r[(r[c>>2]|0)+(g<<6)+32>>2]=r[l+32>>2];r[(r[c>>2]|0)+(g<<6)+36>>2]=r[l+36>>2];r[(r[c>>2]|0)+(g<<6)+40>>2]=r[l+40>>2];y=g+1|0;if((y|0)>=(a|0)){break e}g=y;l=l+48|0}}}while(0);a=r[t+60>>2]|0;l=o;vBe(l|0,0,16);o=e+128|0;g=r[o>>2]|0;if((g|0)<(a|0)){c=e+132|0;if((r[c>>2]|0)<(a|0)){if((a|0)==0){v=0;x=g}else{r[9806]=(r[9806]|0)+1;y=hBe((a<<4|4)+15|0)|0;if((y|0)==0){M=0}else{b=-(y+4|0)&15;r[y+b>>2]=y;M=y+(b+4)|0}v=M;x=r[o>>2]|0}M=e+136|0;if((x|0)>0){b=0;do{y=v+(b<<4)|0;u=(r[M>>2]|0)+(b<<4)|0;r[y>>2]=r[u>>2];r[y+4>>2]=r[u+4>>2];r[y+8>>2]=r[u+8>>2];r[y+12>>2]=r[u+12>>2];b=b+1|0}while((b|0)<(x|0))}x=r[M>>2]|0;b=e+140|0;if((x|0)!=0){if((n[b]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[x-16+12>>2]|0)}r[M>>2]=0}n[b]=1;r[M>>2]=v;r[c>>2]=a;T=M}else{T=e+136|0}M=g;do{g=(r[T>>2]|0)+(M<<4)|0;r[g>>2]=r[l>>2];r[g+4>>2]=r[l+4>>2];r[g+8>>2]=r[l+8>>2];r[g+12>>2]=r[l+12>>2];M=M+1|0}while((M|0)<(a|0))}r[o>>2]=a;e:do{if((a|0)>0){o=e+136|0;M=r[t+68>>2]|0;l=0;while(1){r[(r[o>>2]|0)+(l<<4)+12>>2]=r[M+12>>2];_[(r[o>>2]|0)+(l<<4)+6>>1]=_[M+6>>1]|0;_[(r[o>>2]|0)+(l<<4)+8>>1]=_[M+8>>1]|0;_[(r[o>>2]|0)+(l<<4)+10>>1]=_[M+10>>1]|0;_[(r[o>>2]|0)+(l<<4)>>1]=_[M>>1]|0;_[(r[o>>2]|0)+(l<<4)+2>>1]=_[M+2>>1]|0;_[(r[o>>2]|0)+(l<<4)+4>>1]=_[M+4>>1]|0;T=l+1|0;if((T|0)>=(a|0)){break e}M=M+16|0;l=T}}}while(0);r[e+144>>2]=r[t+76>>2];a=r[t+80>>2]|0;l=e+152|0;M=r[l>>2]|0;if((M|0)<(a|0)){o=e+156|0;if((r[o>>2]|0)<(a|0)){if((a|0)==0){D=0;P=M}else{r[9806]=(r[9806]|0)+1;T=hBe((a<<5|4)+15|0)|0;if((T|0)==0){w=0}else{g=-(T+4|0)&15;r[T+g>>2]=T;w=T+(g+4)|0}D=w;P=r[l>>2]|0}w=e+160|0;if((P|0)>0){g=0;do{T=D+(g<<5)|0;c=(r[w>>2]|0)+(g<<5)|0;yBe(T|0,c|0,32)|0;g=g+1|0}while((g|0)<(P|0))}P=r[w>>2]|0;g=e+164|0;if((P|0)!=0){if((n[g]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[P-32+28>>2]|0)}r[w>>2]=0}n[g]=1;r[w>>2]=D;r[o>>2]=a;A=w}else{A=e+160|0}w=s;s=M;do{M=(r[A>>2]|0)+(s<<5)|0;yBe(M|0,w|0,32)|0;s=s+1|0}while((s|0)<(a|0))}r[l>>2]=a;if((a|0)<=0){d=i;return}l=e+160|0;e=r[t+72>>2]|0;t=0;while(1){_[(r[l>>2]|0)+(t<<5)+6>>1]=_[e+14>>1]|0;_[(r[l>>2]|0)+(t<<5)+8>>1]=_[e+16>>1]|0;_[(r[l>>2]|0)+(t<<5)+10>>1]=_[e+18>>1]|0;_[(r[l>>2]|0)+(t<<5)>>1]=_[e+8>>1]|0;_[(r[l>>2]|0)+(t<<5)+2>>1]=_[e+10>>1]|0;_[(r[l>>2]|0)+(t<<5)+4>>1]=_[e+12>>1]|0;r[(r[l>>2]|0)+(t<<5)+12>>2]=r[e>>2];r[(r[l>>2]|0)+(t<<5)+16>>2]=r[e+4>>2];s=t+1|0;if((s|0)>=(a|0)){break}e=e+20|0;t=s}d=i;return}function Pwe(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0;i=d;d=d+112|0;o=i+64|0;s=i+80|0;p[e+20>>2]=+l[t+32>>3];p[e+24>>2]=+l[t+40>>3];p[e+28>>2]=+l[t+48>>3];p[e+32>>2]=+l[t+56>>3];p[e+4>>2]=+l[t>>3];p[e+8>>2]=+l[t+8>>3];p[e+12>>2]=+l[t+16>>3];p[e+16>>2]=+l[t+24>>3];p[e+36>>2]=+l[t+64>>3];p[e+40>>2]=+l[t+72>>3];p[e+44>>2]=+l[t+80>>3];p[e+48>>2]=+l[t+88>>3];r[e+56>>2]=r[t+96>>2];n[e+60|0]=(r[t+100>>2]|0)!=0|0;a=r[t+104>>2]|0;c=i|0;vBe(c|0,0,64);b=e+88|0;u=r[b>>2]|0;if((u|0)<(a|0)){m=e+92|0;if((r[m>>2]|0)<(a|0)){if((a|0)==0){h=0;f=u}else{r[9806]=(r[9806]|0)+1;g=hBe((a<<6|4)+15|0)|0;if((g|0)==0){C=0}else{S=-(g+4|0)&15;r[g+S>>2]=g;C=g+(S+4)|0}h=C;f=r[b>>2]|0}C=e+96|0;if((f|0)>0){S=0;do{g=h+(S<<6)|0;y=(r[C>>2]|0)+(S<<6)|0;yBe(g|0,y|0,64)|0;S=S+1|0}while((S|0)<(f|0))}f=r[C>>2]|0;S=e+100|0;if((f|0)!=0){if((n[S]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[f-64+60>>2]|0)}r[C>>2]=0}n[S]=1;r[C>>2]=h;r[m>>2]=a;v=C}else{v=e+96|0}C=u;do{u=(r[v>>2]|0)+(C<<6)|0;yBe(u|0,c|0,64)|0;C=C+1|0}while((C|0)<(a|0))}r[b>>2]=a;e:do{if((a|0)>0){b=e+96|0;C=0;c=r[t+112>>2]|0;while(1){v=r[b>>2]|0;p[v+(C<<6)+16>>2]=+l[c+32>>3];p[v+(C<<6)+20>>2]=+l[c+40>>3];p[v+(C<<6)+24>>2]=+l[c+48>>3];p[v+(C<<6)+28>>2]=+l[c+56>>3];v=r[b>>2]|0;p[v+(C<<6)>>2]=+l[c>>3];p[v+(C<<6)+4>>2]=+l[c+8>>3];p[v+(C<<6)+8>>2]=+l[c+16>>3];p[v+(C<<6)+12>>2]=+l[c+24>>3];r[(r[b>>2]|0)+(C<<6)+32>>2]=r[c+64>>2];r[(r[b>>2]|0)+(C<<6)+36>>2]=r[c+68>>2];r[(r[b>>2]|0)+(C<<6)+40>>2]=r[c+72>>2];v=C+1|0;if((v|0)>=(a|0)){break e}C=v;c=c+80|0}}}while(0);a=r[t+108>>2]|0;c=o;vBe(c|0,0,16);o=e+128|0;C=r[o>>2]|0;if((C|0)<(a|0)){b=e+132|0;if((r[b>>2]|0)<(a|0)){if((a|0)==0){x=0;M=C}else{r[9806]=(r[9806]|0)+1;v=hBe((a<<4|4)+15|0)|0;if((v|0)==0){T=0}else{u=-(v+4|0)&15;r[v+u>>2]=v;T=v+(u+4)|0}x=T;M=r[o>>2]|0}T=e+136|0;if((M|0)>0){u=0;do{v=x+(u<<4)|0;m=(r[T>>2]|0)+(u<<4)|0;r[v>>2]=r[m>>2];r[v+4>>2]=r[m+4>>2];r[v+8>>2]=r[m+8>>2];r[v+12>>2]=r[m+12>>2];u=u+1|0}while((u|0)<(M|0))}M=r[T>>2]|0;u=e+140|0;if((M|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[M-16+12>>2]|0)}r[T>>2]=0}n[u]=1;r[T>>2]=x;r[b>>2]=a;D=T}else{D=e+136|0}T=C;do{C=(r[D>>2]|0)+(T<<4)|0;r[C>>2]=r[c>>2];r[C+4>>2]=r[c+4>>2];r[C+8>>2]=r[c+8>>2];r[C+12>>2]=r[c+12>>2];T=T+1|0}while((T|0)<(a|0))}r[o>>2]=a;e:do{if((a|0)>0){o=e+136|0;T=r[t+116>>2]|0;c=0;while(1){r[(r[o>>2]|0)+(c<<4)+12>>2]=r[T+12>>2];_[(r[o>>2]|0)+(c<<4)+6>>1]=_[T+6>>1]|0;_[(r[o>>2]|0)+(c<<4)+8>>1]=_[T+8>>1]|0;_[(r[o>>2]|0)+(c<<4)+10>>1]=_[T+10>>1]|0;_[(r[o>>2]|0)+(c<<4)>>1]=_[T>>1]|0;_[(r[o>>2]|0)+(c<<4)+2>>1]=_[T+2>>1]|0;_[(r[o>>2]|0)+(c<<4)+4>>1]=_[T+4>>1]|0;D=c+1|0;if((D|0)>=(a|0)){break e}T=T+16|0;c=D}}}while(0);r[e+144>>2]=r[t+120>>2];a=r[t+124>>2]|0;c=e+152|0;T=r[c>>2]|0;if((T|0)<(a|0)){o=e+156|0;if((r[o>>2]|0)<(a|0)){if((a|0)==0){P=0;w=T}else{r[9806]=(r[9806]|0)+1;D=hBe((a<<5|4)+15|0)|0;if((D|0)==0){A=0}else{C=-(D+4|0)&15;r[D+C>>2]=D;A=D+(C+4)|0}P=A;w=r[c>>2]|0}A=e+160|0;if((w|0)>0){C=0;do{D=P+(C<<5)|0;b=(r[A>>2]|0)+(C<<5)|0;yBe(D|0,b|0,32)|0;C=C+1|0}while((C|0)<(w|0))}w=r[A>>2]|0;C=e+164|0;if((w|0)!=0){if((n[C]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[w-32+28>>2]|0)}r[A>>2]=0}n[C]=1;r[A>>2]=P;r[o>>2]=a;F=A}else{F=e+160|0}A=s;s=T;do{T=(r[F>>2]|0)+(s<<5)|0;yBe(T|0,A|0,32)|0;s=s+1|0}while((s|0)<(a|0))}r[c>>2]=a;if((a|0)<=0){d=i;return}c=e+160|0;e=r[t+128>>2]|0;t=0;while(1){_[(r[c>>2]|0)+(t<<5)+6>>1]=_[e+14>>1]|0;_[(r[c>>2]|0)+(t<<5)+8>>1]=_[e+16>>1]|0;_[(r[c>>2]|0)+(t<<5)+10>>1]=_[e+18>>1]|0;_[(r[c>>2]|0)+(t<<5)>>1]=_[e+8>>1]|0;_[(r[c>>2]|0)+(t<<5)+2>>1]=_[e+10>>1]|0;_[(r[c>>2]|0)+(t<<5)+4>>1]=_[e+12>>1]|0;r[(r[c>>2]|0)+(t<<5)+12>>2]=r[e>>2];r[(r[c>>2]|0)+(t<<5)+16>>2]=r[e+4>>2];s=t+1|0;if((s|0)>=(a|0)){break}e=e+20|0;t=s}d=i;return}function wwe(e){e=e|0;return 17656|0}function Awe(e){e=e|0;return 2}function Fwe(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0;p[t+16>>2]=+p[e+20>>2];p[t+20>>2]=+p[e+24>>2];p[t+24>>2]=+p[e+28>>2];p[t+28>>2]=+p[e+32>>2];p[t>>2]=+p[e+4>>2];p[t+4>>2]=+p[e+8>>2];p[t+8>>2]=+p[e+12>>2];p[t+12>>2]=+p[e+16>>2];p[t+32>>2]=+p[e+36>>2];p[t+36>>2]=+p[e+40>>2];p[t+40>>2]=+p[e+44>>2];p[t+44>>2]=+p[e+48>>2];r[t+48>>2]=r[e+56>>2];r[t+52>>2]=n[e+60|0]&1;o=e+88|0;r[t+56>>2]=r[o>>2];do{if((r[o>>2]|0)==0){r[t+64>>2]=0}else{s=e+96|0;a=j_t[r[(r[i>>2]|0)+28>>2]&511](i,r[s>>2]|0)|0;r[t+64>>2]=a;if((a|0)==0){break}a=r[o>>2]|0;l=h_t[r[(r[i>>2]|0)+16>>2]&511](i,48,a)|0;if((a|0)>0){d=0;c=r[l+8>>2]|0;while(1){b=r[s>>2]|0;p[c+16>>2]=+p[b+(d<<6)+16>>2];p[c+20>>2]=+p[b+(d<<6)+20>>2];p[c+24>>2]=+p[b+(d<<6)+24>>2];p[c+28>>2]=+p[b+(d<<6)+28>>2];b=r[s>>2]|0;p[c>>2]=+p[b+(d<<6)>>2];p[c+4>>2]=+p[b+(d<<6)+4>>2];p[c+8>>2]=+p[b+(d<<6)+8>>2];p[c+12>>2]=+p[b+(d<<6)+12>>2];r[c+32>>2]=r[(r[s>>2]|0)+(d<<6)+32>>2];r[c+36>>2]=r[(r[s>>2]|0)+(d<<6)+36>>2];r[c+40>>2]=r[(r[s>>2]|0)+(d<<6)+40>>2];b=d+1|0;if((b|0)<(a|0)){d=b;c=c+48|0}else{break}}}Unt[r[(r[i>>2]|0)+20>>2]&255](i,l,16448,1497453121,r[s>>2]|0)}}while(0);o=e+128|0;r[t+60>>2]=r[o>>2];do{if((r[o>>2]|0)==0){r[t+68>>2]=0}else{c=e+136|0;d=j_t[r[(r[i>>2]|0)+28>>2]&511](i,r[c>>2]|0)|0;r[t+68>>2]=d;if((d|0)==0){break}d=r[o>>2]|0;a=h_t[r[(r[i>>2]|0)+16>>2]&511](i,16,d)|0;if((d|0)>0){b=0;u=r[a+8>>2]|0;while(1){r[u+12>>2]=r[(r[c>>2]|0)+(b<<4)+12>>2];_[u+6>>1]=_[(r[c>>2]|0)+(b<<4)+6>>1]|0;_[u+8>>1]=_[(r[c>>2]|0)+(b<<4)+8>>1]|0;_[u+10>>1]=_[(r[c>>2]|0)+(b<<4)+10>>1]|0;_[u>>1]=_[(r[c>>2]|0)+(b<<4)>>1]|0;_[u+2>>1]=_[(r[c>>2]|0)+(b<<4)+2>>1]|0;_[u+4>>1]=_[(r[c>>2]|0)+(b<<4)+4>>1]|0;m=b+1|0;if((m|0)<(d|0)){b=m;u=u+16|0}else{break}}}Unt[r[(r[i>>2]|0)+20>>2]&255](i,a,17672,1497453121,r[c>>2]|0)}}while(0);r[t+76>>2]=r[e+144>>2];o=e+152|0;r[t+80>>2]=r[o>>2];if((r[o>>2]|0)==0){r[t+72>>2]=0;return 16928}u=e+160|0;e=j_t[r[(r[i>>2]|0)+28>>2]&511](i,r[u>>2]|0)|0;r[t+72>>2]=e;if((e|0)==0){return 16928}e=r[o>>2]|0;o=h_t[r[(r[i>>2]|0)+16>>2]&511](i,20,e)|0;if((e|0)>0){t=r[o+8>>2]|0;b=0;while(1){_[t+14>>1]=_[(r[u>>2]|0)+(b<<5)+6>>1]|0;_[t+16>>1]=_[(r[u>>2]|0)+(b<<5)+8>>1]|0;_[t+18>>1]=_[(r[u>>2]|0)+(b<<5)+10>>1]|0;_[t+8>>1]=_[(r[u>>2]|0)+(b<<5)>>1]|0;_[t+10>>1]=_[(r[u>>2]|0)+(b<<5)+2>>1]|0;_[t+12>>1]=_[(r[u>>2]|0)+(b<<5)+4>>1]|0;r[t>>2]=r[(r[u>>2]|0)+(b<<5)+12>>2];r[t+4>>2]=r[(r[u>>2]|0)+(b<<5)+16>>2];d=b+1|0;if((d|0)<(e|0)){t=t+20|0;b=d}else{break}}}Unt[r[(r[i>>2]|0)+20>>2]&255](i,o,17224,1497453121,r[u>>2]|0);return 16928}function Rwe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0,w=0,A=0.0,F=0.0,R=0.0,I=0.0,B=0,V=0,E=0.0,N=0.0,k=0.0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=+p[t+16>>2];l=+p[t>>2];c=a-l;b=+p[t+20>>2];u=+p[t+4>>2];m=b-u;h=+p[t+24>>2];f=+p[t+8>>2];g=h-f;C=+p[t+32>>2];S=C-l;y=+p[t+36>>2];v=y-u;x=+p[t+40>>2];M=x-f;T=m*M-g*v;D=g*S-c*M;M=c*v-m*S;t=o|0;p[t>>2]=T;P=o+4|0;p[P>>2]=D;w=o+8|0;p[w>>2]=M;p[o+12>>2]=0.0;S=l*T+u*D+f*M;m=+p[e+4>>2];v=+p[e+8>>2];c=+p[e+12>>2];g=T*m+D*v+M*c-S;A=+p[e+20>>2];F=+p[e+24>>2];R=+p[e+28>>2];I=T*A+D*F+M*R-S;if(g*I>=0.0){d=_;return}B=r[e+36>>2]|0;if((B&1|0)!=0&g>0.0){d=_;return}S=g/(g-I);V=e+40|0;if(S>=+p[V>>2]){d=_;return}I=T*T+D*D+M*M;E=I*-9999999747378752.0e-20;N=1.0-S;k=A*S+m*N;m=F*S+v*N;v=R*S+c*N;N=l-k;l=u-m;u=f-v;f=a-k;a=b-m;b=h-v;if(M*(N*a-l*f)+(T*(l*b-u*a)+D*(u*f-N*b))<E){d=_;return}h=C-k;k=y-m;m=x-v;if(M*(f*k-a*h)+(T*(a*m-b*k)+D*(b*h-f*m))<E){d=_;return}if(M*(l*h-N*k)+(T*(u*k-l*m)+D*(N*m-u*h))<E){d=_;return}E=1.0/+j(+I);I=T*E;p[t>>2]=I;T=D*E;p[P>>2]=T;D=M*E;p[w>>2]=D;w=r[(r[e>>2]|0)+12>>2]|0;if((B&2|0)==0&g>0.0){p[V>>2]=+c_t[w&63](e,o,S,i,n);d=_;return}else{p[s>>2]=-0.0-I;p[s+4>>2]=-0.0-T;p[s+8>>2]=-0.0-D;p[s+12>>2]=0.0;p[V>>2]=+c_t[w&63](e,s,S,i,n);d=_;return}}function Iwe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0;o=d;d=d+672|0;s=o|0;a=o+104|0;l=o+464|0;c=o+472|0;b=o+496|0;r[s+8>>2]=0;u=s|0;p[s+12>>2]=1.0;p[s+16>>2]=1.0;p[s+20>>2]=1.0;p[s+24>>2]=0.0;m=s+52|0;r[m>>2]=0;r[u>>2]=24592;r[s+4>>2]=1;h=s+56|0;f=t;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];f=s+72|0;h=t+16|0;r[f>>2]=r[h>>2];r[f+4>>2]=r[h+4>>2];r[f+8>>2]=r[h+8>>2];r[f+12>>2]=r[h+12>>2];h=s+88|0;f=t+32|0;r[h>>2]=r[f>>2];r[h+4>>2]=r[f+4>>2];r[h+8>>2]=r[f+8>>2];r[h+12>>2]=r[f+12>>2];p[s+44>>2]=+p[e+204>>2];p[a+308>>2]=9999999747378752.0e-20;_[a+332>>1]=0;r[l>>2]=19960;f=r[e+4>>2]|0;r[c>>2]=20336;r[c+4>>2]=a;r[c+8>>2]=l;r[c+12>>2]=f;r[c+16>>2]=s;r[c+20>>2]=0;r[b>>2]=19544;s=b+164|0;r[b+168>>2]=0;p[s>>2]=1.0;p[b+172>>2]=+p[e+208>>2];f=e+136|0;do{if(yxe(c,e+8|0,e+72|0,f,f,b)|0){l=b+132|0;a=l|0;g=+p[a>>2];h=b+136|0;C=+p[h>>2];t=b+140|0;S=+p[t>>2];y=g*g+C*C+S*S;if(y<=9999999747378752.0e-20){break}v=+p[s>>2];if(v>=+p[e+200>>2]){break}x=1.0/+j(+y);p[a>>2]=g*x;p[h>>2]=C*x;p[t>>2]=S*x;t=r[(r[e>>2]|0)+12>>2]|0;h=b+148|0;+urt[t&63](e,l,h,v,i,n)}}while(0);r[u>>2]=21200;u=r[m>>2]|0;if((u|0)==0){d=o;return}r[9804]=(r[9804]|0)+1;SBe(r[u-80+76>>2]|0);d=o;return}function Bwe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0);return}function Vwe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[e-104+100>>2]|0);return}function Ewe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e|0,t,i,n);return}function Nwe(e,t,i){e=e|0;t=+t;i=i|0;vBe(i|0,0,16);return}function kwe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0;n=+p[i>>2];_=+p[i+4>>2];o=+p[i+8>>2];s=n*+p[t+56>>2]+_*+p[t+60>>2]+o*+p[t+64>>2];a=n*+p[t+72>>2]+_*+p[t+76>>2]+o*+p[t+80>>2];l=n*+p[t+88>>2]+_*+p[t+92>>2]+o*+p[t+96>>2];if(s<a){d=a<l?2:1}else{d=s<l?2:0}i=e;e=t+56+(d<<4)|0;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function Owe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0,x=0,M=0;if((n|0)<=0){return}_=e+56|0;o=e+60|0;s=e+64|0;a=e+72|0;l=e+76|0;d=e+80|0;c=e+88|0;b=e+92|0;u=e+96|0;m=0;do{h=+p[t+(m<<4)>>2];f=+p[t+(m<<4)+4>>2];g=+p[t+(m<<4)+8>>2];C=h*+p[_>>2]+f*+p[o>>2]+g*+p[s>>2];S=h*+p[a>>2]+f*+p[l>>2]+g*+p[d>>2];y=h*+p[c>>2]+f*+p[b>>2]+g*+p[u>>2];if(C<S){v=S<y?2:1}else{v=C<y?2:0}x=i+(m<<4)|0;M=e+56+(v<<4)|0;r[x>>2]=r[M>>2];r[x+4>>2]=r[M+4>>2];r[x+8>>2]=r[M+8>>2];r[x+12>>2]=r[M+12>>2];m=m+1|0}while((m|0)<(n|0));return}function Lwe(e){e=e|0;return 3}function Uwe(e){e=e|0;return 3}function Gwe(e){e=e|0;return 1}function Wwe(e){e=e|0;return}function zwe(e){e=e|0;return}function Hwe(e,t,i){e=e|0;t=+t;i=i|0;return}function jwe(e){e=e|0;return 17632|0}function Xwe(e){e=e|0;return 76}function Zwe(e){e=e|0;return e+16|0}function Qwe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,r=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0,b=0;n=+p[e+56>>2];_=+p[e+72>>2]-n;r=+p[e+60>>2];o=+p[e+76>>2]-r;s=+p[e+64>>2];a=+p[e+80>>2]-s;l=+p[e+88>>2]-n;n=+p[e+92>>2]-r;r=+p[e+96>>2]-s;s=o*r-a*n;d=a*l-_*r;r=_*n-o*l;e=i|0;c=i+4|0;b=i+8|0;p[i+12>>2]=0.0;l=1.0/+j(+(r*r+(s*s+d*d)));o=l*s;p[e>>2]=o;s=l*d;p[c>>2]=s;d=r*l;p[b>>2]=d;if((t|0)==0){return}p[e>>2]=o*-1.0;p[c>>2]=s*-1.0;p[b>>2]=d*-1.0;return}function qwe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0;_=e;srt[r[(r[_>>2]|0)+100>>2]&511](e,t,i);srt[r[(r[_>>2]|0)+100>>2]&511](e,(t+1|0)%3|0,n);return}function Ywe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=i;i=e+56+(t<<4)|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];return}function Jwe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+116>>2]&1023](e,n,t,i);return}function Kwe(e,t,i){e=e|0;t=t|0;i=+i;var n=0,_=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0;n=d;d=d+32|0;_=n|0;o=n+16|0;s=+p[e+56>>2];a=+p[e+72>>2]-s;l=+p[e+60>>2];c=+p[e+76>>2]-l;b=+p[e+64>>2];u=+p[e+80>>2]-b;m=+p[e+88>>2]-s;h=+p[e+92>>2]-l;f=+p[e+96>>2]-b;g=c*f-u*h;C=u*m-a*f;f=a*h-c*m;m=1.0/+j(+(f*f+(g*g+C*C)));c=m*g;g=m*C;C=f*m;S=t|0;y=t+4|0;v=t+8|0;m=+p[S>>2]*c+ +p[y>>2]*g+C*+p[v>>2]-(c*s+g*l+C*b);b=-0.0-i;if(m<b|m>i){x=0;d=n;return x|0}t=e;M=o|0;T=_|0;D=o+4|0;P=_+4|0;w=o+8|0;A=_+8|0;F=0;while(1){if((F|0)>=3){x=1;R=587;break}mrt[r[(r[t>>2]|0)+96>>2]&1023](e,F,_,o);i=+p[T>>2];m=+p[M>>2]-i;l=+p[P>>2];s=+p[D>>2]-l;f=+p[A>>2];h=+p[w>>2]-f;a=C*s-g*h;u=c*h-C*m;h=g*m-c*s;s=1.0/+j(+(h*h+(a*a+u*u)));m=s*a;a=s*u;u=h*s;if(+p[S>>2]*m+ +p[y>>2]*a+u*+p[v>>2]-(f*u+(i*m+l*a))<b){x=0;R=585;break}else{F=F+1|0}}if((R|0)==587){d=n;return x|0}else if((R|0)==585){d=n;return x|0}return 0}function $we(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0.0,b=0.0;_=+p[e+56>>2];o=+p[e+72>>2]-_;s=+p[e+60>>2];a=+p[e+76>>2]-s;l=+p[e+64>>2];d=+p[e+80>>2]-l;c=+p[e+88>>2]-_;_=+p[e+92>>2]-s;s=+p[e+96>>2]-l;l=a*s-d*_;b=d*c-o*s;s=o*_-a*c;p[i+12>>2]=0.0;c=1.0/+j(+(s*s+(l*l+b*b)));p[i>>2]=c*l;p[i+4>>2]=c*b;p[i+8>>2]=s*c;i=n;n=e+56|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function eAe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function tAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0;_=d;d=d+56|0;o=_|0;s=_+24|0;a=_+40|0;l=e+16|0;r[o>>2]=21008;r[o+4>>2]=t;t=o+8|0;c=l;r[t>>2]=r[c>>2];r[t+4>>2]=r[c+4>>2];r[t+8>>2]=r[c+8>>2];r[t+12>>2]=r[c+12>>2];b=+p[l>>2];u=1.0/b;m=+p[e+20>>2];h=1.0/m;f=+p[e+24>>2];g=1.0/f;p[s>>2]=u*+p[(b<0.0?n:i)>>2];p[s+4>>2]=h*+p[(m<0.0?n:i)+4>>2];p[s+8>>2]=g*+p[(f<0.0?n:i)+8>>2];p[s+12>>2]=0.0;p[a>>2]=u*+p[(b>0.0?n:i)>>2];p[a+4>>2]=h*+p[(m>0.0?n:i)+4>>2];p[a+8>>2]=g*+p[(f>0.0?n:i)+8>>2];p[a+12>>2]=0.0;i=r[e+32>>2]|0;mrt[r[(r[i>>2]|0)+60>>2]&1023](i,o|0,s,a);d=_;return}function iAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0;_=d;d=d+32|0;o=_|0;s=_+16|0;a=r[e+32>>2]|0;l=+p[a+32>>2];c=+p[a+36>>2];b=+p[a+40>>2];u=+p[e+16>>2];m=+p[a+16>>2]*u;h=+p[e+20>>2];f=+p[a+20>>2]*h;g=+p[e+24>>2];C=+p[a+24>>2]*g;e=o|0;p[e>>2]=m;p[o+4>>2]=f;p[o+8>>2]=C;p[o+12>>2]=0.0;C=l*u;o=s|0;p[o>>2]=C;p[s+4>>2]=c*h;p[s+8>>2]=b*g;p[s+12>>2]=0.0;b=u<0.0?C:m;c=+p[(h<0.0?o:e)+4>>2];l=+p[(g<0.0?o:e)+8>>2];f=u>0.0?C:m;m=+p[(h>0.0?o:e)+4>>2];h=+p[(g>0.0?o:e)+8>>2];g=+z_t[r[(r[a>>2]|0)+44>>2]&1023](a|0);C=(f-b)*.5+g;u=(m-c)*.5+g;S=(h-l)*.5+g;g=(b+f)*.5;f=(c+m)*.5;m=(l+h)*.5;h=+p[t>>2];l=+H(+h);c=+p[t+4>>2];b=+H(+c);y=+p[t+8>>2];v=+H(+y);x=+p[t+16>>2];M=+H(+x);T=+p[t+20>>2];D=+H(+T);P=+p[t+24>>2];w=+H(+P);A=+p[t+32>>2];F=+H(+A);R=+p[t+36>>2];I=+H(+R);B=+p[t+40>>2];V=+H(+B);E=+p[t+48>>2]+(g*h+f*c+m*y);y=+p[t+52>>2]+(g*x+f*T+m*P);P=+p[t+56>>2]+(g*A+f*R+m*B);B=C*l+u*b+S*v;v=C*M+u*D+S*w;w=C*F+u*I+S*V;p[i>>2]=E-B;p[i+4>>2]=y-v;p[i+8>>2]=P-w;p[i+12>>2]=0.0;p[n>>2]=B+E;p[n+4>>2]=v+y;p[n+8>>2]=w+P;p[n+12>>2]=0.0;d=_;return}function nAe(e,t){e=e|0;t=t|0;var i=0;i=e+16|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function _Ae(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=r[e+32>>2]|0;h_t[r[(r[n>>2]|0)+52>>2]&511](n,t,i)|0;r[t+4>>2]=22;p[t+60>>2]=+p[e+16>>2];p[t+64>>2]=+p[e+20>>2];p[t+68>>2]=+p[e+24>>2];p[t+72>>2]=+p[e+28>>2];return 16352}function rAe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function oAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0;_=d;d=d+48|0;o=_|0;s=+p[e+8>>2];a=+p[e+12>>2];l=+p[t+4>>2]*a;c=+p[e+16>>2];b=+p[t+8>>2]*c;p[o>>2]=+p[t>>2]*s;p[o+4>>2]=l;p[o+8>>2]=b;p[o+12>>2]=0.0;b=+p[t+20>>2]*a;l=+p[t+24>>2]*c;p[o+16>>2]=+p[t+16>>2]*s;p[o+20>>2]=b;p[o+24>>2]=l;p[o+28>>2]=0.0;l=+p[t+36>>2]*a;a=+p[t+40>>2]*c;p[o+32>>2]=+p[t+32>>2]*s;p[o+36>>2]=l;p[o+40>>2]=a;p[o+44>>2]=0.0;t=r[e+4>>2]|0;mrt[r[(r[t>>2]|0)+8>>2]&1023](t,o|0,i,n);d=_;return}function sAe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;r[e>>2]=23120;_=e+28|0;r[_>>2]=i;o=e+32|0;n[o]=0;r[e+36>>2]=0;if((i|0)==0){r[9806]=(r[9806]|0)+1;i=hBe(95)|0;do{if((i|0)==0){s=0}else{a=-(i+4|0)&15;p=i+(a+4)|0;r[i+a>>2]=i;if((p|0)==0){s=0;break}a=p;RPe(a);s=a}}while(0);r[_>>2]=s;n[o]=1}r[9806]=(r[9806]|0)+1;o=hBe((t*52|0)+19|0)|0;if((o|0)==0){l=0}else{s=-(o+4|0)&15;r[o+s>>2]=o;l=o+(s+4)|0}r[e+20>>2]=l;s=l;if((t|0)!=0){l=s+(t*52|0)|0;o=s;do{r[o>>2]=0;r[o+8>>2]=0;o=o+52|0}while((o|0)!=(l|0))}l=e+16|0;r[l>>2]=s;r[e+8>>2]=t;r[e+4>>2]=0;r[e+24>>2]=0;r[e+12>>2]=-1;if((t|0)>0){d=0;c=s}else{b=s;u=t-1|0;m=b+(u*52|0)+48|0;r[m>>2]=0;return}while(1){s=d+1|0;r[c+(d*52|0)+48>>2]=s;r[(r[l>>2]|0)+(d*52|0)+12>>2]=d+2;e=r[l>>2]|0;if((s|0)<(t|0)){d=s;c=e}else{b=e;break}}u=t-1|0;m=b+(u*52|0)+48|0;r[m>>2]=0;return}function aAe(e){e=e|0;var t=0,i=0;r[e>>2]=23120;t=r[e+20>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}do{if((n[e+32|0]&1)!=0){t=e+28|0;i=r[t>>2]|0;jnt[r[r[i>>2]>>2]&2047](i);i=r[t>>2]|0;if((i|0)==0){break}r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}}while(0);if((e|0)==0){return}SBe(e);return}function pAe(e){e=e|0;var t=0;r[e>>2]=23120;t=r[e+20>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-4>>2]|0)}if((n[e+32|0]&1)==0){return}t=e+28|0;e=r[t>>2]|0;jnt[r[r[e>>2]>>2]&2047](e);e=r[t>>2]|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-4>>2]|0);return}function lAe(e,t){e=e|0;t=t|0;return}function dAe(e){e=e|0;return}function cAe(e){e=e|0;return r[e+28>>2]|0}function bAe(e){e=e|0;return r[e+28>>2]|0}function uAe(e,t,i){e=e|0;t=t|0;i=i|0;p[t>>2]=-999999984306749400.0;p[t+4>>2]=-999999984306749400.0;p[t+8>>2]=-999999984306749400.0;p[t+12>>2]=0.0;p[i>>2]=999999984306749400.0;p[i+4>>2]=999999984306749400.0;p[i+8>>2]=999999984306749400.0;p[i+12>>2]=0.0;return}function mAe(e,t,i,n,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;var d=0,c=0,b=0,u=0;p=e+4|0;n=r[p>>2]|0;if((n|0)>=(r[e+8>>2]|0)){d=0;return d|0}c=e+24|0;b=r[c>>2]|0;u=r[e+16>>2]|0;r[c>>2]=r[u+(b*52|0)+48>>2];r[p>>2]=n+1;n=e+12|0;if((b|0)>(r[n>>2]|0)){r[n>>2]=b}n=u+(b*52|0)|0;r[n>>2]=o;_[u+(b*52|0)+4>>1]=s;_[u+(b*52|0)+6>>1]=a;a=u+(b*52|0)+16|0;s=t;r[a>>2]=r[s>>2];r[a+4>>2]=r[s+4>>2];r[a+8>>2]=r[s+8>>2];r[a+12>>2]=r[s+12>>2];s=u+(b*52|0)+32|0;a=i;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];r[u+(b*52|0)+8>>2]=l;d=n|0;return d|0}function hAe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=(t-(r[e+16>>2]|0)|0)/52|0;_=e+12|0;if((n|0)==(r[_>>2]|0)){r[_>>2]=n-1}_=e+24|0;r[t+48>>2]=r[_>>2];r[_>>2]=n;r[t>>2]=0;n=e+4|0;r[n>>2]=(r[n>>2]|0)-1;n=r[e+28>>2]|0;srt[r[(r[n>>2]|0)+16>>2]&511](n|0,t,i);return}function fAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;e=i;i=t+16|0;r[e>>2]=r[i>>2];r[e+4>>2]=r[i+4>>2];r[e+8>>2]=r[i+8>>2];r[e+12>>2]=r[i+12>>2];i=n;n=t+32|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function gAe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;_=t+16|0;e=i;r[_>>2]=r[e>>2];r[_+4>>2]=r[e+4>>2];r[_+8>>2]=r[e+8>>2];r[_+12>>2]=r[e+12>>2];e=t+32|0;t=n;r[e>>2]=r[t>>2];r[e+4>>2]=r[t+4>>2];r[e+8>>2]=r[t+8>>2];r[e+12>>2]=r[t+12>>2];return}function CAe(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;var s=0,a=0,p=0;o=e+12|0;_=r[o>>2]|0;if((_|0)<0){return}i=e+16|0;e=n|0;t=n;n=0;s=_;while(1){_=(r[i>>2]|0)+(n*52|0)|0;if((r[_>>2]|0)==0){a=s}else{p=r[(r[t>>2]|0)+8>>2]|0;j_t[p&511](e,_)|0;a=r[o>>2]|0}_=n+1|0;if((_|0)>(a|0)){break}else{n=_;s=a}}return}function SAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0;_=e+12|0;o=r[_>>2]|0;if((o|0)<0){return}s=e+16|0;e=t|0;a=t+8|0;l=t+4|0;t=i+4|0;d=n;c=i+8|0;b=i|0;i=0;u=o;while(1){o=r[s>>2]|0;m=o+(i*52|0)|0;do{if((r[m>>2]|0)==0){h=u}else{do{if(+p[e>>2]>+p[o+(i*52|0)+32>>2]){f=0}else{if(+p[b>>2]<+p[o+(i*52|0)+16>>2]){f=0;break}f=1}}while(0);do{if(+p[a>>2]>+p[o+(i*52|0)+40>>2]){g=0}else{if(+p[c>>2]<+p[o+(i*52|0)+24>>2]){g=0;break}g=f}}while(0);if(+p[l>>2]>+p[o+(i*52|0)+36>>2]){h=u;break}if(+p[t>>2]<+p[o+(i*52|0)+20>>2]|g^1){h=u;break}C=r[(r[d>>2]|0)+8>>2]|0;j_t[C&511](n,m)|0;h=r[_>>2]|0}}while(0);m=i+1|0;if((m|0)>(h|0)){break}else{i=m;u=h}}return}function yAe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0;i=d;d=d+40|0;_=i|0;o=i+8|0;s=i+24|0;if((r[e+4>>2]|0)<=-1){d=i;return}a=e+12|0;l=r[a>>2]|0;if((l|0)<0){c=-1}else{b=e+16|0;u=e+28|0;m=-1;h=0;f=l;while(1){l=r[b>>2]|0;g=l+(h*52|0)|0;C=h+1|0;e:do{if((r[g>>2]|0)==0){S=m;y=f}else{if((C|0)>(f|0)){S=h;y=f;break}v=l+(h*52|0)+16|0;x=l+(h*52|0)+32|0;M=l+(h*52|0)+20|0;T=l+(h*52|0)+36|0;D=l+(h*52|0)+24|0;P=l+(h*52|0)+40|0;w=C;A=l;while(1){F=A+(w*52|0)|0;t:do{if((r[F>>2]|0)!=0){do{if(+p[v>>2]>+p[A+(w*52|0)+32>>2]){R=695}else{if(+p[A+(w*52|0)+16>>2]>+p[x>>2]){R=695;break}if(+p[M>>2]>+p[A+(w*52|0)+36>>2]){R=695;break}if(+p[A+(w*52|0)+20>>2]>+p[T>>2]){R=695;break}if(+p[D>>2]>+p[A+(w*52|0)+40>>2]){R=695;break}I=r[u>>2]|0;if(+p[A+(w*52|0)+24>>2]>+p[P>>2]){B=I;break}if((h_t[r[(r[I>>2]|0)+52>>2]&511](I,g,F)|0)!=0){break t}I=r[u>>2]|0;V=I|0;E=r[(r[I>>2]|0)+8>>2]|0;h_t[E&511](V,g,F)|0;break t}}while(0);if((R|0)==695){R=0;B=r[u>>2]|0}if(Knt[r[(r[B>>2]|0)+56>>2]&4095](B)|0){break}V=r[u>>2]|0;if((h_t[r[(r[V>>2]|0)+52>>2]&511](V,g,F)|0)==0){break}V=r[u>>2]|0;E=V|0;I=r[(r[V>>2]|0)+12>>2]|0;drt[I&127](E,g,F,t)|0}}while(0);F=w+1|0;E=r[a>>2]|0;if((F|0)>(E|0)){S=h;y=E;break e}w=F;A=r[b>>2]|0}}}while(0);if((C|0)>(y|0)){c=S;break}else{m=S;h=C;f=y}}}r[a>>2]=c;if((n[e+32|0]&1)==0){d=i;return}c=e+28|0;a=r[c>>2]|0;if(!(Knt[r[(r[a>>2]|0)+56>>2]&4095](a)|0)){d=i;return}a=r[c>>2]|0;y=Knt[r[(r[a>>2]|0)+28>>2]&4095](a)|0;a=y+4|0;f=r[a>>2]|0;if((f|0)>1){xCe(y,0,f-1|0);N=r[a>>2]|0}else{N=f}f=e+36|0;e=N-(r[f>>2]|0)|0;vBe(o|0,0,16);vCe(y,e,o);r[f>>2]=0;o=r[a>>2]|0;do{if((o|0)>0){e=y+12|0;N=0;h=0;S=0;m=o;b=0;while(1){u=r[e>>2]|0;B=u+(S<<4)|0;g=B|0;l=r[g>>2]|0;A=u+(S<<4)+4|0;u=r[A>>2]|0;if((l|0)==(h|0)){if((u|0)==(N|0)){k=h;O=N;R=720}else{L=h;R=714}}else{L=l;R=714}do{if((R|0)==714){R=0;if(+p[L+16>>2]>+p[u+32>>2]){k=L;O=u;R=720;break}if(+p[u+16>>2]>+p[L+32>>2]){k=L;O=u;R=720;break}if(+p[L+20>>2]>+p[u+36>>2]){k=L;O=u;R=720;break}if(+p[u+20>>2]>+p[L+36>>2]){k=L;O=u;R=720;break}if(+p[L+24>>2]>+p[u+40>>2]){k=L;O=u;R=720;break}if(+p[u+24>>2]>+p[L+40>>2]){k=L;O=u;R=720}else{U=L;G=u;W=m;z=b}}}while(0);if((R|0)==720){R=0;u=r[c>>2]|0;srt[r[(r[u>>2]|0)+32>>2]&511](u,B,t);r[g>>2]=0;r[A>>2]=0;u=(r[f>>2]|0)+1|0;r[f>>2]=u;r[9792]=(r[9792]|0)-1;U=k;G=O;W=r[a>>2]|0;z=u}u=S+1|0;if((u|0)<(W|0)){N=G;h=U;S=u;m=W;b=z}else{break}}b=_|0;if((W|0)<=1){H=W;j=b;X=z;break}xCe(y,0,W-1|0);H=r[a>>2]|0;j=b;X=r[f>>2]|0}else{H=o;j=_|0;X=0}}while(0);vBe(s|0,0,16);vCe(y,H-X|0,s);r[f>>2]=0;d=i;return}function vAe(e){e=e|0;xAe(e);if((e|0)==0){return}SBe(e);return}function xAe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=20520;t=e+48|0;i=e+56|0;_=r[i>>2]|0;o=e+60|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-4>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+52>>2]=0;t=e+28|0;i=e+36|0;o=r[i>>2]|0;_=e+40|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+32>>2]=0;t=e+8|0;i=e+16|0;_=r[i>>2]|0;o=e+20|0;if((_|0)==0){s=e+12|0;n[o]=1;r[i>>2]=0;r[t>>2]=0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-8+4>>2]|0)}r[i>>2]=0;s=e+12|0;n[o]=1;r[i>>2]=0;r[t>>2]=0;r[s>>2]=0;return}function MAe(e){e=e|0;return}function TAe(e){e=e|0;return 17608|0}function DAe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+1.0}function PAe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=t+8|0;if((r[i>>2]|0)<=0){return}n=t+16|0;t=e+16|0;e=0;_=0;while(1){o=r[(r[n>>2]|0)+(e<<2)>>2]|0;if((r[o+204>>2]&3|0)==0){s=r[t>>2]|0;a=s+(_<<3)|0;p=r[a>>2]|0;if((p|0)==(_|0)){l=_}else{d=s;s=a;a=p;while(1){p=d+(a<<3)|0;r[s>>2]=r[p>>2];c=r[p>>2]|0;p=r[t>>2]|0;b=p+(c<<3)|0;u=r[b>>2]|0;if((c|0)==(u|0)){l=c;break}else{d=p;s=b;a=u}}}r[o+208>>2]=l;r[(r[t>>2]|0)+(_<<3)+4>>2]=e;r[o+212>>2]=-1;m=_+1|0}else{r[o+208>>2]=-1;r[o+212>>2]=-2;m=_}a=e+1|0;if((a|0)<(r[i>>2]|0)){e=a;_=m}else{break}}return}function wAe(e,t){e=e|0;t=+t;p[e+44>>2]=t;return}function AAe(e){e=e|0;return+(+p[e+28>>2]*+p[e+12>>2])}function FAe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0;i=t+8|0;if((r[i>>2]|0)>0){_=t+16|0;o=0;s=0;while(1){a=r[(r[_>>2]|0)+(o<<2)>>2]|0;if((r[a+204>>2]&3|0)==0){r[a+208>>2]=s;l=s+1|0}else{l=s}r[a+212>>2]=-1;p[a+240>>2]=1.0;a=o+1|0;if((a|0)<(r[i>>2]|0)){o=a;s=l}else{d=l;break}}}else{d=0}l=e+8|0;s=r[l>>2]|0;if((s|0)<(d|0)){o=e+12|0;if((r[o>>2]|0)<(d|0)){if((d|0)==0){c=0;b=s}else{r[9806]=(r[9806]|0)+1;i=hBe((d<<3|4)+15|0)|0;if((i|0)==0){u=0}else{_=-(i+4|0)&15;r[i+_>>2]=i;u=i+(_+4)|0}c=u;b=r[l>>2]|0}u=e+16|0;if((b|0)>0){_=0;do{i=c+(_<<3)|0;if((i|0)!=0){a=(r[u>>2]|0)+(_<<3)|0;m=i;i=r[a+4>>2]|0;r[m>>2]=r[a>>2];r[m+4>>2]=i}_=_+1|0}while((_|0)<(b|0))}b=r[u>>2]|0;_=e+20|0;if((b|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-8+4>>2]|0)}r[u>>2]=0}n[_]=1;r[u>>2]=c;r[o>>2]=d;h=u}else{h=e+16|0}u=s;do{s=(r[h>>2]|0)+(u<<3)|0;if((s|0)!=0){o=s;r[o>>2]=0;r[o+4>>2]=0}u=u+1|0}while((u|0)<(d|0))}r[l>>2]=d;if((d|0)>0){l=e+16|0;u=0;do{r[(r[l>>2]|0)+(u<<3)>>2]=u;r[(r[l>>2]|0)+(u<<3)+4>>2]=1;u=u+1|0}while((u|0)<(d|0))}d=r[t+76>>2]|0;t=Knt[r[(r[d>>2]|0)+36>>2]&4095](d)|0;d=Knt[r[(r[t>>2]|0)+36>>2]&4095](t)|0;u=Knt[r[(r[t>>2]|0)+20>>2]&4095](t)|0;if((d|0)<=0){return}t=e+16|0;e=0;do{l=r[r[u+(e<<4)>>2]>>2]|0;h=r[r[u+(e<<4)+4>>2]>>2]|0;do{if((l|0)!=0){if((r[l+204>>2]&7|0)!=0|(h|0)==0){break}if((r[h+204>>2]&7|0)!=0){break}o=r[l+208>>2]|0;s=r[h+208>>2]|0;c=r[t>>2]|0;_=c+(o<<3)|0;b=r[_>>2]|0;if((b|0)==(o|0)){f=o;g=c}else{o=c;c=_;_=b;while(1){b=o+(_<<3)|0;r[c>>2]=r[b>>2];i=r[b>>2]|0;b=r[t>>2]|0;m=b+(i<<3)|0;a=r[m>>2]|0;if((i|0)==(a|0)){f=i;g=b;break}else{o=b;c=m;_=a}}}_=g+(s<<3)|0;c=r[_>>2]|0;if((c|0)==(s|0)){C=s;S=g}else{o=g;a=_;_=c;while(1){c=o+(_<<3)|0;r[a>>2]=r[c>>2];m=r[c>>2]|0;c=r[t>>2]|0;b=c+(m<<3)|0;i=r[b>>2]|0;if((m|0)==(i|0)){C=m;S=c;break}else{o=c;a=b;_=i}}}if((f|0)==(C|0)){break}r[S+(f<<3)>>2]=C;_=r[t>>2]|0;a=_+(C<<3)+4|0;r[a>>2]=(r[a>>2]|0)+(r[_+(f<<3)+4>>2]|0)}}while(0);e=e+1|0}while((e|0)<(d|0));return}function RAe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0;n=e+12|0;_=r[n>>2]|0;o=r[_+(((i+t|0)/2|0)<<2)>>2]|0;s=o+1108|0;a=o+1112|0;o=t;p=i;l=_;while(1){_=r[(r[s>>2]|0)+208>>2]|0;d=(_|0)>-1;if(d){c=o;while(1){b=r[l+(c<<2)>>2]|0;u=r[(r[b+1108>>2]|0)+208>>2]|0;if((u|0)>-1){m=u}else{m=r[(r[b+1112>>2]|0)+208>>2]|0}if((m|0)<(_|0)){c=c+1|0}else{h=c;f=b;break}}}else{c=r[(r[a>>2]|0)+208>>2]|0;b=o;while(1){u=r[l+(b<<2)>>2]|0;g=r[(r[u+1108>>2]|0)+208>>2]|0;if((g|0)>-1){C=g}else{C=r[(r[u+1112>>2]|0)+208>>2]|0}if((C|0)<(c|0)){b=b+1|0}else{h=b;f=u;break}}}if(d){b=p;while(1){c=r[l+(b<<2)>>2]|0;u=r[(r[c+1108>>2]|0)+208>>2]|0;if((u|0)>-1){S=u}else{S=r[(r[c+1112>>2]|0)+208>>2]|0}if((_|0)<(S|0)){b=b-1|0}else{y=b;v=c;break}}}else{b=r[(r[a>>2]|0)+208>>2]|0;_=p;while(1){d=r[l+(_<<2)>>2]|0;c=r[(r[d+1108>>2]|0)+208>>2]|0;if((c|0)>-1){x=c}else{x=r[(r[d+1112>>2]|0)+208>>2]|0}if((b|0)<(x|0)){_=_-1|0}else{y=_;v=d;break}}}if((h|0)>(y|0)){M=h;T=y}else{r[l+(h<<2)>>2]=v;r[(r[n>>2]|0)+(y<<2)>>2]=f;M=h+1|0;T=y-1|0}if((M|0)>(T|0)){break}o=M;p=T;l=r[n>>2]|0}if((T|0)>(t|0)){RAe(e,t,T)}if((M|0)>=(i|0)){return}RAe(e,M,i);return}function IAe(e,t,i){e=e|0;t=t|0;i=i|0;vBe(e|0,0,16);return}function BAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0;if((n|0)>0){_=0}else{return}while(1){t=_+1|0;vBe(i+(_<<4)|0,0,16);if((t|0)<(n|0)){_=t}else{break}}return}function VAe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0.0,_=0.0,o=0.0,s=0.0,a=0.0;srt[r[(r[t>>2]|0)+64>>2]&511](e,t,i);n=+p[i>>2];_=+p[i+4>>2];o=+p[i+8>>2];i=n*n+_*_+o*o<1.4210854715202004e-14;s=i?-1.0:o;o=i?-1.0:_;_=i?-1.0:n;n=1.0/+j(+(s*s+(_*_+o*o)));a=+z_t[r[(r[t>>2]|0)+44>>2]&1023](t);t=e|0;p[t>>2]=n*_*a+ +p[t>>2];t=e+4|0;p[t>>2]=a*n*o+ +p[t>>2];t=e+8|0;p[t>>2]=a*n*s+ +p[t>>2];return}function EAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0.0,s=0.0,a=0.0,l=0.0,d=0,c=0.0;_=e;o=+z_t[r[(r[_>>2]|0)+44>>2]&1023](e);s=+z_t[r[(r[_>>2]|0)+44>>2]&1023](e);a=+z_t[r[(r[_>>2]|0)+44>>2]&1023](e);e=t+48|0;_=t+52|0;l=+p[_>>2]-s;d=t+56|0;c=+p[d>>2]-a;p[i>>2]=+p[e>>2]-o;p[i+4>>2]=l;p[i+8>>2]=c;p[i+12>>2]=0.0;c=s+ +p[_>>2];s=a+ +p[d>>2];p[n>>2]=o+ +p[e>>2];p[n+4>>2]=c;p[n+8>>2]=s;p[n+12>>2]=0.0;return}function NAe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0.0;n=e;_=t*.4000000059604645*+z_t[r[(r[n>>2]|0)+44>>2]&1023](e);t=_*+z_t[r[(r[n>>2]|0)+44>>2]&1023](e);p[i>>2]=t;p[i+4>>2]=t;p[i+8>>2]=t;p[i+12>>2]=0.0;return}function kAe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-52+48>>2]|0);return}function OAe(e){e=e|0;var t=0,i=0,_=0;r[e>>2]=19832;if((n[e+8|0]&1)==0){t=e;SBe(t);return}i=r[e+12>>2]|0;if((i|0)==0){t=e;SBe(t);return}_=r[e+4>>2]|0;Znt[r[(r[_>>2]|0)+16>>2]&2047](_,i);t=e;SBe(t);return}function LAe(e){e=e|0;var t=0,i=0;r[e>>2]=19832;if((n[e+8|0]&1)==0){return}t=r[e+12>>2]|0;if((t|0)==0){return}i=r[e+4>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,t);return}function UAe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0;n=d;d=d+32|0;o=n|0;s=n+16|0;a=r[e+12>>2]|0;if((a|0)==0){d=n;return}e=_+4|0;r[e>>2]=a;l=r[t+192>>2]|0;c=r[i+192>>2]|0;b=+p[i+52>>2];u=+p[t+52>>2]-b;m=+p[i+56>>2];h=+p[t+56>>2]-m;f=+p[i+60>>2];g=+p[t+60>>2]-f;C=+j(+(u*u+h*h+g*g));S=+p[c+28>>2]*+p[c+12>>2];y=+p[l+28>>2]*+p[l+12>>2]+S;if(C>y){if((r[a+1116>>2]|0)==0){d=n;return}if((r[a+1108>>2]|0)==(r[_+136>>2]|0)){nwe(a,_+8|0,_+72|0);d=n;return}else{nwe(a,_+72|0,_+8|0);d=n;return}}a=o|0;p[a>>2]=1.0;l=o+4|0;p[l>>2]=0.0;c=o+8|0;p[c>>2]=0.0;t=o+12|0;p[t>>2]=0.0;if(C>1.1920928955078125e-7){v=1.0/C;x=u*v;u=h*v;h=g*v;p[a>>2]=x;p[l>>2]=u;p[c>>2]=h;p[t>>2]=0.0;M=x;T=u;D=h}else{M=1.0;T=0.0;D=0.0}p[s>>2]=S*M+b;p[s+4>>2]=S*T+m;p[s+8>>2]=S*D+f;p[s+12>>2]=0.0;nrt[r[(r[_>>2]|0)+16>>2]&127](_,o,s,C-y);s=r[e>>2]|0;if((r[s+1116>>2]|0)==0){d=n;return}if((r[s+1108>>2]|0)==(r[_+136>>2]|0)){nwe(s,_+8|0,_+72|0);d=n;return}else{nwe(s,_+72|0,_+8|0);d=n;return}}function GAe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+1.0}function WAe(e){e=e|0;return}function zAe(e){e=e|0;return 17592|0}function HAe(e){e=e|0;return 52}function jAe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;p[i>>2]=-999999984306749400.0;p[i+4>>2]=-999999984306749400.0;p[i+8>>2]=-999999984306749400.0;p[i+12>>2]=0.0;p[n>>2]=999999984306749400.0;p[n+4>>2]=999999984306749400.0;p[n+8>>2]=999999984306749400.0;p[n+12>>2]=0.0;return}function XAe(e){e=e|0;return e+68|0}function ZAe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=e+12|0;if((r[i>>2]|0)==0){return}if((n[e+8|0]&1)==0){return}e=t+4|0;_=r[e>>2]|0;o=t+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[e>>2]|0}b=t+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=t+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[e>>2]|0}else{a=_}}while(0);_=(r[t+12>>2]|0)+(a<<2)|0;if((_|0)==0){m=a}else{r[_>>2]=r[i>>2];m=r[e>>2]|0}r[e>>2]=m+1;return}function QAe(e){e=e|0;var t=0,i=0,_=0;r[e>>2]=19688;if((n[e+8|0]&1)==0){t=e;SBe(t);return}i=r[e+12>>2]|0;if((i|0)==0){t=e;SBe(t);return}_=r[e+4>>2]|0;Znt[r[(r[_>>2]|0)+16>>2]&2047](_,i);t=e;SBe(t);return}function qAe(e){e=e|0;var t=0,i=0;r[e>>2]=19688;if((n[e+8|0]&1)==0){return}t=r[e+12>>2]|0;if((t|0)==0){return}i=r[e+4>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,t);return}function YAe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0;s=d;d=d+152|0;a=s|0;l=s+16|0;c=e+12|0;b=r[c>>2]|0;if((b|0)==0){d=s;return}u=e+16|0;m=(n[u]&1)!=0;h=m?i:t;f=m?t:i;i=r[h+192>>2]|0;t=r[f+192>>2]|0;m=o+4|0;r[m>>2]=b;g=+p[(r[c>>2]|0)+1120>>2];r[a>>2]=21944;r[a+4>>2]=i;r[a+8>>2]=t;p[a+12>>2]=g;r[l+132>>2]=0;p[l+128>>2]=999999984306749400.0;t=l;i=h+4|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=l+16|0;t=h+20|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];t=l+32|0;i=h+36|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=l+48|0;t=h+52|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];t=l+64|0;i=f+4|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=l+80|0;t=f+20|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];t=l+96|0;i=f+36|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=l+112|0;t=f+52|0;r[i>>2]=r[t>>2];r[i+4>>2]=r[t+4>>2];r[i+8>>2]=r[t+8>>2];r[i+12>>2]=r[t+12>>2];PRe(a,l,o|0,r[_+20>>2]|0,(n[u]&1)!=0);if((n[e+8|0]&1)==0){d=s;return}e=r[m>>2]|0;if((r[e+1116>>2]|0)==0){d=s;return}if((r[e+1108>>2]|0)==(r[o+136>>2]|0)){nwe(e,o+8|0,o+72|0);d=s;return}else{nwe(e,o+72|0,o+8|0);d=s;return}}function JAe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=e+12|0;if((r[i>>2]|0)==0){return}if((n[e+8|0]&1)==0){return}e=t+4|0;_=r[e>>2]|0;o=t+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[e>>2]|0}b=t+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=t+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[e>>2]|0}else{a=_}}while(0);_=(r[t+12>>2]|0)+(a<<2)|0;if((_|0)==0){m=a}else{r[_>>2]=r[i>>2];m=r[e>>2]|0}r[e>>2]=m+1;return}function KAe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function $Ae(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0.0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0;_=d;d=d+48|0;o=_|0;s=+p[n>>2];a=+p[i>>2];l=+p[n+4>>2];c=+p[i+4>>2];b=+p[n+8>>2];u=+p[i+8>>2];m=(s-a)*.5;h=(l-c)*.5;f=(b-u)*.5;g=+j(+(m*m+h*h+f*f));f=(s+a)*.5;a=(l+c)*.5;c=(b+u)*.5;i=e+48|0;u=+p[e+56>>2];if(+H(+u)>.7071067690849304){b=+p[e+52>>2];l=u*u+b*b;s=1.0/+j(+l);h=s*(-0.0-u);m=b*s;C=+p[i>>2];S=l*s;y=m*(-0.0-C);v=C*h;x=0.0;M=h;T=m;D=C;P=b}else{b=+p[i>>2];C=+p[e+52>>2];m=b*b+C*C;h=1.0/+j(+m);s=h*(-0.0-C);l=b*h;S=l*(-0.0-u);y=u*s;v=m*h;x=s;M=l;T=0.0;D=b;P=C}C=f*D+a*P+c*u-+p[e+64>>2];b=a-P*C;e=o|0;P=f-D*C;D=c-u*C;C=g*x;x=g*M;M=g*T;T=C+P;u=x+b;c=M+D;f=g*S;S=g*y;y=g*v;v=f+T;g=S+u;a=y+c;i=o|0;p[i>>2]=v;n=o+4|0;p[n>>2]=g;w=o+8|0;p[w>>2]=a;A=o+12|0;p[A>>2]=0.0;F=o+16|0;p[F>>2]=T-f;R=o+20|0;p[R>>2]=u-S;I=o+24|0;p[I>>2]=c-y;B=o+28|0;p[B>>2]=0.0;c=P-C;C=b-x;x=D-M;M=c-f;D=C-S;b=x-y;V=o+32|0;p[V>>2]=M;E=o+36|0;p[E>>2]=D;N=o+40|0;p[N>>2]=b;k=o+44|0;p[k>>2]=0.0;o=t;mrt[r[(r[o>>2]|0)+8>>2]&1023](t,e,0,0);p[i>>2]=M;p[n>>2]=D;p[w>>2]=b;p[A>>2]=0.0;p[F>>2]=f+c;p[R>>2]=S+C;p[I>>2]=y+x;p[B>>2]=0.0;p[V>>2]=v;p[E>>2]=g;p[N>>2]=a;p[k>>2]=0.0;mrt[r[(r[o>>2]|0)+8>>2]&1023](t,e,0,1);d=_;return}function eFe(e,t,i){e=e|0;t=+t;i=i|0;vBe(i|0,0,16);return}function tFe(e,t){e=e|0;t=t|0;var i=0;i=e+68|0;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];return}function iFe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0;n=i;_=j_t[r[(r[n>>2]|0)+40>>2]&511](i,e)|0;o=j_t[r[(r[n>>2]|0)+28>>2]&511](i,_)|0;r[t>>2]=o;if((o|0)!=0){Znt[r[(r[i>>2]|0)+48>>2]&2047](i,_)}r[t+4>>2]=r[e+4>>2];p[t+12>>2]=+p[e+68>>2];p[t+16>>2]=+p[e+72>>2];p[t+20>>2]=+p[e+76>>2];p[t+24>>2]=+p[e+80>>2];p[t+28>>2]=+p[e+48>>2];p[t+32>>2]=+p[e+52>>2];p[t+36>>2]=+p[e+56>>2];p[t+40>>2]=+p[e+60>>2];p[t+44>>2]=+p[e+64>>2];return 16264}function nFe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0.0,y=0.0,v=0.0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0.0,Z=0.0,Q=0,q=0,Y=0,J=0,K=0;n=d;d=d+112|0;i=n|0;_=n+8|0;a=n+16|0;c=n+24|0;b=n+32|0;u=n+40|0;m=n+48|0;h=n+56|0;f=n+64|0;g=Knt[r[(r[e>>2]|0)+28>>2]&4095](e)|0;C=f|0;S=+p[e+4>>2];y=+p[e+8>>2];v=+p[e+12>>2];if((g|0)<=0){d=n;return}x=e;M=e;T=f|0;D=f+4|0;P=f+8|0;w=f+12|0;A=f+16|0;F=f+20|0;R=f+24|0;I=f+28|0;B=f+32|0;V=f+36|0;E=f+40|0;N=f+44|0;f=t;k=0;do{H_t[r[(r[x>>2]|0)+16>>2]&63](e,i,m,c,u,_,a,h,b,k);O=r[c>>2]|0;do{if((O|0)==0){L=r[b>>2]|0;if((L|0)==2){if((r[h>>2]|0)>0){U=0}else{break}do{G=r[_>>2]|0;W=ne(r[a>>2]|0,U)|0;z=r[i>>2]|0;H=r[u>>2]|0;j=ne(H,r[G+W>>2]|0)|0;X=y*+p[z+(j+4)>>2];Z=v*+p[z+(j+8)>>2];p[T>>2]=S*+p[z+j>>2];p[D>>2]=X;p[P>>2]=Z;p[w>>2]=0.0;j=ne(H,r[G+(W+4)>>2]|0)|0;Z=y*+p[z+(j+4)>>2];X=v*+p[z+(j+8)>>2];p[A>>2]=S*+p[z+j>>2];p[F>>2]=Z;p[R>>2]=X;p[I>>2]=0.0;j=ne(H,r[G+(W+8)>>2]|0)|0;X=y*+p[z+(j+4)>>2];Z=v*+p[z+(j+8)>>2];p[B>>2]=S*+p[z+j>>2];p[V>>2]=X;p[E>>2]=Z;p[N>>2]=0.0;mrt[r[(r[f>>2]|0)+8>>2]&1023](t,C,k,U);U=U+1|0}while((U|0)<(r[h>>2]|0))}else if((L|0)==5){if((r[h>>2]|0)>0){Q=0}else{break}do{j=r[_>>2]|0;z=ne(r[a>>2]|0,Q)|0;W=r[i>>2]|0;G=r[u>>2]|0;H=ne(o[j+z|0]|0,G)|0;Z=y*+p[W+(H+4)>>2];X=v*+p[W+(H+8)>>2];p[T>>2]=S*+p[W+H>>2];p[D>>2]=Z;p[P>>2]=X;p[w>>2]=0.0;H=ne(o[j+(z+1)|0]|0,G)|0;X=y*+p[W+(H+4)>>2];Z=v*+p[W+(H+8)>>2];p[A>>2]=S*+p[W+H>>2];p[F>>2]=X;p[R>>2]=Z;p[I>>2]=0.0;H=ne(o[j+(z+2)|0]|0,G)|0;Z=y*+p[W+(H+4)>>2];X=v*+p[W+(H+8)>>2];p[B>>2]=S*+p[W+H>>2];p[V>>2]=Z;p[E>>2]=X;p[N>>2]=0.0;mrt[r[(r[f>>2]|0)+8>>2]&1023](t,C,k,Q);Q=Q+1|0}while((Q|0)<(r[h>>2]|0))}else if((L|0)==3){if((r[h>>2]|0)>0){q=0}else{break}do{H=r[_>>2]|0;W=ne(r[a>>2]|0,q)|0;G=r[i>>2]|0;z=r[u>>2]|0;j=ne(s[H+W>>1]|0,z)|0;X=y*+p[G+(j+4)>>2];Z=v*+p[G+(j+8)>>2];p[T>>2]=S*+p[G+j>>2];p[D>>2]=X;p[P>>2]=Z;p[w>>2]=0.0;j=ne(s[H+(W+2)>>1]|0,z)|0;Z=y*+p[G+(j+4)>>2];X=v*+p[G+(j+8)>>2];p[A>>2]=S*+p[G+j>>2];p[F>>2]=Z;p[R>>2]=X;p[I>>2]=0.0;j=ne(s[H+(W+4)>>1]|0,z)|0;X=y*+p[G+(j+4)>>2];Z=v*+p[G+(j+8)>>2];p[B>>2]=S*+p[G+j>>2];p[V>>2]=X;p[E>>2]=Z;p[N>>2]=0.0;mrt[r[(r[f>>2]|0)+8>>2]&1023](t,C,k,q);q=q+1|0}while((q|0)<(r[h>>2]|0))}else{break}}else if((O|0)==1){L=r[b>>2]|0;if((L|0)==5){if((r[h>>2]|0)>0){Y=0}else{break}do{j=r[_>>2]|0;G=ne(r[a>>2]|0,Y)|0;z=r[i>>2]|0;W=r[u>>2]|0;H=ne(o[j+G|0]|0,W)|0;Z=y*+l[z+(H+8)>>3];X=v*+l[z+(H+16)>>3];p[T>>2]=S*+l[z+H>>3];p[D>>2]=Z;p[P>>2]=X;p[w>>2]=0.0;H=ne(o[j+(G+1)|0]|0,W)|0;X=y*+l[z+(H+8)>>3];Z=v*+l[z+(H+16)>>3];p[A>>2]=S*+l[z+H>>3];p[F>>2]=X;p[R>>2]=Z;p[I>>2]=0.0;H=ne(o[j+(G+2)|0]|0,W)|0;Z=y*+l[z+(H+8)>>3];X=v*+l[z+(H+16)>>3];p[B>>2]=S*+l[z+H>>3];p[V>>2]=Z;p[E>>2]=X;p[N>>2]=0.0;mrt[r[(r[f>>2]|0)+8>>2]&1023](t,C,k,Y);Y=Y+1|0}while((Y|0)<(r[h>>2]|0))}else if((L|0)==3){if((r[h>>2]|0)>0){J=0}else{break}do{H=r[_>>2]|0;z=ne(r[a>>2]|0,J)|0;W=r[i>>2]|0;G=r[u>>2]|0;j=ne(s[H+z>>1]|0,G)|0;X=y*+l[W+(j+8)>>3];Z=v*+l[W+(j+16)>>3];p[T>>2]=S*+l[W+j>>3];p[D>>2]=X;p[P>>2]=Z;p[w>>2]=0.0;j=ne(s[H+(z+2)>>1]|0,G)|0;Z=y*+l[W+(j+8)>>3];X=v*+l[W+(j+16)>>3];p[A>>2]=S*+l[W+j>>3];p[F>>2]=Z;p[R>>2]=X;p[I>>2]=0.0;j=ne(s[H+(z+4)>>1]|0,G)|0;X=y*+l[W+(j+8)>>3];Z=v*+l[W+(j+16)>>3];p[B>>2]=S*+l[W+j>>3];p[V>>2]=X;p[E>>2]=Z;p[N>>2]=0.0;mrt[r[(r[f>>2]|0)+8>>2]&1023](t,C,k,J);J=J+1|0}while((J|0)<(r[h>>2]|0))}else if((L|0)==2){if((r[h>>2]|0)>0){K=0}else{break}do{j=r[_>>2]|0;W=ne(r[a>>2]|0,K)|0;G=r[i>>2]|0;z=r[u>>2]|0;H=ne(z,r[j+W>>2]|0)|0;Z=y*+l[G+(H+8)>>3];X=v*+l[G+(H+16)>>3];p[T>>2]=S*+l[G+H>>3];p[D>>2]=Z;p[P>>2]=X;p[w>>2]=0.0;H=ne(z,r[j+(W+4)>>2]|0)|0;X=y*+l[G+(H+8)>>3];Z=v*+l[G+(H+16)>>3];p[A>>2]=S*+l[G+H>>3];p[F>>2]=X;p[R>>2]=Z;p[I>>2]=0.0;H=ne(z,r[j+(W+8)>>2]|0)|0;Z=y*+l[G+(H+8)>>3];X=v*+l[G+(H+16)>>3];p[B>>2]=S*+l[G+H>>3];p[V>>2]=Z;p[E>>2]=X;p[N>>2]=0.0;mrt[r[(r[f>>2]|0)+8>>2]&1023](t,C,k,K);K=K+1|0}while((K|0)<(r[h>>2]|0))}else{break}}}while(0);Znt[r[(r[M>>2]|0)+24>>2]&2047](e,k);k=k+1|0}while((k|0)<(g|0));d=n;return}function _Fe(e){e=e|0;return 28}function rFe(e){e=e|0;return}function oFe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,r=0.0,o=0.0,s=0,a=0,l=0.0,d=0,c=0,b=0.0,u=0,m=0,h=0.0,f=0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0,T=0.0,D=0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0;n=e+4|0;i=t|0;_=+p[i>>2];r=+p[n>>2];if(_<r){p[n>>2]=_;o=_}else{o=r}s=e+8|0;a=t+4|0;r=+p[a>>2];_=+p[s>>2];if(r<_){p[s>>2]=r;l=r}else{l=_}d=e+12|0;c=t+8|0;_=+p[c>>2];r=+p[d>>2];if(_<r){p[d>>2]=_;b=_}else{b=r}u=e+16|0;m=t+12|0;r=+p[m>>2];_=+p[u>>2];if(r<_){p[u>>2]=r;h=r}else{h=_}f=e+20|0;_=+p[f>>2];r=+p[i>>2];if(_<r){p[f>>2]=r;g=r}else{g=_}i=e+24|0;_=+p[i>>2];r=+p[a>>2];if(_<r){p[i>>2]=r;C=r}else{C=_}a=e+28|0;_=+p[a>>2];r=+p[c>>2];if(_<r){p[a>>2]=r;S=r}else{S=_}c=e+32|0;_=+p[c>>2];r=+p[m>>2];if(_<r){p[c>>2]=r;y=r}else{y=_}m=t+16|0;_=+p[m>>2];if(_<o){p[n>>2]=_;v=_}else{v=o}e=t+20|0;o=+p[e>>2];if(o<l){p[s>>2]=o;x=o}else{x=l}M=t+24|0;l=+p[M>>2];if(l<b){p[d>>2]=l;T=l}else{T=b}D=t+28|0;b=+p[D>>2];if(b<h){p[u>>2]=b;P=b}else{P=h}h=+p[m>>2];if(g<h){p[f>>2]=h;w=h}else{w=g}g=+p[e>>2];if(C<g){p[i>>2]=g;A=g}else{A=C}C=+p[M>>2];if(S<C){p[a>>2]=C;F=C}else{F=S}S=+p[D>>2];if(y<S){p[c>>2]=S;R=S}else{R=y}D=t+32|0;y=+p[D>>2];if(y<v){p[n>>2]=y}n=t+36|0;y=+p[n>>2];if(y<x){p[s>>2]=y}s=t+40|0;y=+p[s>>2];if(y<T){p[d>>2]=y}d=t+44|0;y=+p[d>>2];if(y<P){p[u>>2]=y}y=+p[D>>2];if(w<y){p[f>>2]=y}y=+p[n>>2];if(A<y){p[i>>2]=y}y=+p[s>>2];if(F<y){p[a>>2]=y}y=+p[d>>2];if(R>=y){return}p[c>>2]=y;return}function sFe(e,t,i){e=e|0;t=t|0;i=i|0;var o=0,s=0,a=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0,T=0,D=0.0,P=0,w=0,A=0,F=0.0,R=0,I=0,B=0,V=0.0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,_e=0,re=0;o=d;d=d+64|0;s=o|0;a=o+8|0;c=o+16|0;b=o+24|0;u=o+32|0;m=o+40|0;h=o+48|0;f=o+56|0;g=e;C=Knt[r[(r[g>>2]|0)+28>>2]&4095](e)|0;r[t+20>>2]=C;S=t;r[S>>2]=0;if((C|0)==0){y=t+4|0;v=e+4|0;x=+p[v>>2];M=y;p[M>>2]=x;T=e+8|0;D=+p[T>>2];P=t+8|0;w=P;p[w>>2]=D;A=e+12|0;F=+p[A>>2];R=t+12|0;I=R;p[I>>2]=F;B=e+16|0;V=+p[B>>2];E=t+16|0;N=E;p[N>>2]=V;d=o;return 16416}k=i;O=h_t[r[(r[k>>2]|0)+16>>2]&511](i,32,C)|0;C=O+8|0;L=r[C>>2]|0;U=i;r[S>>2]=j_t[r[(r[U>>2]|0)+28>>2]&511](i,L)|0;S=Knt[r[(r[g>>2]|0)+28>>2]&4095](e)|0;if((S|0)>0){g=e;G=e;W=i;z=0;H=L;while(1){H_t[r[(r[g>>2]|0)+16>>2]&63](e,s,h,b,m,a,c,f,u,z);r[H+24>>2]=r[f>>2];r[H+28>>2]=r[h>>2];r[H+20>>2]=0;L=H+8|0;j=H+12|0;X=H|0;Z=H+4|0;vBe(H|0,0,16);Q=r[u>>2]|0;do{if((Q|0)==3){q=r[f>>2]|0;if((q|0)==0){break}Y=h_t[r[(r[k>>2]|0)+16>>2]&511](i,8,q)|0;q=Y+8|0;J=r[q>>2]|0;K=J;r[j>>2]=j_t[r[(r[U>>2]|0)+28>>2]&511](i,J)|0;if((r[f>>2]|0)>0){J=0;do{$=r[a>>2]|0;ee=ne(r[c>>2]|0,J)|0;_[K+(J<<3)>>1]=_[$+ee>>1]|0;_[K+(J<<3)+2>>1]=_[$+(ee+2)>>1]|0;_[K+(J<<3)+4>>1]=_[$+(ee+4)>>1]|0;J=J+1|0}while((J|0)<(r[f>>2]|0))}Unt[r[(r[W>>2]|0)+20>>2]&255](i,Y,17560,1497453121,r[q>>2]|0)}else if((Q|0)==5){J=r[f>>2]|0;if((J|0)==0){break}K=h_t[r[(r[k>>2]|0)+16>>2]&511](i,4,J)|0;J=K+8|0;ee=r[J>>2]|0;$=ee;r[H+16>>2]=j_t[r[(r[U>>2]|0)+28>>2]&511](i,ee)|0;if((r[f>>2]|0)>0){ee=0;do{te=r[a>>2]|0;ie=ne(r[c>>2]|0,ee)|0;n[$+(ee<<2)|0]=n[te+ie|0]|0;n[$+(ee<<2)+1|0]=n[te+(ie+1)|0]|0;n[$+(ee<<2)+2|0]=n[te+(ie+2)|0]|0;ee=ee+1|0}while((ee|0)<(r[f>>2]|0))}Unt[r[(r[W>>2]|0)+20>>2]&255](i,K,17184,1497453121,r[J>>2]|0)}else if((Q|0)==2){ee=(r[f>>2]|0)*3|0;if((ee|0)==0){break}$=h_t[r[(r[k>>2]|0)+16>>2]&511](i,4,ee)|0;ee=$+8|0;q=r[ee>>2]|0;Y=q;r[L>>2]=j_t[r[(r[U>>2]|0)+28>>2]&511](i,q)|0;if((r[f>>2]|0)>0){q=0;do{ie=r[a>>2]|0;te=ne(r[c>>2]|0,q)|0;_e=q*3|0;r[Y+(_e<<2)>>2]=r[ie+te>>2];r[Y+(_e+1<<2)>>2]=r[ie+(te+4)>>2];r[Y+(_e+2<<2)>>2]=r[ie+(te+8)>>2];q=q+1|0}while((q|0)<(r[f>>2]|0))}Unt[r[(r[W>>2]|0)+20>>2]&255](i,$,16248,1497453121,r[ee>>2]|0)}}while(0);L=r[b>>2]|0;do{if((L|0)==0){Q=r[h>>2]|0;if((Q|0)==0){break}j=h_t[r[(r[k>>2]|0)+16>>2]&511](i,16,Q)|0;Q=j+8|0;q=r[Q>>2]|0;Y=q;r[X>>2]=j_t[r[(r[U>>2]|0)+28>>2]&511](i,q)|0;if((r[h>>2]|0)>0){q=0;do{J=r[s>>2]|0;K=ne(r[m>>2]|0,q)|0;p[Y+(q<<4)>>2]=+p[J+K>>2];p[Y+(q<<4)+4>>2]=+p[J+(K+4)>>2];p[Y+(q<<4)+8>>2]=+p[J+(K+8)>>2];q=q+1|0}while((q|0)<(r[h>>2]|0))}Unt[r[(r[W>>2]|0)+20>>2]&255](i,j,16904,1497453121,r[Q>>2]|0)}else if((L|0)==1){q=r[h>>2]|0;if((q|0)==0){break}Y=h_t[r[(r[k>>2]|0)+16>>2]&511](i,32,q)|0;q=Y+8|0;ee=r[q>>2]|0;$=ee;r[Z>>2]=j_t[r[(r[U>>2]|0)+28>>2]&511](i,ee)|0;ee=r[h>>2]|0;if((ee|0)>0){K=r[s>>2]|0;J=r[m>>2]|0;te=0;do{ie=ne(J,te)|0;l[$+(te<<5)>>3]=+l[K+ie>>3];l[$+(te<<5)+8>>3]=+l[K+(ie+8)>>3];l[$+(te<<5)+16>>3]=+l[K+(ie+16)>>3];te=te+1|0}while((te|0)<(ee|0))}Unt[r[(r[W>>2]|0)+20>>2]&255](i,Y,16672,1497453121,r[q>>2]|0)}}while(0);Znt[r[(r[G>>2]|0)+24>>2]&2047](e,z);Z=z+1|0;if((Z|0)<(S|0)){z=Z;H=H+32|0}else{re=W;break}}}else{re=i}Unt[r[(r[re>>2]|0)+20>>2]&255](i,O,16576,1497453121,r[C>>2]|0);y=t+4|0;v=e+4|0;x=+p[v>>2];M=y;p[M>>2]=x;T=e+8|0;D=+p[T>>2];P=t+8|0;w=P;p[w>>2]=D;A=e+12|0;F=+p[A>>2];R=t+12|0;I=R;p[I>>2]=F;B=e+16|0;V=+p[B>>2];E=t+16|0;N=E;p[N>>2]=V;d=o;return 16416}function aFe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function pFe(e){e=e|0;return}function lFe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return}function dFe(e,t){e=e|0;t=t|0;return 0}function cFe(e,t,i){e=e|0;t=t|0;i=+i;return 0}function bFe(e){e=e|0;return 17536|0}function uFe(e){e=e|0;return r[e+92>>2]|0}function mFe(e){e=e|0;var t=0,i=0;t=r[e+92>>2]|0;switch(t|0){case 1:{i=0;break};case 0:case 3:{i=t;break};case 2:{i=1;break};case 4:{i=6;break};default:{i=0}}return i|0}function hFe(e){e=e|0;var t=0,i=0;t=r[e+92>>2]|0;switch(t|0){case 0:case 4:{i=t;break};case 1:{i=0;break};case 3:{i=2;break};case 2:{i=0;break};default:{i=0}}return i|0}function fFe(e,t,i,o,s,a){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;a=a|0;var l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0,T=0,D=0.0,P=0,w=0.0,A=0,F=0,R=0.0,I=0,B=0,V=0.0,E=0,N=0.0,k=0,O=0.0,L=0,U=0.0,G=0,W=0.0,z=0,H=0.0,X=0,Z=0.0,Q=0,q=0.0,Y=0,J=0.0,K=0,$=0.0,ee=0,te=0.0,ie=0.0,ne=0,_e=0.0,re=0,oe=0.0,se=0,ae=0.0,pe=0,le=0.0,de=0,ce=0.0,be=0,ue=0.0,me=0,he=0.0,fe=0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0,xe=0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0.0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0.0,ke=0.0,Oe=0.0,Le=0.0,Ue=0.0,Ge=0.0,We=0.0,ze=0.0,He=0.0,je=0.0,Xe=0.0,Ze=0.0,Qe=0.0,qe=0.0,Ye=0.0,Je=0.0,Ke=0.0,$e=0.0,et=0,tt=0,it=0.0,nt=0.0,_t=0.0,rt=0.0,ot=0.0,st=0.0,at=0.0,pt=0.0,lt=0.0,dt=0.0,ct=0.0,bt=0.0,ut=0.0,mt=0,ht=0,ft=0,gt=0.0,Ct=0.0,St=0.0;l=d;d=d+128|0;c=l|0;b=l+16|0;u=l+32|0;m=l+48|0;h=l+64|0;f=l+80|0;g=l+96|0;C=l+112|0;S=e+4|0;y=r[S>>2]|0;n[y+312|0]=0;r[y>>2]=0;n[y+356|0]=1;p[y+292>>2]=999999984306749400.0;p[y+296>>2]=999999984306749400.0;p[y+300>>2]=999999984306749400.0;p[y+304>>2]=0.0;v=y+332|0;vBe(y+336|0,0,17);_[v>>1]=_[v>>1]&-16;v=i+48|0;y=t+48|0;x=+p[y>>2];M=i+52|0;T=t+52|0;D=+p[T>>2];P=i+56|0;i=t+56|0;w=+p[i>>2];A=s+48|0;F=o+48|0;R=+p[F>>2];I=s+52|0;B=o+52|0;V=+p[B>>2];E=s+56|0;s=o+56|0;N=+p[s>>2];k=t|0;O=+p[k>>2];L=t+4|0;U=+p[L>>2];G=t+8|0;W=+p[G>>2];z=t+16|0;H=+p[z>>2];X=t+20|0;Z=+p[X>>2];Q=t+24|0;q=+p[Q>>2];Y=t+32|0;J=+p[Y>>2];K=t+36|0;$=+p[K>>2];ee=t+40|0;te=+p[ee>>2];t=o|0;ie=+p[t>>2];ne=o+4|0;_e=+p[ne>>2];re=o+8|0;oe=+p[re>>2];se=o+16|0;ae=+p[se>>2];pe=o+20|0;le=+p[pe>>2];de=o+24|0;ce=+p[de>>2];be=o+32|0;ue=+p[be>>2];me=o+36|0;he=+p[me>>2];fe=o+40|0;ge=+p[fe>>2];Ce=+p[v>>2]-x-(+p[A>>2]-R);Se=+p[M>>2]-D-(+p[I>>2]-V);ye=+p[P>>2]-w-(+p[E>>2]-N);o=e+8|0;ve=r[o>>2]|0;xe=r[(r[ve>>2]|0)+60>>2]|0;Me=-0.0-Ce;Te=-0.0-Se;De=-0.0-ye;p[b>>2]=O*Me+H*Te+J*De;p[b+4>>2]=U*Me+Z*Te+$*De;p[b+8>>2]=W*Me+q*Te+te*De;p[b+12>>2]=0.0;srt[xe&511](c,ve,b);De=+p[c>>2];Te=+p[c+4>>2];Me=+p[c+8>>2];Pe=+p[y>>2]+(+p[k>>2]*De+ +p[L>>2]*Te+ +p[G>>2]*Me);we=+p[T>>2]+(De*+p[z>>2]+Te*+p[X>>2]+Me*+p[Q>>2]);Ae=+p[i>>2]+(De*+p[Y>>2]+Te*+p[K>>2]+Me*+p[ee>>2]);ee=e+12|0;e=r[ee>>2]|0;K=r[(r[e>>2]|0)+60>>2]|0;Me=Ce*+p[ne>>2]+Se*+p[pe>>2]+ye*+p[me>>2];Te=Ce*+p[re>>2]+Se*+p[de>>2]+ye*+p[fe>>2];p[m>>2]=Ce*+p[t>>2]+Se*+p[se>>2]+ye*+p[be>>2];p[m+4>>2]=Me;p[m+8>>2]=Te;p[m+12>>2]=0.0;srt[K&511](u,e,m);Te=+p[u>>2];Me=+p[u+4>>2];De=+p[u+8>>2];Fe=Pe-(+p[F>>2]+(+p[t>>2]*Te+ +p[ne>>2]*Me+ +p[re>>2]*De));Pe=we-(+p[B>>2]+(Te*+p[se>>2]+Me*+p[pe>>2]+De*+p[de>>2]));we=Ae-(+p[s>>2]+(Te*+p[be>>2]+Me*+p[me>>2]+De*+p[fe>>2]));e:do{if(Fe*Fe+Pe*Pe+we*we>9999999747378752.0e-20){fe=f|0;me=f+4|0;be=f+8|0;de=f+12|0;pe=h|0;se=h+4|0;re=h+8|0;ne=C|0;t=C+4|0;u=C+8|0;m=C+12|0;e=g|0;K=g+4|0;Y=g+8|0;De=w;Me=D;Te=x;Ae=N;Re=V;Ie=R;Be=0.0;Ve=0.0;Ee=0.0;Q=32;Ne=0.0;ke=Fe;Oe=Pe;Le=we;while(1){X=Q-1|0;if((Q|0)==0){Ue=Be;Ge=Ve;We=Ee;ze=Ne;break e}z=r[o>>2]|0;G=r[(r[z>>2]|0)+60>>2]|0;He=-0.0-ke;je=-0.0-Oe;Xe=-0.0-Le;p[fe>>2]=O*He+H*je+J*Xe;p[me>>2]=U*He+Z*je+$*Xe;p[be>>2]=W*He+q*je+te*Xe;p[de>>2]=0.0;srt[G&511](h,z,f);Xe=+p[pe>>2];je=+p[se>>2];He=+p[re>>2];Ze=Te+(O*Xe+U*je+W*He);Qe=Me+(H*Xe+Z*je+q*He);qe=De+(J*Xe+$*je+te*He);z=r[ee>>2]|0;G=r[(r[z>>2]|0)+60>>2]|0;p[ne>>2]=ie*ke+ae*Oe+ue*Le;p[t>>2]=_e*ke+le*Oe+he*Le;p[u>>2]=oe*ke+ce*Oe+ge*Le;p[m>>2]=0.0;srt[G&511](g,z,C);He=+p[e>>2];je=+p[K>>2];Xe=+p[Y>>2];Ye=Ie+(ie*He+_e*je+oe*Xe);Je=Re+(ae*He+le*je+ce*Xe);Ke=Ae+(ue*He+he*je+ge*Xe);Xe=Ze-Ye;je=Qe-Je;He=qe-Ke;$e=ke*Xe+Oe*je+Le*He;if(Ne>1.0){et=0;tt=1141;break}if($e>0.0){it=Ce*ke+Se*Oe+ye*Le;if(it>=-1.4210854715202004e-14){et=0;tt=1140;break}nt=Ne-$e/it;it=1.0-nt;_t=nt;rt=ke;ot=Oe;st=Le;at=it*+p[F>>2]+nt*+p[A>>2];pt=it*+p[B>>2]+nt*+p[I>>2];lt=it*+p[s>>2]+nt*+p[E>>2];dt=+p[y>>2]*it+nt*+p[v>>2];ct=it*+p[T>>2]+nt*+p[M>>2];bt=it*+p[i>>2]+nt*+p[P>>2]}else{_t=Ne;rt=Ee;ot=Ve;st=Be;at=Ie;pt=Re;lt=Ae;dt=Te;ct=Me;bt=De}z=r[S>>2]|0;G=z|0;L=r[G>>2]|0;if((L|0)>0){nt=+p[z+308>>2];k=0;c=0;while(1){it=Xe-+p[z+4+(c<<4)>>2];$e=je-+p[z+4+(c<<4)+4>>2];ut=He-+p[z+4+(c<<4)+8>>2];b=k|it*it+$e*$e+ut*ut<=nt;ve=c+1|0;if((ve|0)<(L|0)){k=b;c=ve}else{mt=b;break}}}else{mt=0}c=z+304|0;do{if(+p[c>>2]==0.0){if(He!=+p[z+300>>2]){ht=0;break}if(je!=+p[z+296>>2]){ht=0;break}ht=Xe==+p[z+292>>2]}else{ht=0}}while(0);if(ht|mt){ft=z}else{p[z+292>>2]=Xe;p[z+296>>2]=je;p[z+300>>2]=He;p[c>>2]=0.0;n[z+356|0]=1;p[z+4+(L<<4)>>2]=Xe;p[z+4+(L<<4)+4>>2]=je;p[z+4+(L<<4)+8>>2]=He;p[z+4+(L<<4)+12>>2]=0.0;k=r[G>>2]|0;p[z+84+(k<<4)>>2]=Ze;p[z+84+(k<<4)+4>>2]=Qe;p[z+84+(k<<4)+8>>2]=qe;p[z+84+(k<<4)+12>>2]=0.0;k=r[G>>2]|0;p[z+164+(k<<4)>>2]=Ye;p[z+164+(k<<4)+4>>2]=Je;p[z+164+(k<<4)+8>>2]=Ke;p[z+164+(k<<4)+12>>2]=0.0;r[G>>2]=(r[G>>2]|0)+1;ft=r[S>>2]|0}k=MRe(ft)|0;nt=+p[ft+276>>2];ut=+p[ft+280>>2];$e=+p[ft+284>>2];if(!k){Ue=st;Ge=ot;We=rt;ze=_t;break e}if(nt*nt+ut*ut+$e*$e>9999999747378752.0e-20){De=bt;Me=ct;Te=dt;Ae=lt;Re=pt;Ie=at;Be=st;Ve=ot;Ee=rt;Q=X;Ne=_t;ke=nt;Oe=ut;Le=$e}else{Ue=st;Ge=ot;We=rt;ze=_t;break e}}if((tt|0)==1140){d=l;return et|0}else if((tt|0)==1141){d=l;return et|0}}else{Ue=0.0;Ge=0.0;We=0.0;ze=0.0}}while(0);p[a+164>>2]=ze;ze=Ue*Ue+(Ge*Ge+We*We);if(ze<1.4210854715202004e-14){vBe(a+132|0,0,16);gt=0.0;Ct=0.0;St=0.0}else{_t=1.0/+j(+ze);ze=We*_t;We=Ge*_t;Ge=Ue*_t;p[a+132>>2]=ze;p[a+136>>2]=We;p[a+140>>2]=Ge;p[a+144>>2]=0.0;gt=ze;Ct=We;St=Ge}if(Ce*gt+Se*Ct+ye*St>=-0.0-+p[a+172>>2]){et=0;d=l;return et|0}tt=r[S>>2]|0;MRe(tt)|0;TBe(a+148|0,tt+260|0,16);et=1;d=l;return et|0}function gFe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function CFe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;cwe(e|0,t,i,n);return}function SFe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;_=r[e+92>>2]|0;if((_|0)==3){if((t|0)==0){o=i;s=e+96|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=n;o=e+112|0;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];return}else if((t|0)==1){o=i;s=e+112|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=n;o=e+128|0;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];return}else if((t|0)==2){o=i;s=e+128|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=n;o=e+96|0;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];return}else{return}}else if((_|0)==2){o=i;s=e+96|0;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];s=n;o=e+112|0;r[s>>2]=r[o>>2];r[s+4>>2]=r[o+4>>2];r[s+8>>2]=r[o+8>>2];r[s+12>>2]=r[o+12>>2];return}else if((_|0)==4){switch(t|0){case 3:{t=i;_=e+96|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=n;t=e+144|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];return};case 4:{t=i;_=e+112|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=n;t=e+144|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];return};case 1:{t=i;_=e+112|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=n;t=e+128|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];return};case 5:{t=i;_=e+128|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=n;t=e+144|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];return};case 0:{t=i;_=e+96|0;r[t>>2]=r[_>>2];r[t+4>>2]=r[_+4>>2];r[t+8>>2]=r[_+8>>2];r[t+12>>2]=r[_+12>>2];_=n;t=e+112|0;r[_>>2]=r[t>>2];r[_+4>>2]=r[t+4>>2];r[_+8>>2]=r[t+8>>2];r[_+12>>2]=r[t+12>>2];return};case 2:{t=i;i=e+128|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];i=n;n=e+96|0;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return};default:{return}}}else{return}}function yFe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=i;i=e+96+(t<<4)|0;r[n>>2]=r[i>>2];r[n+4>>2]=r[i+4>>2];r[n+8>>2]=r[i+8>>2];r[n+12>>2]=r[i+12>>2];return}function vFe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0);return}function xFe(e){e=e|0;var t=0;r[e>>2]=21200;t=r[e+52>>2]|0;if((t|0)!=0){r[9804]=(r[9804]|0)+1;SBe(r[t-80+76>>2]|0)}r[9804]=(r[9804]|0)+1;SBe(r[e-160+156>>2]|0);return}function MFe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=20368;t=e+24|0;i=e+32|0;_=r[i>>2]|0;o=e+36|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+28>>2]=0}else{if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-32+28>>2]|0)}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+28>>2]=0}r[9804]=(r[9804]|0)+1;SBe(r[e-84+80>>2]|0);return}function TFe(e,t){e=e|0;t=t|0;return}function DFe(e,t){e=e|0;t=t|0;return}function PFe(e,t){e=e|0;t=t|0;return}function wFe(e,t){e=e|0;t=t|0;return}function AFe(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;var d=0;d=r[e+32>>2]|0;r[i>>2]=r[d+(l<<5)+12>>2];r[t>>2]=r[d+(l<<5)+16>>2];r[n>>2]=r[d+(l<<5)+28>>2];r[_>>2]=r[d+(l<<5)+20>>2];r[a>>2]=r[d+(l<<5)>>2];r[o>>2]=r[d+(l<<5)+4>>2];r[s>>2]=r[d+(l<<5)+8>>2];r[p>>2]=r[d+(l<<5)+24>>2];return}function FFe(e,t,i,n,_,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;var d=0;d=r[e+32>>2]|0;r[i>>2]=r[d+(l<<5)+12>>2];r[t>>2]=r[d+(l<<5)+16>>2];r[n>>2]=r[d+(l<<5)+28>>2];r[_>>2]=r[d+(l<<5)+20>>2];r[a>>2]=r[d+(l<<5)>>2];r[o>>2]=r[d+(l<<5)+4>>2];r[s>>2]=r[d+(l<<5)+8>>2];r[p>>2]=r[d+(l<<5)+24>>2];return}function RFe(e){e=e|0;return(r[e+48>>2]|0)==1|0}function IFe(e){e=e|0;return r[e+24>>2]|0}function BFe(e){e=e|0;var t=0,i=0,_=0,o=0;r[e>>2]=20368;t=e+24|0;i=e+32|0;_=r[i>>2]|0;o=e+36|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-32+28>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+28>>2]=0;return}function VFe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0;n=e+52|0;_=t;r[n>>2]=r[_>>2];r[n+4>>2]=r[_+4>>2];r[n+8>>2]=r[_+8>>2];r[n+12>>2]=r[_+12>>2];_=e+68|0;n=i;r[_>>2]=r[n>>2];r[_+4>>2]=r[n+4>>2];r[_+8>>2]=r[n+8>>2];r[_+12>>2]=r[n+12>>2];r[e+48>>2]=1;return}function EFe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=t;t=e+52|0;r[n>>2]=r[t>>2];r[n+4>>2]=r[t+4>>2];r[n+8>>2]=r[t+8>>2];r[n+12>>2]=r[t+12>>2];t=i;i=e+68|0;r[t>>2]=r[i>>2];r[t+4>>2]=r[i+4>>2];r[t+8>>2]=r[i+8>>2];r[t+12>>2]=r[i+12>>2];return}function NFe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0;p[e+4>>2]=1.0;p[e+8>>2]=1.0;p[e+12>>2]=1.0;p[e+16>>2]=0.0;_=e+36|0;n[_]=1;o=e+32|0;r[o>>2]=0;s=e+24|0;r[s>>2]=0;a=e+28|0;r[a>>2]=0;r[e+48>>2]=0;r[e>>2]=25248;n[e+100|0]=1;r[e+96>>2]=0;l=e+88|0;r[l>>2]=0;r[e+92>>2]=0;n[e+120|0]=1;r[e+116>>2]=0;d=e+108|0;r[d>>2]=0;r[e+112>>2]=0;n[e+140|0]=1;r[e+136>>2]=0;c=e+128|0;r[c>>2]=0;r[e+132>>2]=0;n[e+160|0]=1;r[e+156>>2]=0;b=e+148|0;r[b>>2]=0;r[e+152>>2]=0;u=e+164|0;n[u]=t&1;t=e+165|0;n[t]=i&1;p[e+168>>2]=0.0;r[9806]=(r[9806]|0)+1;e=hBe(51)|0;if((e|0)==0){m=0}else{i=-(e+4|0)&15;r[e+i>>2]=e;m=e+(i+4)|0}i=r[s>>2]|0;if((i|0)>0){e=0;do{h=m+(e<<5)|0;f=(r[o>>2]|0)+(e<<5)|0;yBe(h|0,f|0,32)|0;e=e+1|0}while((e|0)<(i|0))}i=r[o>>2]|0;if((i|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-32+28>>2]|0)}r[o>>2]=0}n[_]=1;r[o>>2]=m;r[a>>2]=1;a=r[s>>2]|0;r[m+(a<<5)>>2]=0;r[m+(a<<5)+4>>2]=0;r[m+(a<<5)+8>>2]=12;r[m+(a<<5)+12>>2]=0;r[m+(a<<5)+16>>2]=0;r[m+(a<<5)+20>>2]=16;r[m+(a<<5)+24>>2]=2;r[m+(a<<5)+28>>2]=0;r[s>>2]=(r[s>>2]|0)+1;if((n[u]&1)==0){r[r[o>>2]>>2]=(r[b>>2]|0)/3|0;r[(r[o>>2]|0)+4>>2]=0;r[(r[o>>2]|0)+24>>2]=3;r[(r[o>>2]|0)+8>>2]=6}else{r[r[o>>2]>>2]=(r[c>>2]|0)/3|0;r[(r[o>>2]|0)+4>>2]=0;r[(r[o>>2]|0)+24>>2]=2;r[(r[o>>2]|0)+8>>2]=12}if((n[t]&1)==0){r[(r[o>>2]|0)+12>>2]=(r[d>>2]|0)/3|0;r[(r[o>>2]|0)+16>>2]=0;r[(r[o>>2]|0)+20>>2]=12;return}else{r[(r[o>>2]|0)+12>>2]=r[l>>2];r[(r[o>>2]|0)+16>>2]=0;r[(r[o>>2]|0)+20>>2]=16;return}}function kFe(e,t){e=e|0;t=t|0;var i=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;if((n[e+164|0]&1)==0){i=t&65535;o=e+148|0;s=r[o>>2]|0;a=e+152|0;do{if((s|0)==(r[a>>2]|0)){p=(s|0)==0?1:s<<1;if((s|0)>=(p|0)){l=s;break}if((p|0)==0){d=0;c=s}else{r[9806]=(r[9806]|0)+1;b=hBe((p<<1)+19|0)|0;if((b|0)==0){u=0}else{m=-(b+4|0)&15;r[b+m>>2]=b;u=b+(m+4)|0}d=u;c=r[o>>2]|0}m=e+156|0;if((c|0)>0){b=0;do{h=d+(b<<1)|0;if((h|0)!=0){_[h>>1]=_[(r[m>>2]|0)+(b<<1)>>1]|0}b=b+1|0}while((b|0)<(c|0))}b=r[m>>2]|0;h=e+160|0;if((b|0)!=0){if((n[h]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[b-4>>2]|0)}r[m>>2]=0}n[h]=1;r[m>>2]=d;r[a>>2]=p;l=r[o>>2]|0}else{l=s}}while(0);s=e+156|0;a=r[s>>2]|0;d=a+(l<<1)|0;if((d|0)==0){f=l;g=a}else{_[d>>1]=i;f=r[o>>2]|0;g=r[s>>2]|0}r[o>>2]=f+1;r[(r[e+32>>2]|0)+4>>2]=g;return}else{g=e+128|0;f=r[g>>2]|0;o=e+132|0;do{if((f|0)==(r[o>>2]|0)){s=(f|0)==0?1:f<<1;if((f|0)>=(s|0)){C=f;break}if((s|0)==0){S=0;y=f}else{r[9806]=(r[9806]|0)+1;i=hBe((s<<2)+19|0)|0;if((i|0)==0){v=0}else{d=-(i+4|0)&15;r[i+d>>2]=i;v=i+(d+4)|0}S=v;y=r[g>>2]|0}d=e+136|0;if((y|0)>0){i=0;do{a=S+(i<<2)|0;if((a|0)!=0){r[a>>2]=r[(r[d>>2]|0)+(i<<2)>>2]}i=i+1|0}while((i|0)<(y|0))}i=r[d>>2]|0;p=e+140|0;if((i|0)!=0){if((n[p]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}r[d>>2]=0}n[p]=1;r[d>>2]=S;r[o>>2]=s;C=r[g>>2]|0}else{C=f}}while(0);f=e+136|0;o=r[f>>2]|0;S=o+(C<<2)|0;if((S|0)==0){x=C;M=o}else{r[S>>2]=t;x=r[g>>2]|0;M=r[f>>2]|0}r[g>>2]=x+1;r[(r[e+32>>2]|0)+4>>2]=M;return}}function OFe(e,t){e=e|0;t=t|0;return}function LFe(e,t){e=e|0;t=t|0;return}function UFe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0.0,h=0.0,f=0.0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0;if((n[e+165|0]&1)!=0){_=e+88|0;e:do{if(i){o=r[_>>2]|0;s=e+96|0;a=t|0;l=t+4|0;d=t+8|0;c=e+168|0;b=0;while(1){if((b|0)>=(o|0)){break e}u=r[s>>2]|0;m=+p[u+(b<<4)>>2]-+p[a>>2];h=+p[u+(b<<4)+4>>2]-+p[l>>2];f=+p[u+(b<<4)+8>>2]-+p[d>>2];if(m*m+h*h+f*f>+p[c>>2]){b=b+1|0}else{g=b;break}}return g|0}}while(0);b=e+32|0;c=(r[b>>2]|0)+12|0;r[c>>2]=(r[c>>2]|0)+1;c=r[_>>2]|0;d=e+92|0;do{if((c|0)==(r[d>>2]|0)){l=(c|0)==0?1:c<<1;if((c|0)>=(l|0)){C=c;break}if((l|0)==0){S=0;y=c}else{r[9806]=(r[9806]|0)+1;a=hBe((l<<4|4)+15|0)|0;if((a|0)==0){v=0}else{s=-(a+4|0)&15;r[a+s>>2]=a;v=a+(s+4)|0}S=v;y=r[_>>2]|0}s=e+96|0;if((y|0)>0){a=0;do{o=S+(a<<4)|0;if((o|0)!=0){u=o;o=(r[s>>2]|0)+(a<<4)|0;r[u>>2]=r[o>>2];r[u+4>>2]=r[o+4>>2];r[u+8>>2]=r[o+8>>2];r[u+12>>2]=r[o+12>>2]}a=a+1|0}while((a|0)<(y|0))}a=r[s>>2]|0;o=e+100|0;if((a|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[a-16+12>>2]|0)}r[s>>2]=0}n[o]=1;r[s>>2]=S;r[d>>2]=l;C=r[_>>2]|0}else{C=c}}while(0);c=e+96|0;d=r[c>>2]|0;S=d+(C<<4)|0;if((S|0)==0){x=C;M=d}else{d=S;S=t;r[d>>2]=r[S>>2];r[d+4>>2]=r[S+4>>2];r[d+8>>2]=r[S+8>>2];r[d+12>>2]=r[S+12>>2];x=r[_>>2]|0;M=r[c>>2]|0}r[_>>2]=x+1;r[(r[b>>2]|0)+16>>2]=M;g=(r[_>>2]|0)-1|0;return g|0}_=e+108|0;M=r[_>>2]|0;e:do{if(i){b=e+116|0;x=t|0;c=t+4|0;S=t+8|0;d=e+168|0;C=0;while(1){if((C|0)>=(M|0)){T=x;break e}y=r[b>>2]|0;f=+p[y+(C<<2)>>2]-+p[x>>2];h=+p[y+(C+1<<2)>>2]-+p[c>>2];m=+p[y+(C+2<<2)>>2]-+p[S>>2];if(f*f+h*h+m*m>+p[d>>2]){C=C+3|0}else{break}}g=(C|0)/3|0;return g|0}else{T=t|0}}while(0);m=+p[T>>2];T=e+112|0;i=r[T>>2]|0;do{if((M|0)==(i|0)){d=(M|0)==0?1:M<<1;if((M|0)>=(d|0)){D=M;P=M;break}if((d|0)==0){w=0;A=M}else{r[9806]=(r[9806]|0)+1;S=hBe((d<<2)+19|0)|0;if((S|0)==0){F=0}else{c=-(S+4|0)&15;r[S+c>>2]=S;F=S+(c+4)|0}w=F;A=r[_>>2]|0}c=e+116|0;if((A|0)>0){S=0;do{x=w+(S<<2)|0;if((x|0)!=0){p[x>>2]=+p[(r[c>>2]|0)+(S<<2)>>2]}S=S+1|0}while((S|0)<(A|0))}S=r[c>>2]|0;C=e+120|0;if((S|0)!=0){if((n[C]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[S-4>>2]|0)}r[c>>2]=0}n[C]=1;r[c>>2]=w;r[T>>2]=d;D=r[_>>2]|0;P=d}else{D=M;P=i}}while(0);i=e+116|0;M=(r[i>>2]|0)+(D<<2)|0;if((M|0)==0){R=D;I=P}else{p[M>>2]=m;R=r[_>>2]|0;I=r[T>>2]|0}M=R+1|0;r[_>>2]=M;m=+p[t+4>>2];do{if((M|0)==(I|0)){R=(I|0)==0?1:I<<1;if((I|0)>=(R|0)){B=I;V=I;break}if((R|0)==0){E=0;N=I}else{r[9806]=(r[9806]|0)+1;P=hBe((R<<2)+19|0)|0;if((P|0)==0){k=0}else{D=-(P+4|0)&15;r[P+D>>2]=P;k=P+(D+4)|0}E=k;N=r[_>>2]|0}if((N|0)>0){D=0;do{P=E+(D<<2)|0;if((P|0)!=0){p[P>>2]=+p[(r[i>>2]|0)+(D<<2)>>2]}D=D+1|0}while((D|0)<(N|0))}D=r[i>>2]|0;d=e+120|0;if((D|0)!=0){if((n[d]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[D-4>>2]|0)}r[i>>2]=0}n[d]=1;r[i>>2]=E;r[T>>2]=R;B=r[_>>2]|0;V=R}else{B=M;V=I}}while(0);I=(r[i>>2]|0)+(B<<2)|0;if((I|0)==0){O=B;L=V}else{p[I>>2]=m;O=r[_>>2]|0;L=r[T>>2]|0}I=O+1|0;r[_>>2]=I;m=+p[t+8>>2];do{if((I|0)==(L|0)){t=(L|0)==0?1:L<<1;if((L|0)>=(t|0)){U=L;break}if((t|0)==0){G=0;W=L}else{r[9806]=(r[9806]|0)+1;O=hBe((t<<2)+19|0)|0;if((O|0)==0){z=0}else{V=-(O+4|0)&15;r[O+V>>2]=O;z=O+(V+4)|0}G=z;W=r[_>>2]|0}if((W|0)>0){V=0;do{O=G+(V<<2)|0;if((O|0)!=0){p[O>>2]=+p[(r[i>>2]|0)+(V<<2)>>2]}V=V+1|0}while((V|0)<(W|0))}V=r[i>>2]|0;R=e+120|0;if((V|0)!=0){if((n[R]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[V-4>>2]|0)}r[i>>2]=0}n[R]=1;r[i>>2]=G;r[T>>2]=t;U=r[_>>2]|0}else{U=I}}while(0);I=(r[i>>2]|0)+(U<<2)|0;if((I|0)==0){H=U}else{p[I>>2]=m;H=r[_>>2]|0}r[_>>2]=H+1;H=e+32|0;e=(r[H>>2]|0)+12|0;r[e>>2]=(r[e>>2]|0)+1;r[(r[H>>2]|0)+16>>2]=r[i>>2];g=((r[_>>2]|0)/3|0)-1|0;return g|0}function GFe(e){e=e|0;zFe(e);return}function WFe(e){e=e|0;zFe(e);if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-172+168>>2]|0);return}function zFe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0;t=e|0;r[t>>2]=25248;i=e+148|0;_=e+156|0;o=r[_>>2]|0;s=e+160|0;if((o|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[_>>2]=0}n[s]=1;r[_>>2]=0;r[i>>2]=0;r[e+152>>2]=0;i=e+128|0;_=e+136|0;s=r[_>>2]|0;o=e+140|0;if((s|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[s-4>>2]|0)}r[_>>2]=0}n[o]=1;r[_>>2]=0;r[i>>2]=0;r[e+132>>2]=0;i=e+108|0;_=e+116|0;o=r[_>>2]|0;s=e+120|0;if((o|0)!=0){if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[_>>2]=0}n[s]=1;r[_>>2]=0;r[i>>2]=0;r[e+112>>2]=0;i=e+88|0;_=e+96|0;s=r[_>>2]|0;o=e+100|0;if((s|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[s-16+12>>2]|0)}r[_>>2]=0}n[o]=1;r[_>>2]=0;r[i>>2]=0;r[e+92>>2]=0;r[t>>2]=20368;t=e+24|0;i=e+32|0;_=r[i>>2]|0;o=e+36|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;a=e+28|0;r[a>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-32+28>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;a=e+28|0;r[a>>2]=0;return}function HFe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;i=d;d=d+48|0;n=i|0;_=i+16|0;o=i+32|0;r[e+8>>2]=0;s=e+12|0;p[s>>2]=0.0;r[e>>2]=22768;r[e+48>>2]=t;r[e+4>>2]=21;if(Knt[r[(r[t>>2]|0)+40>>2]&4095](t)|0){srt[r[(r[t>>2]|0)+48>>2]&511](t,e+16|0,e+32|0);d=i;return}else{t=n;a=_;l=o;c=n|0;b=n+4|0;u=n+8|0;m=e;vBe(t|0,0,16);p[c>>2]=1.0;srt[r[(r[m>>2]|0)+64>>2]&511](_,e,n);h=_|0;p[e+32>>2]=+p[h>>2]+ +p[s>>2];p[c>>2]=-1.0;srt[r[(r[m>>2]|0)+64>>2]&511](o,e,n);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];p[e+16>>2]=+p[h>>2]-+p[s>>2];vBe(t|0,0,16);p[b>>2]=1.0;srt[r[(r[m>>2]|0)+64>>2]&511](_,e,n);h=_+4|0;p[e+36>>2]=+p[h>>2]+ +p[s>>2];p[b>>2]=-1.0;srt[r[(r[m>>2]|0)+64>>2]&511](o,e,n);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];p[e+20>>2]=+p[h>>2]-+p[s>>2];vBe(t|0,0,16);p[u>>2]=1.0;srt[r[(r[m>>2]|0)+64>>2]&511](_,e,n);t=_+8|0;p[e+40>>2]=+p[t>>2]+ +p[s>>2];p[u>>2]=-1.0;srt[r[(r[m>>2]|0)+64>>2]&511](o,e,n);r[a>>2]=r[l>>2];r[a+4>>2]=r[l+4>>2];r[a+8>>2]=r[l+8>>2];r[a+12>>2]=r[l+12>>2];p[e+24>>2]=+p[t>>2]-+p[s>>2];d=i;return}}function jFe(e){e=e|0;return}function XFe(e){e=e|0;return}function ZFe(e){e=e|0;return 16208|0}function QFe(e){e=e|0;return}function qFe(e){e=e|0;return}function YFe(e){e=e|0;return(r[e+48>>2]|0)+4|0}function JFe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;t=d;d=d+48|0;i=t|0;n=t+16|0;_=t+32|0;o=i|0;s=i+4|0;a=i+8|0;l=e;c=e+12|0;b=n;u=_;m=i;vBe(m|0,0,16);p[o>>2]=1.0;srt[r[(r[l>>2]|0)+64>>2]&511](n,e,i);h=n|0;p[e+32>>2]=+p[h>>2]+ +p[c>>2];p[o>>2]=-1.0;srt[r[(r[l>>2]|0)+64>>2]&511](_,e,i);r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];p[e+16>>2]=+p[h>>2]-+p[c>>2];vBe(m|0,0,16);p[s>>2]=1.0;srt[r[(r[l>>2]|0)+64>>2]&511](n,e,i);h=n+4|0;p[e+36>>2]=+p[h>>2]+ +p[c>>2];p[s>>2]=-1.0;srt[r[(r[l>>2]|0)+64>>2]&511](_,e,i);r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];p[e+20>>2]=+p[h>>2]-+p[c>>2];vBe(m|0,0,16);p[a>>2]=1.0;srt[r[(r[l>>2]|0)+64>>2]&511](n,e,i);m=n+8|0;p[e+40>>2]=+p[m>>2]+ +p[c>>2];p[a>>2]=-1.0;srt[r[(r[l>>2]|0)+64>>2]&511](_,e,i);r[b>>2]=r[u>>2];r[b+4>>2]=r[u+4>>2];r[b+8>>2]=r[u+8>>2];r[b+12>>2]=r[u+12>>2];p[e+24>>2]=+p[m>>2]-+p[c>>2];d=t;return}function KFe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function $Fe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,d=0,c=0.0,b=0.0,u=0.0,m=0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0;_=e+32|0;o=e+16|0;s=e+36|0;a=e+20|0;l=e+40|0;d=e+24|0;c=(+p[_>>2]-+p[o>>2])*.5;b=(+p[s>>2]-+p[a>>2])*.5;u=(+p[l>>2]-+p[d>>2])*.5;m=e|0;h=e;f=+z_t[r[(r[h>>2]|0)+44>>2]&1023](m);g=+z_t[r[(r[h>>2]|0)+44>>2]&1023](m);C=c+f;f=b+g;g=u+ +z_t[r[(r[h>>2]|0)+44>>2]&1023](m);u=(+p[_>>2]+ +p[o>>2])*.5;b=(+p[s>>2]+ +p[a>>2])*.5;c=(+p[l>>2]+ +p[d>>2])*.5;S=+p[t>>2];y=+H(+S);v=+p[t+4>>2];x=+H(+v);M=+p[t+8>>2];T=+H(+M);D=+p[t+16>>2];P=+H(+D);w=+p[t+20>>2];A=+H(+w);F=+p[t+24>>2];R=+H(+F);I=+p[t+32>>2];B=+H(+I);V=+p[t+36>>2];E=+H(+V);N=+p[t+40>>2];k=+H(+N);O=+p[t+48>>2]+(u*S+b*v+c*M);M=+p[t+52>>2]+(u*D+b*w+c*F);F=+p[t+56>>2]+(u*I+b*V+c*N);N=C*y+f*x+g*T;T=C*P+f*A+g*R;R=C*B+f*E+g*k;p[i>>2]=O-N;p[i+4>>2]=M-T;p[i+8>>2]=F-R;p[i+12>>2]=0.0;p[n>>2]=N+O;p[n+4>>2]=T+M;p[n+8>>2]=R+F;p[n+12>>2]=0.0;return}function eRe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;i=d;d=d+48|0;n=i|0;_=i+16|0;o=i+32|0;s=(r[e+48>>2]|0)+4|0;a=t;r[s>>2]=r[a>>2];r[s+4>>2]=r[a+4>>2];r[s+8>>2]=r[a+8>>2];r[s+12>>2]=r[a+12>>2];a=n;s=_;t=o;l=n|0;c=n+4|0;b=n+8|0;u=e;m=e+12|0;vBe(a|0,0,16);p[l>>2]=1.0;srt[r[(r[u>>2]|0)+64>>2]&511](_,e,n);h=_|0;p[e+32>>2]=+p[h>>2]+ +p[m>>2];p[l>>2]=-1.0;srt[r[(r[u>>2]|0)+64>>2]&511](o,e,n);r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];p[e+16>>2]=+p[h>>2]-+p[m>>2];vBe(a|0,0,16);p[c>>2]=1.0;srt[r[(r[u>>2]|0)+64>>2]&511](_,e,n);h=_+4|0;p[e+36>>2]=+p[h>>2]+ +p[m>>2];p[c>>2]=-1.0;srt[r[(r[u>>2]|0)+64>>2]&511](o,e,n);r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];p[e+20>>2]=+p[h>>2]-+p[m>>2];vBe(a|0,0,16);p[b>>2]=1.0;srt[r[(r[u>>2]|0)+64>>2]&511](_,e,n);a=_+8|0;p[e+40>>2]=+p[a>>2]+ +p[m>>2];p[b>>2]=-1.0;srt[r[(r[u>>2]|0)+64>>2]&511](o,e,n);r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];p[e+24>>2]=+p[a>>2]-+p[m>>2];d=i;return}function tRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0;_=d;d=d+40|0;o=_|0;r[o>>2]=18456;r[o+4>>2]=t;t=o+8|0;s=i;r[t>>2]=r[s>>2];r[t+4>>2]=r[s+4>>2];r[t+8>>2]=r[s+8>>2];r[t+12>>2]=r[s+12>>2];s=o+24|0;t=n;r[s>>2]=r[t>>2];r[s+4>>2]=r[t+4>>2];r[s+8>>2]=r[t+8>>2];r[s+12>>2]=r[t+12>>2];t=r[e+48>>2]|0;mrt[r[(r[t>>2]|0)+8>>2]&1023](t,o|0,i,n);d=_;return}function iRe(e,t,i){e=e|0;t=+t;i=i|0;vBe(i|0,0,16);return}function nRe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0;n=d;d=d+176|0;_=n+16|0;o=n+40|0;s=n+144|0;a=n+160|0;l=n|0;vBe(l|0,0,16);vBe(_|0,0,20);r[o>>2]=22472;vBe(o+4|0,0,16);p[o+20>>2]=1.0;c=o+24|0;b=c;r[b>>2]=r[l>>2];r[b+4>>2]=r[l+4>>2];r[b+8>>2]=r[l+8>>2];r[o+36>>2]=0;p[o+40>>2]=1.0;vBe(o+44|0,0,16);p[o+60>>2]=1.0;p[o+64>>2]=0.0;l=o+68|0;b=_+4|0;r[l>>2]=r[b>>2];r[l+4>>2]=r[b+4>>2];r[l+8>>2]=r[b+8>>2];r[l+12>>2]=r[b+12>>2];p[o+84>>2]=-999999984306749400.0;u=+p[i>>2];m=+p[i+4>>2];h=m*0.0;f=+p[i+8>>2];g=f*0.0;C=u*+p[c>>2]+m+g;m=u*+p[o+28>>2]+h+f;p[o+88>>2]=u+h+g;p[o+92>>2]=C;p[o+96>>2]=m;p[o+100>>2]=0.0;p[s>>2]=999999984306749400.0;p[s+4>>2]=999999984306749400.0;p[s+8>>2]=999999984306749400.0;p[s+12>>2]=0.0;c=r[(r[t>>2]|0)+60>>2]|0;p[a>>2]=-999999984306749400.0;p[a+4>>2]=-999999984306749400.0;p[a+8>>2]=-999999984306749400.0;p[a+12>>2]=0.0;mrt[c&1023](t,o|0,a,s);s=o+4|0;o=e;r[o>>2]=r[s>>2];r[o+4>>2]=r[s+4>>2];r[o+8>>2]=r[s+8>>2];r[o+12>>2]=r[s+12>>2];d=n;return}function _Re(e){e=e|0;if((e|0)==0){return}SBe(e);return}function rRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0.0,o=0.0,s=0.0,a=0.0,l=0.0,d=0.0,c=0,b=0.0;n=e+84|0;i=e+4|0;_=+p[e+88>>2];o=+p[e+92>>2];s=+p[e+96>>2];a=_*+p[t>>2]+o*+p[t+4>>2]+s*+p[t+8>>2];l=+p[n>>2];if(a>l){p[n>>2]=a;e=t;r[i>>2]=r[e>>2];r[i+4>>2]=r[e+4>>2];r[i+8>>2]=r[e+8>>2];r[i+12>>2]=r[e+12>>2];d=a}else{d=l}e=t+16|0;l=_*+p[e>>2]+o*+p[t+20>>2]+s*+p[t+24>>2];if(l>d){p[n>>2]=l;c=e;r[i>>2]=r[c>>2];r[i+4>>2]=r[c+4>>2];r[i+8>>2]=r[c+8>>2];r[i+12>>2]=r[c+12>>2];b=l}else{b=d}c=t+32|0;d=_*+p[c>>2]+o*+p[t+36>>2]+s*+p[t+40>>2];if(d<=b){return}p[n>>2]=d;n=c;r[i>>2]=r[n>>2];r[i+4>>2]=r[n+4>>2];r[i+8>>2]=r[n+8>>2];r[i+12>>2]=r[n+12>>2];return}function oRe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function sRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0.0,a=0.0,l=0,d=0.0,c=0.0,b=0;_=t|0;o=t+16|0;s=+p[_>>2];a=+p[o>>2];l=t+32|0;d=s<a?s:a;c=+p[l>>2];if((d<c?d:c)>+p[e+24>>2]){return}b=s>a?_:o;if(+p[(+p[b>>2]>c?b:l)>>2]<+p[e+8>>2]){return}l=t+8|0;b=t+24|0;c=+p[l>>2];a=+p[b>>2];o=t+40|0;s=c<a?c:a;d=+p[o>>2];if((s<d?s:d)>+p[e+32>>2]){return}_=c>a?l:b;if(+p[(+p[_>>2]>d?_:o)>>2]<+p[e+16>>2]){return}o=t+4|0;_=t+20|0;d=+p[o>>2];a=+p[_>>2];b=t+36|0;c=d<a?d:a;s=+p[b>>2];if((c<s?c:s)>+p[e+28>>2]){return}l=d>a?o:_;if(+p[(+p[l>>2]>s?l:b)>>2]<+p[e+12>>2]){return}b=r[e+4>>2]|0;mrt[r[(r[b>>2]|0)+8>>2]&1023](b,t,i,n);return}function aRe(e){e=e|0;if((e|0)==0){return}r[9804]=(r[9804]|0)+1;SBe(r[e-20+16>>2]|0);return}function pRe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0,a=0.0,l=0.0;n=d;d=d+16|0;_=n|0;o=r[t+12>>2]|0;srt[r[(r[o>>2]|0)+64>>2]&511](_,o,i);s=+p[t+16>>2];a=+p[_+4>>2]*s;l=+p[_+8>>2]*s;p[e>>2]=+p[_>>2]*s;p[e+4>>2]=a;p[e+8>>2]=l;p[e+12>>2]=0.0;d=n;return}function lRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0.0,s=0,a=0.0,l=0,d=0.0;_=r[e+12>>2]|0;mrt[r[(r[_>>2]|0)+68>>2]&1023](_,t,i,n);if((n|0)<=0){return}t=e+16|0;e=0;do{_=i+(e<<4)|0;o=+p[t>>2];s=i+(e<<4)+4|0;a=o*+p[s>>2];l=i+(e<<4)+8|0;d=o*+p[l>>2];p[_>>2]=+p[_>>2]*o;p[s>>2]=a;p[l>>2]=d;p[i+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)<(n|0));return}function dRe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0.0,a=0.0,l=0.0;n=d;d=d+16|0;_=n|0;o=r[t+12>>2]|0;srt[r[(r[o>>2]|0)+60>>2]&511](_,o,i);s=+p[t+16>>2];a=+p[_+4>>2]*s;l=+p[_+8>>2]*s;p[e>>2]=+p[_>>2]*s;p[e+4>>2]=a;p[e+8>>2]=l;p[e+12>>2]=0.0;d=n;return}function cRe(e,t,i){e=e|0;t=+t;i=i|0;var n=0,_=0,o=0,s=0.0,a=0.0;n=d;d=d+16|0;_=n|0;o=r[e+12>>2]|0;y_t[r[(r[o>>2]|0)+32>>2]&255](o|0,t,_);t=+p[e+16>>2];s=t*+p[_+4>>2];a=t*+p[_+8>>2];p[i>>2]=+p[_>>2]*t;p[i+4>>2]=s;p[i+8>>2]=a;p[i+12>>2]=0.0;d=n;return}function bRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;mrt[r[(r[e>>2]|0)+72>>2]&1023](e,t,i,n);return}function uRe(e){e=e|0;return 16184|0}function mRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0,S=0,y=0.0,v=0,x=0.0,M=0,T=0.0,D=0,P=0.0,w=0,A=0.0,F=0,R=0.0,I=0,B=0.0,V=0.0,E=0.0,N=0,k=0,O=0,L=0,U=0.0,G=0.0,W=0.0;_=d;d=d+256|0;o=_|0;s=_+96|0;a=_+192|0;l=_+208|0;c=_+224|0;b=_+240|0;p[o>>2]=1.0;vBe(o+4|0,0,16);p[o+20>>2]=1.0;vBe(o+24|0,0,16);p[o+40>>2]=1.0;p[o+44>>2]=0.0;p[o+48>>2]=-1.0;vBe(o+52|0,0,16);p[o+68>>2]=-1.0;vBe(o+72|0,0,16);p[o+88>>2]=-1.0;p[o+92>>2]=0.0;u=t|0;vBe(s|0,0,96);m=+p[u>>2];h=t+16|0;f=+p[h>>2];g=t+32|0;C=+p[g>>2];S=t+4|0;y=+p[S>>2];v=t+20|0;x=+p[v>>2];M=t+36|0;T=+p[M>>2];D=t+8|0;P=+p[D>>2];w=t+24|0;A=+p[w>>2];F=t+40|0;R=+p[F>>2];I=0;B=1.0;V=0.0;E=0.0;while(1){p[o+(I<<4)>>2]=m*B+f*V+C*E;p[o+(I<<4)+4>>2]=B*y+V*x+E*T;p[o+(I<<4)+8>>2]=B*P+V*A+E*R;p[o+(I<<4)+12>>2]=0.0;N=I+1|0;if((N|0)>=6){break}I=N;B=+p[o+(N<<4)>>2];V=+p[o+(N<<4)+4>>2];E=+p[o+(N<<4)+8>>2]}mrt[r[(r[e>>2]|0)+68>>2]&1023](e,o|0,s|0,6);o=a|0;I=a+4|0;N=a+8|0;k=l|0;vBe(a|0,0,16);O=l+4|0;L=l+8|0;vBe(l|0,0,16);E=+p[u>>2];V=+p[S>>2];B=+p[D>>2];R=+p[t+48>>2];A=+p[h>>2];P=+p[v>>2];T=+p[w>>2];x=+p[t+52>>2];y=+p[g>>2];C=+p[M>>2];f=+p[F>>2];m=+p[t+56>>2];t=c|0;F=c+4|0;M=c+8|0;g=c+12|0;w=b|0;v=b+4|0;h=b+8|0;D=b+12|0;S=0;do{U=+p[s+(S<<4)>>2];G=+p[s+(S<<4)+4>>2];W=+p[s+(S<<4)+8>>2];p[t>>2]=R+(E*U+V*G+B*W);p[F>>2]=x+(U*A+G*P+W*T);p[M>>2]=m+(U*y+G*C+W*f);p[g>>2]=0.0;p[l+(S<<2)>>2]=+p[c+(S<<2)>>2];u=S+3|0;W=+p[s+(u<<4)>>2];G=+p[s+(u<<4)+4>>2];U=+p[s+(u<<4)+8>>2];p[w>>2]=R+(E*W+V*G+B*U);p[v>>2]=x+(W*A+G*P+U*T);p[h>>2]=m+(W*y+G*C+U*f);p[D>>2]=0.0;p[a+(S<<2)>>2]=+p[b+(S<<2)>>2];S=S+1|0}while((S|0)<3);S=e;f=+z_t[r[(r[S>>2]|0)+44>>2]&1023](e);C=+z_t[r[(r[S>>2]|0)+44>>2]&1023](e);y=+z_t[r[(r[S>>2]|0)+44>>2]&1023](e);m=+p[I>>2]-C;T=+p[N>>2]-y;p[i>>2]=+p[o>>2]-f;p[i+4>>2]=m;p[i+8>>2]=T;p[i+12>>2]=0.0;T=C+ +p[O>>2];C=y+ +p[L>>2];p[n>>2]=f+ +p[k>>2];p[n+4>>2]=T;p[n+8>>2]=C;p[n+12>>2]=0.0;d=_;return}function hRe(e,t){e=e|0;t=t|0;var i=0;i=r[e+12>>2]|0;Znt[r[(r[i>>2]|0)+24>>2]&2047](i,t);return}function fRe(e){e=e|0;var t=0;t=r[e+12>>2]|0;return Knt[r[(r[t>>2]|0)+28>>2]&4095](t)|0}function gRe(e,t){e=e|0;t=+t;var i=0;i=r[e+12>>2]|0;Wnt[r[(r[i>>2]|0)+40>>2]&1023](i,t);return}function CRe(e){e=e|0;var t=0,i=0.0;t=r[e+12>>2]|0;i=+z_t[r[(r[t>>2]|0)+44>>2]&1023](t);return+(i*+p[e+16>>2])}function SRe(e){e=e|0;var t=0;t=r[e+12>>2]|0;return Knt[r[(r[t>>2]|0)+76>>2]&4095](t)|0}function yRe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0;n=r[e+12>>2]|0;srt[r[(r[n>>2]|0)+80>>2]&511](n,t,i);return}function vRe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0;n=e+12|0;_=r[n>>2]|0;o=r[_+(((i+t|0)/2|0)<<3)>>2]|0;s=i;a=t;p=_;while(1){_=a;while(1){l=_+1|0;if((r[p+(_<<3)>>2]|0)<(o|0)){_=l}else{d=s;break}}while(1){c=p+(d<<3)|0;b=d-1|0;if((o|0)<(r[c>>2]|0)){d=b}else{break}}if((_|0)>(d|0)){u=d;m=_}else{h=p+(_<<3)|0;f=r[h>>2]|0;g=r[h+4>>2]|0;C=c;S=r[C+4>>2]|0;r[h>>2]=r[C>>2];r[h+4>>2]=S;S=(r[n>>2]|0)+(d<<3)|0;r[S>>2]=f;r[S+4>>2]=g;u=b;m=l}if((m|0)>(u|0)){break}s=u;a=m;p=r[n>>2]|0}if((u|0)>(t|0)){vRe(e,t,u)}if((m|0)>=(i|0)){return}vRe(e,m,i);return}function xRe(e,t){e=e|0;t=t|0;var i=0,n=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;i=e|0;n=r[i>>2]|0;do{if((n|0)>3){o=_[t>>1]|0;if((o&8)!=0){s=n;a=o;p=1488;break}o=n-1|0;r[i>>2]=o;l=e+52|0;d=e+4+(o<<4)|0;r[l>>2]=r[d>>2];r[l+4>>2]=r[d+4>>2];r[l+8>>2]=r[d+8>>2];r[l+12>>2]=r[d+12>>2];d=e+132|0;l=e+84+(o<<4)|0;r[d>>2]=r[l>>2];r[d+4>>2]=r[l+4>>2];r[d+8>>2]=r[l+8>>2];r[d+12>>2]=r[l+12>>2];l=e+212|0;d=e+164+(o<<4)|0;r[l>>2]=r[d>>2];r[l+4>>2]=r[d+4>>2];r[l+8>>2]=r[d+8>>2];r[l+12>>2]=r[d+12>>2];c=o;p=1486}else{c=n;p=1486}}while(0);do{if((p|0)==1486){if((c|0)<=2){b=c;break}s=c;a=_[t>>1]|0;p=1488}}while(0);do{if((p|0)==1488){if((a&4)!=0){b=s;break}c=s-1|0;r[i>>2]=c;n=e+36|0;o=e+4+(c<<4)|0;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];o=e+116|0;n=e+84+(c<<4)|0;r[o>>2]=r[n>>2];r[o+4>>2]=r[n+4>>2];r[o+8>>2]=r[n+8>>2];r[o+12>>2]=r[n+12>>2];n=e+196|0;o=e+164+(c<<4)|0;r[n>>2]=r[o>>2];r[n+4>>2]=r[o+4>>2];r[n+8>>2]=r[o+8>>2];r[n+12>>2]=r[o+12>>2];b=c}}while(0);do{if((b|0)>1){s=_[t>>1]|0;if((s&2)!=0){u=b;m=s;break}s=b-1|0;r[i>>2]=s;a=e+20|0;c=e+4+(s<<4)|0;r[a>>2]=r[c>>2];r[a+4>>2]=r[c+4>>2];r[a+8>>2]=r[c+8>>2];r[a+12>>2]=r[c+12>>2];c=e+100|0;a=e+84+(s<<4)|0;r[c>>2]=r[a>>2];r[c+4>>2]=r[a+4>>2];r[c+8>>2]=r[a+8>>2];r[c+12>>2]=r[a+12>>2];a=e+180|0;c=e+164+(s<<4)|0;r[a>>2]=r[c>>2];r[a+4>>2]=r[c+4>>2];r[a+8>>2]=r[c+8>>2];r[a+12>>2]=r[c+12>>2];h=s;p=1493}else{h=b;p=1493}}while(0);do{if((p|0)==1493){if((h|0)>0){u=h;m=_[t>>1]|0;break}else{return}}}while(0);if((m&1)!=0){return}m=u-1|0;r[i>>2]=m;i=e+4|0;u=e+4+(m<<4)|0;r[i>>2]=r[u>>2];r[i+4>>2]=r[u+4>>2];r[i+8>>2]=r[u+8>>2];r[i+12>>2]=r[u+12>>2];u=e+84|0;i=e+84+(m<<4)|0;r[u>>2]=r[i>>2];r[u+4>>2]=r[i+4>>2];r[u+8>>2]=r[i+8>>2];r[u+12>>2]=r[i+12>>2];i=e+164|0;u=e+164+(m<<4)|0;r[i>>2]=r[u>>2];r[i+4>>2]=r[u+4>>2];r[i+8>>2]=r[u+8>>2];r[i+12>>2]=r[u+12>>2];return}function MRe(e){e=e|0;var t=0,i=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0,I=0,B=0,V=0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0,K=0,$=0,ee=0,te=0.0,ie=0.0,ne=0.0,_e=0,re=0.0,oe=0;t=d;d=d+72|0;i=t|0;o=t+40|0;s=t+56|0;a=e+356|0;if((n[a]&1)==0){l=n[e+312|0]|0;c=l&1;b=c<<24>>24!=0;d=t;return b|0}u=e+316|0;m=e+336|0;h=e+332|0;f=h;g=m;vBe(g|0,0,17);C=_[f>>1]|0;S=C&-16;_[f>>1]=S;n[a]=0;switch(r[e>>2]|0){case 3:{vBe(o|0,0,16);DRe(o,e+4|0,e+20|0,e+36|0,u);y=+p[m>>2];o=e+340|0;v=+p[o>>2];a=e+344|0;x=+p[a>>2];M=+p[e+84>>2]*y+ +p[e+100>>2]*v+ +p[e+116>>2]*x;T=y*+p[e+88>>2]+v*+p[e+104>>2]+x*+p[e+120>>2];D=y*+p[e+92>>2]+v*+p[e+108>>2]+x*+p[e+124>>2];p[e+244>>2]=M;p[e+248>>2]=T;p[e+252>>2]=D;p[e+256>>2]=0.0;P=+p[e+164>>2]*y+ +p[e+180>>2]*v+ +p[e+196>>2]*x;w=y*+p[e+168>>2]+v*+p[e+184>>2]+x*+p[e+200>>2];A=y*+p[e+172>>2]+v*+p[e+188>>2]+x*+p[e+204>>2];p[e+260>>2]=P;p[e+264>>2]=w;p[e+268>>2]=A;p[e+272>>2]=0.0;p[e+276>>2]=M-P;p[e+280>>2]=T-w;p[e+284>>2]=D-A;p[e+288>>2]=0.0;xRe(e,h);do{if(+p[m>>2]<0.0){F=0}else{if(+p[o>>2]<0.0){F=0;break}if(+p[a>>2]<0.0){F=0;break}F=+p[e+348>>2]>=0.0|0}}while(0);n[e+312|0]=F;l=F;c=l&1;b=c<<24>>24!=0;d=t;return b|0};case 4:{F=e+4|0;a=e+20|0;o=e+36|0;R=e+52|0;I=s;vBe(I|0,0,16);B=i+16|0;_[B>>1]=0;V=u;r[V>>2]=r[I>>2];r[V+4>>2]=r[I+4>>2];r[V+8>>2]=r[I+8>>2];r[V+12>>2]=r[I+12>>2];_[f>>1]=C|15;A=+p[a>>2];D=+p[F>>2];w=A-D;T=+p[e+24>>2];P=+p[e+8>>2];M=T-P;x=+p[e+28>>2];v=+p[e+12>>2];y=x-v;E=+p[o>>2];N=E-D;k=+p[e+40>>2];O=k-P;L=+p[e+44>>2];U=L-v;G=M*U-y*O;W=y*N-w*U;z=w*O-M*N;H=+p[R>>2];j=H-D;X=+p[e+56>>2];Z=X-P;Q=+p[e+60>>2];q=Q-v;Y=j*G+Z*W+z*q;if(Y*Y<9.99999905104687e-9){J=-1}else{J=Y*(W*(0.0-P)+G*(0.0-D)+z*(0.0-v))<0.0|0}z=O*q-U*Z;G=U*j-N*q;W=N*Z-O*j;Y=w*z+M*G+W*y;if(Y*Y<9.99999905104687e-9){K=-1}else{K=Y*(G*(0.0-P)+z*(0.0-D)+W*(0.0-v))<0.0|0}W=Z*y-q*M;z=q*w-j*y;y=j*M-Z*w;w=N*W+O*z+y*U;if(w*w<9.99999905104687e-9){$=-1}else{$=w*(z*(0.0-P)+W*(0.0-D)+y*(0.0-v))<0.0|0}y=H-A;H=X-T;X=Q-x;Q=E-A;E=k-T;k=L-x;L=H*k-X*E;W=X*Q-y*k;k=y*E-H*Q;Q=(D-A)*L+(P-T)*W+k*(v-x);if(Q*Q<9.99999905104687e-9){ee=-1}else{ee=Q*(W*(0.0-T)+L*(0.0-A)+k*(0.0-x))<0.0|0}if((K|J|$|ee|0)<0){n[e+352|0]=1;n[e+312|0]=0;l=0;c=l&1;b=c<<24>>24!=0;d=t;return b|0}C=(J|0)!=0;J=(K|0)==0;K=($|0)==0;$=(ee|0)==0;if(J&(C^1)&K&$){n[e+312|0]=1;vBe(e+276|0,0,16);l=1;c=l&1;b=c<<24>>24!=0;d=t;return b|0}do{if(C){DRe(s,F,a,o,i);x=+p[i>>2];k=+p[i+4>>2];A=+p[i+8>>2];L=x-+p[s>>2];T=k-+p[s+4>>2];W=A-+p[s+8>>2];Q=L*L+T*T+W*W;if(Q>=3.4028234663852886e+38){te=3.4028234663852886e+38;break}W=+p[i+12>>2];p[u>>2]=x;p[e+320>>2]=k;p[e+324>>2]=A;p[e+328>>2]=W;ee=_[B>>1]|0;_[f>>1]=ee&1|_[f>>1]&-16|ee&2|ee&4;W=+p[i+24>>2];A=+p[i+28>>2];p[m>>2]=+p[i+20>>2];p[e+340>>2]=W;p[e+344>>2]=A;p[e+348>>2]=0.0;te=Q}else{te=3.4028234663852886e+38}}while(0);do{if(J){ie=te}else{DRe(s,F,o,R,i);Q=+p[i>>2];A=+p[i+4>>2];W=+p[i+8>>2];k=Q-+p[s>>2];x=A-+p[s+4>>2];T=W-+p[s+8>>2];L=k*k+x*x+T*T;if(L>=te){ie=te;break}T=+p[i+12>>2];p[u>>2]=Q;p[e+320>>2]=A;p[e+324>>2]=W;p[e+328>>2]=T;C=_[B>>1]|0;_[f>>1]=(C&65535)>>>1<<2&4|(C&1|_[f>>1]&-16)|(C&65535)>>>2<<3&8;T=+p[i+24>>2];W=+p[i+28>>2];p[m>>2]=+p[i+20>>2];p[e+340>>2]=0.0;p[e+344>>2]=T;p[e+348>>2]=W;ie=L}}while(0);do{if(K){ne=ie}else{DRe(s,F,R,a,i);te=+p[i>>2];L=+p[i+4>>2];W=+p[i+8>>2];T=te-+p[s>>2];A=L-+p[s+4>>2];Q=W-+p[s+8>>2];x=T*T+A*A+Q*Q;if(x>=ie){ne=ie;break}Q=+p[i+12>>2];p[u>>2]=te;p[e+320>>2]=L;p[e+324>>2]=W;p[e+328>>2]=Q;J=_[B>>1]|0;_[f>>1]=(J&65535)>>>2<<1&2|(J&1|_[f>>1]&-16)|(J&65535)>>>1<<3&8;Q=+p[i+28>>2];W=+p[i+24>>2];p[m>>2]=+p[i+20>>2];p[e+340>>2]=Q;p[e+344>>2]=0.0;p[e+348>>2]=W;ne=x}}while(0);do{if(!$){DRe(s,a,R,o,i);ie=+p[i>>2];x=+p[i+4>>2];W=+p[i+8>>2];Q=ie-+p[s>>2];L=x-+p[s+4>>2];te=W-+p[s+8>>2];if(Q*Q+L*L+te*te>=ne){break}te=+p[i+12>>2];p[u>>2]=ie;p[e+320>>2]=x;p[e+324>>2]=W;p[e+328>>2]=te;F=_[B>>1]|0;_[f>>1]=(F&65535)>>>1<<3&8|(F<<1&2|_[f>>1]&-16|F&4);te=+p[i+20>>2];W=+p[i+28>>2];x=+p[i+24>>2];p[m>>2]=0.0;p[e+340>>2]=te;p[e+344>>2]=W;p[e+348>>2]=x}}while(0);ne=+p[m>>2];i=e+340|0;x=+p[i>>2];B=e+344|0;W=+p[B>>2];u=e+348|0;te=+p[u>>2];ie=+p[e+84>>2]*ne+ +p[e+100>>2]*x+ +p[e+116>>2]*W+ +p[e+132>>2]*te;L=ne*+p[e+88>>2]+x*+p[e+104>>2]+W*+p[e+120>>2]+te*+p[e+136>>2];Q=ne*+p[e+92>>2]+x*+p[e+108>>2]+W*+p[e+124>>2]+te*+p[e+140>>2];p[e+244>>2]=ie;p[e+248>>2]=L;p[e+252>>2]=Q;p[e+256>>2]=0.0;A=+p[e+164>>2]*ne+ +p[e+180>>2]*x+ +p[e+196>>2]*W+ +p[e+212>>2]*te;T=ne*+p[e+168>>2]+x*+p[e+184>>2]+W*+p[e+200>>2]+te*+p[e+216>>2];k=ne*+p[e+172>>2]+x*+p[e+188>>2]+W*+p[e+204>>2]+te*+p[e+220>>2];p[e+260>>2]=A;p[e+264>>2]=T;p[e+268>>2]=k;p[e+272>>2]=0.0;p[e+276>>2]=ie-A;p[e+280>>2]=L-T;p[e+284>>2]=Q-k;p[e+288>>2]=0.0;xRe(e,h);do{if(+p[m>>2]<0.0){_e=0}else{if(+p[i>>2]<0.0){_e=0;break}if(+p[B>>2]<0.0){_e=0;break}_e=+p[u>>2]>=0.0|0}}while(0);n[e+312|0]=_e;l=_e;c=l&1;b=c<<24>>24!=0;d=t;return b|0};case 0:{n[e+312|0]=0;l=0;c=l&1;b=c<<24>>24!=0;d=t;return b|0};case 1:{_e=e+244|0;u=_e;B=e+84|0;r[u>>2]=r[B>>2];r[u+4>>2]=r[B+4>>2];r[u+8>>2]=r[B+8>>2];r[u+12>>2]=r[B+12>>2];B=e+260|0;u=B;i=e+164|0;r[u>>2]=r[i>>2];r[u+4>>2]=r[i+4>>2];r[u+8>>2]=r[i+8>>2];r[u+12>>2]=r[i+12>>2];k=+p[e+248>>2]-+p[e+264>>2];Q=+p[e+252>>2]-+p[e+268>>2];p[e+276>>2]=+p[_e>>2]-+p[B>>2];p[e+280>>2]=k;p[e+284>>2]=Q;p[e+288>>2]=0.0;vBe(g|0,0,17);_[f>>1]=S;p[m>>2]=1.0;p[e+340>>2]=0.0;p[e+344>>2]=0.0;p[e+348>>2]=0.0;n[e+312|0]=1;l=1;c=l&1;b=c<<24>>24!=0;d=t;return b|0};case 2:{Q=+p[e+4>>2];k=+p[e+8>>2];T=+p[e+12>>2];L=+p[e+20>>2]-Q;A=+p[e+24>>2]-k;ie=+p[e+28>>2]-T;te=(0.0-Q)*L+(0.0-k)*A+(0.0-T)*ie;do{if(te>0.0){T=L*L+A*A+ie*ie;if(te<T){_[f>>1]=S|3;re=te/T;break}else{_[f>>1]=S|2;re=1.0;break}}else{_[f>>1]=S|1;re=0.0}}while(0);p[m>>2]=1.0-re;S=e+340|0;p[S>>2]=re;f=e+344|0;p[f>>2]=0.0;g=e+348|0;p[g>>2]=0.0;te=+p[e+84>>2];ie=+p[e+88>>2];A=+p[e+92>>2];L=te+re*(+p[e+100>>2]-te);te=ie+re*(+p[e+104>>2]-ie);ie=A+re*(+p[e+108>>2]-A);p[e+244>>2]=L;p[e+248>>2]=te;p[e+252>>2]=ie;p[e+256>>2]=0.0;A=+p[e+164>>2];T=+p[e+168>>2];k=+p[e+172>>2];Q=A+re*(+p[e+180>>2]-A);A=T+re*(+p[e+184>>2]-T);T=k+re*(+p[e+188>>2]-k);p[e+260>>2]=Q;p[e+264>>2]=A;p[e+268>>2]=T;p[e+272>>2]=0.0;p[e+276>>2]=L-Q;p[e+280>>2]=te-A;p[e+284>>2]=ie-T;p[e+288>>2]=0.0;xRe(e,h);do{if(+p[m>>2]<0.0){oe=0}else{if(+p[S>>2]<0.0){oe=0;break}if(+p[f>>2]<0.0){oe=0;break}oe=+p[g>>2]>=0.0|0}}while(0);n[e+312|0]=oe;l=oe;c=l&1;b=c<<24>>24!=0;d=t;return b|0};default:{n[e+312|0]=0;l=0;c=l&1;b=c<<24>>24!=0;d=t;return b|0}}return 0}function TRe(e){e=e|0;return}function DRe(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var s=0,a=0,l=0.0,d=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0,V=0.0,E=0.0;s=o+16|0;a=_[s>>1]&-16;_[s>>1]=a;l=+p[i>>2];d=+p[t>>2];c=l-d;b=+p[i+4>>2];u=+p[t+4>>2];m=b-u;h=+p[i+8>>2];f=+p[t+8>>2];g=h-f;C=+p[n>>2];S=C-d;y=+p[n+4>>2];v=y-u;x=+p[n+8>>2];M=x-f;T=+p[e>>2];D=T-d;P=+p[e+4>>2];w=P-u;A=+p[e+8>>2];F=A-f;R=c*D+m*w+g*F;I=S*D+v*w+M*F;if(!(R>0.0|I>0.0)){e=o;B=t;r[e>>2]=r[B>>2];r[e+4>>2]=r[B+4>>2];r[e+8>>2]=r[B+8>>2];r[e+12>>2]=r[B+12>>2];_[s>>1]=a|1;p[o+20>>2]=1.0;p[o+24>>2]=0.0;p[o+28>>2]=0.0;p[o+32>>2]=0.0;return}F=T-l;w=P-b;D=A-h;V=c*F+m*w+g*D;E=S*F+v*w+M*D;if(!(V<0.0|E>V)){B=o;e=i;r[B>>2]=r[e>>2];r[B+4>>2]=r[e+4>>2];r[B+8>>2]=r[e+8>>2];r[B+12>>2]=r[e+12>>2];_[s>>1]=a|2;p[o+20>>2]=0.0;p[o+24>>2]=1.0;p[o+28>>2]=0.0;p[o+32>>2]=0.0;return}D=R*E-V*I;if(!(D>0.0|R<0.0|V>0.0)){w=R/(R-V);p[o>>2]=d+c*w;p[o+4>>2]=u+m*w;p[o+8>>2]=f+g*w;p[o+12>>2]=0.0;_[s>>1]=a|3;p[o+20>>2]=1.0-w;p[o+24>>2]=w;p[o+28>>2]=0.0;p[o+32>>2]=0.0;return}w=T-C;T=P-y;P=A-x;A=c*w+m*T+g*P;F=S*w+v*T+M*P;if(!(F<0.0|A>F)){e=o;B=n;r[e>>2]=r[B>>2];r[e+4>>2]=r[B+4>>2];r[e+8>>2]=r[B+8>>2];r[e+12>>2]=r[B+12>>2];_[s>>1]=a|4;p[o+20>>2]=0.0;p[o+24>>2]=0.0;p[o+28>>2]=1.0;p[o+32>>2]=0.0;return}P=A*I-R*F;if(!(P>0.0|I<0.0|F>0.0)){R=I/(I-F);p[o>>2]=d+S*R;p[o+4>>2]=u+v*R;p[o+8>>2]=f+M*R;p[o+12>>2]=0.0;_[s>>1]=a|5;p[o+20>>2]=1.0-R;p[o+24>>2]=0.0;p[o+28>>2]=R;p[o+32>>2]=0.0;return}R=V*F-A*E;do{if(R<=0.0){I=E-V;if(I<0.0){break}T=A-F;if(T<0.0){break}w=I/(I+T);p[o>>2]=l+(C-l)*w;p[o+4>>2]=b+(y-b)*w;p[o+8>>2]=h+(x-h)*w;p[o+12>>2]=0.0;_[s>>1]=a|6;p[o+20>>2]=0.0;p[o+24>>2]=1.0-w;p[o+28>>2]=w;p[o+32>>2]=0.0;return}}while(0);h=1.0/(D+(R+P));R=P*h;P=D*h;p[o>>2]=S*P+(d+c*R);p[o+4>>2]=v*P+(u+m*R);p[o+8>>2]=M*P+(g*R+f);p[o+12>>2]=0.0;_[s>>1]=a|7;p[o+20>>2]=1.0-R-P;p[o+24>>2]=R;p[o+28>>2]=P;p[o+32>>2]=0.0;return}function PRe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0,f=0.0,g=0,C=0.0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0.0,F=0.0,R=0.0,I=0,B=0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0,he=0.0,fe=0.0,ge=0.0,Ce=0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0;n=d;d=d+96|0;o=n|0;s=n+16|0;a=n+32|0;l=n+48|0;c=n+64|0;b=n+80|0;u=t+112|0;m=+p[t+48>>2]-+p[u>>2];h=t+116|0;f=+p[t+52>>2]-+p[h>>2];g=t+120|0;C=+p[t+56>>2]-+p[g>>2];S=t+64|0;y=t+80|0;v=t+96|0;x=t+68|0;M=t+84|0;T=t+100|0;D=t+72|0;P=t+88|0;w=t+104|0;A=m*+p[S>>2]+f*+p[y>>2]+C*+p[v>>2];F=m*+p[x>>2]+f*+p[M>>2]+C*+p[T>>2];R=m*+p[D>>2]+f*+p[P>>2]+C*+p[w>>2];t=e+8|0;I=r[t>>2]|0;B=r[e+4>>2]|0;C=+p[B+28>>2]*+p[B+12>>2];f=C+ +p[e+12>>2];m=+p[I+72>>2];V=+p[I+56>>2];E=m-V;N=+p[I+76>>2];k=+p[I+60>>2];O=N-k;L=+p[I+80>>2];U=+p[I+64>>2];G=L-U;W=+p[I+88>>2];z=W-V;H=+p[I+92>>2];X=H-k;Z=+p[I+96>>2];Q=Z-U;q=O*Q-G*X;Y=G*z-E*Q;Q=E*X-O*z;z=1.0/+j(+(Q*Q+(q*q+Y*Y)));X=z*q;q=z*Y;Y=z*Q;Q=A-V;z=F-k;J=R-U;K=Q*X+q*z+Y*J;if(K<0.0){$=K*-1.0;ee=X*-1.0;te=q*-1.0;ie=Y*-1.0}else{$=K;ee=X;te=q;ie=Y}if($>=f){d=n;return}Y=W-m;q=H-N;X=Z-L;K=V-W;V=k-H;k=U-Z;U=J*(E*te-O*ee)+(Q*(O*ie-G*te)+z*(G*ee-E*ie));E=(R-L)*(Y*te-q*ee)+((A-m)*(q*ie-X*te)+(F-N)*(X*ee-Y*ie));Y=(R-Z)*(K*te-V*ee)+((A-W)*(V*ie-k*te)+(F-H)*(k*ee-K*ie));do{if(U>0.0&E>0.0&Y>0.0){ne=1590}else{if(!(U>0.0|E>0.0|Y>0.0)){ne=1590;break}K=f*f;if((Knt[r[(r[I>>2]|0)+92>>2]&4095](I)|0)<=0){d=n;return}e=o|0;B=o+4|0;_e=o+8|0;re=s|0;oe=s+4|0;se=s+8|0;k=0.0;H=0.0;V=0.0;ae=0;pe=0;while(1){le=r[t>>2]|0;mrt[r[(r[le>>2]|0)+96>>2]&1023](le,ae,o,s);W=+p[e>>2];Z=A-W;X=+p[B>>2];N=F-X;q=+p[_e>>2];m=R-q;L=+p[re>>2]-W;G=+p[oe>>2]-X;z=+p[se>>2]-q;O=Z*L+N*G+m*z;do{if(O>0.0){Q=L*L+G*G+z*z;if(O<Q){J=O/Q;de=J;ce=Z-L*J;be=N-G*J;ue=m-z*J;break}else{de=1.0;ce=Z-L;be=N-G;ue=m-z;break}}else{de=0.0;ce=Z;be=N;ue=m}}while(0);if(ue*ue+(be*be+ce*ce)<K){me=1;he=W+L*de;fe=X+G*de;ge=q+z*de}else{me=pe;he=V;fe=H;ge=k}le=ae+1|0;Ce=r[t>>2]|0;if((le|0)<(Knt[r[(r[Ce>>2]|0)+92>>2]&4095](Ce)|0)){k=ge;H=fe;V=he;ae=le;pe=me}else{break}}if((me&1)!=0){Se=he;ye=fe;ve=ge;xe=K;break}d=n;return}}while(0);if((ne|0)==1590){Se=A-ee*$;ye=F-te*$;ve=R-ie*$;xe=f*f}f=A-Se;A=F-ye;F=R-ve;R=f*f+A*A+F*F;if(R>=xe){d=n;return}if(R>1.1920928955078125e-7){xe=+j(+R);R=1.0/xe;Me=C-xe;Te=F*R;De=A*R;Pe=f*R}else{Me=C;Te=ie;De=te;Pe=ee}ee=-0.0-Me;if(_){Me=+p[S>>2];te=+p[x>>2];ie=+p[D>>2];C=Me*Pe+te*De+ie*Te;R=+p[y>>2];f=+p[M>>2];A=+p[P>>2];F=Pe*R+De*f+Te*A;xe=+p[v>>2];$=+p[T>>2];ge=+p[w>>2];fe=Pe*xe+De*$+Te*ge;p[a>>2]=-0.0-C;p[a+4>>2]=-0.0-F;p[a+8>>2]=-0.0-fe;p[a+12>>2]=0.0;he=+p[h>>2]+(Se*R+ye*f+ve*A)+F*ee;F=+p[g>>2]+(Se*xe+ye*$+ve*ge)+fe*ee;p[l>>2]=+p[u>>2]+(Me*Se+te*ye+ie*ve)+C*ee;p[l+4>>2]=he;p[l+8>>2]=F;p[l+12>>2]=0.0;nrt[r[(r[i>>2]|0)+16>>2]&127](i,a,l,ee);d=n;return}else{l=r[(r[i>>2]|0)+16>>2]|0;F=+p[S>>2];he=+p[x>>2];C=+p[D>>2];ie=+p[y>>2];te=+p[M>>2];Me=+p[P>>2];fe=+p[v>>2];ge=+p[T>>2];$=+p[w>>2];p[c>>2]=F*Pe+he*De+C*Te;p[c+4>>2]=Pe*ie+De*te+Te*Me;p[c+8>>2]=Pe*fe+De*ge+Te*$;p[c+12>>2]=0.0;Te=+p[h>>2]+(Se*ie+ye*te+ve*Me);Me=+p[g>>2]+(Se*fe+ye*ge+ve*$);p[b>>2]=+p[u>>2]+(F*Se+he*ye+C*ve);p[b+4>>2]=Te;p[b+8>>2]=Me;p[b+12>>2]=0.0;nrt[l&127](i,c,b,ee);d=n;return}}function wRe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function ARe(e){e=e|0;var t=0,i=0,_=0;r[e>>2]=20448;if((n[e+8|0]&1)==0){t=e;SBe(t);return}i=r[e+12>>2]|0;if((i|0)==0){t=e;SBe(t);return}_=r[e+4>>2]|0;Znt[r[(r[_>>2]|0)+16>>2]&2047](_,i);t=e;SBe(t);return}function FRe(e){e=e|0;var t=0,i=0;r[e>>2]=20448;if((n[e+8|0]&1)==0){return}t=r[e+12>>2]|0;if((t|0)==0){return}i=r[e+4>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,t);return}function RRe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+1.0}function IRe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0;s=d;d=d+152|0;a=s|0;l=s+136|0;c=r[e+12>>2]|0;if((c|0)==0){d=s;return}b=r[t+192>>2]|0;u=r[i+192>>2]|0;m=o+4|0;r[m>>2]=c;r[a+132>>2]=0;p[a+128>>2]=999999984306749400.0;c=a;h=t+4|0;r[c>>2]=r[h>>2];r[c+4>>2]=r[h+4>>2];r[c+8>>2]=r[h+8>>2];r[c+12>>2]=r[h+12>>2];h=a+16|0;c=t+20|0;r[h>>2]=r[c>>2];r[h+4>>2]=r[c+4>>2];r[h+8>>2]=r[c+8>>2];r[h+12>>2]=r[c+12>>2];c=a+32|0;h=t+36|0;r[c>>2]=r[h>>2];r[c+4>>2]=r[h+4>>2];r[c+8>>2]=r[h+8>>2];r[c+12>>2]=r[h+12>>2];h=a+48|0;c=t+52|0;r[h>>2]=r[c>>2];r[h+4>>2]=r[c+4>>2];r[h+8>>2]=r[c+8>>2];r[h+12>>2]=r[c+12>>2];c=a+64|0;h=i+4|0;r[c>>2]=r[h>>2];r[c+4>>2]=r[h+4>>2];r[c+8>>2]=r[h+8>>2];r[c+12>>2]=r[h+12>>2];h=a+80|0;c=i+20|0;r[h>>2]=r[c>>2];r[h+4>>2]=r[c+4>>2];r[h+8>>2]=r[c+8>>2];r[h+12>>2]=r[c+12>>2];c=a+96|0;h=i+36|0;r[c>>2]=r[h>>2];r[c+4>>2]=r[h+4>>2];r[c+8>>2]=r[h+8>>2];r[c+12>>2]=r[h+12>>2];h=a+112|0;c=i+52|0;r[h>>2]=r[c>>2];r[h+4>>2]=r[c+4>>2];r[h+8>>2]=r[c+8>>2];r[h+12>>2]=r[c+12>>2];r[l>>2]=24424;r[l+4>>2]=b;r[l+8>>2]=u;VRe(l,a,o|0,r[_+20>>2]|0,0);if((n[e+8|0]&1)==0){d=s;return}e=r[m>>2]|0;if((r[e+1116>>2]|0)==0){d=s;return}if((r[e+1108>>2]|0)==(r[o+136>>2]|0)){nwe(e,o+8|0,o+72|0);d=s;return}else{nwe(e,o+72|0,o+8|0);d=s;return}}function BRe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=e+12|0;if((r[i>>2]|0)==0){return}if((n[e+8|0]&1)==0){return}e=t+4|0;_=r[e>>2]|0;o=t+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[e>>2]|0}b=t+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=t+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[e>>2]|0}else{a=_}}while(0);_=(r[t+12>>2]|0)+(a<<2)|0;if((_|0)==0){m=a}else{r[_>>2]=r[i>>2];m=r[e>>2]|0}r[e>>2]=m+1;return}function VRe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0.0,I=0,B=0.0,V=0,E=0.0,N=0,k=0.0,O=0,L=0.0,U=0,G=0.0,W=0,z=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0,re=0.0,oe=0.0,se=0.0,ae=0,pe=0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0.0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0.0,ke=0.0,Oe=0.0,Le=0.0,Ue=0.0,Ge=0.0,We=0,ze=0,He=0,je=0.0,Xe=0,Ze=0,Qe=0,qe=0.0,Ye=0,Je=0,Ke=0,$e=0.0,et=0,tt=0,it=0,nt=0.0,_t=0,rt=0,ot=0,st=0.0,at=0,pt=0,lt=0,dt=0.0,ct=0,bt=0,ut=0,mt=0.0,ht=0.0,ft=0.0,gt=0.0,Ct=0,St=0,yt=0,vt=0.0,xt=0.0,Mt=0.0,Tt=0.0,Dt=0,Pt=0,wt=0,At=0.0,Ft=0.0,Rt=0.0,It=0.0,Bt=0,Vt=0,Et=0,Nt=0.0,kt=0.0,Ot=0.0,Lt=0.0,Ut=0,Gt=0,Wt=0,zt=0.0,Ht=0.0,jt=0.0,Xt=0.0,Zt=0,Qt=0,qt=0,Yt=0.0,Jt=0.0,Kt=0.0,$t=0.0,ei=0,ti=0,ii=0,ni=0.0,_i=0.0,ri=0.0,oi=0.0,si=0,ai=0,pi=0,li=0.0,di=0.0,ci=0.0,bi=0.0,ui=0,mi=0,hi=0,fi=0.0,gi=0.0,Ci=0.0,Si=0.0,yi=0,vi=0,xi=0.0,Mi=0.0,Ti=0.0,Di=0.0,Pi=0.0,wi=0.0,Ai=0.0,Fi=0.0,Ri=0.0,Ii=0.0,Bi=0.0,Vi=0,Ei=0,Ni=0,ki=0,Oi=0,Li=0,Ui=0.0,Gi=0,Wi=0,zi=0,Hi=0.0,ji=0.0,Xi=0.0,Zi=0,Qi=0,qi=0,Yi=0,Ji=0,Ki=0,$i=0.0,en=0.0,tn=0,nn=0,_n=0,rn=0,on=0,sn=0,an=0,pn=0,ln=0,dn=0,cn=0.0,bn=0.0,un=0,mn=0,hn=0,fn=0,gn=0.0,Cn=0.0,Sn=0.0,yn=0.0,vn=0.0,xn=0.0,Mn=0,Tn=0,Dn=0,Pn=0,wn=0.0,An=0.0,Fn=0,Rn=0.0;_=d;d=d+696|0;n=_|0;o=_+32|0;s=_+64|0;a=_+128|0;l=_+144|0;c=_+160|0;b=_+176|0;u=_+192|0;m=_+208|0;h=_+240|0;f=_+248|0;g=_+312|0;C=_+408|0;S=_+440|0;y=_+456|0;v=_+472|0;x=_+488|0;M=_+504|0;T=_+536|0;D=_+552|0;P=_+568|0;w=_+584|0;A=_+600|0;F=_+648|0;R=+p[t>>2];I=A|0;p[I>>2]=R;B=+p[t+64>>2];V=F|0;p[V>>2]=B;E=+p[t+4>>2];N=A+4|0;p[N>>2]=E;k=+p[t+68>>2];O=F+4|0;p[O>>2]=k;L=+p[t+8>>2];U=A+8|0;p[U>>2]=L;G=+p[t+72>>2];W=F+8|0;p[W>>2]=G;z=+p[t+16>>2];p[A+16>>2]=z;X=+p[t+80>>2];p[F+16>>2]=X;Z=+p[t+20>>2];p[A+20>>2]=Z;Q=+p[t+84>>2];p[F+20>>2]=Q;q=+p[t+24>>2];p[A+24>>2]=q;Y=+p[t+88>>2];p[F+24>>2]=Y;J=+p[t+32>>2];p[A+32>>2]=J;K=+p[t+96>>2];p[F+32>>2]=K;ee=+p[t+36>>2];p[A+36>>2]=ee;te=+p[t+100>>2];p[F+36>>2]=te;ie=+p[t+40>>2];p[A+40>>2]=ie;ne=+p[t+104>>2];p[F+40>>2]=ne;_e=r[e+4>>2]|0;re=+p[_e+28>>2];oe=+p[_e+32>>2];se=+p[_e+36>>2];ae=_e|0;pe=_e;le=+z_t[r[(r[pe>>2]|0)+44>>2]&1023](ae);de=+z_t[r[(r[pe>>2]|0)+44>>2]&1023](ae);ce=(se+ +z_t[r[(r[pe>>2]|0)+44>>2]&1023](ae))*2.0;ae=t+112|0;pe=r[e+8>>2]|0;se=+p[pe+28>>2];be=+p[pe+32>>2];ue=+p[pe+36>>2];e=pe|0;_e=pe;me=+z_t[r[(r[_e>>2]|0)+44>>2]&1023](e);he=+z_t[r[(r[_e>>2]|0)+44>>2]&1023](e);fe=(ue+ +z_t[r[(r[_e>>2]|0)+44>>2]&1023](e))*2.0;e=c;_e=f;pe=ae;ge=ae|0;ae=t+48|0;ue=+p[ae>>2];Ce=+p[ge>>2]-ue;Se=+p[t+52>>2];ye=+p[t+116>>2]-Se;ve=+p[t+56>>2];xe=+p[t+120>>2]-ve;Me=Ce*R+ye*z+xe*J;Te=Ce*E+ye*Z+xe*ee;De=Ce*L+ye*q+xe*ie;Pe=(re+le)*2.0*.5;t=a|0;p[t>>2]=Pe;le=(oe+de)*2.0*.5;p[a+4>>2]=le;de=ce*.5;p[a+8>>2]=de;ce=(se+me)*2.0*.5;a=l|0;p[a>>2]=ce;me=(be+he)*2.0*.5;p[l+4>>2]=me;he=fe*.5;p[l+8>>2]=he;fe=R*B+z*X+J*K;be=R*k+z*Q+J*te;se=R*G+z*Y+J*ne;oe=B*E+X*Z+K*ee;re=k*E+Q*Z+te*ee;we=G*E+Y*Z+ne*ee;Ae=B*L+X*q+K*ie;Fe=k*L+Q*q+te*ie;Re=G*L+Y*q+ne*ie;Ie=+H(+fe);Be=+H(+be);Ve=+H(+se);Ee=+H(+oe);Ne=+H(+re);ke=+H(+we);Oe=+H(+Ae);Le=+H(+Fe);Ue=+H(+Re);Ge=+H(+Me)-(he*Ve+(Pe+Ie*ce+Be*me));if(Ge>0.0){d=_;return}if(Ge>-3.4028234663852886e+38){We=I;ze=1;He=Me<0.0|0;je=Ge}else{We=0;ze=0;He=0;je=-3.4028234663852886e+38}Ge=+H(+Te)-(le+Ee*ce+Ne*me+ke*he);if(Ge>0.0){d=_;return}if(Ge>je){Xe=N;Ze=2;Qe=Te<0.0|0;qe=Ge}else{Xe=We;Ze=ze;Qe=He;qe=je}je=+H(+De)-(de+Oe*ce+Le*me+Ue*he);if(je>0.0){d=_;return}if(je>qe){Ye=U;Je=3;Ke=De<0.0|0;$e=je}else{Ye=Xe;Je=Ze;Ke=Qe;$e=qe}qe=Ce*B+ye*X+xe*K;je=+H(+qe)-(ce+(Ie*Pe+Ee*le+Oe*de));if(je>0.0){d=_;return}if(je>$e){et=V;tt=4;it=qe<0.0|0;nt=je}else{et=Ye;tt=Je;it=Ke;nt=$e}$e=Ce*k+ye*Q+xe*te;je=+H(+$e)-(me+(Be*Pe+Ne*le+Le*de));if(je>0.0){d=_;return}if(je>nt){_t=O;rt=5;ot=$e<0.0|0;st=je}else{_t=et;rt=tt;ot=it;st=nt}nt=Ce*G+ye*Y+xe*ne;xe=+H(+nt)-(he+(Ve*Pe+ke*le+Ue*de));if(xe>0.0){d=_;return}if(xe>st){at=W;pt=6;lt=nt<0.0|0;dt=xe}else{at=_t;pt=rt;lt=ot;dt=st}st=Ie+9999999747378752.0e-21;Ie=Be+9999999747378752.0e-21;Be=Ve+9999999747378752.0e-21;Ve=Ee+9999999747378752.0e-21;Ee=Ne+9999999747378752.0e-21;Ne=ke+9999999747378752.0e-21;ke=Oe+9999999747378752.0e-21;Oe=Le+9999999747378752.0e-21;Le=Ue+9999999747378752.0e-21;Ue=De*oe-Te*Ae;xe=+H(+Ue)-(ke*le+Ve*de+Be*me+Ie*he);if(xe>1.1920928955078125e-7){d=_;return}nt=-0.0-Ae;ye=Ae*Ae+0.0;Ce=oe*oe;je=+j(+(Ce+ye));do{if(je>1.1920928955078125e-7){$e=xe/je;if($e*1.0499999523162842<=dt){ct=at;bt=pt;ut=lt;mt=dt;ht=0.0;ft=0.0;gt=0.0;break}ct=0;bt=7;ut=Ue<0.0|0;mt=$e;ht=0.0/je;ft=nt/je;gt=oe/je}else{ct=at;bt=pt;ut=lt;mt=dt;ht=0.0;ft=0.0;gt=0.0}}while(0);dt=De*re-Te*Fe;je=+H(+dt)-(Oe*le+Ee*de+Be*ce+st*he);if(je>1.1920928955078125e-7){d=_;return}nt=-0.0-Fe;Ue=Fe*Fe+0.0;xe=re*re;$e=+j(+(xe+Ue));do{if($e>1.1920928955078125e-7){qe=je/$e;if(qe*1.0499999523162842<=mt){Ct=ct;St=bt;yt=ut;vt=mt;xt=ht;Mt=ft;Tt=gt;break}Ct=0;St=8;yt=dt<0.0|0;vt=qe;xt=0.0/$e;Mt=nt/$e;Tt=re/$e}else{Ct=ct;St=bt;yt=ut;vt=mt;xt=ht;Mt=ft;Tt=gt}}while(0);gt=De*we-Te*Re;ft=+H(+gt)-(Le*le+Ne*de+Ie*ce+st*me);if(ft>1.1920928955078125e-7){d=_;return}ht=-0.0-Re;mt=Re*Re+0.0;$e=we*we;nt=+j(+($e+mt));do{if(nt>1.1920928955078125e-7){dt=ft/nt;if(dt*1.0499999523162842<=vt){Dt=Ct;Pt=St;wt=yt;At=vt;Ft=xt;Rt=Mt;It=Tt;break}Dt=0;Pt=9;wt=gt<0.0|0;At=dt;Ft=0.0/nt;Rt=ht/nt;It=we/nt}else{Dt=Ct;Pt=St;wt=yt;At=vt;Ft=xt;Rt=Mt;It=Tt}}while(0);Tt=Me*Ae-De*fe;Mt=+H(+Tt)-(ke*Pe+st*de+Ne*me+Ee*he);if(Mt>1.1920928955078125e-7){d=_;return}xt=-0.0-fe;vt=fe*fe;nt=+j(+(vt+ye));do{if(nt>1.1920928955078125e-7){ye=Mt/nt;if(ye*1.0499999523162842<=At){Bt=Dt;Vt=Pt;Et=wt;Nt=At;kt=Ft;Ot=Rt;Lt=It;break}Bt=0;Vt=10;Et=Tt<0.0|0;Nt=ye;kt=Ae/nt;Ot=0.0/nt;Lt=xt/nt}else{Bt=Dt;Vt=Pt;Et=wt;Nt=At;kt=Ft;Ot=Rt;Lt=It}}while(0);It=Me*Fe-De*be;Rt=+H(+It)-(Oe*Pe+Ie*de+Ne*ce+Ve*he);if(Rt>1.1920928955078125e-7){d=_;return}Ft=-0.0-be;At=be*be;nt=+j(+(At+Ue));do{if(nt>1.1920928955078125e-7){Ue=Rt/nt;if(Ue*1.0499999523162842<=Nt){Ut=Bt;Gt=Vt;Wt=Et;zt=Nt;Ht=kt;jt=Ot;Xt=Lt;break}Ut=0;Gt=11;Wt=It<0.0|0;zt=Ue;Ht=Fe/nt;jt=0.0/nt;Xt=Ft/nt}else{Ut=Bt;Gt=Vt;Wt=Et;zt=Nt;Ht=kt;jt=Ot;Xt=Lt}}while(0);Lt=Me*Re-De*se;De=+H(+Lt)-(Le*Pe+Be*de+Ee*ce+Ve*me);if(De>1.1920928955078125e-7){d=_;return}Ot=-0.0-se;kt=se*se;Nt=+j(+(kt+mt));do{if(Nt>1.1920928955078125e-7){mt=De/Nt;if(mt*1.0499999523162842<=zt){Zt=Ut;Qt=Gt;qt=Wt;Yt=zt;Jt=Ht;Kt=jt;$t=Xt;break}Zt=0;Qt=12;qt=Lt<0.0|0;Yt=mt;Jt=Re/Nt;Kt=0.0/Nt;$t=Ot/Nt}else{Zt=Ut;Qt=Gt;qt=Wt;Yt=zt;Jt=Ht;Kt=jt;$t=Xt}}while(0);Xt=Te*fe-Me*oe;jt=+H(+Xt)-(Ve*Pe+st*le+Le*me+Oe*he);if(jt>1.1920928955078125e-7){d=_;return}st=-0.0-oe;oe=+j(+(vt+Ce+0.0));do{if(oe>1.1920928955078125e-7){Ce=jt/oe;if(Ce*1.0499999523162842<=Yt){ei=Zt;ti=Qt;ii=qt;ni=Yt;_i=Jt;ri=Kt;oi=$t;break}ei=0;ti=13;ii=Xt<0.0|0;ni=Ce;_i=st/oe;ri=fe/oe;oi=0.0/oe}else{ei=Zt;ti=Qt;ii=qt;ni=Yt;_i=Jt;ri=Kt;oi=$t}}while(0);$t=Te*be-Me*re;Kt=+H(+$t)-(Ee*Pe+Ie*le+Le*ce+ke*he);if(Kt>1.1920928955078125e-7){d=_;return}Le=-0.0-re;re=+j(+(At+xe+0.0));do{if(re>1.1920928955078125e-7){xe=Kt/re;if(xe*1.0499999523162842<=ni){si=ei;ai=ti;pi=ii;li=ni;di=_i;ci=ri;bi=oi;break}si=0;ai=14;pi=$t<0.0|0;li=xe;di=Le/re;ci=be/re;bi=0.0/re}else{si=ei;ai=ti;pi=ii;li=ni;di=_i;ci=ri;bi=oi}}while(0);oi=Te*se-Me*we;Me=+H(+oi)-(Ne*Pe+Be*le+Oe*ce+ke*me);if(Me>1.1920928955078125e-7){d=_;return}ke=-0.0-we;we=+j(+(kt+$e+0.0));do{if(we>1.1920928955078125e-7){$e=Me/we;if($e*1.0499999523162842<=li){ui=1725;break}mi=15;hi=oi<0.0|0;fi=$e;gi=ke/we;Ci=se/we;Si=0.0/we;ui=1728}else{ui=1725}}while(0);do{if((ui|0)==1725){if((ai|0)==0){d=_;return}if((si|0)==0){mi=ai;hi=pi;fi=li;gi=di;Ci=ci;Si=bi;ui=1728;break}yi=ai;vi=pi;xi=li;Mi=+p[si+32>>2];Ti=+p[si+16>>2];Di=+p[si>>2]}}while(0);if((ui|0)==1728){yi=mi;vi=hi;xi=fi;Mi=gi*J+Ci*ee+Si*ie;Ti=gi*z+Ci*Z+Si*q;Di=gi*R+Ci*E+Si*L}if((vi|0)==0){Pi=Mi;wi=Ti;Ai=Di}else{Pi=-0.0-Mi;wi=-0.0-Ti;Ai=-0.0-Di}if((yi|0)>6){Di=(Ai*R+wi*z+Pi*J>0.0?1.0:-1.0)*Pe;Pe=(Ai*E+wi*Z+Pi*ee>0.0?1.0:-1.0)*le;le=(Ai*L+wi*q+Pi*ie>0.0?1.0:-1.0)*de;r[e>>2]=r[pe>>2];r[e+4>>2]=r[pe+4>>2];r[e+8>>2]=r[pe+8>>2];de=(Ai*B+wi*X+Pi*K>0.0?-1.0:1.0)*ce;pe=c|0;e=c+4|0;vi=c+8|0;ce=(Ai*k+wi*Q+Pi*te>0.0?-1.0:1.0)*me;me=+p[e>>2]+de*X+ce*Q;Q=+p[vi>>2]+de*K+ce*te;te=(Ai*G+wi*Y+Pi*ne>0.0?-1.0:1.0)*he;he=+p[pe>>2]+de*B+ce*k+te*G;p[pe>>2]=he;G=me+te*Y;p[e>>2]=G;Y=Q+te*ne;p[vi>>2]=Y;hi=yi-7|0;mi=(hi|0)/3|0;ne=+p[A+(mi<<2)>>2];te=+p[A+(mi+4<<2)>>2];Q=+p[A+(mi+8<<2)>>2];mi=(hi|0)%3|0;me=+p[F+(mi<<2)>>2];k=+p[F+(mi+4<<2)>>2];ce=+p[F+(mi+8<<2)>>2];B=he-(ue+Di*R+Pe*E+le*L);L=G-(Se+Di*z+Pe*Z+le*q);q=Y-(ve+Di*J+Pe*ee+le*ie);ie=ne*me+te*k+Q*ce;le=1.0-ie*ie;if(le>9999999747378752.0e-20){Fi=((B*ne+L*te+q*Q)*ie-(B*me+L*k+q*ce))*(1.0/le)}else{Fi=0.0}p[pe>>2]=he+Fi*me;p[e>>2]=G+Fi*k;p[vi>>2]=Y+Fi*ce;vi=r[(r[i>>2]|0)+16>>2]|0;p[b>>2]=-0.0-Ai;p[b+4>>2]=-0.0-wi;p[b+8>>2]=-0.0-Pi;p[b+12>>2]=0.0;nrt[vi&127](i,b,c,xi);d=_;return}c=(yi|0)<4;if(c){Ri=Ai;Ii=wi;Bi=Pi;Vi=I;Ei=V;Ni=ae;ki=ge;Oi=t;Li=a;Ui=+p[V>>2]}else{Ri=-0.0-Ai;Ii=-0.0-wi;Bi=-0.0-Pi;Vi=V;Ei=I;Ni=ge;ki=ae;Oi=a;Li=t;Ui=R}R=Ri*Ui+Ii*+p[Ei+16>>2]+Bi*+p[Ei+32>>2];p[u>>2]=R;Ui=Ri*+p[Ei+4>>2]+Ii*+p[Ei+20>>2]+Bi*+p[Ei+36>>2];p[u+4>>2]=Ui;xi=Ri*+p[Ei+8>>2]+Ii*+p[Ei+24>>2]+Bi*+p[Ei+40>>2];p[u+8>>2]=xi;ce=+H(+R);R=+H(+Ui);Ui=+H(+xi);if(R>ce){t=R>Ui;Gi=0;Wi=t?1:2;zi=t}else{t=ce>Ui;Gi=t&1;Wi=t?0:2;zi=t}t=zi?2:1;Ui=+p[Li+(Wi<<2)>>2];ce=+p[ki>>2]-+p[Ni>>2];R=Ui*+p[Ei+(Wi<<2)>>2];if(+p[u+(Wi<<2)>>2]<0.0){Hi=+p[ki+8>>2]-+p[Ni+8>>2]+Ui*+p[Ei+((Wi|8)<<2)>>2];ji=+p[ki+4>>2]-+p[Ni+4>>2]+Ui*+p[Ei+((Wi|4)<<2)>>2];Xi=ce+R}else{Hi=+p[ki+8>>2]-+p[Ni+8>>2]-Ui*+p[Ei+((Wi|8)<<2)>>2];ji=+p[ki+4>>2]-+p[Ni+4>>2]-Ui*+p[Ei+((Wi|4)<<2)>>2];Xi=ce-R}Wi=(c?-1:-4)+yi|0;if((Wi|0)==1){Zi=2;Qi=0}else if((Wi|0)==0){Zi=2;Qi=1}else{Zi=1;Qi=0}R=+p[Vi+(Qi<<2)>>2];ce=+p[Vi+((Qi|4)<<2)>>2];Ui=+p[Vi+((Qi|8)<<2)>>2];xi=Xi*R+ji*ce+Hi*Ui;Fi=+p[Vi+(Zi<<2)>>2];Y=+p[Vi+((Zi|4)<<2)>>2];k=+p[Vi+((Zi|8)<<2)>>2];G=Xi*Fi+ji*Y+Hi*k;Vi=Ei+(Gi<<2)|0;me=+p[Vi>>2];yi=Ei+((Gi|4)<<2)|0;he=+p[yi>>2];ki=Ei+((Gi|8)<<2)|0;le=+p[ki>>2];q=R*me+ce*he+Ui*le;u=Ei+(t<<2)|0;L=+p[u>>2];zi=Ei+((t|4)<<2)|0;B=+p[zi>>2];a=Ei+((t|8)<<2)|0;ie=+p[a>>2];Q=R*L+ce*B+Ui*ie;Ui=Fi*me+Y*he+k*le;le=Fi*L+Y*B+k*ie;ie=+p[Li+(Gi<<2)>>2];k=q*ie;B=Ui*ie;ie=+p[Li+(t<<2)>>2];Y=Q*ie;L=le*ie;ie=xi-k;t=m|0;p[t>>2]=ie-Y;Fi=G-B;p[m+4>>2]=Fi-L;p[m+8>>2]=ie+Y;p[m+12>>2]=Fi+L;Fi=xi+k;p[m+16>>2]=Fi+Y;k=G+B;p[m+20>>2]=k+L;p[m+24>>2]=Fi-Y;p[m+28>>2]=k-L;p[h>>2]=+p[Oi+(Qi<<2)>>2];p[h+4>>2]=+p[Oi+(Zi<<2)>>2];Zi=f|0;Qi=s|0;s=t;t=Zi;m=0;Li=4;e:while(1){Gi=h+(m<<2)|0;Ei=1-m|0;do{if((Li|0)>0){ae=0;ge=s;I=t;V=Li;while(1){b=ge+(m<<2)|0;L=+p[b>>2];k=+p[Gi>>2];if(L*-1.0<k){p[I>>2]=+p[ge>>2];p[I+4>>2]=+p[ge+4>>2];vi=ae+1|0;if((vi&8|0)!=0){qi=vi;Yi=t;break e}Ji=I+8|0;Ki=vi;$i=+p[b>>2];en=+p[Gi>>2]}else{Ji=I;Ki=ae;$i=L;en=k}b=ge+8|0;vi=(V|0)>1?b:s;k=+p[vi+(m<<2)>>2];if($i*-1.0<en^k*-1.0<en){L=+p[ge+(Ei<<2)>>2];p[Ji+(Ei<<2)>>2]=L+(en*-1.0-$i)*((+p[vi+(Ei<<2)>>2]-L)/(k-$i));p[Ji+(m<<2)>>2]=+p[Gi>>2]*-1.0;vi=Ki+1|0;if((vi&8|0)==0){tn=Ji+8|0;nn=vi}else{qi=vi;Yi=t;break e}}else{tn=Ji;nn=Ki}vi=V-1|0;if((vi|0)>0){ae=nn;ge=b;I=tn;V=vi}else{break}}V=(t|0)==(Zi|0)?Qi:Zi;if((nn|0)>0){_n=0;rn=t;on=V;sn=nn}else{an=0;pn=V;break}while(1){I=rn+(m<<2)|0;k=+p[I>>2];L=+p[Gi>>2];if(k<L){p[on>>2]=+p[rn>>2];p[on+4>>2]=+p[rn+4>>2];ge=_n+1|0;if((ge&8|0)!=0){qi=ge;Yi=V;break e}ln=on+8|0;dn=ge;cn=+p[I>>2];bn=+p[Gi>>2]}else{ln=on;dn=_n;cn=k;bn=L}I=rn+8|0;ge=(sn|0)>1?I:t;L=+p[ge+(m<<2)>>2];if(cn<bn^L<bn){k=+p[rn+(Ei<<2)>>2];p[ln+(Ei<<2)>>2]=k+(bn-cn)*((+p[ge+(Ei<<2)>>2]-k)/(L-cn));p[ln+(m<<2)>>2]=+p[Gi>>2];ge=dn+1|0;if((ge&8|0)==0){un=ln+8|0;mn=ge}else{qi=ge;Yi=V;break e}}else{un=ln;mn=dn}ge=sn-1|0;if((ge|0)>0){_n=mn;rn=I;on=un;sn=ge}else{an=mn;pn=V;break}}}else{an=0;pn=(t|0)==(Zi|0)?Qi:Zi}}while(0);Gi=m+1|0;if((Gi|0)<2){s=pn;t=(pn|0)==(Zi|0)?Qi:Zi;m=Gi;Li=an}else{qi=an;Yi=pn;break}}if((Yi|0)!=(Zi|0)){pn=Yi;Yi=qi<<3;yBe(_e|0,pn|0,Yi)|0}if((qi|0)<1){d=_;return}cn=1.0/(q*le-Ui*Q);bn=q*cn;q=Q*cn;Q=le*cn;le=-0.0-Ui*cn;cn=+p[Oi+(Wi<<2)>>2];Ui=+p[Vi>>2];$i=+p[u>>2];en=+p[yi>>2];L=+p[zi>>2];k=+p[ki>>2];Y=+p[a>>2];a=0;ki=0;while(1){zi=a<<1;Fi=+p[f+(zi<<2)>>2];B=Fi-xi;ie=+p[f+((zi|1)<<2)>>2];he=ie-G;me=Q*B-q*he;ce=B*le+bn*he;zi=ki*3|0;he=Xi+me*Ui+ce*$i;p[g+(zi<<2)>>2]=he;B=ji+me*en+ce*L;p[g+(zi+1<<2)>>2]=B;R=Hi+me*k+ce*Y;p[g+(zi+2<<2)>>2]=R;ce=cn-(Ri*he+Ii*B+Bi*R);p[C+(ki<<2)>>2]=ce;if(ce<0.0){hn=ki}else{zi=ki<<1;p[f+(zi<<2)>>2]=Fi;p[f+((zi|1)<<2)>>2]=ie;hn=ki+1|0}zi=a+1|0;if((zi|0)<(qi|0)){a=zi;ki=hn}else{break}}if((hn|0)<1){d=_;return}ki=(hn|0)<4?hn:4;a=(ki|0)<1?1:ki;if((hn|0)<=(a|0)){ki=(hn|0)>0;if(c){if(!ki){d=_;return}qi=i;zi=y|0;yi=y+4|0;u=y+8|0;Vi=y+12|0;Wi=S|0;Oi=Ni+4|0;Yi=S+4|0;pn=Ni+8|0;_e=S+8|0;Bi=-0.0-Ai;Ii=-0.0-wi;Ri=-0.0-Pi;an=0;do{Li=an*3|0;p[Wi>>2]=+p[g+(Li<<2)>>2]+ +p[Ni>>2];p[Yi>>2]=+p[g+(Li+1<<2)>>2]+ +p[Oi>>2];p[_e>>2]=+p[g+(Li+2<<2)>>2]+ +p[pn>>2];Li=r[(r[qi>>2]|0)+16>>2]|0;p[zi>>2]=Bi;p[yi>>2]=Ii;p[u>>2]=Ri;p[Vi>>2]=0.0;nrt[Li&127](i,y,S,-0.0-+p[C+(an<<2)>>2]);an=an+1|0}while((an|0)<(hn|0));d=_;return}else{if(!ki){d=_;return}ki=i;an=x|0;S=x+4|0;y=x+8|0;Vi=x+12|0;u=v|0;yi=Ni+4|0;zi=v+4|0;qi=Ni+8|0;pn=v+8|0;Ri=-0.0-Ai;Ii=-0.0-wi;Bi=-0.0-Pi;_e=0;do{Oi=_e*3|0;cn=+p[C+(_e<<2)>>2];p[u>>2]=+p[g+(Oi<<2)>>2]+ +p[Ni>>2]-Ai*cn;p[zi>>2]=+p[g+(Oi+1<<2)>>2]+ +p[yi>>2]-wi*cn;p[pn>>2]=+p[g+(Oi+2<<2)>>2]+ +p[qi>>2]-Pi*cn;Oi=r[(r[ki>>2]|0)+16>>2]|0;p[an>>2]=Ri;p[S>>2]=Ii;p[y>>2]=Bi;p[Vi>>2]=0.0;nrt[Oi&127](i,x,v,-0.0-cn);_e=_e+1|0}while((_e|0)<(hn|0));d=_;return}}if((hn|0)>1){_e=1;v=0;Bi=+p[C>>2];while(1){Ii=+p[C+(_e<<2)>>2];x=Ii>Bi;Vi=x?_e:v;y=_e+1|0;if((y|0)<(hn|0)){_e=y;v=Vi;Bi=x?Ii:Bi}else{fn=Vi;break}}}else{fn=0}v=M|0;if((hn|0)==1){gn=+p[Zi>>2];Cn=+p[f+4>>2];ui=1791}else if((hn|0)==2){gn=(+p[Zi>>2]+ +p[f+8>>2])*.5;Cn=(+p[f+4>>2]+ +p[f+12>>2])*.5;ui=1791}else{_e=hn-1|0;if((_e|0)>0){Vi=0;Bi=0.0;Ii=0.0;Ri=0.0;while(1){x=Vi<<1;cn=+p[f+(x<<2)>>2];Y=+p[f+(x+3<<2)>>2];k=+p[f+(x+2<<2)>>2];Hi=+p[f+((x|1)<<2)>>2];L=cn*Y-k*Hi;en=Bi+L;ji=Ii+(cn+k)*L;k=Ri+(Y+Hi)*L;x=Vi+1|0;if((x|0)<(_e|0)){Vi=x;Bi=en;Ii=ji;Ri=k}else{Sn=en;yn=ji;vn=k;break}}}else{Sn=0.0;yn=0.0;vn=0.0}Vi=hn<<1;Ri=+p[f+(Vi-2<<2)>>2];Ii=+p[f+4>>2];Bi=+p[Zi>>2];k=+p[f+(Vi-1<<2)>>2];ji=Ri*Ii-Bi*k;en=Sn+ji;if(+H(+en)>1.1920928955078125e-7){xn=1.0/(en*3.0)}else{xn=999999984306749400.0}if((hn|0)>0){gn=xn*(yn+ji*(Ri+Bi));Cn=xn*(vn+ji*(k+Ii));ui=1791}else{Mn=0}}if((ui|0)==1791){ui=0;while(1){Vi=ui<<1;p[n+(ui<<2)>>2]=+$(+(+p[f+((Vi|1)<<2)>>2]-Cn),+(+p[f+(Vi<<2)>>2]-gn));Vi=ui+1|0;if((Vi|0)<(hn|0)){ui=Vi}else{Tn=0;break}}while(1){r[o+(Tn<<2)>>2]=1;ui=Tn+1|0;if((ui|0)<(hn|0)){Tn=ui}else{Mn=1;break}}}Tn=o+(fn<<2)|0;r[Tn>>2]=0;r[v>>2]=fn;v=M+4|0;e:do{if((a|0)>1){gn=6.2831854820251465/+(a|0);ui=n+(fn<<2)|0;if(Mn){Dn=1;Pn=v}else{f=2;Vi=v;while(1){r[Vi>>2]=fn;r[Tn>>2]=0;if((f|0)>=(a|0)){break e}f=f+1|0;Vi=Vi+4|0}}while(1){Cn=+(Dn|0)*gn+ +p[ui>>2];if(Cn>3.1415927410125732){wn=Cn-6.2831854820251465}else{wn=Cn}r[Pn>>2]=fn;Vi=0;Cn=1.0e9;f=fn;while(1){do{if((r[o+(Vi<<2)>>2]|0)==0){An=Cn;Fn=f}else{Ii=+H(+(+p[n+(Vi<<2)>>2]-wn));if(Ii>3.1415927410125732){Rn=6.2831854820251465-Ii}else{Rn=Ii}if(Rn>=Cn){An=Cn;Fn=f;break}r[Pn>>2]=Vi;An=Rn;Fn=Vi}}while(0);Zi=Vi+1|0;if((Zi|0)<(hn|0)){Vi=Zi;Cn=An;f=Fn}else{break}}r[o+(Fn<<2)>>2]=0;f=Dn+1|0;if((f|0)>=(a|0)){break e}Dn=f;Pn=Pn+4|0}}}while(0);if((a|0)<=0){d=_;return}Pn=i;Dn=D|0;Fn=D+4|0;o=D+8|0;hn=D+12|0;n=P|0;fn=P+4|0;Tn=P+8|0;v=P+12|0;Mn=T|0;ui=T+4|0;f=T+8|0;Vi=w|0;Zi=w+4|0;_e=w+8|0;x=w+12|0;y=Ni+4|0;S=Ni+8|0;An=-0.0-Pi;Rn=-0.0-wi;wn=-0.0-Ai;if(c){c=0;do{an=r[M+(c<<2)>>2]|0;ki=an*3|0;p[Mn>>2]=+p[g+(ki<<2)>>2]+ +p[Ni>>2];p[ui>>2]=+p[g+(ki+1<<2)>>2]+ +p[y>>2];p[f>>2]=+p[g+(ki+2<<2)>>2]+ +p[S>>2];ki=r[(r[Pn>>2]|0)+16>>2]|0;p[Dn>>2]=wn;p[Fn>>2]=Rn;p[o>>2]=An;p[hn>>2]=0.0;nrt[ki&127](i,D,T,-0.0-+p[C+(an<<2)>>2]);c=c+1|0}while((c|0)<(a|0));d=_;return}else{c=0;do{T=r[M+(c<<2)>>2]|0;D=T*3|0;gn=+p[g+(D<<2)>>2]+ +p[Ni>>2];p[Mn>>2]=gn;Cn=+p[g+(D+1<<2)>>2]+ +p[y>>2];p[ui>>2]=Cn;Ii=+p[g+(D+2<<2)>>2]+ +p[S>>2];p[f>>2]=Ii;D=r[(r[Pn>>2]|0)+16>>2]|0;p[n>>2]=wn;p[fn>>2]=Rn;p[Tn>>2]=An;p[v>>2]=0.0;k=+p[C+(T<<2)>>2];p[Vi>>2]=gn-Ai*k;p[Zi>>2]=Cn-k*wi;p[_e>>2]=Ii-k*Pi;p[x>>2]=0.0;nrt[D&127](i,P,w,-0.0-k);c=c+1|0}while((c|0)<(a|0));d=_;return}}function ERe(e){e=e|0;return}function NRe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function kRe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0;_=(n[e+28|0]&1)!=0;o=_?i:t;s=_?t:i;i=o+192|0;t=r[i>>2]|0;_=r[t+16>>2]|0;a=e+12|0;p=r[a>>2]|0;if((p|0)<(_|0)){l=e+16|0;if((r[l>>2]|0)<(_|0)){if((_|0)==0){d=0;c=p}else{r[9806]=(r[9806]|0)+1;b=hBe((_<<2)+19|0)|0;if((b|0)==0){u=0}else{m=-(b+4|0)&15;r[b+m>>2]=b;u=b+(m+4)|0}d=u;c=r[a>>2]|0}u=e+20|0;if((c|0)>0){m=0;do{b=d+(m<<2)|0;if((b|0)!=0){r[b>>2]=r[(r[u>>2]|0)+(m<<2)>>2]}m=m+1|0}while((m|0)<(c|0))}c=r[u>>2]|0;m=e+24|0;if((c|0)!=0){if((n[m]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[c-4>>2]|0)}r[u>>2]=0}n[m]=1;r[u>>2]=d;r[l>>2]=_;h=u}else{h=e+20|0}u=p;do{p=(r[h>>2]|0)+(u<<2)|0;if((p|0)!=0){r[p>>2]=0}u=u+1|0}while((u|0)<(_|0))}r[a>>2]=_;if((_|0)<=0){return}a=t+64|0;u=t+24|0;t=e+4|0;h=e+32|0;p=e+20|0;e=0;do{if((r[a>>2]|0)==0){l=r[i>>2]|0;r[i>>2]=r[(r[u>>2]|0)+(e*80|0)+64>>2];d=r[t>>2]|0;m=drt[r[(r[d>>2]|0)+8>>2]&127](d,o,s,r[h>>2]|0)|0;r[(r[p>>2]|0)+(e<<2)>>2]=m;r[i>>2]=l}else{r[(r[p>>2]|0)+(e<<2)>>2]=0}e=e+1|0}while((e|0)<(_|0));return}function ORe(e){e=e|0;LRe(e);if((e|0)==0){return}SBe(e);return}function LRe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0,a=0,p=0;r[e>>2]=20296;t=e+12|0;i=r[t>>2]|0;_=e+20|0;if((i|0)>0){o=e+4|0;s=0;do{a=r[(r[_>>2]|0)+(s<<2)>>2]|0;if((a|0)!=0){jnt[r[r[a>>2]>>2]&2047](a);a=r[o>>2]|0;Znt[r[(r[a>>2]|0)+60>>2]&2047](a,r[(r[_>>2]|0)+(s<<2)>>2]|0)}s=s+1|0}while((s|0)<(i|0))}i=r[_>>2]|0;s=e+24|0;if((i|0)==0){n[s]=1;r[_>>2]=0;r[t>>2]=0;p=e+16|0;r[p>>2]=0;return}if((n[s]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[i-4>>2]|0)}r[_>>2]=0;n[s]=1;r[_>>2]=0;r[t>>2]=0;p=e+16|0;r[p>>2]=0;return}function URe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0;s=d;d=d+312|0;a=s|0;l=s+32|0;c=s+56|0;b=s+72|0;u=s+88|0;m=s+152|0;h=s+184|0;f=s+248|0;g=s+264|0;C=s+280|0;S=s+296|0;y=(n[e+28|0]&1)!=0;v=y?i:t;x=y?t:i;y=r[v+192>>2]|0;M=e+12|0;if((r[y+68>>2]|0)!=(r[e+40>>2]|0)){T=r[M>>2]|0;if((T|0)>0){D=e+20|0;P=e+4|0;w=0;do{A=r[(r[D>>2]|0)+(w<<2)>>2]|0;if((A|0)!=0){jnt[r[r[A>>2]>>2]&2047](A);A=r[P>>2]|0;Znt[r[(r[A>>2]|0)+60>>2]&2047](A,r[(r[D>>2]|0)+(w<<2)>>2]|0)}w=w+1|0}while((w|0)<(T|0))}kRe(e,t,i)}i=r[y+64>>2]|0;t=e+4|0;T=r[t>>2]|0;w=e+20|0;D=r[w>>2]|0;P=r[e+32>>2]|0;r[a>>2]=21800;r[a+4>>2]=v;r[a+8>>2]=x;r[a+12>>2]=T;r[a+16>>2]=_;r[a+20>>2]=o;r[a+24>>2]=D;r[a+28>>2]=P;P=l+16|0;n[P]=1;_=l+12|0;r[_>>2]=0;T=l+4|0;r[T>>2]=0;e=l+8|0;r[e>>2]=0;A=r[M>>2]|0;do{if((A|0)>0){F=o+4|0;R=o+136|0;I=o+8|0;B=o+72|0;V=0;E=A;N=D;while(1){k=r[N+(V<<2)>>2]|0;if((k|0)==0){O=E}else{Znt[r[(r[k>>2]|0)+16>>2]&2047](k,l);k=r[T>>2]|0;if((k|0)>0){L=0;U=k;while(1){G=r[(r[_>>2]|0)+(L<<2)>>2]|0;W=G+1116|0;if((r[W>>2]|0)==0){z=U}else{r[F>>2]=G;do{if((r[W>>2]|0)!=0){if((r[G+1108>>2]|0)==(r[R>>2]|0)){nwe(G,I,B);break}else{nwe(G,B,I);break}}}while(0);r[F>>2]=0;z=r[T>>2]|0}G=L+1|0;if((G|0)<(z|0)){L=G;U=z}else{H=z;break}}}else{H=k}if((H|0)<0){if((r[e>>2]|0)<0){U=r[_>>2]|0;if((H|0)>0){L=0;do{if((L|0)!=0){r[L<<2>>2]=r[U+(L<<2)>>2]}L=L+1|0}while((L|0)<(H|0))}if((U|0)!=0){if((n[P]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[U-4>>2]|0)}r[_>>2]=0}n[P]=1;r[_>>2]=0;r[e>>2]=0;j=H}else{j=H}do{L=(r[_>>2]|0)+(j<<2)|0;if((L|0)!=0){r[L>>2]=0}j=j+1|0}while((j|0)<0)}r[T>>2]=0;O=r[M>>2]|0}U=V+1|0;if((U|0)>=(O|0)){break}V=U;E=O;N=r[w>>2]|0}N=r[_>>2]|0;if((N|0)==0){break}if((n[P]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[N-4>>2]|0)}r[_>>2]=0}}while(0);n[P]=1;r[_>>2]=0;r[T>>2]=0;r[e>>2]=0;if((i|0)==0){e=r[M>>2]|0;if((e|0)<=0){d=s;return}T=y+24|0;_=0;do{WRe(a,r[(r[T>>2]|0)+(_*80|0)+64>>2]|0,_);_=_+1|0}while((_|0)<(e|0))}else{X=+p[v+4>>2];Z=+p[v+20>>2];Q=+p[v+36>>2];q=+p[v+8>>2];Y=+p[v+24>>2];J=+p[v+40>>2];K=+p[v+12>>2];$=+p[v+28>>2];ee=+p[v+44>>2];te=-0.0-+p[v+52>>2];ie=-0.0-+p[v+56>>2];ne=-0.0-+p[v+60>>2];_e=+p[x+4>>2];re=+p[x+20>>2];oe=+p[x+36>>2];se=+p[x+8>>2];ae=+p[x+24>>2];pe=+p[x+40>>2];le=+p[x+12>>2];de=+p[x+28>>2];ce=+p[x+44>>2];be=+p[x+52>>2];ue=+p[x+56>>2];me=+p[x+60>>2];p[u>>2]=X*_e+Z*re+Q*oe;p[u+4>>2]=X*se+Z*ae+Q*pe;p[u+8>>2]=X*le+Z*de+Q*ce;p[u+12>>2]=0.0;p[u+16>>2]=q*_e+Y*re+J*oe;p[u+20>>2]=q*se+Y*ae+J*pe;p[u+24>>2]=q*le+Y*de+J*ce;p[u+28>>2]=0.0;p[u+32>>2]=K*_e+$*re+ee*oe;p[u+36>>2]=K*se+$*ae+ee*pe;p[u+40>>2]=K*le+$*de+ee*ce;p[u+44>>2]=0.0;p[u+48>>2]=X*te+Z*ie+Q*ne+(X*be+Z*ue+Q*me);p[u+52>>2]=q*te+Y*ie+J*ne+(q*be+Y*ue+J*me);p[u+56>>2]=K*te+$*ie+ee*ne+(K*be+$*ue+ee*me);p[u+60>>2]=0.0;e=r[x+192>>2]|0;mrt[r[(r[e>>2]|0)+8>>2]&1023](e,u,c,b);u=m;e=c;r[u>>2]=r[e>>2];r[u+4>>2]=r[e+4>>2];r[u+8>>2]=r[e+8>>2];r[u+12>>2]=r[e+12>>2];e=m+16|0;u=b;r[e>>2]=r[u>>2];r[e+4>>2]=r[u+4>>2];r[e+8>>2]=r[u+8>>2];r[e+12>>2]=r[u+12>>2];oTe(r[i>>2]|0,m,a|0)}a=r[M>>2]|0;if((a|0)<=0){d=s;return}M=y+24|0;y=v+4|0;m=v+8|0;i=v+12|0;u=v+20|0;e=v+24|0;b=v+28|0;c=v+36|0;_=v+40|0;T=v+44|0;P=v+52|0;O=v+56|0;j=v+60|0;v=h|0;H=h+4|0;z=h+8|0;l=h+12|0;D=h+16|0;A=h+20|0;o=h+24|0;N=h+28|0;E=h+32|0;V=h+36|0;F=h+40|0;I=h+44|0;B=h+48|0;R=h+52|0;U=h+56|0;L=h+60|0;k=x+192|0;G=x+4|0;x=f|0;W=S|0;he=f+8|0;fe=S+8|0;ge=f+4|0;Ce=S+4|0;Se=g+4|0;ye=C+4|0;ve=g+8|0;xe=C+8|0;Me=g|0;Te=C|0;De=0;do{do{if((r[(r[w>>2]|0)+(De<<2)>>2]|0)!=0){Pe=r[M>>2]|0;we=r[Pe+(De*80|0)+64>>2]|0;me=+p[y>>2];ee=+p[m>>2];ue=+p[i>>2];$=+p[u>>2];be=+p[e>>2];K=+p[b>>2];ne=+p[c>>2];ie=+p[_>>2];te=+p[T>>2];J=+p[Pe+(De*80|0)>>2];Y=+p[Pe+(De*80|0)+16>>2];q=+p[Pe+(De*80|0)+32>>2];Q=+p[Pe+(De*80|0)+4>>2];Z=+p[Pe+(De*80|0)+20>>2];X=+p[Pe+(De*80|0)+36>>2];ce=+p[Pe+(De*80|0)+8>>2];de=+p[Pe+(De*80|0)+24>>2];le=+p[Pe+(De*80|0)+40>>2];pe=+p[Pe+(De*80|0)+48>>2];ae=+p[Pe+(De*80|0)+52>>2];se=+p[Pe+(De*80|0)+56>>2];oe=+p[P>>2]+(me*pe+ee*ae+ue*se);re=+p[O>>2]+($*pe+be*ae+K*se);_e=+p[j>>2]+(ne*pe+ie*ae+te*se);p[v>>2]=me*J+ee*Y+ue*q;p[H>>2]=me*Q+ee*Z+ue*X;p[z>>2]=me*ce+ee*de+ue*le;p[l>>2]=0.0;p[D>>2]=$*J+be*Y+K*q;p[A>>2]=$*Q+be*Z+K*X;p[o>>2]=$*ce+be*de+K*le;p[N>>2]=0.0;p[E>>2]=ne*J+ie*Y+te*q;p[V>>2]=ne*Q+ie*Z+te*X;p[F>>2]=ne*ce+ie*de+te*le;p[I>>2]=0.0;p[B>>2]=oe;p[R>>2]=re;p[U>>2]=_e;p[L>>2]=0.0;mrt[r[(r[we>>2]|0)+8>>2]&1023](we,h,f,g);we=r[k>>2]|0;mrt[r[(r[we>>2]|0)+8>>2]&1023](we,G,C,S);do{if(+p[x>>2]>+p[W>>2]){Ae=0}else{if(+p[Me>>2]<+p[Te>>2]){Ae=0;break}Ae=1}}while(0);do{if(+p[he>>2]>+p[fe>>2]){Fe=0}else{if(+p[ve>>2]<+p[xe>>2]){Fe=0;break}Fe=Ae}}while(0);if(+p[ge>>2]<=+p[Ce>>2]){if(!(+p[Se>>2]<+p[ye>>2]|Fe^1)){break}}we=r[(r[w>>2]|0)+(De<<2)>>2]|0;jnt[r[r[we>>2]>>2]&2047](we);we=r[t>>2]|0;Znt[r[(r[we>>2]|0)+60>>2]&2047](we,r[(r[w>>2]|0)+(De<<2)>>2]|0);r[(r[w>>2]|0)+(De<<2)>>2]=0}}while(0);De=De+1|0}while((De|0)<(a|0));d=s;return}function GRe(e){e=e|0;return}function WRe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0,V=0,E=0,N=0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0,Y=0,J=0,K=0;n=d;d=d+224|0;_=n+64|0;o=n+128|0;s=n+144|0;a=n+160|0;l=n+176|0;c=n+192|0;b=n+208|0;u=e+4|0;m=r[u>>2]|0;h=r[m+192>>2]|0;f=+p[m+4>>2];g=+p[m+8>>2];C=+p[m+12>>2];S=+p[m+16>>2];y=+p[m+20>>2];v=+p[m+24>>2];x=+p[m+28>>2];M=+p[m+32>>2];T=+p[m+36>>2];D=+p[m+40>>2];P=+p[m+44>>2];w=+p[m+48>>2];A=+p[m+52>>2];F=+p[m+56>>2];R=+p[m+60>>2];I=+p[m+64>>2];B=m+68|0;V=n|0;r[V>>2]=r[B>>2];r[V+4>>2]=r[B+4>>2];r[V+8>>2]=r[B+8>>2];r[V+12>>2]=r[B+12>>2];B=m+84|0;E=n+16|0;r[E>>2]=r[B>>2];r[E+4>>2]=r[B+4>>2];r[E+8>>2]=r[B+8>>2];r[E+12>>2]=r[B+12>>2];B=m+100|0;N=n+32|0;r[N>>2]=r[B>>2];r[N+4>>2]=r[B+4>>2];r[N+8>>2]=r[B+8>>2];r[N+12>>2]=r[B+12>>2];B=m+116|0;m=n+48|0;r[m>>2]=r[B>>2];r[m+4>>2]=r[B+4>>2];r[m+8>>2]=r[B+8>>2];r[m+12>>2]=r[B+12>>2];B=r[h+24>>2]|0;k=+p[B+(i*80|0)>>2];O=+p[B+(i*80|0)+16>>2];L=+p[B+(i*80|0)+32>>2];U=+p[B+(i*80|0)+4>>2];G=+p[B+(i*80|0)+20>>2];W=+p[B+(i*80|0)+36>>2];z=+p[B+(i*80|0)+8>>2];H=+p[B+(i*80|0)+24>>2];j=+p[B+(i*80|0)+40>>2];X=+p[B+(i*80|0)+48>>2];Z=+p[B+(i*80|0)+52>>2];Q=+p[B+(i*80|0)+56>>2];p[_>>2]=f*k+g*O+C*L;p[_+4>>2]=f*U+g*G+C*W;p[_+8>>2]=f*z+g*H+C*j;p[_+12>>2]=0.0;p[_+16>>2]=y*k+v*O+x*L;p[_+20>>2]=y*U+v*G+x*W;p[_+24>>2]=y*z+v*H+x*j;p[_+28>>2]=0.0;p[_+32>>2]=T*k+D*O+P*L;p[_+36>>2]=T*U+D*G+P*W;p[_+40>>2]=T*z+D*H+P*j;p[_+44>>2]=0.0;p[_+48>>2]=A+(f*X+g*Z+C*Q);p[_+52>>2]=F+(y*X+v*Z+x*Q);p[_+56>>2]=R+(T*X+D*Z+P*Q);p[_+60>>2]=0.0;mrt[r[(r[t>>2]|0)+8>>2]&1023](t,_,o,s);B=e+8|0;h=r[B>>2]|0;q=r[h+192>>2]|0;mrt[r[(r[q>>2]|0)+8>>2]&1023](q,h+4|0,a,l);do{if(+p[o>>2]>+p[l>>2]){Y=0}else{if(+p[s>>2]<+p[a>>2]){Y=0;break}Y=1}}while(0);do{if(+p[o+8>>2]>+p[l+8>>2]){J=0}else{if(+p[s+8>>2]<+p[a+8>>2]){J=0;break}J=Y}}while(0);if(+p[o+4>>2]>+p[l+4>>2]){d=n;return}if(+p[s+4>>2]<+p[a+4>>2]|J^1){d=n;return}J=r[u>>2]|0;Y=J+4|0;h=_;r[Y>>2]=r[h>>2];r[Y+4>>2]=r[h+4>>2];r[Y+8>>2]=r[h+8>>2];r[Y+12>>2]=r[h+12>>2];Y=J+20|0;q=_+16|0;r[Y>>2]=r[q>>2];r[Y+4>>2]=r[q+4>>2];r[Y+8>>2]=r[q+8>>2];r[Y+12>>2]=r[q+12>>2];Y=J+36|0;K=_+32|0;r[Y>>2]=r[K>>2];r[Y+4>>2]=r[K+4>>2];r[Y+8>>2]=r[K+8>>2];r[Y+12>>2]=r[K+12>>2];Y=J+52|0;J=_+48|0;r[Y>>2]=r[J>>2];r[Y+4>>2]=r[J+4>>2];r[Y+8>>2]=r[J+8>>2];r[Y+12>>2]=r[J+12>>2];Y=r[u>>2]|0;_=Y+68|0;r[_>>2]=r[h>>2];r[_+4>>2]=r[h+4>>2];r[_+8>>2]=r[h+8>>2];r[_+12>>2]=r[h+12>>2];h=Y+84|0;r[h>>2]=r[q>>2];r[h+4>>2]=r[q+4>>2];r[h+8>>2]=r[q+8>>2];r[h+12>>2]=r[q+12>>2];q=Y+100|0;r[q>>2]=r[K>>2];r[q+4>>2]=r[K+4>>2];r[q+8>>2]=r[K+8>>2];r[q+12>>2]=r[K+12>>2];K=Y+116|0;r[K>>2]=r[J>>2];r[K+4>>2]=r[J+4>>2];r[K+8>>2]=r[J+8>>2];r[K+12>>2]=r[J+12>>2];J=(r[u>>2]|0)+192|0;K=r[J>>2]|0;r[J>>2]=t;t=e+24|0;if((r[(r[t>>2]|0)+(i<<2)>>2]|0)==0){J=r[e+12>>2]|0;Y=drt[r[(r[J>>2]|0)+8>>2]&127](J,r[u>>2]|0,r[B>>2]|0,r[e+28>>2]|0)|0;r[(r[t>>2]|0)+(i<<2)>>2]=Y}Y=e+20|0;J=r[Y>>2]|0;q=r[J>>2]|0;if((r[J+136>>2]|0)==(r[u>>2]|0)){srt[r[q+8>>2]&511](J,-1,i)}else{srt[r[q+12>>2]&511](J,-1,i)}J=r[(r[t>>2]|0)+(i<<2)>>2]|0;i=e+16|0;Unt[r[(r[J>>2]|0)+8>>2]&255](J,r[u>>2]|0,r[B>>2]|0,r[i>>2]|0,r[Y>>2]|0);Y=r[(r[i>>2]|0)+20>>2]|0;do{if((Y|0)!=0){if(((Knt[r[(r[Y>>2]|0)+48>>2]&4095](Y)|0)&2|0)==0){break}B=r[(r[i>>2]|0)+20>>2]|0;J=r[(r[B>>2]|0)+52>>2]|0;p[c>>2]=1.0;p[c+4>>2]=1.0;p[c+8>>2]=1.0;p[c+12>>2]=0.0;mrt[J&1023](B,o,s,c);B=r[(r[i>>2]|0)+20>>2]|0;J=r[(r[B>>2]|0)+52>>2]|0;p[b>>2]=1.0;p[b+4>>2]=1.0;p[b+8>>2]=1.0;p[b+12>>2]=0.0;mrt[J&1023](B,a,l,b)}}while(0);r[(r[u>>2]|0)+192>>2]=K;K=r[u>>2]|0;p[K+4>>2]=f;p[K+8>>2]=g;p[K+12>>2]=C;p[K+16>>2]=S;p[K+20>>2]=y;p[K+24>>2]=v;p[K+28>>2]=x;p[K+32>>2]=M;p[K+36>>2]=T;p[K+40>>2]=D;p[K+44>>2]=P;p[K+48>>2]=w;p[K+52>>2]=A;p[K+56>>2]=F;p[K+60>>2]=R;p[K+64>>2]=I;K=r[u>>2]|0;u=K+68|0;r[u>>2]=r[V>>2];r[u+4>>2]=r[V+4>>2];r[u+8>>2]=r[V+8>>2];r[u+12>>2]=r[V+12>>2];V=K+84|0;r[V>>2]=r[E>>2];r[V+4>>2]=r[E+4>>2];r[V+8>>2]=r[E+8>>2];r[V+12>>2]=r[E+12>>2];E=K+100|0;r[E>>2]=r[N>>2];r[E+4>>2]=r[N+4>>2];r[E+8>>2]=r[N+8>>2];r[E+12>>2]=r[N+12>>2];N=K+116|0;r[N>>2]=r[m>>2];r[N+4>>2]=r[m+4>>2];r[N+8>>2]=r[m+8>>2];r[N+12>>2]=r[m+12>>2];d=n;return}function zRe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,d=0.0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0,Q=0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0;s=(n[e+28|0]&1)!=0;a=s?i:t;l=s?t:i;i=a+192|0;t=r[e+12>>2]|0;if((t|0)<=0){d=1.0;return+d}s=r[i>>2]|0;c=s+24|0;b=a+4|0;u=a+8|0;m=a+12|0;h=a+16|0;f=a+20|0;g=a+24|0;C=a+28|0;S=a+32|0;y=a+36|0;v=a+40|0;x=a+44|0;M=a+48|0;T=a+52|0;D=a+56|0;P=a+60|0;w=a+64|0;A=e+20|0;F=+p[b>>2];R=+p[u>>2];I=+p[m>>2];B=+p[h>>2];V=+p[f>>2];E=+p[g>>2];N=+p[C>>2];k=+p[S>>2];O=+p[y>>2];L=+p[v>>2];U=+p[x>>2];G=+p[M>>2];W=+p[T>>2];z=+p[D>>2];H=+p[P>>2];j=+p[w>>2];e=0;X=1.0;while(1){Z=r[c>>2]|0;Q=r[Z+(e*80|0)+64>>2]|0;q=+p[Z+(e*80|0)>>2];Y=+p[Z+(e*80|0)+16>>2];J=+p[Z+(e*80|0)+32>>2];K=+p[Z+(e*80|0)+4>>2];$=+p[Z+(e*80|0)+20>>2];ee=+p[Z+(e*80|0)+36>>2];te=+p[Z+(e*80|0)+8>>2];ie=+p[Z+(e*80|0)+24>>2];ne=+p[Z+(e*80|0)+40>>2];_e=+p[Z+(e*80|0)+48>>2];re=+p[Z+(e*80|0)+52>>2];oe=+p[Z+(e*80|0)+56>>2];p[b>>2]=F*q+R*Y+I*J;p[u>>2]=F*K+R*$+I*ee;p[m>>2]=F*te+R*ie+I*ne;p[h>>2]=0.0;p[f>>2]=V*q+E*Y+N*J;p[g>>2]=V*K+E*$+N*ee;p[C>>2]=V*te+E*ie+N*ne;p[S>>2]=0.0;p[y>>2]=O*q+L*Y+U*J;p[v>>2]=O*K+L*$+U*ee;p[x>>2]=O*te+L*ie+U*ne;p[M>>2]=0.0;p[T>>2]=W+(F*_e+R*re+I*oe);p[D>>2]=z+(V*_e+E*re+N*oe);p[P>>2]=H+(O*_e+L*re+U*oe);p[w>>2]=0.0;r[i>>2]=Q;Q=r[(r[A>>2]|0)+(e<<2)>>2]|0;oe=+k_t[r[(r[Q>>2]|0)+12>>2]&127](Q,a,l,_,o);re=oe<X?oe:X;r[i>>2]=s;p[b>>2]=F;p[u>>2]=R;p[m>>2]=I;p[h>>2]=B;p[f>>2]=V;p[g>>2]=E;p[C>>2]=N;p[S>>2]=k;p[y>>2]=O;p[v>>2]=L;p[x>>2]=U;p[M>>2]=G;p[T>>2]=W;p[D>>2]=z;p[P>>2]=H;p[w>>2]=j;Q=e+1|0;if((Q|0)<(t|0)){e=Q;X=re}else{d=re;break}}return+d}function HRe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0;i=e+12|0;n=r[i>>2]|0;if((n|0)<=0){return}_=e+20|0;e=0;o=n;while(1){n=r[(r[_>>2]|0)+(e<<2)>>2]|0;if((n|0)==0){s=o}else{Znt[r[(r[n>>2]|0)+16>>2]&2047](n,t);s=r[i>>2]|0}n=e+1|0;if((n|0)<(s|0)){e=n;o=s}else{break}}return}function jRe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function XRe(e,t){e=e|0;t=t|0;var i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0;i=d;d=d+48|0;n=i|0;_=i+16|0;o=i+32|0;s=r[t+36>>2]|0;a=e+4|0;l=r[(r[(r[(r[a>>2]|0)+192>>2]|0)+24>>2]|0)+(s*80|0)+64>>2]|0;c=e+16|0;b=r[(r[c>>2]|0)+20>>2]|0;if((b|0)==0){WRe(e,l,s);d=i;return}if(((Knt[r[(r[b>>2]|0)+48>>2]&4095](b)|0)&2|0)==0){WRe(e,l,s);d=i;return}b=r[a>>2]|0;u=+p[b+4>>2];m=+p[b+8>>2];h=+p[b+12>>2];f=+p[b+20>>2];g=+p[b+24>>2];C=+p[b+28>>2];S=+p[b+36>>2];y=+p[b+40>>2];v=+p[b+44>>2];x=+p[b+52>>2];M=+p[b+56>>2];T=+p[b+60>>2];D=+p[t+16>>2];P=+p[t>>2];w=+p[t+20>>2];A=+p[t+4>>2];F=+p[t+24>>2];R=+p[t+8>>2];I=(D-P)*.5+0.0;B=(w-A)*.5+0.0;V=(F-R)*.5+0.0;E=(D+P)*.5;P=(w+A)*.5;A=(F+R)*.5;R=+H(+u);F=+H(+m);w=+H(+h);D=+H(+f);N=+H(+g);k=+H(+C);O=+H(+S);L=+H(+y);U=x+(u*E+m*P+h*A);h=M+(f*E+g*P+C*A);C=T+(S*E+y*P+v*A);A=I*R+B*F+V*w;w=I*D+B*N+V*k;k=I*O+B*L+V*+H(+v);p[n>>2]=U-A;p[n+4>>2]=h-w;p[n+8>>2]=C-k;p[n+12>>2]=0.0;p[_>>2]=A+U;p[_+4>>2]=h+w;p[_+8>>2]=C+k;p[_+12>>2]=0.0;t=r[(r[c>>2]|0)+20>>2]|0;c=r[(r[t>>2]|0)+52>>2]|0;p[o>>2]=1.0;p[o+4>>2]=0.0;p[o+8>>2]=0.0;p[o+12>>2]=0.0;mrt[c&1023](t,n,_,o);WRe(e,l,s);d=i;return}function ZRe(e){e=e|0;var t=0,i=0,n=0;r[e>>2]=19792;r[e+12>>2]=21136;t=e+60|0;i=r[t>>2]|0;n=e+76|0;Znt[r[(r[i>>2]|0)+20>>2]&2047](i,r[n>>2]|0);i=r[t>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,r[n>>2]|0);if((e|0)==0){return}SBe(e);return}function QRe(e){e=e|0;var t=0,i=0,n=0;r[e>>2]=19792;r[e+12>>2]=21136;t=e+60|0;i=r[t>>2]|0;n=e+76|0;Znt[r[(r[i>>2]|0)+20>>2]&2047](i,r[n>>2]|0);i=r[t>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,r[n>>2]|0);return}function qRe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=e+76|0;if((r[i>>2]|0)==0){return}e=t+4|0;_=r[e>>2]|0;o=t+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[e>>2]|0}b=t+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=t+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[e>>2]|0}else{a=_}}while(0);_=(r[t+12>>2]|0)+(a<<2)|0;if((_|0)==0){m=a}else{r[_>>2]=r[i>>2];m=r[e>>2]|0}r[e>>2]=m+1;return}function YRe(e){e=e|0;var t=0,i=0,n=0;r[e>>2]=21136;t=e+48|0;i=r[t>>2]|0;n=e+64|0;Znt[r[(r[i>>2]|0)+20>>2]&2047](i,r[n>>2]|0);i=r[t>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,r[n>>2]|0);if((e|0)==0){return}SBe(e);return}function JRe(e){e=e|0;var t=0,i=0,n=0;r[e>>2]=21136;t=e+48|0;i=r[t>>2]|0;n=e+64|0;Znt[r[(r[i>>2]|0)+20>>2]&2047](i,r[n>>2]|0);i=r[t>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,r[n>>2]|0);return}function KRe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0;_=d;d=d+104|0;o=_|0;s=r[e+48>>2]|0;a=e+8|0;l=e+4|0;if((r[(r[(r[l>>2]|0)+192>>2]|0)+4>>2]|0)>=20){d=_;return}c=r[a>>2]|0;r[o+8>>2]=0;b=o|0;p[o+12>>2]=1.0;p[o+16>>2]=1.0;p[o+20>>2]=1.0;p[o+24>>2]=0.0;u=o+52|0;r[u>>2]=0;r[b>>2]=24592;r[o+4>>2]=1;m=o+56|0;h=t;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];h=o+72|0;m=t+16|0;r[h>>2]=r[m>>2];r[h+4>>2]=r[m+4>>2];r[h+8>>2]=r[m+8>>2];r[h+12>>2]=r[m+12>>2];m=o+88|0;h=t+32|0;r[m>>2]=r[h>>2];r[m+4>>2]=r[h+4>>2];r[m+8>>2]=r[h+8>>2];r[m+12>>2]=r[h+12>>2];p[o+44>>2]=+p[e+56>>2];h=c+192|0;c=r[h>>2]|0;r[h>>2]=o;o=drt[r[(r[s>>2]|0)+8>>2]&127](s,r[l>>2]|0,r[a>>2]|0,r[e+64>>2]|0)|0;m=e+44|0;t=r[m>>2]|0;f=r[t>>2]|0;if((r[t+136>>2]|0)==(r[a>>2]|0)){srt[r[f+8>>2]&511](t,i,n)}else{srt[r[f+12>>2]&511](t,i,n)}Unt[r[(r[o>>2]|0)+8>>2]&255](o,r[l>>2]|0,r[a>>2]|0,r[e+52>>2]|0,r[m>>2]|0);jnt[r[r[o>>2]>>2]&2047](o);Znt[r[(r[s>>2]|0)+60>>2]&2047](s,o);r[h>>2]=c;r[b>>2]=21200;b=r[u>>2]|0;if((b|0)==0){d=_;return}r[9804]=(r[9804]|0)+1;SBe(r[b-80+76>>2]|0);d=_;return}function $Re(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0.0,m=0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0,G=0;s=d;d=d+64|0;a=s|0;l=(n[e+8|0]&1)!=0;c=l?i:t;b=l?t:i;i=r[b+192>>2]|0;if(((r[i+4>>2]|0)-21|0)>>>0>=9){d=s;return}t=i;if((r[(r[c+192>>2]|0)+4>>2]|0)>=20){d=s;return}u=+z_t[r[(r[i>>2]|0)+44>>2]&1023](t);l=e+76|0;m=o+4|0;r[m>>2]=r[l>>2];r[e+64>>2]=_;p[e+68>>2]=u;r[e+56>>2]=o;_=r[e+20>>2]|0;h=+p[_+4>>2];f=+p[_+20>>2];g=+p[_+36>>2];C=+p[_+8>>2];S=+p[_+24>>2];y=+p[_+40>>2];v=+p[_+12>>2];x=+p[_+28>>2];M=+p[_+44>>2];T=-0.0-+p[_+52>>2];D=-0.0-+p[_+56>>2];P=-0.0-+p[_+60>>2];_=r[e+16>>2]|0;w=+p[_+4>>2];A=+p[_+20>>2];F=+p[_+36>>2];R=+p[_+8>>2];I=+p[_+24>>2];B=+p[_+40>>2];V=+p[_+12>>2];E=+p[_+28>>2];N=+p[_+44>>2];k=+p[_+52>>2];O=+p[_+56>>2];L=+p[_+60>>2];p[a>>2]=h*w+f*A+g*F;p[a+4>>2]=h*R+f*I+g*B;p[a+8>>2]=h*V+f*E+g*N;p[a+12>>2]=0.0;p[a+16>>2]=C*w+S*A+y*F;p[a+20>>2]=C*R+S*I+y*B;p[a+24>>2]=C*V+S*E+y*N;p[a+28>>2]=0.0;p[a+32>>2]=v*w+x*A+M*F;p[a+36>>2]=v*R+x*I+M*B;p[a+40>>2]=v*V+x*E+M*N;p[a+44>>2]=0.0;p[a+48>>2]=h*T+f*D+g*P+(h*k+f*O+g*L);p[a+52>>2]=C*T+S*D+y*P+(C*k+S*O+y*L);p[a+56>>2]=v*T+x*D+M*P+(v*k+x*O+M*L);p[a+60>>2]=0.0;U=r[_+192>>2]|0;_=e+24|0;G=e+40|0;mrt[r[(r[U>>2]|0)+8>>2]&1023](U,a,_,G);a=G|0;p[a>>2]=+p[a>>2]+u;a=e+44|0;p[a>>2]=+p[a>>2]+u;a=e+48|0;p[a>>2]=+p[a>>2]+u;a=_|0;p[a>>2]=+p[a>>2]-u;a=e+28|0;p[a>>2]=+p[a>>2]-u;a=e+32|0;p[a>>2]=+p[a>>2]-u;a=r[l>>2]|0;r[a+1108>>2]=c;r[a+1112>>2]=b;mrt[r[(r[i>>2]|0)+60>>2]&1023](t,e+12|0,_,G);G=r[m>>2]|0;if((r[G+1116>>2]|0)==0){d=s;return}if((r[G+1108>>2]|0)==(r[o+136>>2]|0)){nwe(G,o+8|0,o+72|0);d=s;return}else{nwe(G,o+72|0,o+8|0);d=s;return}}function eIe(e){e=e|0;return}function tIe(e){e=e|0;return}function iIe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0,te=0,ie=0,ne=0.0,_e=0.0,re=0.0;o=d;d=d+240|0;_=o|0;s=o+16|0;a=o+32|0;l=(n[e+8|0]&1)!=0;e=l?i:t;c=l?t:i;b=+p[e+116>>2];u=+p[e+52>>2];m=b-u;h=+p[e+120>>2];f=+p[e+56>>2];g=h-f;C=+p[e+124>>2];S=+p[e+60>>2];y=C-S;v=+p[e+248>>2];if(m*m+g*g+y*y<v*v){x=1.0;d=o;return+x}v=+p[c+4>>2];y=+p[c+20>>2];g=+p[c+36>>2];m=+p[c+8>>2];M=+p[c+24>>2];T=+p[c+40>>2];D=+p[c+12>>2];P=+p[c+28>>2];w=+p[c+44>>2];A=-0.0-+p[c+52>>2];F=-0.0-+p[c+56>>2];R=-0.0-+p[c+60>>2];I=v*A+y*F+g*R;B=m*A+M*F+T*R;V=D*A+P*F+w*R;R=+p[e+4>>2];F=+p[e+20>>2];A=+p[e+36>>2];E=+p[e+8>>2];N=+p[e+24>>2];k=+p[e+40>>2];O=+p[e+12>>2];L=+p[e+28>>2];U=+p[e+44>>2];G=I+(v*u+y*f+g*S);W=B+(m*u+M*f+T*S);z=V+(D*u+P*f+w*S);S=+p[e+68>>2];f=+p[e+84>>2];u=+p[e+100>>2];H=+p[e+72>>2];j=+p[e+88>>2];X=+p[e+104>>2];Z=+p[e+76>>2];Q=+p[e+92>>2];q=+p[e+108>>2];Y=I+(v*b+y*h+g*C);I=B+(m*b+M*h+T*C);B=V+(D*b+P*h+w*C);i=r[c+192>>2]|0;if(((r[i+4>>2]|0)-21|0)>>>0>=9){x=1.0;d=o;return+x}c=_|0;p[c>>2]=G;t=_+4|0;p[t>>2]=W;l=_+8|0;p[l>>2]=z;p[_+12>>2]=0.0;if(Y<G){p[c>>2]=Y;J=Y}else{J=G}if(I<W){p[t>>2]=I;K=I}else{K=W}if(B<z){p[l>>2]=B;$=B}else{$=z}ee=s|0;p[ee>>2]=G;te=s+4|0;p[te>>2]=W;ie=s+8|0;p[ie>>2]=z;p[s+12>>2]=0.0;if(G<Y){p[ee>>2]=Y;ne=Y}else{ne=G}if(W<I){p[te>>2]=I;_e=I}else{_e=W}if(z<B){p[ie>>2]=B;re=B}else{re=z}C=+p[e+244>>2];p[c>>2]=J-C;p[t>>2]=K-C;p[l>>2]=$-C;p[ee>>2]=C+ne;p[te>>2]=C+_e;p[ie>>2]=C+re;r[a>>2]=18528;p[a+4>>2]=v*R+y*F+g*A;p[a+8>>2]=v*E+y*N+g*k;p[a+12>>2]=v*O+y*L+g*U;p[a+16>>2]=0.0;p[a+20>>2]=m*R+M*F+T*A;p[a+24>>2]=m*E+M*N+T*k;p[a+28>>2]=m*O+M*L+T*U;p[a+32>>2]=0.0;p[a+36>>2]=D*R+P*F+w*A;p[a+40>>2]=D*E+P*N+w*k;p[a+44>>2]=D*O+P*L+w*U;p[a+48>>2]=0.0;p[a+52>>2]=G;p[a+56>>2]=W;p[a+60>>2]=z;p[a+64>>2]=0.0;p[a+68>>2]=v*S+y*f+g*u;p[a+72>>2]=v*H+y*j+g*X;p[a+76>>2]=v*Z+y*Q+g*q;p[a+80>>2]=0.0;p[a+84>>2]=m*S+M*f+T*u;p[a+88>>2]=m*H+M*j+T*X;p[a+92>>2]=m*Z+M*Q+T*q;p[a+96>>2]=0.0;p[a+100>>2]=D*S+P*f+w*u;p[a+104>>2]=D*H+P*j+w*X;p[a+108>>2]=D*Z+P*Q+w*q;p[a+112>>2]=0.0;p[a+116>>2]=Y;p[a+120>>2]=I;p[a+124>>2]=B;p[a+128>>2]=0.0;p[a+196>>2]=C;ie=a+200|0;te=e+240|0;p[ie>>2]=+p[te>>2];if((i|0)==0){x=1.0;d=o;return+x}mrt[r[(r[i>>2]|0)+60>>2]&1023](i,a|0,_,s);C=+p[ie>>2];if(C>=+p[te>>2]){x=1.0;d=o;return+x}p[te>>2]=C;x=C;d=o;return+x}function nIe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function _Ie(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0.0,h=0,f=0,g=0,C=0;n=d;d=d+776|0;i=n|0;o=n+64|0;s=n+240|0;a=n+296|0;l=n+400|0;c=n+760|0;p[i>>2]=1.0;vBe(i+4|0,0,16);p[i+20>>2]=1.0;vBe(i+24|0,0,16);p[i+40>>2]=1.0;vBe(i+44|0,0,20);r[o>>2]=19544;b=o+164|0;r[o+168>>2]=0;p[o+172>>2]=0.0;u=e+200|0;p[b>>2]=+p[u>>2];m=+p[e+196>>2];r[s+8>>2]=0;p[s+12>>2]=1.0;p[s+16>>2]=1.0;p[s+20>>2]=1.0;p[s+24>>2]=0.0;r[s>>2]=25528;r[s+4>>2]=8;p[s+28>>2]=m;p[s+44>>2]=m;r[a+8>>2]=0;h=a|0;p[a+12>>2]=1.0;p[a+16>>2]=1.0;p[a+20>>2]=1.0;p[a+24>>2]=0.0;p[a+44>>2]=.03999999910593033;f=a+52|0;r[f>>2]=0;r[h>>2]=24592;r[a+4>>2]=1;g=a+56|0;C=t;r[g>>2]=r[C>>2];r[g+4>>2]=r[C+4>>2];r[g+8>>2]=r[C+8>>2];r[g+12>>2]=r[C+12>>2];C=a+72|0;g=t+16|0;r[C>>2]=r[g>>2];r[C+4>>2]=r[g+4>>2];r[C+8>>2]=r[g+8>>2];r[C+12>>2]=r[g+12>>2];g=a+88|0;C=t+32|0;r[g>>2]=r[C>>2];r[g+4>>2]=r[C+4>>2];r[g+8>>2]=r[C+8>>2];r[g+12>>2]=r[C+12>>2];p[l+308>>2]=9999999747378752.0e-20;_[l+332>>1]=0;r[c>>2]=21768;r[c+4>>2]=l;r[c+8>>2]=s;r[c+12>>2]=a;do{if(fFe(c,e+4|0,e+68|0,i,i,o)|0){m=+p[b>>2];if(+p[u>>2]<=m){break}p[u>>2]=m}}while(0);r[h>>2]=21200;h=r[f>>2]|0;if((h|0)==0){d=n;return}r[9804]=(r[9804]|0)+1;SBe(r[h-80+76>>2]|0);d=n;return}function rIe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function oIe(e){e=e|0;var t=0,i=0,_=0;r[e>>2]=21656;if((n[e+16|0]&1)==0){t=e;SBe(t);return}i=r[e+20>>2]|0;if((i|0)==0){t=e;SBe(t);return}_=r[e+4>>2]|0;Znt[r[(r[_>>2]|0)+16>>2]&2047](_,i);t=e;SBe(t);return}function sIe(e){e=e|0;var t=0,i=0;r[e>>2]=21656;if((n[e+16|0]&1)==0){return}t=r[e+20>>2]|0;if((t|0)==0){return}i=r[e+4>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,t);return}function aIe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0.0,X=0.0,q=0.0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0.0,ue=0.0,me=0.0,he=0.0,fe=0.0,ge=0.0,Ce=0.0,Se=0.0,ye=0.0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0.0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0,it=0,nt=0,_t=0,rt=0,ot=0,st=0,at=0,pt=0,lt=0,dt=0,ct=0,bt=0,ut=0,mt=0.0,ht=0,ft=0,gt=0,Ct=0,St=0,yt=0,vt=0,xt=0.0,Mt=0.0,Tt=0.0,Dt=0.0,Pt=0,wt=0,At=0,Ft=0,Rt=0,It=0,Bt=0,Vt=0,Et=0,Nt=0,kt=0,Ot=0.0,Lt=0,Ut=0.0,Gt=0,Wt=0,zt=0,Ht=0,jt=0,Xt=0,Zt=0,Qt=0,qt=0.0,Yt=0.0,Jt=0.0,Kt=0,$t=0,ei=0,ti=0,ii=0,ni=0,_i=0;s=d;d=d+840|0;a=s|0;l=s+24|0;c=s+40|0;b=s+48|0;u=s+64|0;m=s+72|0;h=s+88|0;f=s+96|0;g=s+112|0;C=s+128|0;S=s+264|0;y=s+344|0;v=s+352|0;x=s+368|0;M=s+384|0;T=s+408|0;D=s+424|0;P=s+440|0;w=s+456|0;A=s+472|0;F=e+20|0;R=r[F>>2]|0;if((R|0)==0){I=r[e+4>>2]|0;B=h_t[r[(r[I>>2]|0)+12>>2]&511](I,t,i)|0;r[F>>2]=B;n[e+16|0]=1;V=B}else{V=R}R=o+4|0;r[R>>2]=V;V=r[t+192>>2]|0;B=V;I=r[i+192>>2]|0;E=I;N=V+4|0;k=I+4|0;do{if((r[N>>2]|0)==10){if((r[k>>2]|0)!=10){O=k;break}L=V;U=I;G=V;W=r[(r[V>>2]|0)+28>>2]|0;Knt[W&4095](G)|0;G=I;W=r[(r[I>>2]|0)+28>>2]|0;Knt[W&4095](G)|0;z=+p[(r[F>>2]|0)+1120>>2];G=r[V+52>>2]|0;X=+p[L+28+(G<<2)>>2];q=+p[L+28+(((G+2|0)%3|0)<<2)>>2];L=r[I+52>>2]|0;Y=+p[U+28+(L<<2)>>2];J=+p[U+28+(((L+2|0)%3|0)<<2)>>2];K=+p[t+4+(G<<2)>>2];$=+p[t+20+(G<<2)>>2];ee=+p[t+36+(G<<2)>>2];te=+p[i+4+(L<<2)>>2];ie=+p[i+20+(L<<2)>>2];ne=+p[i+36+(L<<2)>>2];_e=+p[i+52>>2];re=+p[i+56>>2];oe=+p[i+60>>2];se=_e-+p[t+52>>2];ae=re-+p[t+56>>2];pe=oe-+p[t+60>>2];le=K*te+$*ie+ee*ne;de=K*se+$*ae+ee*pe;ce=te*se+ie*ae+ne*pe;be=1.0-le*le;do{if(be==0.0){ue=0.0}else{me=(de-le*ce)/be;he=-0.0-X;if(me<he){ue=he;break}if(me<=X){ue=me;break}ue=X}}while(0);be=le*ue-ce;me=-0.0-Y;do{if(be<me){he=le*me+de;fe=-0.0-X;if(he<fe){ge=fe;Ce=me;break}if(he<=X){ge=he;Ce=me;break}ge=X;Ce=me}else{if(be<=Y){ge=ue;Ce=be;break}he=Y*le+de;fe=-0.0-X;if(he<fe){ge=fe;Ce=Y;break}if(he<=X){ge=he;Ce=Y;break}ge=X;Ce=Y}}while(0);Y=te*Ce;X=ie*Ce;de=ne*Ce;le=Y+(se-K*ge);be=X+(ae-$*ge);me=de+(pe-ee*ge);ce=me*me+(le*le+be*be);he=+j(+ce);fe=he-q-J;if(fe<=z){do{if(ce>1.4210854715202004e-14){Se=-0.0-1.0/he;ye=le*Se;ve=be*Se;xe=me*Se;p[f>>2]=ye;p[f+4>>2]=ve;p[f+8>>2]=xe;p[f+12>>2]=0.0;Me=ye;Te=ve;De=xe}else{if(+H(+ee)>.7071067690849304){xe=1.0/+j(+($*$+ee*ee));p[f>>2]=0.0;ve=xe*(-0.0-ee);p[f+4>>2]=ve;ye=$*xe;p[f+8>>2]=ye;Me=0.0;Te=ve;De=ye;break}else{ye=1.0/+j(+(K*K+$*$));ve=ye*(-0.0-$);p[f>>2]=ve;xe=K*ye;p[f+4>>2]=xe;p[f+8>>2]=0.0;Me=ve;Te=xe;De=0.0;break}}}while(0);p[g>>2]=J*Me+(Y+_e);p[g+4>>2]=J*Te+(X+re);p[g+8>>2]=J*De+(de+oe);p[g+12>>2]=0.0}if(fe<z){nrt[r[(r[o>>2]|0)+16>>2]&127](o,f,g,fe)}L=r[R>>2]|0;if((r[L+1116>>2]|0)==0){d=s;return}if((r[L+1108>>2]|0)==(r[o+136>>2]|0)){nwe(L,o+8|0,o+72|0);d=s;return}else{nwe(L,o+72|0,o+8|0);d=s;return}}else{O=k}}while(0);k=C+128|0;p[k>>2]=999999984306749400.0;g=C+132|0;r[g>>2]=0;f=r[e+8>>2]|0;L=r[e+12>>2]|0;r[S>>2]=23568;G=S+4|0;p[G>>2]=0.0;U=S+8|0;p[U>>2]=1.0;W=S+12|0;p[W>>2]=0.0;p[S+16>>2]=0.0;r[S+20>>2]=L;r[S+24>>2]=f;f=S+28|0;r[f>>2]=B;L=S+32|0;r[L>>2]=E;r[S+36>>2]=r[N>>2];r[S+40>>2]=r[O>>2];Pe=V;p[S+44>>2]=+z_t[r[(r[Pe>>2]|0)+44>>2]&1023](B);we=I;p[S+48>>2]=+z_t[r[(r[we>>2]|0)+44>>2]&1023](E);n[S+52|0]=0;r[S+60>>2]=-1;r[S+72>>2]=1;r[f>>2]=B;r[L>>2]=E;De=+z_t[r[(r[Pe>>2]|0)+44>>2]&1023](B);Te=+z_t[r[(r[we>>2]|0)+44>>2]&1023](E);Me=De+Te+ +p[(r[F>>2]|0)+1120>>2];p[k>>2]=Me*Me;r[g>>2]=r[_+40>>2];g=t+4|0;k=C;E=g;r[k>>2]=r[E>>2];r[k+4>>2]=r[E+4>>2];r[k+8>>2]=r[E+8>>2];r[k+12>>2]=r[E+12>>2];we=C+16|0;B=t+20|0;r[we>>2]=r[B>>2];r[we+4>>2]=r[B+4>>2];r[we+8>>2]=r[B+8>>2];r[we+12>>2]=r[B+12>>2];Pe=C+32|0;L=t+36|0;r[Pe>>2]=r[L>>2];r[Pe+4>>2]=r[L+4>>2];r[Pe+8>>2]=r[L+8>>2];r[Pe+12>>2]=r[L+12>>2];f=C+48|0;Ae=t+52|0;r[f>>2]=r[Ae>>2];r[f+4>>2]=r[Ae+4>>2];r[f+8>>2]=r[Ae+8>>2];r[f+12>>2]=r[Ae+12>>2];Fe=i+4|0;Re=C+64|0;Ie=Fe;r[Re>>2]=r[Ie>>2];r[Re+4>>2]=r[Ie+4>>2];r[Re+8>>2]=r[Ie+8>>2];r[Re+12>>2]=r[Ie+12>>2];Be=C+80|0;Ve=i+20|0;r[Be>>2]=r[Ve>>2];r[Be+4>>2]=r[Ve+4>>2];r[Be+8>>2]=r[Ve+8>>2];r[Be+12>>2]=r[Ve+12>>2];Ee=C+96|0;Ne=i+36|0;r[Ee>>2]=r[Ne>>2];r[Ee+4>>2]=r[Ne+4>>2];r[Ee+8>>2]=r[Ne+8>>2];r[Ee+12>>2]=r[Ne+12>>2];ke=C+112|0;Oe=i+52|0;r[ke>>2]=r[Oe>>2];r[ke+4>>2]=r[Oe+4>>2];r[ke+8>>2]=r[Oe+8>>2];r[ke+12>>2]=r[Oe+12>>2];do{if((r[N>>2]|0)<7){if((r[O>>2]|0)>=7){break}r[y>>2]=18688;Le=V+52|0;if((r[Le>>2]|0)==0){break}Ue=I+52|0;if((r[Ue>>2]|0)==0){if((r[O>>2]|0)!=1){break}NDe(S,C,y|0,r[_+20>>2]|0,0);Me=+p[G>>2];Te=+p[U>>2];De=+p[W>>2];ge=1.0/+j(+(Me*Me+Te*Te+De*De));p[x>>2]=Me*ge;p[x+4>>2]=Te*ge;p[x+8>>2]=De*ge;p[x+12>>2]=0.0;Ge=M+16|0;n[Ge]=1;We=M+12|0;r[We>>2]=0;ze=M+4|0;r[ze>>2]=0;He=M+8|0;r[He>>2]=0;je=I+56|0;Xe=Fe|0;ge=+p[je>>2];Ze=i+8|0;De=+p[je+4>>2];Qe=i+12|0;Te=+p[je+8>>2];qe=i+52|0;Me=+p[qe>>2]+(+p[Xe>>2]*ge+ +p[Ze>>2]*De+ +p[Qe>>2]*Te);Ye=i+20|0;Je=i+24|0;Ke=i+28|0;$e=i+56|0;Ce=+p[$e>>2]+(ge*+p[Ye>>2]+De*+p[Je>>2]+Te*+p[Ke>>2]);et=i+36|0;tt=i+40|0;it=i+44|0;nt=i+60|0;ue=+p[nt>>2]+(ge*+p[et>>2]+De*+p[tt>>2]+Te*+p[it>>2]);r[9806]=(r[9806]|0)+1;_t=hBe(35)|0;do{if((_t|0)==0){n[Ge]=1;r[We>>2]=0;r[He>>2]=1;rt=0}else{ot=-(_t+4|0)&15;r[_t+ot>>2]=_t;st=_t+(ot+4)|0;n[Ge]=1;r[We>>2]=st;r[He>>2]=1;if((st|0)==0){rt=st;break}p[st>>2]=Me;p[st+4>>2]=Ce;p[st+8>>2]=ue;p[st+12>>2]=0.0;rt=st}}while(0);r[ze>>2]=1;ue=+p[je+16>>2];Ce=+p[je+20>>2];Me=+p[je+24>>2];fe=+p[qe>>2]+(+p[Xe>>2]*ue+ +p[Ze>>2]*Ce+ +p[Qe>>2]*Me);z=+p[$e>>2]+(ue*+p[Ye>>2]+Ce*+p[Je>>2]+Me*+p[Ke>>2]);oe=+p[nt>>2]+(ue*+p[et>>2]+Ce*+p[tt>>2]+Me*+p[it>>2]);r[9806]=(r[9806]|0)+1;_t=hBe(51)|0;if((_t|0)==0){at=0}else{st=-(_t+4|0)&15;r[_t+st>>2]=_t;at=_t+(st+4)|0}st=0;while(1){_t=at+(st<<4)|0;if((_t|0)!=0){ot=_t;_t=(r[We>>2]|0)+(st<<4)|0;r[ot>>2]=r[_t>>2];r[ot+4>>2]=r[_t+4>>2];r[ot+8>>2]=r[_t+8>>2];r[ot+12>>2]=r[_t+12>>2]}if((st|0)<0){st=st+1|0}else{break}}st=r[We>>2]|0;if((st|0)!=0){if((n[Ge]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[st-16+12>>2]|0)}r[We>>2]=0}n[Ge]=1;r[We>>2]=at;r[He>>2]=2;st=r[ze>>2]|0;_t=at+(st<<4)|0;if((_t|0)==0){pt=st;lt=2}else{p[_t>>2]=fe;p[at+(st<<4)+4>>2]=z;p[at+(st<<4)+8>>2]=oe;p[at+(st<<4)+12>>2]=0.0;pt=r[ze>>2]|0;lt=r[He>>2]|0}st=pt+1|0;r[ze>>2]=st;Me=+p[je+32>>2];Ce=+p[je+36>>2];ue=+p[je+40>>2];de=+p[qe>>2]+(+p[Xe>>2]*Me+ +p[Ze>>2]*Ce+ +p[Qe>>2]*ue);J=+p[$e>>2]+(Me*+p[Ye>>2]+Ce*+p[Je>>2]+ue*+p[Ke>>2]);re=+p[nt>>2]+(Me*+p[et>>2]+Ce*+p[tt>>2]+ue*+p[it>>2]);do{if((st|0)==(lt|0)){_t=(lt|0)==0?1:lt<<1;if((lt|0)>=(_t|0)){dt=lt;break}do{if((_t|0)==0){ct=0}else{r[9806]=(r[9806]|0)+1;ot=hBe((_t<<4|4)+15|0)|0;if((ot|0)==0){ct=0;break}bt=-(ot+4|0)&15;r[ot+bt>>2]=ot;ct=ot+(bt+4)|0}}while(0);if((lt|0)>0){bt=0;do{ot=ct+(bt<<4)|0;if((ot|0)!=0){ut=ot;ot=(r[We>>2]|0)+(bt<<4)|0;r[ut>>2]=r[ot>>2];r[ut+4>>2]=r[ot+4>>2];r[ut+8>>2]=r[ot+8>>2];r[ut+12>>2]=r[ot+12>>2]}bt=bt+1|0}while((bt|0)<(lt|0))}bt=r[We>>2]|0;if((bt|0)!=0){if((n[Ge]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[bt-16+12>>2]|0)}r[We>>2]=0}n[Ge]=1;r[We>>2]=ct;r[He>>2]=_t;dt=r[ze>>2]|0}else{dt=st}}while(0);st=r[We>>2]|0;it=st+(dt<<4)|0;if((it|0)!=0){p[it>>2]=de;p[st+(dt<<4)+4>>2]=J;p[st+(dt<<4)+8>>2]=re;p[st+(dt<<4)+12>>2]=0.0}r[ze>>2]=dt+1;oe=+p[(r[F>>2]|0)+1120>>2];UIe(x,r[Le>>2]|0,g,M,+p[S+56>>2]-oe,oe,o|0);do{if((n[e+16|0]&1)!=0){st=r[R>>2]|0;if((r[st+1116>>2]|0)==0){break}if((r[st+1108>>2]|0)==(r[o+136>>2]|0)){nwe(st,o+8|0,o+72|0);break}else{nwe(st,o+72|0,o+8|0);break}}}while(0);st=r[We>>2]|0;if((st|0)!=0){if((n[Ge]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[st-16+12>>2]|0)}r[We>>2]=0}n[Ge]=1;r[We>>2]=0;r[ze>>2]=0;r[He>>2]=0;d=s;return}NDe(S,C,y|0,r[_+20>>2]|0,0);re=+p[(r[F>>2]|0)+1120>>2];e:do{if((n[_+24|0]&1)==0){J=+p[G>>2];de=+p[U>>2];oe=+p[W>>2];z=1.0/+j(+(J*J+de*de+oe*oe));p[v>>2]=J*z;p[v+4>>2]=de*z;p[v+8>>2]=oe*z;p[v+12>>2]=0.0;mt=+p[S+56>>2];ht=2238}else{st=r[Le>>2]|0;it=r[Ue>>2]|0;tt=l;et=b;nt=m;r[10740]=(r[10740]|0)+1;Ke=r[st+28>>2]|0;if((Ke|0)>0){Je=st+36|0;Ye=g|0;$e=t+8|0;Qe=t+12|0;Ze=t+20|0;Xe=t+24|0;qe=t+28|0;je=t+36|0;bt=t+40|0;ot=t+44|0;ut=l|0;ft=l+4|0;gt=l+8|0;Ct=l+12|0;St=v;z=3.4028234663852886e+38;yt=0;while(1){vt=r[Je>>2]|0;oe=+p[vt+(yt*56|0)+40>>2];de=+p[vt+(yt*56|0)+44>>2];J=+p[vt+(yt*56|0)+48>>2];fe=oe*+p[Ze>>2]+de*+p[Xe>>2]+J*+p[qe>>2];ue=oe*+p[je>>2]+de*+p[bt>>2]+J*+p[ot>>2];p[ut>>2]=oe*+p[Ye>>2]+de*+p[$e>>2]+J*+p[Qe>>2];p[ft>>2]=fe;p[gt>>2]=ue;p[Ct>>2]=0.0;if(!(LIe(st,it,g,Fe,l,c)|0)){break e}ue=+p[c>>2];if(ue<z){r[St>>2]=r[tt>>2];r[St+4>>2]=r[tt+4>>2];r[St+8>>2]=r[tt+8>>2];r[St+12>>2]=r[tt+12>>2];xt=ue}else{xt=z}vt=yt+1|0;if((vt|0)<(Ke|0)){z=xt;yt=vt}else{Mt=xt;break}}}else{Mt=3.4028234663852886e+38}yt=r[it+28>>2]|0;if((yt|0)>0){Ke=it+36|0;tt=Fe|0;St=i+8|0;Ct=i+12|0;gt=i+20|0;ft=i+24|0;Qe=i+28|0;$e=i+36|0;Ye=i+40|0;ut=i+44|0;ot=b|0;bt=b+4|0;je=b+8|0;qe=b+12|0;Xe=v;z=Mt;Ze=0;while(1){Je=r[Ke>>2]|0;ue=+p[Je+(Ze*56|0)+40>>2];fe=+p[Je+(Ze*56|0)+44>>2];J=+p[Je+(Ze*56|0)+48>>2];de=ue*+p[gt>>2]+fe*+p[ft>>2]+J*+p[Qe>>2];oe=ue*+p[$e>>2]+fe*+p[Ye>>2]+J*+p[ut>>2];p[ot>>2]=ue*+p[tt>>2]+fe*+p[St>>2]+J*+p[Ct>>2];p[bt>>2]=de;p[je>>2]=oe;p[qe>>2]=0.0;if(!(LIe(st,it,g,Fe,b,u)|0)){break e}oe=+p[u>>2];if(oe<z){r[Xe>>2]=r[et>>2];r[Xe+4>>2]=r[et+4>>2];r[Xe+8>>2]=r[et+8>>2];r[Xe+12>>2]=r[et+12>>2];Tt=oe}else{Tt=z}Je=Ze+1|0;if((Je|0)<(yt|0)){z=Tt;Ze=Je}else{Dt=Tt;break}}}else{Dt=Mt}Ze=st+48|0;yt=r[Ze>>2]|0;if((yt|0)>0){et=st+56|0;Xe=g|0;qe=t+8|0;je=t+12|0;bt=t+20|0;Ct=t+24|0;St=t+28|0;tt=t+36|0;ot=t+40|0;ut=t+44|0;Ye=it+48|0;$e=it+56|0;Qe=Fe|0;ft=i+8|0;gt=i+12|0;Ke=i+20|0;Je=i+24|0;_t=i+28|0;vt=i+36|0;Pt=i+40|0;wt=i+44|0;At=m|0;Ft=m+4|0;Rt=m+8|0;It=m+12|0;Bt=v;z=Dt;Vt=0;Et=r[Ye>>2]|0;Nt=yt;while(1){yt=r[et>>2]|0;oe=+p[yt+(Vt<<4)>>2];de=+p[yt+(Vt<<4)+4>>2];J=+p[yt+(Vt<<4)+8>>2];fe=oe*+p[Xe>>2]+de*+p[qe>>2]+J*+p[je>>2];ue=oe*+p[bt>>2]+de*+p[Ct>>2]+J*+p[St>>2];Ce=oe*+p[tt>>2]+de*+p[ot>>2]+J*+p[ut>>2];if((Et|0)>0){J=z;yt=0;while(1){kt=r[$e>>2]|0;de=+p[kt+(yt<<4)>>2];oe=+p[kt+(yt<<4)+4>>2];Me=+p[kt+(yt<<4)+8>>2];X=de*+p[Qe>>2]+oe*+p[ft>>2]+Me*+p[gt>>2];_e=de*+p[Ke>>2]+oe*+p[Je>>2]+Me*+p[_t>>2];Y=de*+p[vt>>2]+oe*+p[Pt>>2]+Me*+p[wt>>2];Me=ue*Y-Ce*_e;oe=Ce*X-fe*Y;Y=fe*_e-ue*X;p[At>>2]=Me;p[Ft>>2]=oe;p[Rt>>2]=Y;p[It>>2]=0.0;do{if(+H(+Me)>1.0e-6){ht=2222}else{if(+H(+oe)>1.0e-6){ht=2222;break}if(+H(+Y)>1.0e-6){ht=2222}else{Ot=J}}}while(0);do{if((ht|0)==2222){ht=0;X=1.0/+j(+(Me*Me+oe*oe+Y*Y));p[At>>2]=Me*X;p[Ft>>2]=oe*X;p[Rt>>2]=Y*X;if(!(LIe(st,it,g,Fe,m,h)|0)){break e}X=+p[h>>2];if(X>=J){Ot=J;break}r[Bt>>2]=r[nt>>2];r[Bt+4>>2]=r[nt+4>>2];r[Bt+8>>2]=r[nt+8>>2];r[Bt+12>>2]=r[nt+12>>2];Ot=X}}while(0);kt=yt+1|0;Lt=r[Ye>>2]|0;if((kt|0)<(Lt|0)){J=Ot;yt=kt}else{break}}Ut=Ot;Gt=Lt;Wt=r[Ze>>2]|0}else{Ut=z;Gt=Et;Wt=Nt}yt=Vt+1|0;if((yt|0)<(Wt|0)){z=Ut;Vt=yt;Et=Gt;Nt=Wt}else{break}}}Nt=v|0;z=+p[Nt>>2];Et=v+4|0;J=+p[Et>>2];Vt=v+8|0;ue=+p[Vt>>2];if((+p[i+52>>2]-+p[t+52>>2])*z+(+p[i+56>>2]-+p[t+56>>2])*J+(+p[i+60>>2]-+p[t+60>>2])*ue<=0.0){mt=0.0;ht=2238;break}p[Nt>>2]=-0.0-z;p[Et>>2]=-0.0-J;p[Vt>>2]=-0.0-ue;p[v+12>>2]=0.0;mt=0.0;ht=2238}}while(0);do{if((ht|0)==2238){He=r[Le>>2]|0;ze=r[Ue>>2]|0;ue=mt-re;We=o|0;Ge=r[ze+28>>2]|0;if((Ge|0)<=0){break}Vt=r[ze+36>>2]|0;Et=Fe|0;J=+p[Et>>2];Nt=i+8|0;z=+p[Nt>>2];Ze=i+12|0;fe=+p[Ze>>2];Ye=i+20|0;Ce=+p[Ye>>2];nt=i+24|0;Y=+p[nt>>2];Bt=i+28|0;oe=+p[Bt>>2];it=i+36|0;Me=+p[it>>2];st=i+40|0;X=+p[st>>2];Rt=i+44|0;_e=+p[Rt>>2];de=+p[v>>2];Te=+p[v+4>>2];De=+p[v+8>>2];Ft=0;ge=-3.4028234663852886e+38;At=-1;while(1){K=+p[Vt+(Ft*56|0)+40>>2];$=+p[Vt+(Ft*56|0)+44>>2];ee=+p[Vt+(Ft*56|0)+48>>2];me=(K*J+$*z+ee*fe)*de+(K*Ce+$*Y+ee*oe)*Te+(K*Me+$*X+ee*_e)*De;It=me>ge;zt=It?Ft:At;wt=Ft+1|0;if((wt|0)<(Ge|0)){Ft=wt;ge=It?me:ge;At=zt}else{break}}if((zt|0)<0){break}At=a+16|0;n[At]=1;Ft=a+12|0;r[Ft>>2]=0;Ge=a+4|0;r[Ge>>2]=0;It=a+8|0;r[It>>2]=0;wt=r[Vt+(zt*56|0)+4>>2]|0;e:do{if((wt|0)>0){Pt=Vt+(zt*56|0)+12|0;vt=ze+16|0;_t=i+52|0;Je=i+56|0;Ke=i+60|0;gt=0;ft=0;Qe=0;ge=J;De=z;Te=fe;de=Ce;me=Y;ee=oe;$=Me;K=X;be=_e;$e=0;while(1){ut=r[(r[Pt>>2]|0)+(gt<<2)>>2]|0;ot=r[vt>>2]|0;le=+p[ot+(ut<<4)>>2];he=+p[ot+(ut<<4)+4>>2];ce=+p[ot+(ut<<4)+8>>2];q=+p[_t>>2]+(ge*le+De*he+Te*ce);pe=+p[Je>>2]+(le*de+he*me+ce*ee);ae=+p[Ke>>2]+(le*$+he*K+ce*be);do{if((ft|0)==(Qe|0)){ut=(Qe|0)==0?1:Qe<<1;if((Qe|0)>=(ut|0)){Ht=Qe;jt=$e;break}do{if((ut|0)==0){Xt=0}else{r[9806]=(r[9806]|0)+1;ot=hBe((ut<<4|4)+15|0)|0;if((ot|0)==0){Xt=0;break}tt=-(ot+4|0)&15;r[ot+tt>>2]=ot;Xt=ot+(tt+4)|0}}while(0);if((Qe|0)>0){tt=0;do{ot=Xt+(tt<<4)|0;if((ot|0)!=0){St=ot;ot=(r[Ft>>2]|0)+(tt<<4)|0;r[St>>2]=r[ot>>2];r[St+4>>2]=r[ot+4>>2];r[St+8>>2]=r[ot+8>>2];r[St+12>>2]=r[ot+12>>2]}tt=tt+1|0}while((tt|0)<(Qe|0));Zt=r[Ft>>2]|0}else{Zt=$e}if((Zt|0)!=0){if((n[At]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Zt-16+12>>2]|0)}r[Ft>>2]=0}n[At]=1;r[Ft>>2]=Xt;r[It>>2]=ut;Ht=r[Ge>>2]|0;jt=Xt}else{Ht=ft;jt=$e}}while(0);tt=jt+(Ht<<4)|0;if((tt|0)==0){Qt=Ht}else{p[tt>>2]=q;p[jt+(Ht<<4)+4>>2]=pe;p[jt+(Ht<<4)+8>>2]=ae;p[jt+(Ht<<4)+12>>2]=0.0;Qt=r[Ge>>2]|0}tt=Qt+1|0;r[Ge>>2]=tt;ot=gt+1|0;if((ot|0)>=(wt|0)){break e}gt=ot;ft=tt;Qe=r[It>>2]|0;ge=+p[Et>>2];De=+p[Nt>>2];Te=+p[Ze>>2];de=+p[Ye>>2];me=+p[nt>>2];ee=+p[Bt>>2];$=+p[it>>2];K=+p[st>>2];be=+p[Rt>>2];$e=jt}}}while(0);UIe(v,He,g,a,ue,re,We);Rt=r[Ft>>2]|0;if((Rt|0)!=0){if((n[At]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Rt-16+12>>2]|0)}r[Ft>>2]=0}n[At]=1;r[Ft>>2]=0;r[Ge>>2]=0;r[It>>2]=0}}while(0);if((n[e+16|0]&1)==0){d=s;return}Ue=r[R>>2]|0;if((r[Ue+1116>>2]|0)==0){d=s;return}if((r[Ue+1108>>2]|0)==(r[o+136>>2]|0)){nwe(Ue,o+8|0,o+72|0);d=s;return}else{nwe(Ue,o+72|0,o+8|0);d=s;return}}}while(0);a=_+20|0;NDe(S,C,o|0,r[a>>2]|0,0);_=e+28|0;e:do{if((r[_>>2]|0)!=0){if((r[(r[R>>2]|0)+1116>>2]|0)>=(r[e+32>>2]|0)){break}mt=+p[G>>2];Ut=+p[U>>2];Ot=+p[W>>2];Dt=1.0/+j(+(mt*mt+Ut*Ut+Ot*Ot));Mt=mt*Dt;mt=Ut*Dt;Ut=Ot*Dt;if(+H(+Ut)>.7071067690849304){Dt=1.0/+j(+(Ut*Ut+mt*mt));qt=0.0;Yt=Dt*(-0.0-Ut);Jt=mt*Dt}else{Dt=1.0/+j(+(Mt*Mt+mt*mt));qt=Dt*(-0.0-mt);Yt=Mt*Dt;Jt=0.0}Dt=+z_t[r[(r[V>>2]|0)+16>>2]&1023](V);Ot=+z_t[r[(r[I>>2]|0)+16>>2]&1023](I);v=Dt<Ot;Tt=.019999999552965164/(v?Dt:Ot);jt=T;if(v){r[jt>>2]=r[k>>2];r[jt+4>>2]=r[k+4>>2];r[jt+8>>2]=r[k+8>>2];r[jt+12>>2]=r[k+12>>2];Qt=D;r[Qt>>2]=r[we>>2];r[Qt+4>>2]=r[we+4>>2];r[Qt+8>>2]=r[we+8>>2];r[Qt+12>>2]=r[we+12>>2];Qt=P;r[Qt>>2]=r[Pe>>2];r[Qt+4>>2]=r[Pe+4>>2];r[Qt+8>>2]=r[Pe+8>>2];r[Qt+12>>2]=r[Pe+12>>2];Qt=w;r[Qt>>2]=r[f>>2];r[Qt+4>>2]=r[f+4>>2];r[Qt+8>>2]=r[f+8>>2];r[Qt+12>>2]=r[f+12>>2]}else{r[jt>>2]=r[Re>>2];r[jt+4>>2]=r[Re+4>>2];r[jt+8>>2]=r[Re+8>>2];r[jt+12>>2]=r[Re+12>>2];Qt=D;r[Qt>>2]=r[Be>>2];r[Qt+4>>2]=r[Be+4>>2];r[Qt+8>>2]=r[Be+8>>2];r[Qt+12>>2]=r[Be+12>>2];Qt=P;r[Qt>>2]=r[Ee>>2];r[Qt+4>>2]=r[Ee+4>>2];r[Qt+8>>2]=r[Ee+8>>2];r[Qt+12>>2]=r[Ee+12>>2];Qt=w;r[Qt>>2]=r[ke>>2];r[Qt+4>>2]=r[ke+4>>2];r[Qt+8>>2]=r[ke+8>>2];r[Qt+12>>2]=r[ke+12>>2]}Qt=r[_>>2]|0;if((Qt|0)<=0){break}Ot=Jt*Jt+(Yt*Yt+qt*qt);Dt=Tt>.39269909262657166?.19634954631328583:Tt*.5;Tt=Ut*Ut+(Mt*Mt+mt*mt);Ht=g|0;Xt=t+20|0;Zt=t+36|0;zt=t+8|0;ht=t+24|0;Wt=t+40|0;Gt=t+12|0;Lt=t+28|0;h=t+44|0;m=C|0;u=C+4|0;b=C+8|0;c=C+12|0;l=C+16|0;F=C+20|0;y=C+24|0;M=C+28|0;x=C+32|0;dt=C+36|0;ct=C+40|0;lt=C+44|0;pt=A|0;at=A+144|0;rt=A+160|0;O=A+164|0;N=A+180|0;Ue=A+196|0;Le=A+212|0;Rt=A+228|0;st=A+244|0;it=A+260|0;Bt=A+276|0;nt=A+292|0;Ye=A+308|0;Ze=D;Nt=A+324|0;Et=P;wt=A+340|0;ze=w;Vt=A+356|0;$e=v&1;Qe=A+360|0;ft=A|0;gt=Fe|0;Ke=i+20|0;Je=i+36|0;_t=i+8|0;vt=i+24|0;Pt=i+40|0;tt=i+12|0;ot=i+28|0;St=i+44|0;Ct=C+64|0;bt=C+68|0;je=C+72|0;qe=C+76|0;Xe=C+80|0;et=C+84|0;yt=C+88|0;kt=C+92|0;Kt=C+96|0;$t=C+100|0;ei=C+104|0;ti=C+108|0;if(Ot<=1.1920928955078125e-7){if(v){ii=0;while(1){ii=ii+1|0;if((ii|0)>=(Qt|0)){break e}}}else{ii=0;while(1){ii=ii+1|0;if((ii|0)>=(Qt|0)){break e}}}}xt=+j(+Ot);re=+Q(+Dt)/xt;xt=qt*re;_e=Yt*re;X=Jt*re;re=+Z(+Dt);Me=+j(+Tt);if(v){ii=0;ni=Qt;do{oe=+(ii|0)*(6.2831854820251465/+(ni|0))*.5;Y=+Q(+oe)/Me;Ce=Mt*Y;fe=mt*Y;z=Ut*Y;Y=+Z(+oe);oe=-0.0-Ce;J=-0.0-fe;be=-0.0-z;K=X*J+(xt*Y+re*oe)-_e*be;$=xt*be+(_e*Y+re*J)-X*oe;ee=_e*oe+(X*Y+re*be)-xt*J;me=re*Y-xt*oe-_e*J-X*be;be=z*$+(Ce*me+Y*K)-fe*ee;J=Ce*ee+(Y*$+fe*me)-z*K;oe=fe*K+(z*me+Y*ee)-Ce*$;de=Y*me-Ce*K-fe*$-z*ee;ee=2.0/(de*de+(oe*oe+(be*be+J*J)));z=be*ee;$=J*ee;fe=oe*ee;ee=de*z;K=de*$;Ce=de*fe;de=be*z;z=be*$;me=be*fe;be=J*$;$=J*fe;J=oe*fe;fe=1.0-(be+J);oe=z-Ce;Y=me+K;Te=z+Ce;Ce=1.0-(de+J);J=$-ee;z=me-K;K=$+ee;ee=1.0-(de+be);be=+p[Ht>>2];de=+p[Xt>>2];$=+p[Zt>>2];me=+p[zt>>2];De=+p[ht>>2];ge=+p[Wt>>2];ce=+p[Gt>>2];he=+p[Lt>>2];le=+p[h>>2];p[m>>2]=$*Y+(de*oe+be*fe);p[u>>2]=fe*me+oe*De+Y*ge;p[b>>2]=fe*ce+oe*he+Y*le;p[c>>2]=0.0;p[l>>2]=$*J+(be*Te+de*Ce);p[F>>2]=Te*me+Ce*De+J*ge;p[y>>2]=Te*ce+Ce*he+J*le;p[M>>2]=0.0;p[x>>2]=be*z+de*K+$*ee;p[dt>>2]=z*me+K*De+ee*ge;p[ct>>2]=z*ce+K*he+ee*le;p[lt>>2]=0.0;r[Re>>2]=r[Ie>>2];r[Re+4>>2]=r[Ie+4>>2];r[Re+8>>2]=r[Ie+8>>2];r[Re+12>>2]=r[Ie+12>>2];r[Be>>2]=r[Ve>>2];r[Be+4>>2]=r[Ve+4>>2];r[Be+8>>2]=r[Ve+8>>2];r[Be+12>>2]=r[Ve+12>>2];r[Ee>>2]=r[Ne>>2];r[Ee+4>>2]=r[Ne+4>>2];r[Ee+8>>2]=r[Ne+8>>2];r[Ee+12>>2]=r[Ne+12>>2];r[ke>>2]=r[Oe>>2];r[ke+4>>2]=r[Oe+4>>2];r[ke+8>>2]=r[Oe+8>>2];r[ke+12>>2]=r[Oe+12>>2];_i=r[a>>2]|0;vBe(at|0,-1|0,16);r[pt>>2]=21040;r[rt>>2]=o;r[O>>2]=r[k>>2];r[O+4>>2]=r[k+4>>2];r[O+8>>2]=r[k+8>>2];r[O+12>>2]=r[k+12>>2];r[N>>2]=r[we>>2];r[N+4>>2]=r[we+4>>2];r[N+8>>2]=r[we+8>>2];r[N+12>>2]=r[we+12>>2];r[Ue>>2]=r[Pe>>2];r[Ue+4>>2]=r[Pe+4>>2];r[Ue+8>>2]=r[Pe+8>>2];r[Ue+12>>2]=r[Pe+12>>2];r[Le>>2]=r[f>>2];r[Le+4>>2]=r[f+4>>2];r[Le+8>>2]=r[f+8>>2];r[Le+12>>2]=r[f+12>>2];r[Rt>>2]=r[Re>>2];r[Rt+4>>2]=r[Re+4>>2];r[Rt+8>>2]=r[Re+8>>2];r[Rt+12>>2]=r[Re+12>>2];r[st>>2]=r[Be>>2];r[st+4>>2]=r[Be+4>>2];r[st+8>>2]=r[Be+8>>2];r[st+12>>2]=r[Be+12>>2];r[it>>2]=r[Ee>>2];r[it+4>>2]=r[Ee+4>>2];r[it+8>>2]=r[Ee+8>>2];r[it+12>>2]=r[Ee+12>>2];r[Bt>>2]=r[ke>>2];r[Bt+4>>2]=r[ke+4>>2];r[Bt+8>>2]=r[ke+8>>2];r[Bt+12>>2]=r[ke+12>>2];r[nt>>2]=r[jt>>2];r[nt+4>>2]=r[jt+4>>2];r[nt+8>>2]=r[jt+8>>2];r[nt+12>>2]=r[jt+12>>2];r[Ye>>2]=r[Ze>>2];r[Ye+4>>2]=r[Ze+4>>2];r[Ye+8>>2]=r[Ze+8>>2];r[Ye+12>>2]=r[Ze+12>>2];r[Nt>>2]=r[Et>>2];r[Nt+4>>2]=r[Et+4>>2];r[Nt+8>>2]=r[Et+8>>2];r[Nt+12>>2]=r[Et+12>>2];r[wt>>2]=r[ze>>2];r[wt+4>>2]=r[ze+4>>2];r[wt+8>>2]=r[ze+8>>2];r[wt+12>>2]=r[ze+12>>2];n[Vt]=$e;r[Qe>>2]=_i;NDe(S,C,ft,_i,0);ni=r[_>>2]|0;ii=ii+1|0}while((ii|0)<(ni|0))}else{ni=0;ii=Qt;do{Tt=+(ni|0)*(6.2831854820251465/+(ii|0))*.5;Dt=+Q(+Tt)/Me;Ot=Mt*Dt;le=mt*Dt;ee=Ut*Dt;Dt=+Z(+Tt);r[k>>2]=r[E>>2];r[k+4>>2]=r[E+4>>2];r[k+8>>2]=r[E+8>>2];r[k+12>>2]=r[E+12>>2];r[we>>2]=r[B>>2];r[we+4>>2]=r[B+4>>2];r[we+8>>2]=r[B+8>>2];r[we+12>>2]=r[B+12>>2];r[Pe>>2]=r[L>>2];r[Pe+4>>2]=r[L+4>>2];r[Pe+8>>2]=r[L+8>>2];r[Pe+12>>2]=r[L+12>>2];r[f>>2]=r[Ae>>2];r[f+4>>2]=r[Ae+4>>2];r[f+8>>2]=r[Ae+8>>2];r[f+12>>2]=r[Ae+12>>2];Tt=-0.0-Ot;he=-0.0-le;K=-0.0-ee;ce=X*he+(xt*Dt+re*Tt)-_e*K;z=xt*K+(_e*Dt+re*he)-X*Tt;ge=_e*Tt+(X*Dt+re*K)-xt*he;De=re*Dt-xt*Tt-_e*he-X*K;K=ee*z+(Ot*De+Dt*ce)-le*ge;he=Ot*ge+(Dt*z+le*De)-ee*ce;Tt=le*ce+(ee*De+Dt*ge)-Ot*z;me=Dt*De-Ot*ce-le*z-ee*ge;ge=2.0/(me*me+(Tt*Tt+(K*K+he*he)));ee=K*ge;z=he*ge;le=Tt*ge;ge=me*ee;ce=me*z;Ot=me*le;me=K*ee;ee=K*z;De=K*le;K=he*z;z=he*le;he=Tt*le;le=1.0-(K+he);Tt=ee-Ot;Dt=De+ce;$=ee+Ot;Ot=1.0-(me+he);he=z-ge;ee=De-ce;ce=z+ge;ge=1.0-(me+K);K=+p[gt>>2];me=+p[Ke>>2];z=+p[Je>>2];De=+p[_t>>2];de=+p[vt>>2];be=+p[Pt>>2];J=+p[tt>>2];Ce=+p[ot>>2];Te=+p[St>>2];p[Ct>>2]=z*Dt+(me*Tt+K*le);p[bt>>2]=le*De+Tt*de+Dt*be;p[je>>2]=le*J+Tt*Ce+Dt*Te;p[qe>>2]=0.0;p[Xe>>2]=z*he+(K*$+me*Ot);p[et>>2]=$*De+Ot*de+he*be;p[yt>>2]=$*J+Ot*Ce+he*Te;p[kt>>2]=0.0;p[Kt>>2]=K*ee+me*ce+z*ge;p[$t>>2]=ee*De+ce*de+ge*be;p[ei>>2]=ee*J+ce*Ce+ge*Te;p[ti>>2]=0.0;lt=r[a>>2]|0;vBe(at|0,-1|0,16);r[pt>>2]=21040;r[rt>>2]=o;r[O>>2]=r[k>>2];r[O+4>>2]=r[k+4>>2];r[O+8>>2]=r[k+8>>2];r[O+12>>2]=r[k+12>>2];r[N>>2]=r[we>>2];r[N+4>>2]=r[we+4>>2];r[N+8>>2]=r[we+8>>2];r[N+12>>2]=r[we+12>>2];r[Ue>>2]=r[Pe>>2];r[Ue+4>>2]=r[Pe+4>>2];r[Ue+8>>2]=r[Pe+8>>2];r[Ue+12>>2]=r[Pe+12>>2];r[Le>>2]=r[f>>2];r[Le+4>>2]=r[f+4>>2];r[Le+8>>2]=r[f+8>>2];r[Le+12>>2]=r[f+12>>2];r[Rt>>2]=r[Re>>2];r[Rt+4>>2]=r[Re+4>>2];r[Rt+8>>2]=r[Re+8>>2];r[Rt+12>>2]=r[Re+12>>2];r[st>>2]=r[Be>>2];r[st+4>>2]=r[Be+4>>2];r[st+8>>2]=r[Be+8>>2];r[st+12>>2]=r[Be+12>>2];r[it>>2]=r[Ee>>2];r[it+4>>2]=r[Ee+4>>2];r[it+8>>2]=r[Ee+8>>2];r[it+12>>2]=r[Ee+12>>2];r[Bt>>2]=r[ke>>2];r[Bt+4>>2]=r[ke+4>>2];r[Bt+8>>2]=r[ke+8>>2];r[Bt+12>>2]=r[ke+12>>2];r[nt>>2]=r[jt>>2];r[nt+4>>2]=r[jt+4>>2];r[nt+8>>2]=r[jt+8>>2];r[nt+12>>2]=r[jt+12>>2];r[Ye>>2]=r[Ze>>2];r[Ye+4>>2]=r[Ze+4>>2];r[Ye+8>>2]=r[Ze+8>>2];r[Ye+12>>2]=r[Ze+12>>2];r[Nt>>2]=r[Et>>2];r[Nt+4>>2]=r[Et+4>>2];r[Nt+8>>2]=r[Et+8>>2];r[Nt+12>>2]=r[Et+12>>2];r[wt>>2]=r[ze>>2];r[wt+4>>2]=r[ze+4>>2];r[wt+8>>2]=r[ze+8>>2];r[wt+12>>2]=r[ze+12>>2];n[Vt]=$e;r[Qe>>2]=lt;NDe(S,C,ft,lt,0);ii=r[_>>2]|0;ni=ni+1|0}while((ni|0)<(ii|0))}}}while(0);if((n[e+16|0]&1)==0){d=s;return}e=r[R>>2]|0;if((r[e+1116>>2]|0)==0){d=s;return}if((r[e+1108>>2]|0)==(r[o+136>>2]|0)){nwe(e,o+8|0,o+72|0);d=s;return}else{nwe(e,o+72|0,o+8|0);d=s;return}}function pIe(e){e=e|0;return}function lIe(e){e=e|0;return}function dIe(e,t,i){e=e|0;t=t|0;i=i|0;return}function cIe(e,t,i){e=e|0;t=t|0;i=i|0;return}function bIe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return}function uIe(e,t,i,n,o){e=e|0;t=t|0;i=i|0;n=n|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0.0,g=0.0,C=0.0,S=0,y=0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0,A=0,F=0.0;o=d;d=d+1216|0;n=o|0;e=o+56|0;s=o+232|0;a=o+592|0;l=o+608|0;c=o+664|0;b=o+840|0;u=o+1200|0;m=t+68|0;h=t+4|0;f=+p[t+116>>2]-+p[t+52>>2];g=+p[t+120>>2]-+p[t+56>>2];C=+p[t+124>>2]-+p[t+60>>2];S=i+68|0;y=i+4|0;v=+p[i+116>>2]-+p[i+52>>2];x=+p[i+120>>2]-+p[i+56>>2];M=+p[i+124>>2]-+p[i+60>>2];T=+p[t+248>>2];do{if(f*f+g*g+C*C<T*T){D=+p[i+248>>2];if(v*v+x*x+M*M<D*D){P=1.0}else{break}d=o;return+P}}while(0);w=r[t+192>>2]|0;M=+p[i+244>>2];r[n+8>>2]=0;p[n+12>>2]=1.0;p[n+16>>2]=1.0;p[n+20>>2]=1.0;p[n+24>>2]=0.0;r[n>>2]=25528;r[n+4>>2]=8;p[n+28>>2]=M;p[n+44>>2]=M;r[e>>2]=19544;A=e+164|0;p[A>>2]=999999984306749400.0;r[e+168>>2]=0;p[e+172>>2]=0.0;p[s+308>>2]=9999999747378752.0e-20;_[s+332>>1]=0;r[a>>2]=24816;r[a+4>>2]=s;r[a+8>>2]=w;r[a+12>>2]=n;do{if(FIe(a,h,m,y,S,e)|0){n=t+240|0;M=+p[A>>2];if(+p[n>>2]>M){p[n>>2]=M}n=i+240|0;if(+p[n>>2]>M){p[n>>2]=M}if(M>=1.0){F=1.0;break}F=M}else{F=1.0}}while(0);A=r[i+192>>2]|0;M=+p[t+244>>2];r[l+8>>2]=0;p[l+12>>2]=1.0;p[l+16>>2]=1.0;p[l+20>>2]=1.0;p[l+24>>2]=0.0;r[l>>2]=25528;r[l+4>>2]=8;p[l+28>>2]=M;p[l+44>>2]=M;r[c>>2]=19544;e=c+164|0;p[e>>2]=999999984306749400.0;r[c+168>>2]=0;p[c+172>>2]=0.0;p[b+308>>2]=9999999747378752.0e-20;_[b+332>>1]=0;r[u>>2]=24816;r[u+4>>2]=b;r[u+8>>2]=l;r[u+12>>2]=A;if(!(FIe(u,h,m,y,S,c)|0)){P=F;d=o;return+P}c=t+240|0;M=+p[e>>2];if(+p[c>>2]>M){p[c>>2]=M}c=i+240|0;if(+p[c>>2]>M){p[c>>2]=M}if(F<=M){P=F;d=o;return+P}P=M;d=o;return+P}function mIe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=e+20|0;if((r[i>>2]|0)==0){return}if((n[e+16|0]&1)==0){return}e=t+4|0;_=r[e>>2]|0;o=t+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[e>>2]|0}b=t+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=t+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[e>>2]|0}else{a=_}}while(0);_=(r[t+12>>2]|0)+(a<<2)|0;if((_|0)==0){m=a}else{r[_>>2]=r[i>>2];m=r[e>>2]|0}r[e>>2]=m+1;return}function hIe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0;_=t|0;i=r[_>>2]|0;o=j_t[r[(r[i>>2]|0)+56>>2]&511](i,36)|0;if((o|0)==0){s=0;a=s|0;return a|0}i=r[t+4>>2]|0;t=r[e+12>>2]|0;p=r[e+8>>2]|0;l=r[e+16>>2]|0;d=r[e+20>>2]|0;e=o;r[e>>2]=22536;r[o+4>>2]=r[_>>2];r[e>>2]=21656;r[o+8>>2]=t;r[o+12>>2]=p;n[o+16|0]=0;r[o+20>>2]=i;n[o+24|0]=0;r[o+28>>2]=l;r[o+32>>2]=d;s=o;a=s|0;return a|0}function fIe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function gIe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=+_;var o=0,s=0,a=0.0,l=0.0,c=0.0,b=0.0,u=0.0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0,R=0.0,I=0.0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0,W=0,z=0,H=0,j=0,X=0;o=d;d=d+16|0;s=o|0;a=+p[t>>2];l=+p[t+4>>2];c=+p[t+8>>2];b=+p[i>>2];u=a*_+b;m=+p[i+4>>2];h=l*_+m;f=+p[i+8>>2];g=c*_+f;i=e+292|0;if((n[e+356|0]&1)==0){_=+p[e+228>>2];C=+p[e+244>>2];S=+p[e+260>>2];y=+p[e+232>>2];v=+p[e+248>>2];x=+p[e+264>>2];M=+p[e+236>>2];T=+p[e+252>>2];D=+p[e+268>>2];P=-0.0-+p[e+276>>2];w=-0.0-+p[e+280>>2];A=-0.0-+p[e+284>>2];F=_*P+C*w+S*A;R=y*P+v*w+x*A;I=M*P+T*w+D*A;A=+p[i>>2];w=+p[e+296>>2];P=+p[e+300>>2];B=+p[e+308>>2];V=+p[e+312>>2];E=+p[e+316>>2];N=+p[e+324>>2];k=+p[e+328>>2];O=+p[e+332>>2];L=f*(S*A+x*w+D*P)+(b*(_*A+y*w+M*P)+m*(C*A+v*w+T*P))+(P*I+(A*F+w*R)+ +p[e+340>>2]);w=f*(S*B+x*V+D*E)+(b*(_*B+y*V+M*E)+m*(C*B+v*V+T*E))+(F*B+R*V+I*E+ +p[e+344>>2]);E=F*N+R*k+I*O+ +p[e+348>>2]+(f*(S*N+x*k+D*O)+(b*(_*N+y*k+M*O)+m*(C*N+v*k+T*O)));p[s>>2]=L;p[s+4>>2]=w;p[s+8>>2]=E;p[s+12>>2]=0.0;U=(u-L)*a+(h-w)*l+(g-E)*c;G=e+160|0;W=r[G>>2]|0;z=W;H=r[z>>2]|0;j=H+16|0;X=r[j>>2]|0;nrt[X&127](W,t,s,U);d=o;return}else{E=+p[e+164>>2];w=+p[e+180>>2];L=+p[e+196>>2];O=+p[e+168>>2];T=+p[e+184>>2];k=+p[e+200>>2];v=+p[e+172>>2];N=+p[e+188>>2];C=+p[e+204>>2];M=-0.0-+p[e+212>>2];y=-0.0-+p[e+216>>2];_=-0.0-+p[e+220>>2];D=E*M+w*y+L*_;x=O*M+T*y+k*_;S=v*M+N*y+C*_;_=+p[i>>2];y=+p[e+296>>2];M=+p[e+300>>2];I=+p[e+308>>2];R=+p[e+312>>2];F=+p[e+316>>2];V=+p[e+324>>2];B=+p[e+328>>2];A=+p[e+332>>2];P=g*(L*_+k*y+C*M)+(u*(E*_+O*y+v*M)+h*(w*_+T*y+N*M))+(M*S+(_*D+y*x)+ +p[e+340>>2]);y=g*(L*I+k*R+C*F)+(u*(E*I+O*R+v*F)+h*(w*I+T*R+N*F))+(D*I+x*R+S*F+ +p[e+344>>2]);F=D*V+x*B+S*A+ +p[e+348>>2]+(g*(L*V+k*B+C*A)+(u*(E*V+O*B+v*A)+h*(w*V+T*B+N*A)));A=a*(P-b)+l*(y-m)+c*(F-f);p[s>>2]=P+a*A;p[s+4>>2]=y+l*A;p[s+8>>2]=F+c*A;p[s+12>>2]=0.0;U=A;G=e+160|0;W=r[G>>2]|0;z=W;H=r[z>>2]|0;j=H+16|0;X=r[j>>2]|0;nrt[X&127](W,t,s,U);d=o;return}}function CIe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function SIe(e){e=e|0;var t=0,i=0;r[e>>2]=19920;do{if((n[e+8|0]&1)!=0){t=r[e+12>>2]|0;if((t|0)!=0){i=r[e+4>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,t)}if((e|0)!=0){break}return}}while(0);SBe(e);return}function yIe(e){e=e|0;var t=0,i=0;r[e>>2]=19920;if((n[e+8|0]&1)==0){return}t=r[e+12>>2]|0;if((t|0)==0){return}i=r[e+4>>2]|0;Znt[r[(r[i>>2]|0)+16>>2]&2047](i,t);return}function vIe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+1.0}function xIe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0,H=0.0,j=0,X=0.0,Z=0,Q=0.0,q=0,Y=0.0,J=0.0,K=0.0,$=0.0,ee=0.0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0,ue=0;s=d;d=d+64|0;a=s|0;l=s+16|0;c=s+32|0;b=s+48|0;u=(n[e+16|0]&1)!=0;m=u?_:i;h=u?i:_;_=r[m+192>>2]|0;i=r[h+192>>2]|0;f=+p[m+4>>2];g=+p[m+8>>2];C=+p[m+12>>2];S=+p[m+20>>2];y=+p[m+24>>2];v=+p[m+28>>2];x=+p[m+36>>2];M=+p[m+40>>2];T=+p[m+44>>2];D=+p[m+52>>2];P=+p[m+56>>2];w=+p[m+60>>2];m=h+4|0;u=h+20|0;A=h+36|0;F=h+8|0;R=h+24|0;I=h+40|0;B=h+12|0;V=h+28|0;E=h+44|0;N=+p[m>>2];k=+p[u>>2];O=+p[A>>2];L=+p[F>>2];U=+p[R>>2];G=+p[I>>2];W=+p[B>>2];z=+p[V>>2];H=+p[E>>2];j=h+52|0;X=-0.0-+p[j>>2];Z=h+56|0;Q=-0.0-+p[Z>>2];q=h+60|0;Y=-0.0-+p[q>>2];J=+p[t>>2];K=+p[t+4>>2];$=+p[t+8>>2];ee=+p[t+12>>2];te=2.0/(J*J+K*K+$*$+ee*ee);ie=J*te;ne=K*te;_e=$*te;te=ee*ie;re=ee*ne;oe=ee*_e;ee=J*ie;ie=J*ne;se=J*_e;J=K*ne;ne=K*_e;K=$*_e;_e=1.0-(J+K);$=ie-oe;ae=se+re;pe=ie+oe;oe=1.0-(ee+K);K=ne-te;ie=se-re;re=ne+te;te=1.0-(ee+J);J=C*ie+(g*pe+f*_e);ee=C*re+(f*$+g*oe);ne=f*ae+g*K+C*te;se=v*ie+(y*pe+S*_e);le=v*re+(S*$+y*oe);de=S*ae+y*K+v*te;ce=T*ie+(M*pe+x*_e);_e=T*re+(x*$+M*oe);oe=x*ae+M*K+T*te;t=r[(r[_>>2]|0)+60>>2]|0;h=i+48|0;te=-0.0-+p[h>>2];be=i+52|0;K=-0.0-+p[be>>2];ue=i+56|0;ae=-0.0-+p[ue>>2];p[l>>2]=(H*ce+(W*J+z*se))*ae+((O*ce+(N*J+k*se))*te+(G*ce+(L*J+U*se))*K);p[l+4>>2]=(H*_e+(W*ee+z*le))*ae+((O*_e+(N*ee+k*le))*te+(G*_e+(L*ee+U*le))*K);p[l+8>>2]=(H*oe+(W*ne+z*de))*ae+((O*oe+(N*ne+k*de))*te+(G*oe+(L*ne+U*de))*K);p[l+12>>2]=0.0;srt[t&511](a,_,l);K=+p[a>>2];de=+p[a+4>>2];ne=+p[a+8>>2];oe=D*N+P*k+w*O+(N*X+k*Q+O*Y)+((f*N+S*k+x*O)*K+(g*N+y*k+M*O)*de+(C*N+v*k+T*O)*ne);O=D*L+P*U+w*G+(L*X+U*Q+G*Y)+((f*L+S*U+x*G)*K+(g*L+y*U+M*G)*de+(C*L+v*U+T*G)*ne);G=D*W+P*z+w*H+(W*X+z*Q+H*Y)+((f*W+S*z+x*H)*K+(g*W+y*z+M*H)*de+(C*W+v*z+T*H)*ne);ne=+p[h>>2];H=+p[be>>2];T=+p[ue>>2];z=T*G+(ne*oe+H*O)-+p[i+64>>2];v=oe-ne*z;ne=O-H*z;H=G-T*z;T=+p[m>>2];G=+p[F>>2];O=+p[B>>2];oe=+p[j>>2];W=+p[u>>2];C=+p[R>>2];de=+p[V>>2];M=+p[Z>>2];y=+p[A>>2];g=+p[I>>2];K=+p[E>>2];x=+p[q>>2];q=r[e+12>>2]|0;e=z<+p[q+1120>>2];r[o+4>>2]=q;if(!e){d=s;return}S=+p[h>>2];f=+p[be>>2];Y=+p[ue>>2];Q=S*+p[u>>2]+f*+p[R>>2]+Y*+p[V>>2];X=S*+p[A>>2]+f*+p[I>>2]+Y*+p[E>>2];p[c>>2]=+p[m>>2]*S+ +p[F>>2]*f+ +p[B>>2]*Y;p[c+4>>2]=Q;p[c+8>>2]=X;p[c+12>>2]=0.0;p[b>>2]=oe+(O*H+(T*v+G*ne));p[b+4>>2]=M+(v*W+ne*C+H*de);p[b+8>>2]=x+(v*y+ne*g+H*K);p[b+12>>2]=0.0;nrt[r[(r[o>>2]|0)+16>>2]&127](o,c,b,z);d=s;return}function MIe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0.0,f=0.0,g=0.0,C=0.0,S=0.0,y=0.0,v=0.0,x=0.0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0;_=d;d=d+32|0;s=_|0;a=_+16|0;l=e+12|0;if((r[l>>2]|0)==0){d=_;return}c=(n[e+16|0]&1)!=0;b=r[(c?i:t)+192>>2]|0;u=r[(c?t:i)+192>>2]|0;p[s>>2]=0.0;p[s+4>>2]=0.0;p[s+8>>2]=0.0;p[s+12>>2]=1.0;xIe(e,s,t,i,o);s=o+4|0;do{if((r[(r[s>>2]|0)+1116>>2]|0)<(r[e+24>>2]|0)){c=u+48|0;m=u+56|0;h=+p[m>>2];if(+H(+h)>.7071067690849304){f=+p[u+52>>2];g=1.0/+j(+(h*h+f*f));C=0.0;S=g*(-0.0-h);y=f*g}else{g=+p[c>>2];f=+p[u+52>>2];h=1.0/+j(+(g*g+f*f));C=h*(-0.0-f);S=g*h;y=0.0}h=.019999999552965164/+z_t[r[(r[b>>2]|0)+16>>2]&1023](b);g=+j(+(y*y+(S*S+C*C)));f=h>.39269909262657166?.19634954631328583:h*.5;h=+Q(+f)/g;g=C*h;v=S*h;x=y*h;h=+Z(+f);M=e+20|0;T=r[M>>2]|0;if((T|0)<=0){break}D=u+52|0;P=a|0;w=a+4|0;A=a+8|0;F=a+12|0;R=0;I=T;do{f=+p[c>>2];B=+p[D>>2];V=+p[m>>2];E=+j(+(f*f+B*B+V*V));N=+(R|0)*(6.2831854820251465/+(I|0))*.5;k=+Q(+N)/E;E=f*k;f=B*k;B=V*k;k=+Z(+N);N=-0.0-E;V=-0.0-f;O=-0.0-B;L=x*V+(g*k+h*N)-v*O;U=g*O+(v*k+h*V)-x*N;G=v*N+(x*k+h*O)-g*V;W=h*k-g*N-v*V-x*O;p[P>>2]=B*U+(E*W+k*L)-f*G;p[w>>2]=E*G+(k*U+f*W)-B*L;p[A>>2]=f*L+(B*W+k*G)-E*U;p[F>>2]=k*W-E*L-f*U-B*G;xIe(e,a,t,i,o);R=R+1|0;I=r[M>>2]|0}while((R|0)<(I|0))}}while(0);if((n[e+8|0]&1)==0){d=_;return}if((r[(r[l>>2]|0)+1116>>2]|0)==0){d=_;return}l=r[s>>2]|0;if((r[l+1116>>2]|0)==0){d=_;return}if((r[l+1108>>2]|0)==(r[o+136>>2]|0)){nwe(l,o+8|0,o+72|0);d=_;return}else{nwe(l,o+72|0,o+8|0);d=_;return}}function TIe(e,t){e=e|0;t=t|0;var i=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0;i=e+12|0;if((r[i>>2]|0)==0){return}if((n[e+8|0]&1)==0){return}e=t+4|0;_=r[e>>2]|0;o=t+8|0;do{if((_|0)==(r[o>>2]|0)){s=(_|0)==0?1:_<<1;if((_|0)>=(s|0)){a=_;break}if((s|0)==0){p=0;l=_}else{r[9806]=(r[9806]|0)+1;d=hBe((s<<2)+19|0)|0;if((d|0)==0){c=0}else{b=-(d+4|0)&15;r[d+b>>2]=d;c=d+(b+4)|0}p=c;l=r[e>>2]|0}b=t+12|0;if((l|0)>0){d=0;do{u=p+(d<<2)|0;if((u|0)!=0){r[u>>2]=r[(r[b>>2]|0)+(d<<2)>>2]}d=d+1|0}while((d|0)<(l|0))}d=r[b>>2]|0;u=t+16|0;if((d|0)!=0){if((n[u]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[d-4>>2]|0)}r[b>>2]=0}n[u]=1;r[b>>2]=p;r[o>>2]=s;a=r[e>>2]|0}else{a=_}}while(0);_=(r[t+12>>2]|0)+(a<<2)|0;if((_|0)==0){m=a}else{r[_>>2]=r[i>>2];m=r[e>>2]|0}r[e>>2]=m+1;return}function DIe(e){e=e|0;AIe(e);if((e|0)==0){return}SBe(e);return}function PIe(e){e=e|0;return}function wIe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0.0,F=0.0;p[n>>2]=3.4028234663852886e+38;p[_>>2]=-3.4028234663852886e+38;o=r[e+8>>2]|0;if((o|0)>0){s=e+16|0;e=t|0;a=t+4|0;l=t+8|0;d=t+48|0;c=t+16|0;b=t+20|0;u=t+24|0;m=t+52|0;h=t+32|0;f=t+36|0;g=t+40|0;C=t+56|0;t=i|0;S=i+4|0;y=i+8|0;i=0;v=-3.4028234663852886e+38;while(1){x=r[s>>2]|0;M=+p[x+(i<<4)>>2];T=+p[x+(i<<4)+4>>2];D=+p[x+(i<<4)+8>>2];P=(+p[d>>2]+(+p[e>>2]*M+ +p[a>>2]*T+ +p[l>>2]*D))*+p[t>>2]+(+p[m>>2]+(M*+p[c>>2]+T*+p[b>>2]+D*+p[u>>2]))*+p[S>>2]+(+p[C>>2]+(M*+p[h>>2]+T*+p[f>>2]+D*+p[g>>2]))*+p[y>>2];if(P<+p[n>>2]){p[n>>2]=P;w=+p[_>>2]}else{w=v}if(P>w){p[_>>2]=P;A=P}else{A=w}x=i+1|0;if((x|0)<(o|0)){i=x;v=A}else{F=A;break}}}else{F=-3.4028234663852886e+38}A=+p[n>>2];if(A<=F){return}p[n>>2]=F;p[_>>2]=A;return}function AIe(e){e=e|0;var t=0,i=0,_=0,o=0,s=0;r[e>>2]=23416;t=e+48|0;i=e+56|0;_=r[i>>2]|0;o=e+60|0;if((_|0)!=0){if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0}n[o]=1;r[i>>2]=0;r[t>>2]=0;r[e+52>>2]=0;t=e+28|0;uwe(e+24|0,r[t>>2]|0);i=e+36|0;o=r[i>>2]|0;_=e+40|0;if((o|0)!=0){if((n[_]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[o-4>>2]|0)}r[i>>2]=0}n[_]=1;r[i>>2]=0;r[t>>2]=0;r[e+32>>2]=0;t=e+8|0;i=e+16|0;_=r[i>>2]|0;o=e+20|0;if((_|0)==0){n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}if((n[o]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[_-16+12>>2]|0)}r[i>>2]=0;n[o]=1;r[i>>2]=0;r[t>>2]=0;s=e+12|0;r[s>>2]=0;return}function FIe(e,t,i,o,s,a){e=e|0;t=t|0;i=i|0;o=o|0;s=s|0;a=a|0;var l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0.0,A=0.0,F=0.0,R=0,I=0,B=0,V=0,E=0,N=0.0,k=0.0,O=0.0,L=0.0,U=0,G=0.0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0.0,q=0.0,Y=0.0,J=0.0,K=0,$=0.0,ee=0,te=0.0,ie=0.0,ne=0.0,_e=0.0,re=0.0,oe=0.0,se=0.0,ae=0.0,pe=0.0,le=0.0;l=d;d=d+280|0;c=l+16|0;b=l+64|0;u=l+144|0;m=e+4|0;h=r[m>>2]|0;n[h+312|0]=0;r[h>>2]=0;n[h+356|0]=1;p[h+292>>2]=999999984306749400.0;p[h+296>>2]=999999984306749400.0;p[h+300>>2]=999999984306749400.0;p[h+304>>2]=0.0;f=h+332|0;vBe(h+336|0,0,17);_[f>>1]=_[f>>1]&-16;f=t+48|0;h=i+48|0;g=f|0;C=i+52|0;S=t+52|0;y=i+56|0;i=t+56|0;v=o+48|0;x=s+48|0;M=v|0;T=s+52|0;D=o+52|0;P=s+56|0;s=o+56|0;w=+p[h>>2]-+p[g>>2]-(+p[x>>2]-+p[M>>2]);A=+p[C>>2]-+p[S>>2]-(+p[T>>2]-+p[D>>2]);F=+p[y>>2]-+p[i>>2]-(+p[P>>2]-+p[s>>2]);r[c>>2]=23960;R=c+36|0;p[R>>2]=999999984306749400.0;I=c+40|0;n[I]=0;B=r[e+8>>2]|0;V=r[e+12>>2]|0;e=r[m>>2]|0;r[b>>2]=23568;p[b+4>>2]=0.0;p[b+8>>2]=1.0;p[b+12>>2]=0.0;p[b+16>>2]=0.0;r[b+20>>2]=0;r[b+24>>2]=e;r[b+28>>2]=B;r[b+32>>2]=V;r[b+36>>2]=r[B+4>>2];r[b+40>>2]=r[V+4>>2];p[b+44>>2]=+z_t[r[(r[B>>2]|0)+44>>2]&1023](B);p[b+48>>2]=+z_t[r[(r[V>>2]|0)+44>>2]&1023](V);n[b+52|0]=0;r[b+60>>2]=-1;r[b+72>>2]=1;p[u+128>>2]=999999984306749400.0;r[u+132>>2]=0;V=u;B=t;r[V>>2]=r[B>>2];r[V+4>>2]=r[B+4>>2];r[V+8>>2]=r[B+8>>2];r[V+12>>2]=r[B+12>>2];B=u+16|0;V=t+16|0;r[B>>2]=r[V>>2];r[B+4>>2]=r[V+4>>2];r[B+8>>2]=r[V+8>>2];r[B+12>>2]=r[V+12>>2];V=u+32|0;B=t+32|0;r[V>>2]=r[B>>2];r[V+4>>2]=r[B+4>>2];r[V+8>>2]=r[B+8>>2];r[V+12>>2]=r[B+12>>2];B=u+48|0;V=B;t=f;r[V>>2]=r[t>>2];r[V+4>>2]=r[t+4>>2];r[V+8>>2]=r[t+8>>2];r[V+12>>2]=r[t+12>>2];t=u+64|0;V=o;r[t>>2]=r[V>>2];r[t+4>>2]=r[V+4>>2];r[t+8>>2]=r[V+8>>2];r[t+12>>2]=r[V+12>>2];V=u+80|0;t=o+16|0;r[V>>2]=r[t>>2];r[V+4>>2]=r[t+4>>2];r[V+8>>2]=r[t+8>>2];r[V+12>>2]=r[t+12>>2];t=u+96|0;V=o+32|0;r[t>>2]=r[V>>2];r[t+4>>2]=r[V+4>>2];r[t+8>>2]=r[V+8>>2];r[t+12>>2]=r[V+12>>2];V=u+112|0;t=V;o=v;r[t>>2]=r[o>>2];r[t+4>>2]=r[o+4>>2];r[t+8>>2]=r[o+8>>2];r[t+12>>2]=r[o+12>>2];o=c|0;NDe(b,u,o,0,0);t=(n[I]&1)==0;v=c+20|0;f=l|0;r[f>>2]=r[v>>2];r[f+4>>2]=r[v+4>>2];r[f+8>>2]=r[v+8>>2];r[f+12>>2]=r[v+12>>2];if(t){E=0;d=l;return E|0}N=+p[R>>2];t=c+4|0;k=+p[t>>2];e=c+8|0;O=+p[e>>2];m=c+12|0;L=+p[m>>2];U=c+16|0;G=+p[U>>2];do{if(N>.0010000000474974513){c=a;W=B|0;z=u+52|0;H=u+56|0;j=V|0;X=u+116|0;Z=u+120|0;Q=L;q=O;Y=k;J=0.0;K=1;$=N;while(1){if((K|0)>32){E=0;ee=2583;break}te=J-$/(F*Q+(A*q+w*Y));if(!(te>=0.0&te<=1.0&te>J)){E=0;ee=2588;break}Wnt[r[r[c>>2]>>2]&1023](a,te);ie=1.0-te;p[W>>2]=ie*+p[g>>2]+te*+p[h>>2];p[z>>2]=ie*+p[S>>2]+te*+p[C>>2];p[H>>2]=ie*+p[i>>2]+te*+p[y>>2];p[j>>2]=ie*+p[M>>2]+te*+p[x>>2];p[X>>2]=ie*+p[D>>2]+te*+p[T>>2];p[Z>>2]=ie*+p[s>>2]+te*+p[P>>2];NDe(b,u,o,0,0);if((n[I]&1)==0){E=0;ee=2582;break}ie=+p[R>>2];if(ie<0.0){ee=2575;break}r[f>>2]=r[v>>2];r[f+4>>2]=r[v+4>>2];r[f+8>>2]=r[v+8>>2];r[f+12>>2]=r[v+12>>2];ne=+p[t>>2];_e=+p[e>>2];re=+p[m>>2];if(ie>.0010000000474974513){Q=re;q=_e;Y=ne;J=te;K=K+1|0;$=ie}else{ee=2577;break}}if((ee|0)==2583){d=l;return E|0}else if((ee|0)==2582){d=l;return E|0}else if((ee|0)==2588){d=l;return E|0}else if((ee|0)==2577){oe=+p[U>>2];se=re;ae=_e;pe=ne;le=te;break}else if((ee|0)==2575){p[a+164>>2]=te;$=+p[e>>2];J=+p[m>>2];Y=+p[U>>2];p[a+132>>2]=+p[t>>2];p[a+136>>2]=$;p[a+140>>2]=J;p[a+144>>2]=Y;K=a+148|0;r[K>>2]=r[v>>2];r[K+4>>2]=r[v+4>>2];r[K+8>>2]=r[v+8>>2];r[K+12>>2]=r[v+12>>2];E=1;d=l;return E|0}}else{oe=G;se=L;ae=O;pe=k;le=0.0}}while(0);if(F*se+(A*ae+w*pe)>=-0.0-+p[a+172>>2]){E=0;d=l;return E|0}p[a+164>>2]=le;p[a+132>>2]=pe;p[a+136>>2]=ae;p[a+140>>2]=se;p[a+144>>2]=oe;v=a+148|0;r[v>>2]=r[f>>2];r[v+4>>2]=r[f+4>>2];r[v+8>>2]=r[f+8>>2];r[v+12>>2]=r[f+12>>2];E=1;d=l;return E|0}function RIe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function IIe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0.0,x=0.0,M=0.0,T=0.0,D=0.0,P=0.0,w=0.0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0.0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0.0,ye=0,ve=0.0,xe=0.0,Me=0,Te=0.0,De=0.0,Pe=0.0,we=0.0,Ae=0.0,Fe=0.0,Re=0.0,Ie=0,Be=0.0,Ve=0.0,Ee=0.0,Ne=0.0,ke=0.0,Oe=0.0,Le=0,Ue=0.0,Ge=0.0,We=0.0,ze=0,He=0.0,je=0;n=d;d=d+176|0;_=n|0;o=n+16|0;s=n+64|0;a=n+80|0;l=n+88|0;c=n+152|0;b=n+168|0;r[e+348>>2]=e+220;r[e+352>>2]=e+252;r[e+356>>2]=e+284;u=e+316|0;r[e+360>>2]=u;m=e+364|0;r[m>>2]=4;h=e+368|0;r[h>>2]=0;f=e+376|0;r[f>>2]=0;g=t;C=e;S=r[g+4>>2]|0;r[C>>2]=r[g>>2];r[C+4>>2]=S;S=e+8|0;C=t+8|0;r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2];C=e+24|0;S=t+24|0;r[C>>2]=r[S>>2];r[C+4>>2]=r[S+4>>2];r[C+8>>2]=r[S+8>>2];r[C+12>>2]=r[S+12>>2];S=e+40|0;C=t+40|0;r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2];C=e+56|0;S=t+56|0;r[C>>2]=r[S>>2];r[C+4>>2]=r[S+4>>2];r[C+8>>2]=r[S+8>>2];r[C+12>>2]=r[S+12>>2];S=e+72|0;C=t+72|0;r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2];C=e+88|0;S=t+88|0;r[C>>2]=r[S>>2];r[C+4>>2]=r[S+4>>2];r[C+8>>2]=r[S+8>>2];r[C+12>>2]=r[S+12>>2];S=e+104|0;C=t+104|0;r[S>>2]=r[C>>2];r[S+4>>2]=r[C+4>>2];r[S+8>>2]=r[C+8>>2];r[S+12>>2]=r[C+12>>2];C=t+120|0;t=r[C+4>>2]|0;S=e+120|0;r[S>>2]=r[C>>2];r[S+4>>2]=t;t=e+144|0;p[t>>2]=0.0;S=e+180|0;r[S>>2]=0;C=e+128|0;g=C;y=i;r[g>>2]=r[y>>2];r[g+4>>2]=r[y+4>>2];r[g+8>>2]=r[y+8>>2];r[g+12>>2]=r[y+12>>2];y=C|0;v=+p[y>>2];C=e+132|0;x=+p[C>>2];i=e+136|0;M=+p[i>>2];T=v*v+x*x+M*M;if(T>0.0){D=-0.0-M;P=-0.0-x;w=-0.0-v}else{D=0.0;P=0.0;w=1.0}A=e+164|0;p[A>>2]=0.0;r[m>>2]=3;F=e+148|0;r[F>>2]=u;r[S>>2]=1;EIe(e,w,P,D,u);p[A>>2]=1.0;A=(r[F>>2]|0)+16|0;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2];g=l+48|0;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2];g=l+32|0;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2];g=l+16|0;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2];g=l;r[g>>2]=r[A>>2];r[g+4>>2]=r[A+4>>2];r[g+8>>2]=r[A+8>>2];r[g+12>>2]=r[A+12>>2];A=c|0;g=e+128|0;F=s;u=_|0;S=_+4|0;R=_+8|0;I=_+12|0;B=o|0;V=o+4|0;E=o+8|0;N=o+12|0;k=o+16|0;O=o+20|0;L=o+24|0;U=o+28|0;G=o+32|0;W=o+36|0;z=o+40|0;H=o+44|0;X=s|0;Z=s+4|0;Q=s+8|0;s=c+12|0;q=c+4|0;Y=c+8|0;J=1;D=T;K=1;T=0.0;e:while(1){$=r[h>>2]|0;ee=1-$|0;te=e+148+($*36|0)|0;P=+p[y>>2];w=+p[C>>2];v=+p[i>>2];x=+j(+(P*P+w*w+v*v));if(x<9999999747378752.0e-20){ie=2598;break}ne=e+148+($*36|0)+32|0;p[e+148+($*36|0)+16+(r[ne>>2]<<2)>>2]=0.0;_e=(r[m>>2]|0)-1|0;r[m>>2]=_e;r[e+148+($*36|0)+(r[ne>>2]<<2)>>2]=r[e+348+(_e<<2)>>2];_e=r[ne>>2]|0;r[ne>>2]=_e+1;EIe(e,-0.0-P,-0.0-w,-0.0-v,r[e+148+($*36|0)+(_e<<2)>>2]|0);_e=r[ne>>2]|0;re=r[e+148+($*36|0)+(_e-1<<2)>>2]|0;oe=re+16|0;se=oe|0;ae=re+20|0;pe=re+24|0;re=0;while(1){if(re>>>0>=4){break}v=+p[se>>2]-+p[l+(re<<4)>>2];w=+p[ae>>2]-+p[l+(re<<4)+4>>2];P=+p[pe>>2]-+p[l+(re<<4)+8>>2];if(v*v+w*w+P*P<9999999747378752.0e-20){ie=2602;break e}else{re=re+1|0}}re=l+(K<<4)|0;le=oe;r[re>>2]=r[le>>2];r[re+4>>2]=r[le+4>>2];r[re+8>>2]=r[le+8>>2];r[re+12>>2]=r[le+12>>2];P=(+p[y>>2]*+p[se>>2]+ +p[C>>2]*+p[ae>>2]+ +p[i>>2]*+p[pe>>2])/x;w=P>T?P:T;if(x-w-x*9999999747378752.0e-20<=0.0){ie=2604;break}r[b>>2]=0;do{if((_e|0)==2){de=+NIe((r[te>>2]|0)+16|0,(r[e+148+($*36|0)+4>>2]|0)+16|0,A,b)}else if((_e|0)==3){de=+OIe((r[te>>2]|0)+16|0,(r[e+148+($*36|0)+4>>2]|0)+16|0,(r[e+148+($*36|0)+8>>2]|0)+16|0,A,b)}else if((_e|0)==4){le=r[te>>2]|0;re=le+16|0;ce=r[e+148+($*36|0)+4>>2]|0;be=ce+16|0;ue=r[e+148+($*36|0)+8>>2]|0;me=ue+16|0;he=r[e+148+($*36|0)+12>>2]|0;fe=he+16|0;r[u>>2]=re;r[S>>2]=be;r[R>>2]=me;r[I>>2]=fe;ge=re|0;P=+p[ge>>2];re=fe|0;v=+p[re>>2];M=P-v;Ce=le+20|0;Se=+p[Ce>>2];ye=he+20|0;ve=+p[ye>>2];xe=Se-ve;Me=le+24|0;Te=+p[Me>>2];le=he+24|0;De=+p[le>>2];Pe=Te-De;p[B>>2]=M;p[V>>2]=xe;p[E>>2]=Pe;p[N>>2]=0.0;he=be|0;we=+p[he>>2];Ae=we-v;be=ce+20|0;Fe=+p[be>>2];Re=Fe-ve;Ie=ce+24|0;Be=+p[Ie>>2];Ve=Be-De;p[k>>2]=Ae;p[O>>2]=Re;p[L>>2]=Ve;p[U>>2]=0.0;ce=me|0;Ee=+p[ce>>2];Ne=Ee-v;me=ue+20|0;ke=+p[me>>2];Oe=ke-ve;Le=ue+24|0;Ue=+p[Le>>2];Ge=Ue-De;p[G>>2]=Ne;p[W>>2]=Oe;p[z>>2]=Ge;p[H>>2]=0.0;We=xe*Ve*Ne+Pe*Ae*Oe-Oe*Ve*M-xe*Ae*Ge+Ge*M*Re-Ne*Pe*Re;Re=we-Ee;Ee=Fe-ke;ke=Be-Ue;Ue=P-we;we=Se-Fe;Fe=Te-Be;if(We*(Te*(Re*we-Ee*Ue)+(P*(Ee*Fe-ke*we)+Se*(ke*Ue-Re*Fe)))>0.0|We==0.0){de=-1.0;break}vBe(F|0,0,12);r[a>>2]=0;ue=0;Fe=-1.0;Re=xe;xe=Pe;Pe=M;M=v;v=ve;ve=De;while(1){ze=r[18320+(ue<<2)>>2]|0;De=+p[o+(ze<<4)+8>>2];Ue=+p[o+(ze<<4)+4>>2];ke=+p[o+(ze<<4)>>2];do{if(We*((Re*De-xe*Ue)*M+v*(xe*ke-De*Pe)+(Ue*Pe-Re*ke)*ve)>0.0){Se=+OIe(r[_+(ue<<2)>>2]|0,r[_+(ze<<2)>>2]|0,fe,X,a);if(!(Fe<0.0|Se<Fe)){He=Fe;break}je=r[a>>2]|0;r[b>>2]=((je&2|0)==0?0:1<<ze)+(je<<1&8)+((je&1|0)==0?0:1<<ue);p[c+(ue<<2)>>2]=+p[X>>2];p[c+(ze<<2)>>2]=+p[Z>>2];p[c+(r[18320+(ze<<2)>>2]<<2)>>2]=0.0;p[s>>2]=+p[Q>>2];He=Se}else{He=Fe}}while(0);ze=ue+1|0;if(ze>>>0>=3){break}ue=ze;Fe=He;Re=+p[o+(ze<<4)+4>>2];xe=+p[o+(ze<<4)+8>>2];Pe=+p[o+(ze<<4)>>2];M=+p[re>>2];v=+p[ye>>2];ve=+p[le>>2]}if(He>=0.0){de=He;break}r[b>>2]=15;ve=+p[me>>2];v=+p[Ie>>2];M=+p[re>>2];Pe=+p[Le>>2];xe=+p[he>>2];Re=+p[ye>>2];Fe=+p[ce>>2];ke=+p[le>>2];Ue=+p[be>>2];De=(ve*v*M+Pe*xe*Re-Re*v*Fe-ve*xe*ke+ke*Fe*Ue-M*Pe*Ue)/We;p[A>>2]=De;Se=+p[Ce>>2];we=+p[Me>>2];Ee=+p[ge>>2];P=(Se*Pe*M+we*Fe*Re-Re*Pe*Ee-Se*Fe*ke+ke*Ee*ve-M*we*ve)/We;p[q>>2]=P;ve=(Ue*we*M+v*Ee*Re-Re*we*xe-Ue*Ee*ke+ke*xe*Se-M*v*Se)/We;p[Y>>2]=ve;p[s>>2]=1.0-(ve+(De+P));de=0.0}else{de=D}}while(0);if(de<0.0){ie=2625;break}te=e+148+(ee*36|0)+32|0;r[te>>2]=0;vBe(g|0,0,16);r[h>>2]=ee;_e=r[ne>>2]|0;pe=r[b>>2]|0;if((_e|0)!=0){ae=0;do{se=e+148+($*36|0)+(ae<<2)|0;oe=r[se>>2]|0;if((pe&1<<ae|0)==0){ue=r[m>>2]|0;r[m>>2]=ue+1;r[e+348+(ue<<2)>>2]=oe}else{r[e+148+(ee*36|0)+(r[te>>2]<<2)>>2]=oe;x=+p[c+(ae<<2)>>2];oe=r[te>>2]|0;r[te>>2]=oe+1;p[e+148+(ee*36|0)+16+(oe<<2)>>2]=x;oe=r[se>>2]|0;P=x*+p[oe+20>>2];De=x*+p[oe+24>>2];p[y>>2]=+p[oe+16>>2]*x+ +p[y>>2];p[C>>2]=P+ +p[C>>2];p[i>>2]=De+ +p[i>>2]}ae=ae+1|0}while(ae>>>0<_e>>>0)}if((pe|0)==15){r[f>>2]=1}if(J>>>0>=128){ie=2627;break}if((r[f>>2]|0)!=0){break}J=J+1|0;D=de;K=K+1&3;T=w}if((ie|0)==2602){K=r[h>>2]|0;J=e+148+(K*36|0)+32|0;c=(r[J>>2]|0)-1|0;r[J>>2]=c;J=r[e+148+(K*36|0)+(c<<2)>>2]|0;c=r[m>>2]|0;r[m>>2]=c+1;r[e+348+(c<<2)>>2]=J}else if((ie|0)==2604){J=r[h>>2]|0;c=e+148+(J*36|0)+32|0;K=(r[c>>2]|0)-1|0;r[c>>2]=K;c=r[e+148+(J*36|0)+(K<<2)>>2]|0;K=r[m>>2]|0;r[m>>2]=K+1;r[e+348+(K<<2)>>2]=c}else if((ie|0)==2627){r[f>>2]=2}else if((ie|0)==2625){c=r[h>>2]|0;K=e+148+(c*36|0)+32|0;J=(r[K>>2]|0)-1|0;r[K>>2]=J;K=r[e+148+(c*36|0)+(J<<2)>>2]|0;J=r[m>>2]|0;r[m>>2]=J+1;r[e+348+(J<<2)>>2]=K}else if((ie|0)==2598){r[f>>2]=1}r[e+372>>2]=e+148+((r[h>>2]|0)*36|0);h=r[f>>2]|0;if((h|0)==0){T=+p[y>>2];de=+p[C>>2];D=+p[i>>2];p[t>>2]=+j(+(T*T+de*de+D*D));d=n;return h|0}else if((h|0)==1){p[t>>2]=0.0;d=n;return h|0}else{d=n;return h|0}return 0}function BIe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0.0,h=0,f=0,g=0,C=0,S=0.0,y=0.0,v=0.0,x=0.0,M=0.0,T=0,D=0,P=0,w=0,A=0,F=0.0,R=0.0,I=0,B=0;t=d;d=d+32|0;i=t|0;n=t+16|0;_=e+372|0;o=r[_>>2]|0;s=o+32|0;a=r[s>>2]|0;e:do{if((a|0)==2){l=r[o+4>>2]|0;c=r[o>>2]|0;b=+p[l+16>>2]-+p[c+16>>2];u=+p[l+20>>2]-+p[c+20>>2];m=+p[l+24>>2]-+p[c+24>>2];c=n|0;l=n+4|0;h=n+8|0;f=e+364|0;g=n;C=0;while(1){vBe(g|0,0,16);p[n+(C<<2)>>2]=1.0;S=+p[h>>2];y=+p[l>>2];v=u*S-m*y;x=+p[c>>2];M=m*x-b*S;S=b*y-u*x;if(v*v+M*M+S*S>0.0){T=r[_>>2]|0;D=T+32|0;p[T+16+(r[D>>2]<<2)>>2]=0.0;P=(r[f>>2]|0)-1|0;r[f>>2]=P;r[T+(r[D>>2]<<2)>>2]=r[e+348+(P<<2)>>2];P=r[D>>2]|0;r[D>>2]=P+1;EIe(e,v,M,S,r[T+(P<<2)>>2]|0);if(BIe(e)|0){w=1;A=2663;break}P=r[_>>2]|0;T=P+32|0;D=(r[T>>2]|0)-1|0;r[T>>2]=D;T=r[P+(D<<2)>>2]|0;D=r[f>>2]|0;r[f>>2]=D+1;r[e+348+(D<<2)>>2]=T;T=r[_>>2]|0;D=T+32|0;p[T+16+(r[D>>2]<<2)>>2]=0.0;P=(r[f>>2]|0)-1|0;r[f>>2]=P;r[T+(r[D>>2]<<2)>>2]=r[e+348+(P<<2)>>2];P=r[D>>2]|0;r[D>>2]=P+1;EIe(e,-0.0-v,-0.0-M,-0.0-S,r[T+(P<<2)>>2]|0);if(BIe(e)|0){w=1;A=2660;break}P=r[_>>2]|0;T=P+32|0;D=(r[T>>2]|0)-1|0;r[T>>2]=D;T=r[P+(D<<2)>>2]|0;D=r[f>>2]|0;r[f>>2]=D+1;r[e+348+(D<<2)>>2]=T}C=C+1|0;if(C>>>0>=3){break e}}if((A|0)==2660){d=t;return w|0}else if((A|0)==2663){d=t;return w|0}}else if((a|0)==3){C=r[o+4>>2]|0;f=r[o>>2]|0;u=+p[f+16>>2];b=+p[C+16>>2]-u;m=+p[f+20>>2];S=+p[C+20>>2]-m;M=+p[f+24>>2];v=+p[C+24>>2]-M;C=r[o+8>>2]|0;x=+p[C+16>>2]-u;u=+p[C+20>>2]-m;m=+p[C+24>>2]-M;M=S*m-v*u;y=v*x-b*m;m=b*u-S*x;if(M*M+y*y+m*m<=0.0){break}p[o+28>>2]=0.0;C=e+364|0;f=(r[C>>2]|0)-1|0;r[C>>2]=f;r[o+(r[s>>2]<<2)>>2]=r[e+348+(f<<2)>>2];f=r[s>>2]|0;r[s>>2]=f+1;EIe(e,M,y,m,r[o+(f<<2)>>2]|0);if(BIe(e)|0){w=1;d=t;return w|0}f=r[_>>2]|0;c=f+32|0;l=(r[c>>2]|0)-1|0;r[c>>2]=l;c=r[f+(l<<2)>>2]|0;l=r[C>>2]|0;r[C>>2]=l+1;r[e+348+(l<<2)>>2]=c;c=r[_>>2]|0;l=c+32|0;p[c+16+(r[l>>2]<<2)>>2]=0.0;f=(r[C>>2]|0)-1|0;r[C>>2]=f;r[c+(r[l>>2]<<2)>>2]=r[e+348+(f<<2)>>2];f=r[l>>2]|0;r[l>>2]=f+1;EIe(e,-0.0-M,-0.0-y,-0.0-m,r[c+(f<<2)>>2]|0);if(BIe(e)|0){w=1;d=t;return w|0}else{f=r[_>>2]|0;c=f+32|0;l=(r[c>>2]|0)-1|0;r[c>>2]=l;c=r[f+(l<<2)>>2]|0;l=r[C>>2]|0;r[C>>2]=l+1;r[e+348+(l<<2)>>2]=c;break}}else if((a|0)==4){c=r[o>>2]|0;l=r[o+12>>2]|0;m=+p[l+16>>2];y=+p[c+16>>2]-m;M=+p[l+20>>2];x=+p[c+20>>2]-M;S=+p[l+24>>2];u=+p[c+24>>2]-S;c=r[o+4>>2]|0;b=+p[c+16>>2]-m;v=+p[c+20>>2]-M;F=+p[c+24>>2]-S;c=r[o+8>>2]|0;R=+p[c+16>>2]-m;m=+p[c+20>>2]-M;M=+p[c+24>>2]-S;if(y*v*M+(x*F*R+u*b*m-y*F*m-x*b*M)-u*v*R==0.0){break}else{w=1}d=t;return w|0}else if((a|0)==1){c=i|0;l=i+4|0;C=i+8|0;f=e+364|0;h=i;g=0;T=o;D=1;while(1){vBe(h|0,0,16);p[i+(g<<2)>>2]=1.0;P=T+32|0;p[T+16+(D<<2)>>2]=0.0;I=(r[f>>2]|0)-1|0;r[f>>2]=I;r[T+(r[P>>2]<<2)>>2]=r[e+348+(I<<2)>>2];I=r[P>>2]|0;r[P>>2]=I+1;R=+p[c>>2];v=+p[l>>2];u=+p[C>>2];EIe(e,R,v,u,r[T+(I<<2)>>2]|0);if(BIe(e)|0){w=1;A=2656;break}I=r[_>>2]|0;P=I+32|0;B=(r[P>>2]|0)-1|0;r[P>>2]=B;P=r[I+(B<<2)>>2]|0;B=r[f>>2]|0;r[f>>2]=B+1;r[e+348+(B<<2)>>2]=P;P=r[_>>2]|0;B=P+32|0;p[P+16+(r[B>>2]<<2)>>2]=0.0;I=(r[f>>2]|0)-1|0;r[f>>2]=I;r[P+(r[B>>2]<<2)>>2]=r[e+348+(I<<2)>>2];I=r[B>>2]|0;r[B>>2]=I+1;EIe(e,-0.0-R,-0.0-v,-0.0-u,r[P+(I<<2)>>2]|0);if(BIe(e)|0){w=1;A=2658;break}I=r[_>>2]|0;P=I+32|0;B=(r[P>>2]|0)-1|0;r[P>>2]=B;P=r[I+(B<<2)>>2]|0;B=r[f>>2]|0;r[f>>2]=B+1;r[e+348+(B<<2)>>2]=P;P=g+1|0;if(P>>>0>=3){break e}B=r[_>>2]|0;g=P;T=B;D=r[B+32>>2]|0}if((A|0)==2656){d=t;return w|0}else if((A|0)==2658){d=t;return w|0}}}while(0);w=0;d=t;return w|0}function VIe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0.0,C=0.0,S=0,y=0,v=0.0,x=0.0,M=0,T=0.0,D=0.0,P=0.0,w=0,A=0,F=0.0,R=0,I=0,B=0,V=0.0,E=0.0,N=0.0,k=0.0,O=0.0,L=0.0,U=0.0,G=0.0,W=0.0,z=0.0;s=e+9800|0;a=r[s>>2]|0;if((a|0)==0){r[e>>2]=5;l=0;return l|0}d=a+52|0;c=r[d>>2]|0;b=a+48|0;if((c|0)!=0){r[c+48>>2]=r[b>>2]}c=r[b>>2]|0;if((c|0)!=0){r[c+52>>2]=r[d>>2]}if((r[s>>2]|0)==(a|0)){r[s>>2]=r[d>>2]}c=e+9804|0;r[c>>2]=(r[c>>2]|0)-1;r[b>>2]=0;u=e+9792|0;r[d>>2]=r[u>>2];m=r[u>>2]|0;if((m|0)!=0){r[m+48>>2]=a}r[u>>2]=a;m=e+9796|0;r[m>>2]=(r[m>>2]|0)+1;n[a+59|0]=0;r[a+24>>2]=t;r[a+28>>2]=i;r[a+32>>2]=_;h=i+16|0;f=t+16|0;g=+p[f>>2];C=+p[h>>2]-g;S=i+20|0;y=t+20|0;v=+p[y>>2];x=+p[S>>2]-v;M=i+24|0;i=t+24|0;T=+p[i>>2];D=+p[M>>2]-T;t=_+16|0;P=+p[t>>2]-g;w=_+20|0;g=+p[w>>2]-v;A=_+24|0;v=+p[A>>2]-T;T=x*v-D*g;F=D*P-C*v;v=C*g-x*P;_=a|0;p[_>>2]=T;R=a+4|0;p[R>>2]=F;I=a+8|0;p[I>>2]=v;p[a+12>>2]=0.0;P=+j(+(T*T+F*F+v*v));B=P>9999999747378752.0e-20;x=+p[f>>2];g=+p[h>>2];C=x-g;D=+p[y>>2];V=+p[S>>2];E=D-V;N=+p[i>>2];k=+p[M>>2];O=N-k;L=N*(T*E-F*C)+(x*(F*O-v*E)+D*(v*C-T*O));O=+p[t>>2];C=g-O;E=+p[w>>2];U=V-E;G=+p[A>>2];W=k-G;z=k*(T*U-F*C)+(g*(F*W-v*U)+V*(v*C-T*W));W=O-x;x=E-D;D=G-N;N=G*(T*x-F*W)+(O*(F*D-v*x)+E*(v*W-T*D));D=L<z?L:z;z=(D<N?D:N)/(B?P:1.0);p[a+20>>2]=z<-.009999999776482582?z:0.0;do{if(B){z=(+p[f>>2]*T+ +p[y>>2]*F+ +p[i>>2]*v)/P;p[a+16>>2]=z;N=1.0/P;p[_>>2]=N*T;p[R>>2]=N*F;p[I>>2]=N*v;if(z<-9999999747378752.0e-21&(o^1)){r[e>>2]=3;break}else{l=a;return l|0}}else{r[e>>2]=2}}while(0);e=r[d>>2]|0;if((e|0)!=0){r[e+48>>2]=r[b>>2]}e=r[b>>2]|0;if((e|0)!=0){r[e+52>>2]=r[d>>2]}if((r[u>>2]|0)==(a|0)){r[u>>2]=r[d>>2]}r[m>>2]=(r[m>>2]|0)-1;r[b>>2]=0;r[d>>2]=r[s>>2];d=r[s>>2]|0;if((d|0)!=0){r[d+48>>2]=a}r[s>>2]=a;r[c>>2]=(r[c>>2]|0)+1;l=0;return l|0}function EIe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;var o=0,s=0,a=0,l=0,c=0.0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0.0;o=d;d=d+48|0;s=o|0;a=o+16|0;l=o+32|0;c=1.0/+j(+(t*t+i*i+n*n));b=_|0;p[b>>2]=c*t;u=_+4|0;p[u>>2]=c*i;m=_+8|0;p[m>>2]=c*n;p[_+12>>2]=0.0;h=e+120|0;f=(r[e>>2]|0)+(r[h+4>>2]|0)|0;g=r[h>>2]|0;if((g&1|0)==0){C=g}else{C=r[(r[f>>2]|0)+(g-1)>>2]|0}srt[C&511](l,f,_|0);n=-0.0-+p[b>>2];c=-0.0-+p[u>>2];i=-0.0-+p[m>>2];m=(r[e+4>>2]|0)+(r[h+4>>2]|0)|0;u=r[h>>2]|0;if((u&1|0)==0){S=u}else{S=r[(r[m>>2]|0)+(u-1)>>2]|0}t=+p[e+24>>2]*n+ +p[e+28>>2]*c+ +p[e+32>>2]*i;y=+p[e+40>>2]*n+ +p[e+44>>2]*c+ +p[e+48>>2]*i;p[a>>2]=+p[e+8>>2]*n+ +p[e+12>>2]*c+ +p[e+16>>2]*i;p[a+4>>2]=t;p[a+8>>2]=y;p[a+12>>2]=0.0;srt[S&511](s,m,a);y=+p[s>>2];t=+p[s+4>>2];i=+p[s+8>>2];c=+p[l+4>>2]-(+p[e+108>>2]+(y*+p[e+72>>2]+t*+p[e+76>>2]+i*+p[e+80>>2]));n=+p[l+8>>2]-(+p[e+112>>2]+(y*+p[e+88>>2]+t*+p[e+92>>2]+i*+p[e+96>>2]));p[_+16>>2]=+p[l>>2]-(+p[e+104>>2]+(+p[e+56>>2]*y+ +p[e+60>>2]*t+ +p[e+64>>2]*i));p[_+20>>2]=c;p[_+24>>2]=n;p[_+28>>2]=0.0;d=o;return}function NIe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0.0,a=0.0,l=0,d=0,c=0.0,b=0.0,u=0,m=0.0,h=0.0,f=0.0,g=0.0,C=0.0;_=t|0;o=e|0;s=+p[o>>2];a=+p[_>>2]-s;l=t+4|0;d=e+4|0;c=+p[d>>2];b=+p[l>>2]-c;u=t+8|0;t=e+8|0;m=+p[t>>2];h=+p[u>>2]-m;f=a*a+b*b+h*h;if(f<=0.0){g=-1.0;return+g}C=(-0.0-(s*a+c*b+m*h))/f;if(C>=1.0){p[i>>2]=0.0;p[i+4>>2]=1.0;r[n>>2]=2;f=+p[_>>2];m=+p[l>>2];c=+p[u>>2];g=f*f+m*m+c*c;return+g}if(C>0.0){p[i+4>>2]=C;p[i>>2]=1.0-C;r[n>>2]=3;c=a*C+ +p[o>>2];a=b*C+ +p[d>>2];b=h*C+ +p[t>>2];g=c*c+a*a+b*b;return+g}else{p[i>>2]=1.0;p[i+4>>2]=0.0;r[n>>2]=1;b=+p[o>>2];a=+p[d>>2];c=+p[t>>2];g=b*b+a*a+c*c;return+g}return 0.0}function kIe(e,t,i,_,s,a){e=e|0;t=t|0;i=i|0;_=_|0;s=s|0;a=a|0;var l=0,d=0,c=0,b=0,u=0,m=0;l=_+59|0;if((o[l]|0|0)==(t|0)){d=0;return d|0}c=r[18320+(s<<2)>>2]|0;if(+p[_>>2]*+p[i+16>>2]+ +p[_+4>>2]*+p[i+20>>2]+ +p[_+8>>2]*+p[i+24>>2]-+p[_+16>>2]<-9999999747378752.0e-21){b=VIe(e,r[_+24+(c<<2)>>2]|0,r[_+24+(s<<2)>>2]|0,i,0)|0;if((b|0)==0){d=0;return d|0}n[b+56|0]=s&255;r[b+36>>2]=_;n[_+56+s|0]=0;r[_+36+(s<<2)>>2]=b;u=a|0;m=r[u>>2]|0;if((m|0)==0){r[a+4>>2]=b}else{n[m+57|0]=2;r[m+40>>2]=b;n[b+58|0]=1;r[b+44>>2]=m}r[u>>2]=b;b=a+8|0;r[b>>2]=(r[b>>2]|0)+1;d=1;return d|0}b=r[18336+(s<<2)>>2]|0;n[l]=t&255;if(!(kIe(e,t,i,r[_+36+(c<<2)>>2]|0,o[_+56+c|0]|0,a)|0)){d=0;return d|0}if(!(kIe(e,t,i,r[_+36+(b<<2)>>2]|0,o[_+56+b|0]|0,a)|0)){d=0;return d|0}a=_+52|0;b=r[a>>2]|0;i=_+48|0;if((b|0)!=0){r[b+48>>2]=r[i>>2]}b=r[i>>2]|0;if((b|0)!=0){r[b+52>>2]=r[a>>2]}b=e+9792|0;if((r[b>>2]|0)==(_|0)){r[b>>2]=r[a>>2]}b=e+9796|0;r[b>>2]=(r[b>>2]|0)-1;r[i>>2]=0;i=e+9800|0;r[a>>2]=r[i>>2];a=r[i>>2]|0;if((a|0)!=0){r[a+48>>2]=_}r[i>>2]=_;_=e+9804|0;r[_>>2]=(r[_>>2]|0)+1;d=1;return d|0}function OIe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,l=0,c=0,b=0,u=0.0,m=0,h=0.0,f=0.0,g=0,C=0.0,S=0,y=0.0,v=0.0,x=0,M=0.0,T=0,D=0.0,P=0.0,w=0.0,A=0.0,F=0,R=0.0,I=0,B=0.0,V=0.0,E=0.0,N=0.0,k=0.0,O=0,L=0.0,U=0,G=0.0,W=0.0,z=0;o=d;d=d+80|0;s=o|0;a=o+16|0;l=o+64|0;c=o+72|0;r[s>>2]=e;r[s+4>>2]=t;r[s+8>>2]=i;b=e|0;u=+p[b>>2];m=t|0;h=+p[m>>2];f=u-h;g=e+4|0;C=+p[g>>2];S=t+4|0;y=+p[S>>2];v=C-y;x=e+8|0;M=+p[x>>2];T=t+8|0;D=+p[T>>2];P=M-D;p[a>>2]=f;p[a+4>>2]=v;p[a+8>>2]=P;p[a+12>>2]=0.0;t=i|0;w=+p[t>>2];A=h-w;F=i+4|0;h=+p[F>>2];R=y-h;I=i+8|0;y=+p[I>>2];B=D-y;p[a+16>>2]=A;p[a+20>>2]=R;p[a+24>>2]=B;p[a+28>>2]=0.0;D=w-u;w=h-C;h=y-M;p[a+32>>2]=D;p[a+36>>2]=w;p[a+40>>2]=h;p[a+44>>2]=0.0;y=v*B-P*R;V=P*A-B*f;E=R*f-v*A;N=E*E+(y*y+V*V);if(N<=0.0){k=-1.0;d=o;return+k}r[l>>2]=0;r[l+4>>2]=0;r[c>>2]=0;i=l;O=l+4|0;l=0;L=-1.0;U=e;G=v;v=P;P=f;f=u;u=C;C=M;while(1){do{if(f*(E*G-V*v)+u*(y*v-E*P)+(V*P-y*G)*C>0.0){e=r[18320+(l<<2)>>2]|0;M=+NIe(U,r[s+(e<<2)>>2]|0,i,c);if(!(L<0.0|M<L)){W=L;break}z=r[c>>2]|0;r[_>>2]=((z&1|0)==0?0:1<<l)+((z&2|0)==0?0:1<<e);p[n+(l<<2)>>2]=+p[i>>2];p[n+(e<<2)>>2]=+p[O>>2];p[n+(r[18320+(e<<2)>>2]<<2)>>2]=0.0;W=M}else{W=L}}while(0);e=l+1|0;if(e>>>0>=3){break}z=r[s+(e<<2)>>2]|0;l=e;L=W;U=z;G=+p[a+(e<<4)+4>>2];v=+p[a+(e<<4)+8>>2];P=+p[a+(e<<4)>>2];f=+p[z>>2];u=+p[z+4>>2];C=+p[z+8>>2]}if(W>=0.0){k=W;d=o;return+k}W=y*+p[b>>2]+V*+p[g>>2]+E*+p[x>>2];C=+j(+N);u=W/N;N=y*u;y=V*u;V=E*u;r[_>>2]=7;u=+p[m>>2]-N;E=+p[S>>2]-y;W=+p[T>>2]-V;f=R*W-E*B;P=u*B-W*A;W=E*A-u*R;R=+j(+(W*W+(f*f+P*P)))/C;p[n>>2]=R;P=+p[t>>2]-N;f=+p[F>>2]-y;W=+p[I>>2]-V;u=w*W-f*h;A=P*h-W*D;W=f*D-P*w;w=+j(+(W*W+(u*u+A*A)))/C;p[n+4>>2]=w;p[n+8>>2]=1.0-(w+R);k=V*V+(N*N+y*y);d=o;return+k}function LIe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;var o=0,s=0,a=0,l=0,c=0,b=0.0,u=0.0,m=0,h=0.0,f=0.0,g=0.0;o=d;d=d+32|0;s=o|0;a=o+8|0;l=o+16|0;c=o+24|0;wIe(e,i,_,s,a);wIe(t,n,_,l,c);b=+p[a>>2];u=+p[l>>2];if(b<u){m=0;d=o;return m|0}h=+p[c>>2];f=+p[s>>2];if(h<f){m=0;d=o;return m|0}g=b-u;if(g<0.0){Si(16080|0,89,18168|0,17520|0);return 0}u=h-f;if(u<0.0){Si(16080|0,91,18168|0,17112|0);return 0}p[r>>2]=g<u?g:u;m=1;d=o;return m|0}function UIe(e,t,i,_,o,s,a){e=e|0;t=t|0;i=i|0;_=_|0;o=+o;s=+s;a=a|0;var l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0.0,M=0.0,T=0,D=0.0,P=0,w=0.0,A=0,F=0.0,R=0,I=0.0,B=0,V=0.0,E=0,N=0.0,k=0,O=0.0,L=0.0,U=0.0,G=0.0,W=0,z=0.0,H=0,j=0.0,X=0.0,Z=0.0,Q=0.0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0.0,oe=0,se=0.0,ae=0.0,pe=0.0,le=0.0,de=0.0,ce=0.0,be=0,ue=0,me=0,he=0,fe=0,ge=0.0,Ce=0,Se=0,ye=0,ve=0.0,xe=0.0,Me=0.0,Te=0.0,De=0,Pe=0,we=0.0,Ae=0.0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0.0,Ge=0.0,We=0.0,ze=0.0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0.0,Je=0.0,Ke=0.0,$e=0,et=0,tt=0,it=0,nt=0,_t=0,rt=0,ot=0,st=0,at=0,pt=0,lt=0,dt=0,ct=0,bt=0,ut=0,mt=0,ht=0,ft=0.0,gt=0.0,Ct=0.0,St=0.0,yt=0.0,vt=0.0,xt=0.0,Mt=0.0,Tt=0.0,Dt=0;l=d;d=d+56|0;c=l|0;b=l+24|0;u=l+40|0;m=c+16|0;n[m]=1;h=c+12|0;r[h>>2]=0;r[c+4>>2]=0;f=c+8|0;r[f>>2]=0;g=r[_+4>>2]|0;if((g|0)>0){r[9806]=(r[9806]|0)+1;C=hBe((g<<4|4)+15|0)|0;if((C|0)==0){S=0}else{y=-(C+4|0)&15;r[C+y>>2]=C;S=C+(y+4)|0}n[m]=1;r[h>>2]=S;r[f>>2]=g;v=S}else{v=0}S=r[t+28>>2]|0;do{if((S|0)>0){g=t+36|0;f=r[g>>2]|0;y=i|0;x=+p[y>>2];C=i+4|0;M=+p[C>>2];T=i+8|0;D=+p[T>>2];P=i+16|0;w=+p[P>>2];A=i+20|0;F=+p[A>>2];R=i+24|0;I=+p[R>>2];B=i+32|0;V=+p[B>>2];E=i+36|0;N=+p[E>>2];k=i+40|0;O=+p[k>>2];L=+p[e>>2];U=+p[e+4>>2];G=+p[e+8>>2];W=0;z=3.4028234663852886e+38;H=-1;while(1){j=+p[f+(W*56|0)+40>>2];X=+p[f+(W*56|0)+44>>2];Z=+p[f+(W*56|0)+48>>2];Q=(j*x+X*M+Z*D)*L+(j*w+X*F+Z*I)*U+(j*V+X*N+Z*O)*G;q=Q<z;Y=q?W:H;J=W+1|0;if((J|0)<(S|0)){W=J;z=q?Q:z;H=Y}else{break}}if((Y|0)<0){K=v;break}H=r[f+(Y*56|0)+4>>2]|0;if((H|0)>0){W=f+(Y*56|0)+32|0;q=i+48|0;J=i+52|0;$=i+56|0;ee=b;te=_;ie=c;ne=0;_e=f;z=x;G=M;U=D;L=w;Q=F;Z=I;X=V;j=N;re=O;while(1){oe=r[(r[W>>2]|0)+(ne<<2)>>2]|0;se=+p[_e+(oe*56|0)+40>>2];ae=+p[_e+(oe*56|0)+44>>2];pe=+p[_e+(oe*56|0)+48>>2];le=se*z+ae*G+pe*U;de=se*L+ae*Q+pe*Z;ce=se*X+ae*j+pe*re;pe=+p[_e+(oe*56|0)+52>>2]-(le*+p[q>>2]+de*+p[J>>2]+ce*+p[$>>2]);oe=te+4|0;be=r[oe>>2]|0;if((be|0)<2){ue=be}else{me=be-1|0;he=te+12|0;fe=r[he>>2]|0;ae=+p[fe+(me<<4)>>2];se=+p[fe+(me<<4)+4>>2];ge=+p[fe+(me<<4)+8>>2];me=ie+4|0;Ce=ie+8|0;Se=ie+12|0;ye=ie+16|0;ve=ge;xe=se;Me=ae;Te=ae*le+se*de+ge*ce+pe;De=0;Pe=fe;while(1){ge=+p[Pe+(De<<4)>>2];se=+p[Pe+(De<<4)+4>>2];ae=+p[Pe+(De<<4)+8>>2];we=+p[Pe+(De<<4)+12>>2];Ae=ge*le+se*de+ae*ce+pe;fe=Ae<0.0;do{if(Te<0.0){if(fe){Fe=r[me>>2]|0;do{if((Fe|0)==(r[Ce>>2]|0)){Re=(Fe|0)==0?1:Fe<<1;if((Fe|0)>=(Re|0)){Ie=Fe;break}if((Re|0)==0){Be=0;Ve=Fe}else{r[9806]=(r[9806]|0)+1;Ee=hBe((Re<<4|4)+15|0)|0;if((Ee|0)==0){Ne=0}else{ke=-(Ee+4|0)&15;r[Ee+ke>>2]=Ee;Ne=Ee+(ke+4)|0}Be=Ne;Ve=r[me>>2]|0}if((Ve|0)>0){ke=0;do{Ee=Be+(ke<<4)|0;if((Ee|0)!=0){Oe=Ee;Ee=(r[Se>>2]|0)+(ke<<4)|0;r[Oe>>2]=r[Ee>>2];r[Oe+4>>2]=r[Ee+4>>2];r[Oe+8>>2]=r[Ee+8>>2];r[Oe+12>>2]=r[Ee+12>>2]}ke=ke+1|0}while((ke|0)<(Ve|0))}ke=r[Se>>2]|0;if((ke|0)!=0){if((n[ye]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[ke-16+12>>2]|0)}r[Se>>2]=0}n[ye]=1;r[Se>>2]=Be;r[Ce>>2]=Re;Ie=r[me>>2]|0}else{Ie=Fe}}while(0);Fe=r[Se>>2]|0;ke=Fe+(Ie<<4)|0;if((ke|0)==0){Le=Ie}else{p[ke>>2]=ge;p[Fe+(Ie<<4)+4>>2]=se;p[Fe+(Ie<<4)+8>>2]=ae;p[Fe+(Ie<<4)+12>>2]=we;Le=r[me>>2]|0}r[me>>2]=Le+1;break}else{Ue=Te/(Te-Ae);Ge=Me+(ge-Me)*Ue;We=xe+(se-xe)*Ue;ze=ve+(ae-ve)*Ue;Fe=r[me>>2]|0;do{if((Fe|0)==(r[Ce>>2]|0)){ke=(Fe|0)==0?1:Fe<<1;if((Fe|0)>=(ke|0)){He=Fe;break}if((ke|0)==0){je=0;Xe=Fe}else{r[9806]=(r[9806]|0)+1;Ee=hBe((ke<<4|4)+15|0)|0;if((Ee|0)==0){Ze=0}else{Oe=-(Ee+4|0)&15;r[Ee+Oe>>2]=Ee;Ze=Ee+(Oe+4)|0}je=Ze;Xe=r[me>>2]|0}if((Xe|0)>0){Oe=0;do{Ee=je+(Oe<<4)|0;if((Ee|0)!=0){Qe=Ee;Ee=(r[Se>>2]|0)+(Oe<<4)|0;r[Qe>>2]=r[Ee>>2];r[Qe+4>>2]=r[Ee+4>>2];r[Qe+8>>2]=r[Ee+8>>2];r[Qe+12>>2]=r[Ee+12>>2]}Oe=Oe+1|0}while((Oe|0)<(Xe|0))}Oe=r[Se>>2]|0;if((Oe|0)!=0){if((n[ye]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Oe-16+12>>2]|0)}r[Se>>2]=0}n[ye]=1;r[Se>>2]=je;r[Ce>>2]=ke;He=r[me>>2]|0}else{He=Fe}}while(0);Fe=r[Se>>2]|0;Oe=Fe+(He<<4)|0;if((Oe|0)==0){qe=He}else{p[Oe>>2]=Ge;p[Fe+(He<<4)+4>>2]=We;p[Fe+(He<<4)+8>>2]=ze;p[Fe+(He<<4)+12>>2]=0.0;qe=r[me>>2]|0}r[me>>2]=qe+1;break}}else{if(!fe){break}Ue=Te/(Te-Ae);Ye=Me+(ge-Me)*Ue;Je=xe+(se-xe)*Ue;Ke=ve+(ae-ve)*Ue;Fe=r[me>>2]|0;Oe=r[Ce>>2]|0;do{if((Fe|0)==(Oe|0)){Re=(Fe|0)==0?1:Fe<<1;if((Fe|0)>=(Re|0)){$e=Fe;et=Fe;break}if((Re|0)==0){tt=0;it=Fe}else{r[9806]=(r[9806]|0)+1;Ee=hBe((Re<<4|4)+15|0)|0;if((Ee|0)==0){nt=0}else{Qe=-(Ee+4|0)&15;r[Ee+Qe>>2]=Ee;nt=Ee+(Qe+4)|0}tt=nt;it=r[me>>2]|0}if((it|0)>0){Qe=0;do{Ee=tt+(Qe<<4)|0;if((Ee|0)!=0){_t=Ee;Ee=(r[Se>>2]|0)+(Qe<<4)|0;r[_t>>2]=r[Ee>>2];r[_t+4>>2]=r[Ee+4>>2];r[_t+8>>2]=r[Ee+8>>2];r[_t+12>>2]=r[Ee+12>>2]}Qe=Qe+1|0}while((Qe|0)<(it|0))}Qe=r[Se>>2]|0;if((Qe|0)!=0){if((n[ye]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[Qe-16+12>>2]|0)}r[Se>>2]=0}n[ye]=1;r[Se>>2]=tt;r[Ce>>2]=Re;$e=r[me>>2]|0;et=Re}else{$e=Fe;et=Oe}}while(0);Oe=r[Se>>2]|0;Fe=Oe+($e<<4)|0;if((Fe|0)==0){rt=$e;ot=et}else{p[Fe>>2]=Ye;p[Oe+($e<<4)+4>>2]=Je;p[Oe+($e<<4)+8>>2]=Ke;p[Oe+($e<<4)+12>>2]=0.0;rt=r[me>>2]|0;ot=r[Ce>>2]|0}Oe=rt+1|0;r[me>>2]=Oe;do{if((Oe|0)==(ot|0)){Fe=(ot|0)==0?1:ot<<1;if((ot|0)>=(Fe|0)){st=ot;break}if((Fe|0)==0){at=0;pt=ot}else{r[9806]=(r[9806]|0)+1;Qe=hBe((Fe<<4|4)+15|0)|0;if((Qe|0)==0){lt=0}else{ke=-(Qe+4|0)&15;r[Qe+ke>>2]=Qe;lt=Qe+(ke+4)|0}at=lt;pt=r[me>>2]|0}if((pt|0)>0){ke=0;do{Qe=at+(ke<<4)|0;if((Qe|0)!=0){Ee=Qe;Qe=(r[Se>>2]|0)+(ke<<4)|0;r[Ee>>2]=r[Qe>>2];r[Ee+4>>2]=r[Qe+4>>2];r[Ee+8>>2]=r[Qe+8>>2];r[Ee+12>>2]=r[Qe+12>>2]}ke=ke+1|0}while((ke|0)<(pt|0))}ke=r[Se>>2]|0;if((ke|0)!=0){if((n[ye]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[ke-16+12>>2]|0)}r[Se>>2]=0}n[ye]=1;r[Se>>2]=at;r[Ce>>2]=Fe;st=r[me>>2]|0}else{st=Oe}}while(0);Oe=r[Se>>2]|0;ke=Oe+(st<<4)|0;if((ke|0)==0){dt=st}else{p[ke>>2]=ge;p[Oe+(st<<4)+4>>2]=se;p[Oe+(st<<4)+8>>2]=ae;p[Oe+(st<<4)+12>>2]=we;dt=r[me>>2]|0}r[me>>2]=dt+1}}while(0);fe=De+1|0;if((fe|0)>=(be|0)){break}ve=ae;xe=se;Me=ge;Te=Ae;De=fe;Pe=r[he>>2]|0}ue=r[oe>>2]|0}if((ue|0)<0){he=te+8|0;Pe=te+12|0;if((r[he>>2]|0)<0){De=r[Pe>>2]|0;be=te+16|0;if((De|0)!=0){if((n[be]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[De-16+12>>2]|0)}r[Pe>>2]=0}n[be]=1;r[Pe>>2]=0;r[he>>2]=0;ct=ue}else{ct=ue}do{he=(r[Pe>>2]|0)+(ct<<4)|0;if((he|0)!=0){be=he;r[be>>2]=r[ee>>2];r[be+4>>2]=r[ee+4>>2];r[be+8>>2]=r[ee+8>>2];r[be+12>>2]=r[ee+12>>2]}ct=ct+1|0}while((ct|0)<0)}r[oe>>2]=0;Pe=ne+1|0;if((Pe|0)>=(H|0)){break}be=te;te=ie;ne=Pe;_e=r[g>>2]|0;z=+p[y>>2];G=+p[C>>2];U=+p[T>>2];L=+p[P>>2];Q=+p[A>>2];Z=+p[R>>2];X=+p[B>>2];j=+p[E>>2];re=+p[k>>2];ie=be}bt=ie;ut=q;mt=J;ht=$;ft=+p[y>>2];gt=+p[C>>2];Ct=+p[T>>2];St=+p[P>>2];yt=+p[A>>2];vt=+p[R>>2];xt=+p[B>>2];Mt=+p[E>>2];Tt=+p[k>>2]}else{bt=_;ut=i+48|0;mt=i+52|0;ht=i+56|0;ft=x;gt=M;Ct=D;St=w;yt=F;vt=I;xt=V;Mt=N;Tt=O}re=+p[f+(Y*56|0)+40>>2];j=+p[f+(Y*56|0)+44>>2];X=+p[f+(Y*56|0)+48>>2];Z=re*ft+j*gt+X*Ct;Q=re*St+j*yt+X*vt;L=re*xt+j*Mt+X*Tt;X=+p[f+(Y*56|0)+52>>2]-(Z*+p[ut>>2]+Q*+p[mt>>2]+L*+p[ht>>2]);g=bt+4|0;_e=r[g>>2]|0;if((_e|0)>0){ne=bt+12|0;te=u;H=a;ee=0;W=_e;while(1){_e=r[ne>>2]|0;be=_e+(ee<<4)|0;j=X+(Z*+p[be>>2]+Q*+p[_e+(ee<<4)+4>>2]+L*+p[_e+(ee<<4)+8>>2]);if(j>s|j<o){Dt=W}else{_e=be;r[te>>2]=r[_e>>2];r[te+4>>2]=r[_e+4>>2];r[te+8>>2]=r[_e+8>>2];r[te+12>>2]=r[_e+12>>2];nrt[r[(r[H>>2]|0)+16>>2]&127](a,e,u,j);Dt=r[g>>2]|0}_e=ee+1|0;if((_e|0)<(Dt|0)){ee=_e;W=Dt}else{break}}}K=r[h>>2]|0}else{K=v}}while(0);if((K|0)==0){d=l;return}if((n[m]&1)!=0){r[9804]=(r[9804]|0)+1;SBe(r[K-16+12>>2]|0)}r[h>>2]=0;d=l;return}function GIe(e,t,i,n,_,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;var s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0;s=r[o+16>>2]|0;if((s|0)!=(_|0)){a=_-s|0;return a|0}if((_|0)==0){a=0;return a|0}s=o+8|0;p=r[s+4>>2]|0;l=e|0;e=t&0;d=r[s>>2]|0;s=p&0;c=(I=(+(d>>>0)+ +(s|0)*4294967296.0)*(+(l>>>0)+ +(e|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);b=p;p=0;u=(I=(+(b>>>0)+ +(p|0)*4294967296.0)*(+(l>>>0)+ +(e|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);m=t;t=0;h=(I=(+(d>>>0)+ +(s|0)*4294967296.0)*(+(m>>>0)+ +(t|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);f=~~((+(b>>>0)+ +(p|0)*4294967296.0)*(+(m>>>0)+ +(t|0)*4294967296.0))>>>0;g=(I=(+(b>>>0)+ +(p|0)*4294967296.0)*(+(m>>>0)+ +(t|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);C=~~((+(b>>>0)+ +(p|0)*4294967296.0)*(+(l>>>0)+ +(e|0)*4294967296.0))>>>0|0;p=u&0;b=~~((+(d>>>0)+ +(s|0)*4294967296.0)*(+(m>>>0)+ +(t|0)*4294967296.0))>>>0|0;t=h&0;m=(I=+(C>>>0)+ +(p|0)*4294967296.0+(+(b>>>0)+ +(t|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);S=u;u=0;y=~~(+(S>>>0)+ +(u|0)*4294967296.0+(+(f>>>0)+ +(g|0)*4294967296.0))>>>0;v=(I=+(S>>>0)+ +(u|0)*4294967296.0+(+(f>>>0)+ +(g|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);g=h;h=0;f=~~(+(y>>>0)+ +(v|0)*4294967296.0+(+(g>>>0)+ +(h|0)*4294967296.0))>>>0;u=(I=+(y>>>0)+ +(v|0)*4294967296.0+(+(g>>>0)+ +(h|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);h=m;m=0;g=MBe(~~((+(d>>>0)+ +(s|0)*4294967296.0)*(+(l>>>0)+ +(e|0)*4294967296.0))>>>0|0,c|0,0,~~(+(C>>>0)+ +(p|0)*4294967296.0+(+(b>>>0)+ +(t|0)*4294967296.0))>>>0|0)|0;t=g;g=B;b=V&1;p=0;C=~~(+(f>>>0)+ +(u|0)*4294967296.0+(+(b>>>0)+ +(p|0)*4294967296.0))>>>0;c=(I=+(f>>>0)+ +(u|0)*4294967296.0+(+(b>>>0)+ +(p|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);p=~~(+(C>>>0)+ +(c|0)*4294967296.0+(+(h>>>0)+ +(m|0)*4294967296.0))>>>0;b=(I=+(C>>>0)+ +(c|0)*4294967296.0+(+(h>>>0)+ +(m|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);m=o|0;o=r[m+4>>2]|0;h=i|0;i=n&0;c=r[m>>2]|0;m=o&0;C=(I=(+(c>>>0)+ +(m|0)*4294967296.0)*(+(h>>>0)+ +(i|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);u=o;o=0;f=(I=(+(u>>>0)+ +(o|0)*4294967296.0)*(+(h>>>0)+ +(i|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);e=n;n=0;l=(I=(+(c>>>0)+ +(m|0)*4294967296.0)*(+(e>>>0)+ +(n|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);s=~~((+(u>>>0)+ +(o|0)*4294967296.0)*(+(e>>>0)+ +(n|0)*4294967296.0))>>>0;d=(I=(+(u>>>0)+ +(o|0)*4294967296.0)*(+(e>>>0)+ +(n|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);v=~~((+(u>>>0)+ +(o|0)*4294967296.0)*(+(h>>>0)+ +(i|0)*4294967296.0))>>>0|0;o=f&0;u=~~((+(c>>>0)+ +(m|0)*4294967296.0)*(+(e>>>0)+ +(n|0)*4294967296.0))>>>0|0;n=l&0;e=(I=+(v>>>0)+ +(o|0)*4294967296.0+(+(u>>>0)+ +(n|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);y=f;f=0;S=~~(+(y>>>0)+ +(f|0)*4294967296.0+(+(s>>>0)+ +(d|0)*4294967296.0))>>>0;x=(I=+(y>>>0)+ +(f|0)*4294967296.0+(+(s>>>0)+ +(d|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);d=l;l=0;s=~~(+(S>>>0)+ +(x|0)*4294967296.0+(+(d>>>0)+ +(l|0)*4294967296.0))>>>0;f=(I=+(S>>>0)+ +(x|0)*4294967296.0+(+(d>>>0)+ +(l|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);l=e;e=0;d=MBe(~~((+(c>>>0)+ +(m|0)*4294967296.0)*(+(h>>>0)+ +(i|0)*4294967296.0))>>>0|0,C|0,0,~~(+(v>>>0)+ +(o|0)*4294967296.0+(+(u>>>0)+ +(n|0)*4294967296.0))>>>0|0)|0;n=d;d=B;u=V&1;o=0;v=~~(+(s>>>0)+ +(f|0)*4294967296.0+(+(u>>>0)+ +(o|0)*4294967296.0))>>>0;C=(I=+(s>>>0)+ +(f|0)*4294967296.0+(+(u>>>0)+ +(o|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);o=~~(+(v>>>0)+ +(C|0)*4294967296.0+(+(l>>>0)+ +(e|0)*4294967296.0))>>>0;u=(I=+(v>>>0)+ +(C|0)*4294967296.0+(+(l>>>0)+ +(e|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);do{if(b>>>0<u>>>0|b>>>0==u>>>0&p>>>0<o>>>0){M=-1}else{if(b>>>0>u>>>0|b>>>0==u>>>0&p>>>0>o>>>0){M=1;break}if(g>>>0<d>>>0|g>>>0==d>>>0&t>>>0<n>>>0){M=-1;break}M=(g>>>0>d>>>0|g>>>0==d>>>0&t>>>0>n>>>0)&1}}while(0);a=ne(M,_)|0;return a|0}function WIe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;t=e+8|0;i=r[t>>2]|0;do{if((i|0)==0){n=e+4|0;_=r[n>>2]|0;if((_|0)==0){r[9806]=(r[9806]|0)+1;o=hBe(31)|0;do{if((o|0)==0){s=0}else{a=-(o+4|0)&15;p=o+(a+4)|0;r[o+a>>2]=o;if((p|0)==0){s=0;break}l=r[e+12>>2]|0;r[o+(a+8)>>2]=l;r[o+(a+12)>>2]=0;r[9806]=(r[9806]|0)+1;a=hBe((l*24|0|4)+15|0)|0;if((a|0)==0){d=0}else{l=-(a+4|0)&15;r[a+l>>2]=a;d=a+(l+4)|0}r[p>>2]=d;s=p}}while(0);o=e|0;r[s+8>>2]=r[o>>2];r[o>>2]=s;c=s}else{r[n>>2]=r[_+8>>2];c=_}o=c|0;p=c+4|0;l=r[p>>2]|0;if((l|0)>0){a=r[o>>2]|0;b=0;u=l;while(1){l=b+1|0;m=a+24|0;r[a>>2]=(l|0)<(u|0)?m:0;h=r[p>>2]|0;if((l|0)<(h|0)){a=m;b=l;u=h}else{break}}}u=r[o>>2]|0;r[t>>2]=r[u>>2];if((u|0)==0){f=0}else{g=u;break}return f|0}else{r[t>>2]=r[i>>2];g=i}}while(0);vBe(g|0,0,24);f=g;return f|0}function zIe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,_e=0,re=0,oe=0,se=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0,it=0,nt=0,_t=0,rt=0,ot=0,st=0,at=0,pt=0,lt=0,dt=0,ct=0,bt=0,ut=0,mt=0,ht=0,ft=0,gt=0,Ct=0,St=0,yt=0,vt=0,xt=0,Mt=0,Tt=0,Dt=0,Pt=0,wt=0,At=0,Ft=0,Rt=0,It=0,Bt=0,Vt=0,Et=0,Nt=0,kt=0,Ot=0,Lt=0,Ut=0,Gt=0,Wt=0,zt=0,Ht=0,jt=0,Xt=0,Zt=0,Qt=0,qt=0,Yt=0,Jt=0,Kt=0,$t=0,ei=0,ti=0,ii=0,ni=0,_i=0,ri=0,oi=0,si=0,ai=0,pi=0;_=d;d=d+160|0;o=_|0;s=_+8|0;a=_+16|0;p=_+32|0;l=_+56|0;c=_+80|0;b=_+104|0;u=_+128|0;m=_+136|0;h=_+144|0;f=i-t|0;e:do{if((f|0)==0){vBe(n|0,0,16);d=_;return}else if((f|0)==1){g=r[(r[e+92>>2]|0)+(t<<2)>>2]|0}else if((f|0)==2){C=r[(r[e+92>>2]|0)+(t<<2)>>2]|0;S=C+112|0;y=r[C+88>>2]|0;v=r[C+200>>2]|0;x=(y|0)==(v|0);M=r[C+92>>2]|0;T=r[C+204>>2]|0;D=(M|0)==(T|0);do{if(x){if(D){if((r[C+96>>2]|0)==(r[C+208>>2]|0)){g=C;break e}else{P=M}}else{P=T}if((M|0)!=(P|0)){w=P;A=0;F=2918;break}R=(r[C+96>>2]|0)>(r[C+208>>2]|0);B=R?S:C;r[B>>2]=B;r[B+4>>2]=B;r[n>>2]=B;r[n+4>>2]=B;r[n+8>>2]=B;r[n+12>>2]=B;V=B;E=R?C:S}else{w=T;A=D;F=2918}}while(0);do{if((F|0)==2918){D=M-w|0;r[C>>2]=S;r[C+4>>2]=S;r[S>>2]=C;r[C+116>>2]=C;T=(y-v|0)<0;do{if(T){F=2920}else{if(x&(D|0)<0){F=2920;break}r[n>>2]=S;r[n+4>>2]=C}}while(0);if((F|0)==2920){r[n>>2]=C;r[n+4>>2]=S}R=n+8|0;if((D|0)<0|A&T){r[R>>2]=C;r[n+12>>2]=S;V=C;E=S;break}else{r[R>>2]=S;r[n+12>>2]=C;V=C;E=S;break}}}while(0);S=e+48|0;C=WIe(S)|0;x=WIe(S)|0;S=C+8|0;r[S>>2]=x;r[x+8>>2]=C;v=e+100|0;r[C+20>>2]=r[v>>2];r[x+20>>2]=r[v>>2];r[C+12>>2]=E;r[x+12>>2]=V;r[C+16>>2]=0;r[x+16>>2]=0;x=e+116|0;v=(r[x>>2]|0)+1|0;r[x>>2]=v;x=e+120|0;if((v|0)>(r[x>>2]|0)){r[x>>2]=v}r[C>>2]=C;r[C+4>>2]=C;r[V+8>>2]=C;C=r[S>>2]|0;r[C>>2]=C;r[C+4>>2]=C;r[E+8>>2]=C;d=_;return}else{C=((f|0)/2|0)+t|0;S=r[e+92>>2]|0;v=r[S+(C-1<<2)>>2]|0;x=r[v+88>>2]|0;y=r[v+92>>2]|0;M=r[v+96>>2]|0;v=C;while(1){if((v|0)>=(i|0)){break}R=r[S+(v<<2)>>2]|0;if((r[R+88>>2]|0)!=(x|0)){break}if((r[R+92>>2]|0)!=(y|0)){break}if((r[R+96>>2]|0)==(M|0)){v=v+1|0}else{break}}zIe(e,t,C,n);M=h;vBe(M|0,0,16);zIe(e,v,i,h);y=c;x=b;S=h+4|0;R=r[S>>2]|0;if((R|0)==0){d=_;return}B=n+4|0;if((r[B>>2]|0)==0){N=n;r[N>>2]=r[M>>2];r[N+4>>2]=r[M+4>>2];r[N+8>>2]=r[M+8>>2];r[N+12>>2]=r[M+12>>2];d=_;return}M=e+100|0;r[M>>2]=(r[M>>2]|0)-1;N=n+12|0;k=r[N>>2]|0;O=r[h+8>>2]|0;L=r[k+88>>2]|0;t:do{if((L|0)==(r[O+88>>2]|0)){if((r[k+92>>2]|0)!=(r[O+92>>2]|0)){U=R;F=2954;break}G=r[O+4>>2]|0;if((G|0)==(O|0)){W=r[O+8>>2]|0;if((W|0)==0){j=O;X=L}else{Z=r[W+12>>2]|0;j=Z;X=r[Z+88>>2]|0}Q=X+1|0;q=r[j+96>>2]|0;Y=j;J=k;break}Z=r[O>>2]|0;r[G>>2]=Z;r[Z+4>>2]=G;W=h|0;i:do{if((O|0)==(r[W>>2]|0)){K=r[Z+88>>2]|0;$=r[G+88>>2]|0;do{if((K|0)>=($|0)){if((K|0)==($|0)){if((r[Z+92>>2]|0)<(r[G+92>>2]|0)){break}}r[W>>2]=G;break i}}while(0);r[W>>2]=Z}}while(0);W=r[S>>2]|0;if((O|0)!=(W|0)){U=W;F=2954;break}W=r[Z+88>>2]|0;T=r[G+88>>2]|0;do{if((W|0)<=(T|0)){if((W|0)==(T|0)){if((r[Z+92>>2]|0)>(r[G+92>>2]|0)){break}}r[S>>2]=G;U=G;F=2954;break t}}while(0);r[S>>2]=Z;U=Z;F=2954}else{U=R;F=2954}}while(0);if((F|0)==2954){R=n|0;O=h|0;k=r[O>>2]|0;L=0;v=1;C=0;G=0;T=U;W=B;t:while(1){D=L;$=T;K=r[W>>2]|0;while(1){ee=r[K+88>>2]|0;te=ne((r[$+88>>2]|0)-ee|0,v)|0;i:do{if((te|0)>0){_e=(D|0)!=0;re=K;oe=$;se=te;pe=r[$+92>>2]|0;while(1){le=oe+88|0;de=re+88|0;ce=r[re+92>>2]|0;be=pe-ce|0;ue=r[(_e?re|0:re+4|0)>>2]|0;n:do{if((ue|0)==(re|0)){me=se;he=re;fe=de;ge=be}else{Ce=le|0;Se=se;ye=re;ve=de;xe=ce;Me=be;Te=ue;while(1){De=r[Te+88>>2]|0;Pe=ne(De-(r[ve>>2]|0)|0,v)|0;we=r[Te+92>>2]|0;Ae=we-xe|0;if((Ae|0)>=1){me=Se;he=ye;fe=ve;ge=Me;break n}if((Pe|0)!=0){if((Pe|0)>=0){me=Se;he=ye;fe=ve;ge=Me;break n}Fe=ne(Ae,Se)|0;if((Fe|0)>(ne(Pe,Me)|0)){me=Se;he=ye;fe=ve;ge=Me;break n}}Pe=ne((r[Ce>>2]|0)-De|0,v)|0;De=Te+88|0;Fe=pe-we|0;Ae=r[(_e?Te|0:Te+4|0)>>2]|0;if((Ae|0)==(Te|0)){me=Pe;he=Te;fe=De;ge=Fe;break}else{Se=Pe;ye=Te;ve=De;xe=we;Me=Fe;Te=Ae}}}}while(0);ue=r[(_e?oe|0:oe+4|0)>>2]|0;if((ue|0)==(oe|0)){Re=he;Ie=oe;break i}be=r[ue+88>>2]|0;ce=ne(be-(r[le>>2]|0)|0,v)|0;de=r[ue+92>>2]|0;Te=de-pe|0;Me=ne(be-(r[fe>>2]|0)|0,v)|0;if(!((Me|0)>0&(Te|0)<0)){Re=he;Ie=oe;break i}if((ce|0)==0){re=he;oe=ue;se=Me;pe=de;continue}if((ce|0)>=0){Re=he;Ie=oe;break i}be=ne(Te,me)|0;if((be|0)<(ne(ce,ge)|0)){re=he;oe=ue;se=Me;pe=de}else{Re=he;Ie=oe;break}}}else{if((te|0)>=0){oe=r[K+92>>2]|0;pe=(D|0)!=0;n:do{if(pe){se=K;re=oe;while(1){_e=r[se>>2]|0;if((_e|0)==(K|0)){Be=se;break n}if((r[_e+88>>2]|0)!=(ee|0)){Be=se;break n}de=r[_e+92>>2]|0;if((de|0)>(re|0)){Be=se;break}else{se=_e;re=de}}}else{re=K;se=oe;while(1){le=r[re+4>>2]|0;if((le|0)==(K|0)){Be=re;break n}if((r[le+88>>2]|0)!=(ee|0)){Be=re;break n}de=r[le+92>>2]|0;if((de|0)>(se|0)){Be=re;break}else{re=le;se=de}}}}while(0);oe=r[$+92>>2]|0;if(pe){se=$;re=oe;while(1){de=r[se+4>>2]|0;if((de|0)==($|0)){Re=Be;Ie=se;break i}if((r[de+88>>2]|0)!=(ee|0)){Re=Be;Ie=se;break i}le=r[de+92>>2]|0;if((le|0)<(re|0)){Re=Be;Ie=se;break i}else{se=de;re=le}}}else{re=$;se=oe;while(1){pe=r[re>>2]|0;if((pe|0)==($|0)){Re=Be;Ie=re;break i}if((r[pe+88>>2]|0)!=(ee|0)){Re=Be;Ie=re;break i}le=r[pe+92>>2]|0;if((le|0)<(se|0)){Re=Be;Ie=re;break i}else{re=pe;se=le}}}}se=r[$+92>>2]|0;re=r[K+92>>2]|0;if((D|0)==0){oe=K;le=$;pe=te;de=se;_e=re;while(1){Me=r[le>>2]|0;ue=(Me|0)==(le|0);ce=le+88|0;be=Me+88|0;Te=Me+92|0;xe=oe;ve=pe;ye=_e;n:while(1){Ve=xe+88|0;Se=de-ye|0;do{if(!ue){Ee=r[be>>2]|0;Ce=ne(Ee-(r[ce>>2]|0)|0,v)|0;Ne=r[Te>>2]|0;Ae=Ne-de|0;if((Ae|0)<=-1){break}if((Ce|0)==0){break n}if((Ce|0)>=0){break}Fe=ne(Ae,ve)|0;if((Fe|0)<=(ne(Ce,Se)|0)){break n}}}while(0);Ce=r[xe>>2]|0;if((Ce|0)==(xe|0)){Re=xe;Ie=le;break i}Fe=r[Ce+88>>2]|0;Ae=ne(Fe-(r[Ve>>2]|0)|0,v)|0;we=r[Ce+92>>2]|0;De=we-ye|0;Pe=ne((r[ce>>2]|0)-Fe|0,v)|0;if(!((Pe|0)<0&(De|0)>0)){Re=xe;Ie=le;break i}if((Ae|0)==0){xe=Ce;ve=Pe;ye=we;continue}if((Ae|0)>=0){Re=xe;Ie=le;break i}Fe=ne(De,ve)|0;if((Fe|0)<(ne(Ae,Se)|0)){xe=Ce;ve=Pe;ye=we}else{Re=xe;Ie=le;break i}}oe=xe;le=Me;pe=ne(Ee-(r[Ve>>2]|0)|0,v)|0;de=Ne;_e=ye}}else{_e=K;de=$;pe=te;le=se;oe=re;while(1){ve=r[de+4>>2]|0;ce=(ve|0)==(de|0);Te=de+88|0;be=ve+88|0;ue=ve+92|0;we=_e;Pe=pe;Ce=oe;n:while(1){ke=we+88|0;Ae=le-Ce|0;do{if(!ce){Oe=r[be>>2]|0;Fe=ne(Oe-(r[Te>>2]|0)|0,v)|0;Le=r[ue>>2]|0;De=Le-le|0;if((De|0)<=-1){break}if((Fe|0)==0){break n}if((Fe|0)>=0){break}Ue=ne(De,Pe)|0;if((Ue|0)<=(ne(Fe,Ae)|0)){break n}}}while(0);Se=r[we+4>>2]|0;if((Se|0)==(we|0)){Re=we;Ie=de;break i}Fe=r[Se+88>>2]|0;Ue=ne(Fe-(r[ke>>2]|0)|0,v)|0;De=r[Se+92>>2]|0;Ge=De-Ce|0;We=ne((r[Te>>2]|0)-Fe|0,v)|0;if(!((We|0)<0&(Ge|0)>0)){Re=we;Ie=de;break i}if((Ue|0)==0){we=Se;Pe=We;Ce=De;continue}if((Ue|0)>=0){Re=we;Ie=de;break i}Fe=ne(Ge,Pe)|0;if((Fe|0)<(ne(Ue,Ae)|0)){we=Se;Pe=We;Ce=De}else{Re=we;Ie=de;break i}}_e=we;de=ve;pe=ne(Oe-(r[ke>>2]|0)|0,v)|0;le=Le;oe=Ce}}}}while(0);if((D|0)==0){L=1;v=-1;C=Ie;G=Re;T=k;W=R;continue t}te=D+1|0;if((te|0)<2){D=te;$=Ie;K=Re}else{break t}}}r[Re+4>>2]=Ie;r[Ie>>2]=Re;r[G>>2]=C;r[C+4>>2]=G;W=r[O>>2]|0;if((r[W+88>>2]|0)<(r[(r[R>>2]|0)+88>>2]|0)){r[R>>2]=W}W=r[S>>2]|0;if((r[W+88>>2]|0)>=(r[(r[B>>2]|0)+88>>2]|0)){r[B>>2]=W}r[N>>2]=r[h+12>>2];W=r[C+88>>2]|0;k=r[G+88>>2]|0;T=W-k|0;v=r[C+92>>2]|0;L=r[G+92>>2]|0;K=v-L|0;$=r[C+96>>2]|0;D=r[G+96>>2]|0;Z=$-D|0;te=K;ee=(K|0)<0?-1:0;K=-T|0;oe=K;le=(K|0)<0?-1:0;K=Z;pe=(Z|0)<0?-1:0;Z=0;de=0;_e=~~(+(Z>>>0)+ +(de|0)*4294967296.0-(+(oe>>>0)+ +(le|0)*4294967296.0))>>>0;re=(I=+(Z>>>0)+ +(de|0)*4294967296.0-(+(oe>>>0)+ +(le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);de=~~((+(K>>>0)+ +(pe|0)*4294967296.0)*(+(_e>>>0)+ +(re|0)*4294967296.0))>>>0;Z=(I=(+(K>>>0)+ +(pe|0)*4294967296.0)*(+(_e>>>0)+ +(re|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);re=~~((+(K>>>0)+ +(pe|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0))>>>0;_e=(I=(+(K>>>0)+ +(pe|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=T;K=(T|0)<0?-1:0;T=~~((+(pe>>>0)+ +(K|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0))>>>0;se=(I=(+(pe>>>0)+ +(K|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);K=~~((+(te>>>0)+ +(ee|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0))>>>0;pe=(I=(+(te>>>0)+ +(ee|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Pe=~~(+(T>>>0)+ +(se|0)*4294967296.0-(+(K>>>0)+ +(pe|0)*4294967296.0))>>>0;Te=(I=+(T>>>0)+ +(se|0)*4294967296.0-(+(K>>>0)+ +(pe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=r[G+8>>2]|0;r[o>>2]=0;if((pe|0)==0){ze=0}else{K=0;se=0;T=~~(+(K>>>0)+ +(se|0)*4294967296.0-(+(te>>>0)+ +(ee|0)*4294967296.0))>>>0;ue=(I=+(K>>>0)+ +(se|0)*4294967296.0-(+(te>>>0)+ +(ee|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);se=pe;K=0;while(1){be=r[se+12>>2]|0;ce=r[be+88>>2]|0;ye=ce-k|0;Me=r[be+92>>2]|0;xe=Me-L|0;De=r[be+96>>2]|0;be=ye;We=(ye|0)<0?-1:0;ye=xe;Se=(xe|0)<0?-1:0;xe=(I=(+(ye>>>0)+ +(Se|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);do{if((~~((+(ye>>>0)+ +(Se|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0))>>>0|0)==(~~((+(be>>>0)+ +(We|0)*4294967296.0)*(+(T>>>0)+ +(ue|0)*4294967296.0))>>>0|0)&(xe|0)==((I=(+(be>>>0)+ +(We|0)*4294967296.0)*(+(T>>>0)+ +(ue|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0)|0)){Ue=De-D|0;Fe=Ue;Ge=(Ue|0)<0?-1:0;Ue=~~((+(be>>>0)+ +(We|0)*4294967296.0)*(+(de>>>0)+ +(Z|0)*4294967296.0))>>>0;He=(I=(+(be>>>0)+ +(We|0)*4294967296.0)*(+(de>>>0)+ +(Z|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);je=~~((+(ye>>>0)+ +(Se|0)*4294967296.0)*(+(re>>>0)+ +(_e|0)*4294967296.0))>>>0;Xe=(I=(+(ye>>>0)+ +(Se|0)*4294967296.0)*(+(re>>>0)+ +(_e|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ze=~~(+(je>>>0)+ +(Xe|0)*4294967296.0+(+(Ue>>>0)+ +(He|0)*4294967296.0))>>>0;Qe=(I=+(je>>>0)+ +(Xe|0)*4294967296.0+(+(Ue>>>0)+ +(He|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);He=~~((+(Fe>>>0)+ +(Ge|0)*4294967296.0)*(+(Pe>>>0)+ +(Te|0)*4294967296.0))>>>0;Ue=(I=(+(Fe>>>0)+ +(Ge|0)*4294967296.0)*(+(Pe>>>0)+ +(Te|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ge=(I=+(Ze>>>0)+ +(Qe|0)*4294967296.0+(+(He>>>0)+ +(Ue|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Fe=0;if(!((Ge|0)>(Fe|0)|(Ge|0)==(Fe|0)&~~(+(Ze>>>0)+ +(Qe|0)*4294967296.0+(+(He>>>0)+ +(Ue|0)*4294967296.0))>>>0>>>0>0>>>0)){qe=K;break}if((K|0)!=0){Ue=(r[K+4>>2]|0)==(se|0);if((r[K>>2]|0)==(se|0)){if(!Ue){qe=K;break}He=r[K+12>>2]|0;Qe=r[(r[se+8>>2]|0)+12>>2]|0;Ze=r[Qe+88>>2]|0;Fe=(r[He+88>>2]|0)-Ze|0;Ge=r[Qe+92>>2]|0;Xe=r[Qe+96>>2]|0;Qe=(r[He+96>>2]|0)-Xe|0;je=De-Xe|0;Xe=ne(je,(r[He+92>>2]|0)-Ge|0)|0;He=Xe-(ne(Qe,Me-Ge|0)|0)|0;Ge=He;Xe=(He|0)<0?-1:0;He=ne(Qe,ce-Ze|0)|0;Ze=He-(ne(je,Fe)|0)|0;Fe=Ze;je=(Ze|0)<0?-1:0;Ze=~~((+(Ge>>>0)+ +(Xe|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0))>>>0;He=(I=(+(Ge>>>0)+ +(Xe|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Xe=~~((+(Fe>>>0)+ +(je|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0))>>>0;Ge=(I=(+(Fe>>>0)+ +(je|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);je=(I=+(Ze>>>0)+ +(He|0)*4294967296.0+(+(Xe>>>0)+ +(Ge|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Fe=0;Ye=(je|0)>(Fe|0)|(je|0)==(Fe|0)&~~(+(Ze>>>0)+ +(He|0)*4294967296.0+(+(Xe>>>0)+ +(Ge|0)*4294967296.0))>>>0>>>0>0>>>0?2:1}else{Ye=Ue&1}if((Ye|0)!=1){qe=K;break}}r[o>>2]=se;qe=se}else{qe=K}}while(0);ce=r[se>>2]|0;if((ce|0)==(pe|0)){ze=qe;break}else{se=ce;K=qe}}}K=r[C+8>>2]|0;r[s>>2]=0;if((K|0)==0){Je=0}else{se=0;pe=0;D=~~(+(se>>>0)+ +(pe|0)*4294967296.0-(+(te>>>0)+ +(ee|0)*4294967296.0))>>>0;ue=(I=+(se>>>0)+ +(pe|0)*4294967296.0-(+(te>>>0)+ +(ee|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=K;se=0;while(1){T=r[pe+12>>2]|0;L=r[T+88>>2]|0;k=L-W|0;N=r[T+92>>2]|0;B=N-v|0;S=r[T+96>>2]|0;T=k;R=(k|0)<0?-1:0;k=B;O=(B|0)<0?-1:0;B=(I=(+(k>>>0)+ +(O|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);t:do{if((~~((+(k>>>0)+ +(O|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0))>>>0|0)==(~~((+(T>>>0)+ +(R|0)*4294967296.0)*(+(D>>>0)+ +(ue|0)*4294967296.0))>>>0|0)&(B|0)==((I=(+(T>>>0)+ +(R|0)*4294967296.0)*(+(D>>>0)+ +(ue|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0)|0)){ce=S-$|0;Me=ce;De=(ce|0)<0?-1:0;ce=~~((+(T>>>0)+ +(R|0)*4294967296.0)*(+(de>>>0)+ +(Z|0)*4294967296.0))>>>0;Se=(I=(+(T>>>0)+ +(R|0)*4294967296.0)*(+(de>>>0)+ +(Z|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ye=~~((+(k>>>0)+ +(O|0)*4294967296.0)*(+(re>>>0)+ +(_e|0)*4294967296.0))>>>0;We=(I=(+(k>>>0)+ +(O|0)*4294967296.0)*(+(re>>>0)+ +(_e|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);be=~~(+(ye>>>0)+ +(We|0)*4294967296.0+(+(ce>>>0)+ +(Se|0)*4294967296.0))>>>0;xe=(I=+(ye>>>0)+ +(We|0)*4294967296.0+(+(ce>>>0)+ +(Se|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Se=~~((+(Me>>>0)+ +(De|0)*4294967296.0)*(+(Pe>>>0)+ +(Te|0)*4294967296.0))>>>0;ce=(I=(+(Me>>>0)+ +(De|0)*4294967296.0)*(+(Pe>>>0)+ +(Te|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);De=(I=+(be>>>0)+ +(xe|0)*4294967296.0+(+(Se>>>0)+ +(ce|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Me=0;if(!((De|0)>(Me|0)|(De|0)==(Me|0)&~~(+(be>>>0)+ +(xe|0)*4294967296.0+(+(Se>>>0)+ +(ce|0)*4294967296.0))>>>0>>>0>0>>>0)){Ke=se;break}do{if((se|0)!=0){if((r[se>>2]|0)!=(pe|0)){Ke=se;break t}if((r[se+4>>2]|0)!=(pe|0)){break}ce=r[se+12>>2]|0;Se=r[(r[pe+8>>2]|0)+12>>2]|0;xe=r[Se+88>>2]|0;be=(r[ce+88>>2]|0)-xe|0;Me=r[Se+92>>2]|0;De=r[Se+96>>2]|0;Se=(r[ce+96>>2]|0)-De|0;We=S-De|0;De=ne(We,(r[ce+92>>2]|0)-Me|0)|0;ce=De-(ne(Se,N-Me|0)|0)|0;Me=ce;De=(ce|0)<0?-1:0;ce=ne(Se,L-xe|0)|0;xe=ce-(ne(We,be)|0)|0;be=xe;We=(xe|0)<0?-1:0;xe=~~((+(Me>>>0)+ +(De|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0))>>>0;ce=(I=(+(Me>>>0)+ +(De|0)*4294967296.0)*(+(te>>>0)+ +(ee|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);De=~~((+(be>>>0)+ +(We|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0))>>>0;Me=(I=(+(be>>>0)+ +(We|0)*4294967296.0)*(+(oe>>>0)+ +(le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);We=(I=+(xe>>>0)+ +(ce|0)*4294967296.0+(+(De>>>0)+ +(Me|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);be=0;if(!((We|0)>(be|0)|(We|0)==(be|0)&~~(+(xe>>>0)+ +(ce|0)*4294967296.0+(+(De>>>0)+ +(Me|0)*4294967296.0))>>>0>>>0>0>>>0)){Ke=se;break t}}}while(0);r[s>>2]=pe;Ke=pe}else{Ke=se}}while(0);L=r[pe>>2]|0;if((L|0)==(K|0)){Je=Ke;break}else{pe=L;se=Ke}}}do{if((ze|0)==0&(Je|0)==0){$e=C;et=G}else{jIe(e,G,C,o,s);se=r[o>>2]|0;if((se|0)==0){tt=G}else{tt=r[se+12>>2]|0}se=r[s>>2]|0;if((se|0)==0){$e=C;et=tt;break}$e=r[se+12>>2]|0;et=tt}}while(0);Q=r[$e+88>>2]|0;q=(r[$e+96>>2]|0)+1|0;Y=$e;J=et}C=r[Y+92>>2]|0;G=a|0;se=a+4|0;pe=a+8|0;K=a+12|0;le=p|0;oe=p+8|0;ee=p+16|0;te=l|0;Te=l+8|0;Pe=l+16|0;_e=c+16|0;re=c+8|0;Z=b+16|0;de=b+8|0;$=e+48|0;ue=e+116|0;D=e+120|0;v=e+56|0;W=c|0;L=0;N=0;S=0;O=0;k=1;R=0;T=0;B=0;Me=0;De=Q;ce=C;xe=q;be=Y;We=J;Se=C;while(1){C=We+88|0;ye=(r[be+88>>2]|0)-(r[C>>2]|0)|0;Ue=We+92|0;Ge=Se-(r[Ue>>2]|0)|0;Xe=We+96|0;He=(r[be+96>>2]|0)-(r[Xe>>2]|0)|0;r[G>>2]=ye;r[se>>2]=Ge;r[pe>>2]=He;r[K>>2]=-1;Ze=De-(r[C>>2]|0)|0;C=ce-(r[Ue>>2]|0)|0;Ue=xe-(r[Xe>>2]|0)|0;Xe=ne(He,C)|0;Fe=Xe-(ne(Ge,Ue)|0)|0;Xe=Fe;je=(Fe|0)<0?-1:0;Fe=ne(ye,Ue)|0;Ue=Fe-(ne(He,Ze)|0)|0;Fe=Ue;Qe=(Ue|0)<0?-1:0;Ue=ne(Ge,Ze)|0;Ze=Ue-(ne(ye,C)|0)|0;C=Ze;Ue=(Ze|0)<0?-1:0;r[le>>2]=Xe;r[le+4>>2]=je;r[oe>>2]=Fe;r[oe+4>>2]=Qe;r[ee>>2]=C;r[ee+4>>2]=Ue;Ze=Ge;it=(Ge|0)<0?-1:0;Ge=~~((+(C>>>0)+ +(Ue|0)*4294967296.0)*(+(Ze>>>0)+ +(it|0)*4294967296.0))>>>0;nt=(I=(+(C>>>0)+ +(Ue|0)*4294967296.0)*(+(Ze>>>0)+ +(it|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);_t=He;rt=(He|0)<0?-1:0;He=~~((+(_t>>>0)+ +(rt|0)*4294967296.0)*(+(Fe>>>0)+ +(Qe|0)*4294967296.0))>>>0;ot=(I=(+(_t>>>0)+ +(rt|0)*4294967296.0)*(+(Fe>>>0)+ +(Qe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);st=(I=+(Ge>>>0)+ +(nt|0)*4294967296.0-(+(He>>>0)+ +(ot|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);at=~~((+(Xe>>>0)+ +(je|0)*4294967296.0)*(+(_t>>>0)+ +(rt|0)*4294967296.0))>>>0;pt=(I=(+(Xe>>>0)+ +(je|0)*4294967296.0)*(+(_t>>>0)+ +(rt|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);rt=ye;_t=(ye|0)<0?-1:0;ye=~~((+(rt>>>0)+ +(_t|0)*4294967296.0)*(+(C>>>0)+ +(Ue|0)*4294967296.0))>>>0;lt=(I=(+(rt>>>0)+ +(_t|0)*4294967296.0)*(+(C>>>0)+ +(Ue|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ue=(I=+(at>>>0)+ +(pt|0)*4294967296.0-(+(ye>>>0)+ +(lt|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);C=~~((+(rt>>>0)+ +(_t|0)*4294967296.0)*(+(Fe>>>0)+ +(Qe|0)*4294967296.0))>>>0;dt=(I=(+(rt>>>0)+ +(_t|0)*4294967296.0)*(+(Fe>>>0)+ +(Qe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Qe=~~((+(Xe>>>0)+ +(je|0)*4294967296.0)*(+(Ze>>>0)+ +(it|0)*4294967296.0))>>>0;Fe=(I=(+(Xe>>>0)+ +(je|0)*4294967296.0)*(+(Ze>>>0)+ +(it|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);it=(I=+(C>>>0)+ +(dt|0)*4294967296.0-(+(Qe>>>0)+ +(Fe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[te>>2]=~~(+(Ge>>>0)+ +(nt|0)*4294967296.0-(+(He>>>0)+ +(ot|0)*4294967296.0))>>>0;r[te+4>>2]=st;r[Te>>2]=~~(+(at>>>0)+ +(pt|0)*4294967296.0-(+(ye>>>0)+ +(lt|0)*4294967296.0))>>>0;r[Te+4>>2]=Ue;r[Pe>>2]=~~(+(C>>>0)+ +(dt|0)*4294967296.0-(+(Qe>>>0)+ +(Fe|0)*4294967296.0))>>>0;r[Pe+4>>2]=it;vBe(y|0,0,20);it=HIe(e,0,We,a,p,l,c)|0;vBe(x|0,0,20);Fe=HIe(e,1,be,a,p,l,b)|0;Qe=(it|0)!=0;dt=Qe^1;C=(Fe|0)==0;if(C&dt){F=3047;break}if(C|dt){ct=Qe?-1:1}else{ct=GIe(r[W>>2]|0,r[W+4>>2]|0,r[re>>2]|0,r[re+4>>2]|0,r[_e>>2]|0,b)|0}do{if(k){F=3059}else{if((ct|0)>-1){if((r[Z>>2]|0)>=0){F=3059;break}if((r[de>>2]|0)==0&(r[de+4>>2]|0)==0){bt=S;ut=O;mt=B;ht=Me;F=3066;break}else{F=3059;break}}if((r[_e>>2]|0)>=0){F=3059;break}if(!((r[re>>2]|0)==0&(r[re+4>>2]|0)==0)){F=3059;break}r[u>>2]=it;r[m>>2]=Fe;ft=xe;gt=ce;Ct=De;St=Me;yt=B;vt=T;xt=R;Mt=it;Tt=O;Dt=S;Pt=be;F=3088}}while(0);if((F|0)==3059){F=0;Qe=WIe($)|0;dt=WIe($)|0;C=Qe+8|0;r[C>>2]=dt;r[dt+8>>2]=Qe;r[Qe+20>>2]=r[M>>2];r[dt+20>>2]=r[M>>2];r[Qe+12>>2]=be;r[dt+12>>2]=We;r[Qe+16>>2]=0;r[dt+16>>2]=0;dt=(r[ue>>2]|0)+1|0;r[ue>>2]=dt;if((dt|0)>(r[D>>2]|0)){r[D>>2]=dt}if((O|0)==0){wt=Qe}else{r[O+4>>2]=Qe;wt=S}r[Qe>>2]=O;dt=r[C>>2]|0;if((Me|0)==0){At=dt}else{r[Me>>2]=dt;At=B}r[dt+4>>2]=Me;bt=wt;ut=Qe;mt=At;ht=dt;F=3066}do{if((F|0)==3066){F=0;r[u>>2]=it;r[m>>2]=Fe;if((ct|0)==0){jIe(e,We,be,u,m);Ft=r[m>>2]|0}else{if((ct|0)>-1){Ft=Fe}else{ft=xe;gt=ce;Ct=De;St=ht;yt=mt;vt=T;xt=R;Mt=it;Tt=ut;Dt=bt;Pt=be;F=3088;break}}if((Ft|0)==0){Rt=R;It=T;Bt=mt;Vt=ht;Et=De;Nt=ce;kt=xe;Ot=be}else{dt=(R|0)!=0;do{if(dt){Qe=r[R>>2]|0;if((Qe|0)==(Fe|0)){break}else{Lt=Qe}while(1){Qe=Lt|0;C=r[Qe>>2]|0;Ue=r[Lt+8>>2]|0;if((C|0)==(Lt|0)){r[(r[Ue+12>>2]|0)+8>>2]=0}else{lt=Lt+4|0;r[C+4>>2]=r[lt>>2];r[r[lt>>2]>>2]=C;r[(r[Ue+12>>2]|0)+8>>2]=C}lt=Ue|0;ye=r[lt>>2]|0;if((ye|0)==(Ue|0)){r[(r[Lt+12>>2]|0)+8>>2]=0}else{pt=Ue+4|0;r[ye+4>>2]=r[pt>>2];r[r[pt>>2]>>2]=ye;r[(r[Lt+12>>2]|0)+8>>2]=ye}vBe(Lt|0,0,20);r[Qe>>2]=r[v>>2];r[v>>2]=Lt;vBe(Ue|0,0,20);r[lt>>2]=r[v>>2];r[v>>2]=Ue;r[ue>>2]=(r[ue>>2]|0)-1;if((C|0)==(Fe|0)){break}else{Lt=C}}}}while(0);if((ht|0)==0){Ut=dt?T:Fe;Gt=mt;Wt=Ft}else{if(dt){r[R>>2]=mt;r[mt+4>>2]=R;zt=T;Ht=Fe+4|0}else{C=Fe+4|0;Ue=r[C>>2]|0;r[Ue>>2]=mt;r[mt+4>>2]=Ue;zt=mt;Ht=C}r[ht>>2]=Fe;r[Ht>>2]=ht;Ut=zt;Gt=0;Wt=r[m>>2]|0}Rt=r[Wt+8>>2]|0;It=Ut;Bt=Gt;Vt=0;Et=r[be+88>>2]|0;Nt=r[be+92>>2]|0;kt=r[be+96>>2]|0;Ot=r[Wt+12>>2]|0}if((ct|0)>=1){jt=L;Xt=N;Zt=bt;Qt=ut;qt=Et;Yt=Nt;Jt=kt;Kt=Vt;$t=Bt;ei=It;ti=Rt;ii=Ot;ni=We;break}ft=kt;gt=Nt;Ct=Et;St=Vt;yt=Bt;vt=It;xt=Rt;Mt=r[u>>2]|0;Tt=ut;Dt=bt;Pt=Ot;F=3088}}while(0);do{if((F|0)==3088){F=0;if((Mt|0)==0){jt=L;Xt=N;Zt=Dt;Qt=Tt;qt=Ct;Yt=gt;Jt=ft;Kt=St;$t=yt;ei=vt;ti=xt;ii=Pt;ni=We;break}Fe=(L|0)!=0;do{if(Fe){C=r[L+4>>2]|0;if((C|0)==(it|0)){break}else{_i=C}while(1){C=_i+4|0;Ue=r[C>>2]|0;lt=_i|0;Qe=r[lt>>2]|0;ye=r[_i+8>>2]|0;if((Qe|0)==(_i|0)){r[(r[ye+12>>2]|0)+8>>2]=0}else{r[Qe+4>>2]=Ue;r[r[C>>2]>>2]=Qe;r[(r[ye+12>>2]|0)+8>>2]=Qe}Qe=ye|0;C=r[Qe>>2]|0;if((C|0)==(ye|0)){r[(r[_i+12>>2]|0)+8>>2]=0}else{pt=ye+4|0;r[C+4>>2]=r[pt>>2];r[r[pt>>2]>>2]=C;r[(r[_i+12>>2]|0)+8>>2]=C}vBe(_i|0,0,20);r[lt>>2]=r[v>>2];r[v>>2]=_i;vBe(ye|0,0,20);r[Qe>>2]=r[v>>2];r[v>>2]=ye;r[ue>>2]=(r[ue>>2]|0)-1;if((Ue|0)==(it|0)){break}else{_i=Ue}}}}while(0);if((Tt|0)==0){ri=Fe?N:it;oi=Dt;si=Mt}else{if(Fe){r[Dt>>2]=L;r[L+4>>2]=Dt;ai=N;pi=it|0}else{dt=it|0;Ue=r[dt>>2]|0;r[Dt>>2]=Ue;r[Ue+4>>2]=Dt;ai=Dt;pi=dt}r[pi>>2]=Tt;r[Tt+4>>2]=it;ri=ai;oi=0;si=r[u>>2]|0}jt=r[si+8>>2]|0;Xt=ri;Zt=oi;Qt=0;qt=r[We+88>>2]|0;Yt=r[We+92>>2]|0;Jt=r[We+96>>2]|0;Kt=St;$t=yt;ei=vt;ti=xt;ii=Pt;ni=r[si+12>>2]|0}}while(0);if((ni|0)==(J|0)&(ii|0)==(Y|0)){break}L=jt;N=Xt;S=Zt;O=Qt;k=0;R=ti;T=ei;B=$t;Me=Kt;De=qt;ce=Yt;xe=Jt;be=ii;We=ni;Se=r[ii+92>>2]|0}if((F|0)==3047){Se=WIe($)|0;xe=WIe($)|0;ce=Se+8|0;r[ce>>2]=xe;r[xe+8>>2]=Se;r[Se+20>>2]=r[M>>2];r[xe+20>>2]=r[M>>2];r[Se+12>>2]=be;r[xe+12>>2]=We;r[Se+16>>2]=0;r[xe+16>>2]=0;xe=(r[ue>>2]|0)+1|0;r[ue>>2]=xe;if((xe|0)>(r[D>>2]|0)){r[D>>2]=xe}r[Se>>2]=Se;r[Se+4>>2]=Se;r[We+8>>2]=Se;Se=r[ce>>2]|0;r[Se>>2]=Se;r[Se+4>>2]=Se;r[be+8>>2]=Se;d=_;return}do{if((jt|0)==0){r[Zt>>2]=Qt;r[Qt+4>>2]=Zt;r[J+8>>2]=Qt}else{Se=jt+4|0;ce=r[Se>>2]|0;if((ce|0)!=(Xt|0)){xe=ce;while(1){ce=xe+4|0;De=r[ce>>2]|0;Me=xe|0;B=r[Me>>2]|0;T=r[xe+8>>2]|0;if((B|0)==(xe|0)){r[(r[T+12>>2]|0)+8>>2]=0}else{r[B+4>>2]=De;r[r[ce>>2]>>2]=B;r[(r[T+12>>2]|0)+8>>2]=B}B=T|0;ce=r[B>>2]|0;if((ce|0)==(T|0)){r[(r[xe+12>>2]|0)+8>>2]=0}else{R=T+4|0;r[ce+4>>2]=r[R>>2];r[r[R>>2]>>2]=ce;r[(r[xe+12>>2]|0)+8>>2]=ce}vBe(xe|0,0,20);r[Me>>2]=r[v>>2];r[v>>2]=xe;vBe(T|0,0,20);r[B>>2]=r[v>>2];r[v>>2]=T;r[ue>>2]=(r[ue>>2]|0)-1;if((De|0)==(Xt|0)){break}else{xe=De}}}if((Qt|0)==0){break}r[Zt>>2]=jt;r[Se>>2]=Zt;r[Xt>>2]=Qt;r[Qt+4>>2]=Xt}}while(0);if((ti|0)==0){r[Kt>>2]=$t;r[$t+4>>2]=Kt;r[Y+8>>2]=Kt;d=_;return}be=ti|0;We=r[be>>2]|0;if((We|0)!=(ei|0)){D=We;while(1){We=D|0;M=r[We>>2]|0;$=r[D+8>>2]|0;if((M|0)==(D|0)){r[(r[$+12>>2]|0)+8>>2]=0}else{xe=D+4|0;r[M+4>>2]=r[xe>>2];r[r[xe>>2]>>2]=M;r[(r[$+12>>2]|0)+8>>2]=M}xe=$|0;De=r[xe>>2]|0;if((De|0)==($|0)){r[(r[D+12>>2]|0)+8>>2]=0}else{T=$+4|0;r[De+4>>2]=r[T>>2];r[r[T>>2]>>2]=De;r[(r[D+12>>2]|0)+8>>2]=De}vBe(D|0,0,20);r[We>>2]=r[v>>2];r[v>>2]=D;vBe($|0,0,20);r[xe>>2]=r[v>>2];r[v>>2]=$;r[ue>>2]=(r[ue>>2]|0)-1;if((M|0)==(ei|0)){break}else{D=M}}}if((Kt|0)==0){d=_;return}r[be>>2]=$t;r[$t+4>>2]=ti;r[Kt>>2]=ei;r[ei+4>>2]=Kt;d=_;return}}while(0);r[g+8>>2]=0;r[g>>2]=g;r[g+4>>2]=g;r[n>>2]=g;r[n+4>>2]=g;r[n+8>>2]=g;r[n+12>>2]=g;d=_;return}function HIe(e,t,i,n,_,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;o=o|0;s=s|0;var a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,_e=0,re=0,oe=0,se=0;a=i+8|0;p=r[a>>2]|0;if((p|0)==0){l=0;return l|0}d=e+100|0;e=i+88|0;c=i+92|0;b=i+96|0;i=o|0;u=o+8|0;m=o+16|0;o=_|0;h=_+8|0;f=_+16|0;_=s|0;g=s+8|0;C=s+16|0;S=n+8|0;y=n+4|0;v=n|0;n=0;x=p;while(1){do{if((r[x+20>>2]|0)>(r[d>>2]|0)){p=r[x+12>>2]|0;M=r[p+88>>2]|0;T=M-(r[e>>2]|0)|0;D=r[p+92>>2]|0;P=D-(r[c>>2]|0)|0;w=r[p+96>>2]|0;p=w-(r[b>>2]|0)|0;A=T;F=(T|0)<0?-1:0;R=r[i>>2]|0;B=r[i+4>>2]|0;V=~~((+(A>>>0)+ +(F|0)*4294967296.0)*(+(R>>>0)+ +(B|0)*4294967296.0))>>>0;E=(I=(+(A>>>0)+ +(F|0)*4294967296.0)*(+(R>>>0)+ +(B|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=P;R=(P|0)<0?-1:0;N=r[u>>2]|0;k=r[u+4>>2]|0;O=~~((+(B>>>0)+ +(R|0)*4294967296.0)*(+(N>>>0)+ +(k|0)*4294967296.0))>>>0;L=(I=(+(B>>>0)+ +(R|0)*4294967296.0)*(+(N>>>0)+ +(k|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);k=~~(+(O>>>0)+ +(L|0)*4294967296.0+(+(V>>>0)+ +(E|0)*4294967296.0))>>>0;N=(I=+(O>>>0)+ +(L|0)*4294967296.0+(+(V>>>0)+ +(E|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);E=p;V=(p|0)<0?-1:0;L=r[m>>2]|0;O=r[m+4>>2]|0;U=~~((+(E>>>0)+ +(V|0)*4294967296.0)*(+(L>>>0)+ +(O|0)*4294967296.0))>>>0;G=(I=(+(E>>>0)+ +(V|0)*4294967296.0)*(+(L>>>0)+ +(O|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);O=~~(+(k>>>0)+ +(N|0)*4294967296.0+(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;L=(I=+(k>>>0)+ +(N|0)*4294967296.0+(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);G=r[o>>2]|0;U=r[o+4>>2]|0;N=~~((+(G>>>0)+ +(U|0)*4294967296.0)*(+(A>>>0)+ +(F|0)*4294967296.0))>>>0;k=(I=(+(G>>>0)+ +(U|0)*4294967296.0)*(+(A>>>0)+ +(F|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);F=r[h>>2]|0;A=r[h+4>>2]|0;U=~~((+(F>>>0)+ +(A|0)*4294967296.0)*(+(B>>>0)+ +(R|0)*4294967296.0))>>>0;G=(I=(+(F>>>0)+ +(A|0)*4294967296.0)*(+(B>>>0)+ +(R|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);R=~~(+(U>>>0)+ +(G|0)*4294967296.0+(+(N>>>0)+ +(k|0)*4294967296.0))>>>0;B=(I=+(U>>>0)+ +(G|0)*4294967296.0+(+(N>>>0)+ +(k|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);k=r[f>>2]|0;N=r[f+4>>2]|0;G=~~((+(k>>>0)+ +(N|0)*4294967296.0)*(+(E>>>0)+ +(V|0)*4294967296.0))>>>0;U=(I=(+(k>>>0)+ +(N|0)*4294967296.0)*(+(E>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);V=~~(+(R>>>0)+ +(B|0)*4294967296.0+(+(G>>>0)+ +(U|0)*4294967296.0))>>>0;E=(I=+(R>>>0)+ +(B|0)*4294967296.0+(+(G>>>0)+ +(U|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);U=0;if((L|0)>(U|0)|(L|0)==(U|0)&O>>>0>0>>>0){W=L;j=O;X=1}else{U=0;G=(L|0)<(U|0)|(L|0)==(U|0)&O>>>0<0>>>0;U=0;B=0;W=G?(I=+(U>>>0)+ +(B|0)*4294967296.0-(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0):0;j=G?~~(+(U>>>0)+ +(B|0)*4294967296.0-(+(O>>>0)+ +(L|0)*4294967296.0))>>>0:0;X=G?-1:0}G=0;if((E|0)>(G|0)|(E|0)==(G|0)&V>>>0>0>>>0){Z=E;Q=V;q=X}else{G=0;if((E|0)<(G|0)|(E|0)==(G|0)&V>>>0<0>>>0){G=0;L=0;Y=(V|0)==0&(E|0)==0;J=(I=+(G>>>0)+ +(L|0)*4294967296.0-(+(V>>>0)+ +(E|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);K=~~(+(G>>>0)+ +(L|0)*4294967296.0-(+(V>>>0)+ +(E|0)*4294967296.0))>>>0;$=-X|0}else{Y=1;J=0;K=0;$=X}if(($|0)==0&Y){ee=n;break}else{Z=J;Q=K;q=$}}if((n|0)==0){r[_>>2]=j;r[_+4>>2]=W;r[g>>2]=Q;r[g+4>>2]=Z;r[C>>2]=q;ee=x;break}E=GIe(j,W,Q,Z,q,s)|0;if((E|0)<0){r[_>>2]=j;r[_+4>>2]=W;r[g>>2]=Q;r[g+4>>2]=Z;r[C>>2]=q;ee=x;break}if((E|0)!=0){ee=n;break}E=(r[n+4>>2]|0)==(x|0);do{if((r[n>>2]|0)==(x|0)){if(!E){te=2;break}V=r[S>>2]|0;L=ne(V,P)|0;G=r[y>>2]|0;O=L-(ne(G,p)|0)|0;L=O;B=(O|0)<0?-1:0;O=r[v>>2]|0;U=ne(O,p)|0;R=U-(ne(T,V)|0)|0;V=R;U=(R|0)<0?-1:0;R=ne(T,G)|0;G=R-(ne(O,P)|0)|0;O=G;R=(G|0)<0?-1:0;G=r[n+12>>2]|0;N=r[(r[x+8>>2]|0)+12>>2]|0;k=r[N+88>>2]|0;A=(r[G+88>>2]|0)-k|0;F=r[N+92>>2]|0;_e=(r[G+92>>2]|0)-F|0;re=r[N+96>>2]|0;N=(r[G+96>>2]|0)-re|0;G=M-k|0;k=D-F|0;F=w-re|0;re=ne(F,_e)|0;oe=re-(ne(k,N)|0)|0;re=oe;se=(oe|0)<0?-1:0;oe=ne(G,N)|0;N=oe-(ne(F,A)|0)|0;F=N;oe=(N|0)<0?-1:0;N=ne(k,A)|0;A=N-(ne(G,_e)|0)|0;_e=A;G=(A|0)<0?-1:0;A=~~((+(re>>>0)+ +(se|0)*4294967296.0)*(+(L>>>0)+ +(B|0)*4294967296.0))>>>0;N=(I=(+(re>>>0)+ +(se|0)*4294967296.0)*(+(L>>>0)+ +(B|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=~~((+(F>>>0)+ +(oe|0)*4294967296.0)*(+(V>>>0)+ +(U|0)*4294967296.0))>>>0;L=(I=(+(F>>>0)+ +(oe|0)*4294967296.0)*(+(V>>>0)+ +(U|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);U=~~((+(_e>>>0)+ +(G|0)*4294967296.0)*(+(O>>>0)+ +(R|0)*4294967296.0))>>>0;V=(I=(+(_e>>>0)+ +(G|0)*4294967296.0)*(+(O>>>0)+ +(R|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);R=~~(+(A>>>0)+ +(N|0)*4294967296.0+(+(U>>>0)+ +(V|0)*4294967296.0))>>>0;O=(I=+(A>>>0)+ +(N|0)*4294967296.0+(+(U>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);V=(I=+(R>>>0)+ +(O|0)*4294967296.0+(+(B>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);U=0;te=(V|0)>(U|0)|(V|0)==(U|0)&~~(+(R>>>0)+ +(O|0)*4294967296.0+(+(B>>>0)+ +(L|0)*4294967296.0))>>>0>>>0>0>>>0?2:1}else{te=E&1}}while(0);ee=(te|0)==2^t?n:x}else{ee=n}}while(0);E=r[x>>2]|0;if((E|0)==(r[a>>2]|0)){l=ee;break}else{n=ee;x=E}}return l|0}function jIe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,_e=0,re=0,oe=0,se=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0,Be=0,Ve=0,Ee=0,Ne=0,ke=0,Oe=0,Le=0,Ue=0,Ge=0,We=0,ze=0,He=0,je=0,Xe=0,Ze=0,Qe=0,qe=0,Ye=0,Je=0,Ke=0,$e=0,et=0,tt=0,it=0,nt=0,_t=0,rt=0,ot=0,st=0,at=0,pt=0,lt=0,dt=0,ct=0,bt=0,ut=0,mt=0,ht=0,ft=0,gt=0,Ct=0;o=d;d=d+96|0;s=o|0;a=o+24|0;p=o+48|0;l=o+72|0;c=r[n>>2]|0;b=r[_>>2]|0;u=(c|0)!=0;if(u){m=r[c+12>>2]|0}else{m=t}h=r[m+88>>2]|0;f=r[m+92>>2]|0;g=r[m+96>>2]|0;if((b|0)==0){C=i}else{C=r[b+12>>2]|0}m=r[C+88>>2]|0;S=r[C+92>>2]|0;y=r[C+96>>2]|0;C=r[t+88>>2]|0;v=(r[i+88>>2]|0)-C|0;x=r[t+92>>2]|0;M=(r[i+92>>2]|0)-x|0;T=r[t+96>>2]|0;t=(r[i+96>>2]|0)-T|0;i=r[(u?c:b)+12>>2]|0;u=(r[i+88>>2]|0)-C|0;D=(r[i+92>>2]|0)-x|0;P=(r[i+96>>2]|0)-T|0;i=ne(D,t)|0;w=i-(ne(P,M)|0)|0;i=w;A=(w|0)<0?-1:0;w=ne(P,v)|0;P=w-(ne(u,t)|0)|0;w=P;F=(P|0)<0?-1:0;P=ne(u,M)|0;u=P-(ne(D,v)|0)|0;D=u;P=(u|0)<0?-1:0;u=C;R=(C|0)<0?-1:0;C=~~((+(i>>>0)+ +(A|0)*4294967296.0)*(+(u>>>0)+ +(R|0)*4294967296.0))>>>0;B=(I=(+(i>>>0)+ +(A|0)*4294967296.0)*(+(u>>>0)+ +(R|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);R=x;u=(x|0)<0?-1:0;x=~~((+(w>>>0)+ +(F|0)*4294967296.0)*(+(R>>>0)+ +(u|0)*4294967296.0))>>>0;V=(I=(+(w>>>0)+ +(F|0)*4294967296.0)*(+(R>>>0)+ +(u|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);u=T;R=(T|0)<0?-1:0;T=~~((+(D>>>0)+ +(P|0)*4294967296.0)*(+(u>>>0)+ +(R|0)*4294967296.0))>>>0;E=(I=(+(D>>>0)+ +(P|0)*4294967296.0)*(+(u>>>0)+ +(R|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);R=~~(+(C>>>0)+ +(B|0)*4294967296.0+(+(T>>>0)+ +(E|0)*4294967296.0))>>>0;u=(I=+(C>>>0)+ +(B|0)*4294967296.0+(+(T>>>0)+ +(E|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);E=~~(+(R>>>0)+ +(u|0)*4294967296.0+(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;T=(I=+(R>>>0)+ +(u|0)*4294967296.0+(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);V=M;x=(M|0)<0?-1:0;u=~~((+(D>>>0)+ +(P|0)*4294967296.0)*(+(V>>>0)+ +(x|0)*4294967296.0))>>>0;R=(I=(+(D>>>0)+ +(P|0)*4294967296.0)*(+(V>>>0)+ +(x|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=t;C=(t|0)<0?-1:0;N=~~((+(w>>>0)+ +(F|0)*4294967296.0)*(+(B>>>0)+ +(C|0)*4294967296.0))>>>0;k=(I=(+(w>>>0)+ +(F|0)*4294967296.0)*(+(B>>>0)+ +(C|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);O=~~(+(u>>>0)+ +(R|0)*4294967296.0-(+(N>>>0)+ +(k|0)*4294967296.0))>>>0;L=(I=+(u>>>0)+ +(R|0)*4294967296.0-(+(N>>>0)+ +(k|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);k=~~((+(i>>>0)+ +(A|0)*4294967296.0)*(+(B>>>0)+ +(C|0)*4294967296.0))>>>0;N=(I=(+(i>>>0)+ +(A|0)*4294967296.0)*(+(B>>>0)+ +(C|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);C=v;B=(v|0)<0?-1:0;R=~~((+(D>>>0)+ +(P|0)*4294967296.0)*(+(C>>>0)+ +(B|0)*4294967296.0))>>>0;u=(I=(+(D>>>0)+ +(P|0)*4294967296.0)*(+(C>>>0)+ +(B|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);U=~~(+(k>>>0)+ +(N|0)*4294967296.0-(+(R>>>0)+ +(u|0)*4294967296.0))>>>0;G=(I=+(k>>>0)+ +(N|0)*4294967296.0-(+(R>>>0)+ +(u|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);u=~~((+(w>>>0)+ +(F|0)*4294967296.0)*(+(C>>>0)+ +(B|0)*4294967296.0))>>>0;R=(I=(+(w>>>0)+ +(F|0)*4294967296.0)*(+(C>>>0)+ +(B|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=~~((+(i>>>0)+ +(A|0)*4294967296.0)*(+(V>>>0)+ +(x|0)*4294967296.0))>>>0;C=(I=(+(i>>>0)+ +(A|0)*4294967296.0)*(+(V>>>0)+ +(x|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);x=~~(+(u>>>0)+ +(R|0)*4294967296.0-(+(B>>>0)+ +(C|0)*4294967296.0))>>>0;V=(I=+(u>>>0)+ +(R|0)*4294967296.0-(+(B>>>0)+ +(C|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);C=h;B=(h|0)<0?-1:0;R=~~((+(O>>>0)+ +(L|0)*4294967296.0)*(+(C>>>0)+ +(B|0)*4294967296.0))>>>0;u=(I=(+(O>>>0)+ +(L|0)*4294967296.0)*(+(C>>>0)+ +(B|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=f;C=(f|0)<0?-1:0;N=~~((+(U>>>0)+ +(G|0)*4294967296.0)*(+(B>>>0)+ +(C|0)*4294967296.0))>>>0;k=(I=(+(U>>>0)+ +(G|0)*4294967296.0)*(+(B>>>0)+ +(C|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);C=~~(+(N>>>0)+ +(k|0)*4294967296.0+(+(R>>>0)+ +(u|0)*4294967296.0))>>>0;B=(I=+(N>>>0)+ +(k|0)*4294967296.0+(+(R>>>0)+ +(u|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);u=g;R=(g|0)<0?-1:0;k=~~((+(x>>>0)+ +(V|0)*4294967296.0)*(+(u>>>0)+ +(R|0)*4294967296.0))>>>0;N=(I=(+(x>>>0)+ +(V|0)*4294967296.0)*(+(u>>>0)+ +(R|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);R=~~(+(C>>>0)+ +(B|0)*4294967296.0+(+(k>>>0)+ +(N|0)*4294967296.0))>>>0;u=(I=+(C>>>0)+ +(B|0)*4294967296.0+(+(k>>>0)+ +(N|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);do{if((c|0)==0){W=u;j=R;X=h;Z=f;Q=g;q=b}else{if((r[c+12>>2]|0)==0){W=u;j=R;X=h;Z=f;Q=g;q=b;break}N=e+100|0;k=g;B=f;C=h;Y=u;J=R;K=c;while(1){$=r[(r[K+8>>2]|0)+4>>2]|0;ee=$+12|0;te=r[ee>>2]|0;_e=r[te+88>>2]|0;re=_e;oe=(_e|0)<0?-1:0;_e=~~((+(re>>>0)+ +(oe|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0))>>>0;se=(I=(+(re>>>0)+ +(oe|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=r[te+92>>2]|0;le=pe;de=(pe|0)<0?-1:0;pe=~~((+(le>>>0)+ +(de|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0))>>>0;ce=(I=(+(le>>>0)+ +(de|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);be=~~(+(pe>>>0)+ +(ce|0)*4294967296.0+(+(_e>>>0)+ +(se|0)*4294967296.0))>>>0;ue=(I=+(pe>>>0)+ +(ce|0)*4294967296.0+(+(_e>>>0)+ +(se|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);se=r[te+96>>2]|0;te=se;_e=(se|0)<0?-1:0;se=~~((+(te>>>0)+ +(_e|0)*4294967296.0)*(+(D>>>0)+ +(P|0)*4294967296.0))>>>0;ce=(I=(+(te>>>0)+ +(_e|0)*4294967296.0)*(+(D>>>0)+ +(P|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=(I=+(be>>>0)+ +(ue|0)*4294967296.0+(+(se>>>0)+ +(ce|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);if((pe|0)<(T|0)|(pe|0)==(T|0)&~~(+(be>>>0)+ +(ue|0)*4294967296.0+(+(se>>>0)+ +(ce|0)*4294967296.0))>>>0>>>0<E>>>0){me=k;he=B;fe=C;ge=Y;Ce=J;break}if((r[$+20>>2]|0)==(r[N>>2]|0)){me=k;he=B;fe=C;ge=Y;Ce=J;break}ce=~~((+(re>>>0)+ +(oe|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;se=(I=(+(re>>>0)+ +(oe|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);oe=~~((+(le>>>0)+ +(de|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;re=(I=(+(le>>>0)+ +(de|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);de=~~(+(oe>>>0)+ +(re|0)*4294967296.0+(+(ce>>>0)+ +(se|0)*4294967296.0))>>>0;le=(I=+(oe>>>0)+ +(re|0)*4294967296.0+(+(ce>>>0)+ +(se|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);se=~~((+(te>>>0)+ +(_e|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;ce=(I=(+(te>>>0)+ +(_e|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);_e=~~(+(de>>>0)+ +(le|0)*4294967296.0+(+(se>>>0)+ +(ce|0)*4294967296.0))>>>0;te=(I=+(de>>>0)+ +(le|0)*4294967296.0+(+(se>>>0)+ +(ce|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);if(!((te|0)>(Y|0)|(te|0)==(Y|0)&_e>>>0>J>>>0)){me=k;he=B;fe=C;ge=Y;Ce=J;break}r[n>>2]=$;ce=r[ee>>2]|0;ee=r[ce+88>>2]|0;se=r[ce+92>>2]|0;le=r[ce+96>>2]|0;if((ce|0)==0){me=le;he=se;fe=ee;ge=te;Ce=_e;break}else{k=le;B=se;C=ee;Y=te;J=_e;K=$}}W=ge;j=Ce;X=fe;Z=he;Q=me;q=r[_>>2]|0}}while(0);me=m;he=(m|0)<0?-1:0;fe=~~((+(O>>>0)+ +(L|0)*4294967296.0)*(+(me>>>0)+ +(he|0)*4294967296.0))>>>0;Ce=(I=(+(O>>>0)+ +(L|0)*4294967296.0)*(+(me>>>0)+ +(he|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);he=S;me=(S|0)<0?-1:0;ge=~~((+(U>>>0)+ +(G|0)*4294967296.0)*(+(he>>>0)+ +(me|0)*4294967296.0))>>>0;R=(I=(+(U>>>0)+ +(G|0)*4294967296.0)*(+(he>>>0)+ +(me|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);me=~~(+(ge>>>0)+ +(R|0)*4294967296.0+(+(fe>>>0)+ +(Ce|0)*4294967296.0))>>>0;he=(I=+(ge>>>0)+ +(R|0)*4294967296.0+(+(fe>>>0)+ +(Ce|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ce=y;fe=(y|0)<0?-1:0;R=~~((+(x>>>0)+ +(V|0)*4294967296.0)*(+(Ce>>>0)+ +(fe|0)*4294967296.0))>>>0;ge=(I=(+(x>>>0)+ +(V|0)*4294967296.0)*(+(Ce>>>0)+ +(fe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);fe=~~(+(me>>>0)+ +(he|0)*4294967296.0+(+(R>>>0)+ +(ge|0)*4294967296.0))>>>0;Ce=(I=+(me>>>0)+ +(he|0)*4294967296.0+(+(R>>>0)+ +(ge|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);e:do{if((q|0)==0){Se=Ce;ye=fe;ve=m;xe=S;Me=y;Te=0}else{if((r[q+12>>2]|0)==0){Se=Ce;ye=fe;ve=m;xe=S;Me=y;Te=q;break}ge=e+100|0;R=y;he=S;me=m;u=Ce;h=fe;f=q;while(1){g=r[r[f+8>>2]>>2]|0;K=g+12|0;J=r[K>>2]|0;Y=r[J+88>>2]|0;C=Y;B=(Y|0)<0?-1:0;Y=~~((+(C>>>0)+ +(B|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0))>>>0;k=(I=(+(C>>>0)+ +(B|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);N=r[J+92>>2]|0;$=N;_e=(N|0)<0?-1:0;N=~~((+($>>>0)+ +(_e|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0))>>>0;te=(I=(+($>>>0)+ +(_e|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ee=~~(+(N>>>0)+ +(te|0)*4294967296.0+(+(Y>>>0)+ +(k|0)*4294967296.0))>>>0;se=(I=+(N>>>0)+ +(te|0)*4294967296.0+(+(Y>>>0)+ +(k|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);k=r[J+96>>2]|0;J=k;Y=(k|0)<0?-1:0;k=~~((+(J>>>0)+ +(Y|0)*4294967296.0)*(+(D>>>0)+ +(P|0)*4294967296.0))>>>0;te=(I=(+(J>>>0)+ +(Y|0)*4294967296.0)*(+(D>>>0)+ +(P|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);N=(I=+(ee>>>0)+ +(se|0)*4294967296.0+(+(k>>>0)+ +(te|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);if((N|0)<(T|0)|(N|0)==(T|0)&~~(+(ee>>>0)+ +(se|0)*4294967296.0+(+(k>>>0)+ +(te|0)*4294967296.0))>>>0>>>0<E>>>0){Se=u;ye=h;ve=me;xe=he;Me=R;Te=f;break e}if((r[g+20>>2]|0)==(r[ge>>2]|0)){Se=u;ye=h;ve=me;xe=he;Me=R;Te=f;break e}te=~~((+(C>>>0)+ +(B|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;k=(I=(+(C>>>0)+ +(B|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=~~((+($>>>0)+ +(_e|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;C=(I=(+($>>>0)+ +(_e|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);_e=~~(+(B>>>0)+ +(C|0)*4294967296.0+(+(te>>>0)+ +(k|0)*4294967296.0))>>>0;$=(I=+(B>>>0)+ +(C|0)*4294967296.0+(+(te>>>0)+ +(k|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);k=~~((+(J>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;te=(I=(+(J>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Y=~~(+(_e>>>0)+ +($|0)*4294967296.0+(+(k>>>0)+ +(te|0)*4294967296.0))>>>0;J=(I=+(_e>>>0)+ +($|0)*4294967296.0+(+(k>>>0)+ +(te|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);if(!((J|0)>(u|0)|(J|0)==(u|0)&Y>>>0>h>>>0)){Se=u;ye=h;ve=me;xe=he;Me=R;Te=f;break e}r[_>>2]=g;te=r[K>>2]|0;K=r[te+88>>2]|0;k=r[te+92>>2]|0;$=r[te+96>>2]|0;if((te|0)==0){Se=J;ye=Y;ve=K;xe=k;Me=$;Te=g;break}else{R=$;he=k;me=K;u=J;h=Y;f=g}}}}while(0);E=~~(+(ye>>>0)+ +(Se|0)*4294967296.0-(+(j>>>0)+ +(W|0)*4294967296.0))>>>0;T=(I=+(ye>>>0)+ +(Se|0)*4294967296.0-(+(j>>>0)+ +(W|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);W=0;if((T|0)>(W|0)|(T|0)==(W|0)&E>>>0>0>>>0){W=e+100|0;j=0;Se=0;ye=~~(+(j>>>0)+ +(Se|0)*4294967296.0-(+(D>>>0)+ +(P|0)*4294967296.0))>>>0;q=(I=+(j>>>0)+ +(Se|0)*4294967296.0-(+(D>>>0)+ +(P|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Se=a+16|0;j=a|0;fe=a+8|0;Ce=s+16|0;m=s|0;S=s+8|0;y=T;f=E;h=ve;u=xe;me=Me;he=X;R=Z;ge=Q;e:while(1){g=y;Y=f;J=h;K=u;k=me;t:while(1){$=ne(J-he|0,v)|0;te=ne(K-R|0,M)|0;_e=te+(ne(k-ge|0,t)|0)+$|0;$=_e;te=(_e|0)<0?-1:0;De=r[n>>2]|0;do{if((De|0)!=0){if((r[De+12>>2]|0)==0){break}Pe=r[(r[De>>2]|0)+8>>2]|0;if((r[Pe+20>>2]|0)<=(r[W>>2]|0)){break}C=r[Pe+12>>2]|0;we=r[C+88>>2]|0;B=we-he|0;Ae=r[C+92>>2]|0;se=Ae-R|0;Fe=r[C+96>>2]|0;C=Fe-ge|0;ee=B;N=(B|0)<0?-1:0;le=~~((+(ee>>>0)+ +(N|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;ce=(I=(+(ee>>>0)+ +(N|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);N=se;ee=(se|0)<0?-1:0;de=~~((+(N>>>0)+ +(ee|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;re=(I=(+(N>>>0)+ +(ee|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ee=~~(+(de>>>0)+ +(re|0)*4294967296.0+(+(le>>>0)+ +(ce|0)*4294967296.0))>>>0;N=(I=+(de>>>0)+ +(re|0)*4294967296.0+(+(le>>>0)+ +(ce|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ce=C;le=(C|0)<0?-1:0;re=~~((+(ce>>>0)+ +(le|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;de=(I=(+(ce>>>0)+ +(le|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);le=~~(+(ee>>>0)+ +(N|0)*4294967296.0+(+(re>>>0)+ +(de|0)*4294967296.0))>>>0;ce=(I=+(ee>>>0)+ +(N|0)*4294967296.0+(+(re>>>0)+ +(de|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);de=ne(B,v)|0;B=(ne(se,M)|0)+de|0;de=B+(ne(C,t)|0)|0;C=de;B=(de|0)<0?-1:0;if((le|0)==0&(ce|0)==0){if((de|0)<0){break t}else{break}}se=0;if(!((ce|0)<(se|0)|(ce|0)==(se|0)&le>>>0<0>>>0)){break}if((de|0)>0){Re=1;Ie=B;Be=C}else{se=(de|0)<0;de=0;re=0;Re=se?-1:0;Ie=se?(I=+(de>>>0)+ +(re|0)*4294967296.0-(+(C>>>0)+ +(B|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0):0;Be=se?~~(+(de>>>0)+ +(re|0)*4294967296.0-(+(C>>>0)+ +(B|0)*4294967296.0))>>>0:0}B=0;if((ce|0)>(B|0)|(ce|0)==(B|0)&le>>>0>0>>>0){Ve=ce;Ee=le;Ne=Re}else{B=0;C=0;Ve=(I=+(B>>>0)+ +(C|0)*4294967296.0-(+(le>>>0)+ +(ce|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ee=~~(+(B>>>0)+ +(C|0)*4294967296.0-(+(le>>>0)+ +(ce|0)*4294967296.0))>>>0;Ne=-Re|0}do{if((_e|0)>0){r[Ce>>2]=1;r[m>>2]=$;r[m+4>>2]=te;ke=1}else{if((_e|0)<0){r[Ce>>2]=-1;ce=0;le=0;C=(I=+(ce>>>0)+ +(le|0)*4294967296.0-(+($>>>0)+ +(te|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[m>>2]=~~(+(ce>>>0)+ +(le|0)*4294967296.0-(+($>>>0)+ +(te|0)*4294967296.0))>>>0;r[m+4>>2]=C;ke=-1;break}else{r[Ce>>2]=0;r[m>>2]=0;r[m+4>>2]=0;ke=0;break}}}while(0);C=0;do{if((g|0)>(C|0)|(g|0)==(C|0)&Y>>>0>0>>>0){r[S>>2]=Y;r[S+4>>2]=g}else{le=0;if((g|0)<(le|0)|(g|0)==(le|0)&Y>>>0<0>>>0){r[Ce>>2]=-ke;le=0;ce=0;B=(I=+(le>>>0)+ +(ce|0)*4294967296.0-(+(Y>>>0)+ +(g|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[S>>2]=~~(+(le>>>0)+ +(ce|0)*4294967296.0-(+(Y>>>0)+ +(g|0)*4294967296.0))>>>0;r[S+4>>2]=B;break}else{r[S>>2]=0;r[S+4>>2]=0;break}}}while(0);if((GIe(Be,Ie,Ee,Ve,Ne,s)|0)>-1){break t}}}while(0);C=r[_>>2]|0;if((C|0)==0){Oe=3282;break e}if((r[C+12>>2]|0)==0){Oe=3283;break e}B=r[r[C+8>>2]>>2]|0;if((r[B+20>>2]|0)<=(r[W>>2]|0)){Oe=3284;break e}C=B+12|0;ce=r[C>>2]|0;le=r[ce+88>>2]|0;re=le-J|0;de=r[ce+92>>2]|0;se=de-K|0;N=r[ce+96>>2]|0;ce=N-k|0;ee=re;oe=(re|0)<0?-1:0;ue=~~((+(ee>>>0)+ +(oe|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0))>>>0;be=(I=(+(ee>>>0)+ +(oe|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=se;Le=(se|0)<0?-1:0;Ue=~~((+(pe>>>0)+ +(Le|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0))>>>0;Ge=(I=(+(pe>>>0)+ +(Le|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);We=(I=+(Ue>>>0)+ +(Ge|0)*4294967296.0+(+(ue>>>0)+ +(be|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ze=ce;He=(ce|0)<0?-1:0;if(!((~~(+(Ue>>>0)+ +(Ge|0)*4294967296.0+(+(ue>>>0)+ +(be|0)*4294967296.0))>>>0|0)==(~~((+(ze>>>0)+ +(He|0)*4294967296.0)*(+(ye>>>0)+ +(q|0)*4294967296.0))>>>0|0)&(We|0)==((I=(+(ze>>>0)+ +(He|0)*4294967296.0)*(+(ye>>>0)+ +(q|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0)|0))){Oe=3285;break e}We=~~((+(ee>>>0)+ +(oe|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;be=(I=(+(ee>>>0)+ +(oe|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);oe=~~((+(pe>>>0)+ +(Le|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;ee=(I=(+(pe>>>0)+ +(Le|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Le=~~(+(oe>>>0)+ +(ee|0)*4294967296.0+(+(We>>>0)+ +(be|0)*4294967296.0))>>>0;pe=(I=+(oe>>>0)+ +(ee|0)*4294967296.0+(+(We>>>0)+ +(be|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);be=~~((+(ze>>>0)+ +(He|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;We=(I=(+(ze>>>0)+ +(He|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);He=~~(+(Le>>>0)+ +(pe|0)*4294967296.0+(+(be>>>0)+ +(We|0)*4294967296.0))>>>0;ze=(I=+(Le>>>0)+ +(pe|0)*4294967296.0+(+(be>>>0)+ +(We|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);We=ne(re,v)|0;re=(ne(se,M)|0)+We|0;We=re+(ne(ce,t)|0)|0;ce=We;re=(We|0)<0?-1:0;se=le-he|0;le=de-R|0;de=N-ge|0;N=se;be=(se|0)<0?-1:0;se=~~((+(N>>>0)+ +(be|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;pe=(I=(+(N>>>0)+ +(be|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);be=le;N=(le|0)<0?-1:0;le=~~((+(be>>>0)+ +(N|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;Le=(I=(+(be>>>0)+ +(N|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);N=~~(+(le>>>0)+ +(Le|0)*4294967296.0+(+(se>>>0)+ +(pe|0)*4294967296.0))>>>0;be=(I=+(le>>>0)+ +(Le|0)*4294967296.0+(+(se>>>0)+ +(pe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=de;se=(de|0)<0?-1:0;de=~~((+(pe>>>0)+ +(se|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;Le=(I=(+(pe>>>0)+ +(se|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);se=~~(+(N>>>0)+ +(be|0)*4294967296.0+(+(de>>>0)+ +(Le|0)*4294967296.0))>>>0;pe=(I=+(N>>>0)+ +(be|0)*4294967296.0+(+(de>>>0)+ +(Le|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Le=0;if(!((pe|0)>(Le|0)|(pe|0)==(Le|0)&se>>>0>0>>>0)){Oe=3286;break e}if((He|0)==0&(ze|0)==0){if((We|0)>=0){Oe=3287;break e}}else{Le=0;if(!((ze|0)<(Le|0)|(ze|0)==(Le|0)&He>>>0<0>>>0)){Oe=3297;break e}if((We|0)>0){je=re;Xe=ce;Ze=1}else{Le=(We|0)<0;We=0;de=0;je=Le?(I=+(We>>>0)+ +(de|0)*4294967296.0-(+(ce>>>0)+ +(re|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0):0;Xe=Le?~~(+(We>>>0)+ +(de|0)*4294967296.0-(+(ce>>>0)+ +(re|0)*4294967296.0))>>>0:0;Ze=Le?-1:0}Le=0;if((ze|0)>(Le|0)|(ze|0)==(Le|0)&He>>>0>0>>>0){Qe=ze;qe=He;Ye=Ze}else{Le=0;re=0;Qe=(I=+(Le>>>0)+ +(re|0)*4294967296.0-(+(He>>>0)+ +(ze|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);qe=~~(+(Le>>>0)+ +(re|0)*4294967296.0-(+(He>>>0)+ +(ze|0)*4294967296.0))>>>0;Ye=-Ze|0}do{if((_e|0)>0){r[Se>>2]=1;r[j>>2]=$;r[j+4>>2]=te;Je=1}else{if((_e|0)<0){r[Se>>2]=-1;ze=0;He=0;re=(I=+(ze>>>0)+ +(He|0)*4294967296.0-(+($>>>0)+ +(te|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[j>>2]=~~(+(ze>>>0)+ +(He|0)*4294967296.0-(+($>>>0)+ +(te|0)*4294967296.0))>>>0;r[j+4>>2]=re;Je=-1;break}else{r[Se>>2]=0;r[j>>2]=0;r[j+4>>2]=0;Je=0;break}}}while(0);te=0;do{if((g|0)>(te|0)|(g|0)==(te|0)&Y>>>0>0>>>0){r[fe>>2]=Y;r[fe+4>>2]=g}else{$=0;if((g|0)<($|0)|(g|0)==($|0)&Y>>>0<0>>>0){r[Se>>2]=-Je;$=0;_e=0;re=(I=+($>>>0)+ +(_e|0)*4294967296.0-(+(Y>>>0)+ +(g|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[fe>>2]=~~(+($>>>0)+ +(_e|0)*4294967296.0-(+(Y>>>0)+ +(g|0)*4294967296.0))>>>0;r[fe+4>>2]=re;break}else{r[fe>>2]=0;r[fe+4>>2]=0;break}}}while(0);if((GIe(Xe,je,qe,Qe,Ye,a)|0)<=0){Oe=3288;break e}}r[_>>2]=B;te=r[C>>2]|0;g=pe;Y=se;J=r[te+88>>2]|0;K=r[te+92>>2]|0;k=r[te+96>>2]|0}Y=J-we|0;g=K-Ae|0;te=k-Fe|0;re=Y;_e=(Y|0)<0?-1:0;Y=~~((+(re>>>0)+ +(_e|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;$=(I=(+(re>>>0)+ +(_e|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);_e=g;re=(g|0)<0?-1:0;g=~~((+(_e>>>0)+ +(re|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;He=(I=(+(_e>>>0)+ +(re|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);re=~~(+(g>>>0)+ +(He|0)*4294967296.0+(+(Y>>>0)+ +($|0)*4294967296.0))>>>0;_e=(I=+(g>>>0)+ +(He|0)*4294967296.0+(+(Y>>>0)+ +($|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);$=te;Y=(te|0)<0?-1:0;te=~~((+($>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;He=(I=(+($>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Y=(I=+(re>>>0)+ +(_e|0)*4294967296.0+(+(te>>>0)+ +(He|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[n>>2]=(De|0)==(c|0)?0:Pe;y=Y;f=~~(+(re>>>0)+ +(_e|0)*4294967296.0+(+(te>>>0)+ +(He|0)*4294967296.0))>>>0;h=J;u=K;me=k;he=we;R=Ae;ge=Fe}if((Oe|0)==3282){d=o;return}else if((Oe|0)==3283){d=o;return}else if((Oe|0)==3284){d=o;return}else if((Oe|0)==3285){d=o;return}else if((Oe|0)==3286){d=o;return}else if((Oe|0)==3287){d=o;return}else if((Oe|0)==3288){d=o;return}else if((Oe|0)==3297){d=o;return}}Fe=0;if(!((T|0)<(Fe|0)|(T|0)==(Fe|0)&E>>>0<0>>>0)){d=o;return}Fe=e+100|0;e=0;ge=0;Ae=~~(+(e>>>0)+ +(ge|0)*4294967296.0-(+(D>>>0)+ +(P|0)*4294967296.0))>>>0;R=(I=+(e>>>0)+ +(ge|0)*4294967296.0-(+(D>>>0)+ +(P|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);P=l+16|0;D=l|0;ge=l+8|0;e=p+16|0;we=p|0;he=p+8|0;me=T;T=E;E=ve;ve=xe;xe=Me;Me=X;X=Z;Z=Q;Q=Te;while(1){Te=ne(E-Me|0,v)|0;u=ne(ve-X|0,M)|0;h=u+(ne(xe-Z|0,t)|0)+Te|0;Te=h;u=(h|0)<0?-1:0;e:do{if((Q|0)==0){Ke=xe;$e=ve;et=E;tt=me;it=T;nt=h;_t=u;rt=Te}else{f=xe;y=ve;Pe=E;c=me;De=T;a=h;Ye=u;Qe=Te;qe=Q;while(1){if((r[qe+12>>2]|0)==0){Ke=f;$e=y;et=Pe;tt=c;it=De;nt=a;_t=Ye;rt=Qe;break e}je=r[(r[qe+4>>2]|0)+8>>2]|0;if((r[je+20>>2]|0)<=(r[Fe>>2]|0)){Ke=f;$e=y;et=Pe;tt=c;it=De;nt=a;_t=Ye;rt=Qe;break e}Xe=r[je+12>>2]|0;fe=r[Xe+88>>2]|0;Je=fe-Pe|0;Se=r[Xe+92>>2]|0;j=Se-y|0;Ze=r[Xe+96>>2]|0;Xe=Ze-f|0;q=Je;ye=(Je|0)<0?-1:0;W=~~((+(q>>>0)+ +(ye|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;s=(I=(+(q>>>0)+ +(ye|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ye=j;q=(j|0)<0?-1:0;Ne=~~((+(ye>>>0)+ +(q|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;Ve=(I=(+(ye>>>0)+ +(q|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);q=~~(+(Ne>>>0)+ +(Ve|0)*4294967296.0+(+(W>>>0)+ +(s|0)*4294967296.0))>>>0;ye=(I=+(Ne>>>0)+ +(Ve|0)*4294967296.0+(+(W>>>0)+ +(s|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);s=Xe;W=(Xe|0)<0?-1:0;Ve=~~((+(s>>>0)+ +(W|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;Ne=(I=(+(s>>>0)+ +(W|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);W=~~(+(q>>>0)+ +(ye|0)*4294967296.0+(+(Ve>>>0)+ +(Ne|0)*4294967296.0))>>>0;s=(I=+(q>>>0)+ +(ye|0)*4294967296.0+(+(Ve>>>0)+ +(Ne|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ne=ne(Je,v)|0;Je=(ne(j,M)|0)+Ne|0;Ne=Je+(ne(Xe,t)|0)|0;Xe=Ne;Je=(Ne|0)<0?-1:0;if((W|0)==0&(s|0)==0){if((Ne|0)<=0){Ke=f;$e=y;et=Pe;tt=c;it=De;nt=a;_t=Ye;rt=Qe;break e}}else{j=0;if(!((s|0)<(j|0)|(s|0)==(j|0)&W>>>0<0>>>0)){Ke=f;$e=y;et=Pe;tt=c;it=De;nt=a;_t=Ye;rt=Qe;break e}if((Ne|0)>0){ot=Je;st=Xe;at=1}else{j=(Ne|0)<0;Ne=0;Ve=0;ot=j?(I=+(Ne>>>0)+ +(Ve|0)*4294967296.0-(+(Xe>>>0)+ +(Je|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0):0;st=j?~~(+(Ne>>>0)+ +(Ve|0)*4294967296.0-(+(Xe>>>0)+ +(Je|0)*4294967296.0))>>>0:0;at=j?-1:0}j=0;if((s|0)>(j|0)|(s|0)==(j|0)&W>>>0>0>>>0){pt=s;lt=W;dt=at}else{j=0;Je=0;pt=(I=+(j>>>0)+ +(Je|0)*4294967296.0-(+(W>>>0)+ +(s|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);lt=~~(+(j>>>0)+ +(Je|0)*4294967296.0-(+(W>>>0)+ +(s|0)*4294967296.0))>>>0;dt=-at|0}do{if((a|0)>0){r[e>>2]=1;r[we>>2]=Qe;r[we+4>>2]=Ye;ct=1}else{if((a|0)<0){r[e>>2]=-1;s=0;W=0;Je=(I=+(s>>>0)+ +(W|0)*4294967296.0-(+(Qe>>>0)+ +(Ye|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[we>>2]=~~(+(s>>>0)+ +(W|0)*4294967296.0-(+(Qe>>>0)+ +(Ye|0)*4294967296.0))>>>0;r[we+4>>2]=Je;ct=-1;break}else{r[e>>2]=0;r[we>>2]=0;r[we+4>>2]=0;ct=0;break}}}while(0);Je=0;do{if((c|0)>(Je|0)|(c|0)==(Je|0)&De>>>0>0>>>0){r[he>>2]=De;r[he+4>>2]=c}else{W=0;if((c|0)<(W|0)|(c|0)==(W|0)&De>>>0<0>>>0){r[e>>2]=-ct;W=0;s=0;j=(I=+(W>>>0)+ +(s|0)*4294967296.0-(+(De>>>0)+ +(c|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[he>>2]=~~(+(W>>>0)+ +(s|0)*4294967296.0-(+(De>>>0)+ +(c|0)*4294967296.0))>>>0;r[he+4>>2]=j;break}else{r[he>>2]=0;r[he+4>>2]=0;break}}}while(0);if((GIe(st,ot,lt,pt,dt,p)|0)>=1){Ke=f;$e=y;et=Pe;tt=c;it=De;nt=a;_t=Ye;rt=Qe;break e}}Je=fe-Me|0;j=Se-X|0;s=Ze-Z|0;W=Je;Xe=(Je|0)<0?-1:0;Ve=~~((+(W>>>0)+ +(Xe|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;Ne=(I=(+(W>>>0)+ +(Xe|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Xe=j;W=(j|0)<0?-1:0;ye=~~((+(Xe>>>0)+ +(W|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;q=(I=(+(Xe>>>0)+ +(W|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);W=~~(+(ye>>>0)+ +(q|0)*4294967296.0+(+(Ve>>>0)+ +(Ne|0)*4294967296.0))>>>0;Xe=(I=+(ye>>>0)+ +(q|0)*4294967296.0+(+(Ve>>>0)+ +(Ne|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ne=s;Ve=(s|0)<0?-1:0;q=~~((+(Ne>>>0)+ +(Ve|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;ye=(I=(+(Ne>>>0)+ +(Ve|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Ve=~~(+(W>>>0)+ +(Xe|0)*4294967296.0+(+(q>>>0)+ +(ye|0)*4294967296.0))>>>0;Ne=(I=+(W>>>0)+ +(Xe|0)*4294967296.0+(+(q>>>0)+ +(ye|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ye=(qe|0)==(b|0)?0:je;r[_>>2]=ye;q=ne(Je,v)|0;Je=ne(j,M)|0;j=Je+(ne(s,t)|0)+q|0;q=j;s=(j|0)<0?-1:0;if((ye|0)==0){Ke=Ze;$e=Se;et=fe;tt=Ne;it=Ve;nt=j;_t=s;rt=q;break}else{f=Ze;y=Se;Pe=fe;c=Ne;De=Ve;a=j;Ye=s;Qe=q;qe=ye}}}}while(0);Te=r[n>>2]|0;if((Te|0)==0){Oe=3289;break}if((r[Te+12>>2]|0)==0){Oe=3290;break}u=r[(r[Te+8>>2]|0)+4>>2]|0;if((r[u+20>>2]|0)<=(r[Fe>>2]|0)){Oe=3291;break}Te=u+12|0;h=r[Te>>2]|0;k=r[h+88>>2]|0;K=k-Me|0;J=r[h+92>>2]|0;qe=J-X|0;Qe=r[h+96>>2]|0;h=Qe-Z|0;Ye=K;a=(K|0)<0?-1:0;De=~~((+(Ye>>>0)+ +(a|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0))>>>0;c=(I=(+(Ye>>>0)+ +(a|0)*4294967296.0)*(+(i>>>0)+ +(A|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Pe=qe;y=(qe|0)<0?-1:0;f=~~((+(Pe>>>0)+ +(y|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0))>>>0;se=(I=(+(Pe>>>0)+ +(y|0)*4294967296.0)*(+(w>>>0)+ +(F|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=(I=+(f>>>0)+ +(se|0)*4294967296.0+(+(De>>>0)+ +(c|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);C=h;B=(h|0)<0?-1:0;if(!((~~(+(f>>>0)+ +(se|0)*4294967296.0+(+(De>>>0)+ +(c|0)*4294967296.0))>>>0|0)==(~~((+(C>>>0)+ +(B|0)*4294967296.0)*(+(Ae>>>0)+ +(R|0)*4294967296.0))>>>0|0)&(pe|0)==((I=(+(C>>>0)+ +(B|0)*4294967296.0)*(+(Ae>>>0)+ +(R|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0)|0))){Oe=3292;break}pe=~~((+(Ye>>>0)+ +(a|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;c=(I=(+(Ye>>>0)+ +(a|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);a=~~((+(Pe>>>0)+ +(y|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;Ye=(I=(+(Pe>>>0)+ +(y|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);y=~~(+(a>>>0)+ +(Ye|0)*4294967296.0+(+(pe>>>0)+ +(c|0)*4294967296.0))>>>0;Pe=(I=+(a>>>0)+ +(Ye|0)*4294967296.0+(+(pe>>>0)+ +(c|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);c=~~((+(C>>>0)+ +(B|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;pe=(I=(+(C>>>0)+ +(B|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);B=~~(+(y>>>0)+ +(Pe|0)*4294967296.0+(+(c>>>0)+ +(pe|0)*4294967296.0))>>>0;C=(I=+(y>>>0)+ +(Pe|0)*4294967296.0+(+(c>>>0)+ +(pe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);pe=ne(K,v)|0;K=(ne(qe,M)|0)+pe|0;pe=K+(ne(h,t)|0)|0;h=pe;K=(pe|0)<0?-1:0;qe=et-k|0;k=$e-J|0;J=Ke-Qe|0;Qe=qe;c=(qe|0)<0?-1:0;qe=~~((+(Qe>>>0)+ +(c|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0))>>>0;Pe=(I=(+(Qe>>>0)+ +(c|0)*4294967296.0)*(+(O>>>0)+ +(L|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);c=k;Qe=(k|0)<0?-1:0;k=~~((+(c>>>0)+ +(Qe|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0))>>>0;y=(I=(+(c>>>0)+ +(Qe|0)*4294967296.0)*(+(U>>>0)+ +(G|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Qe=~~(+(k>>>0)+ +(y|0)*4294967296.0+(+(qe>>>0)+ +(Pe|0)*4294967296.0))>>>0;c=(I=+(k>>>0)+ +(y|0)*4294967296.0+(+(qe>>>0)+ +(Pe|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);Pe=J;qe=(J|0)<0?-1:0;J=~~((+(Pe>>>0)+ +(qe|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0))>>>0;y=(I=(+(Pe>>>0)+ +(qe|0)*4294967296.0)*(+(x>>>0)+ +(V|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);qe=~~(+(Qe>>>0)+ +(c|0)*4294967296.0+(+(J>>>0)+ +(y|0)*4294967296.0))>>>0;Pe=(I=+(Qe>>>0)+ +(c|0)*4294967296.0+(+(J>>>0)+ +(y|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);y=0;if(!((Pe|0)<(y|0)|(Pe|0)==(y|0)&qe>>>0<0>>>0)){Oe=3293;break}if((B|0)==0&(C|0)==0){if((pe|0)<=0){Oe=3294;break}}else{y=0;if(!((C|0)<(y|0)|(C|0)==(y|0)&B>>>0<0>>>0)){Oe=3295;break}if((pe|0)>0){bt=K;ut=h;mt=1}else{y=(pe|0)<0;pe=0;J=0;bt=y?(I=+(pe>>>0)+ +(J|0)*4294967296.0-(+(h>>>0)+ +(K|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0):0;ut=y?~~(+(pe>>>0)+ +(J|0)*4294967296.0-(+(h>>>0)+ +(K|0)*4294967296.0))>>>0:0;mt=y?-1:0}y=0;if((C|0)>(y|0)|(C|0)==(y|0)&B>>>0>0>>>0){ht=C;ft=B;gt=mt}else{y=0;K=0;ht=(I=+(y>>>0)+ +(K|0)*4294967296.0-(+(B>>>0)+ +(C|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);ft=~~(+(y>>>0)+ +(K|0)*4294967296.0-(+(B>>>0)+ +(C|0)*4294967296.0))>>>0;gt=-mt|0}do{if((nt|0)>0){r[P>>2]=1;r[D>>2]=rt;r[D+4>>2]=_t;Ct=1}else{if((nt|0)<0){r[P>>2]=-1;C=0;B=0;K=(I=+(C>>>0)+ +(B|0)*4294967296.0-(+(rt>>>0)+ +(_t|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[D>>2]=~~(+(C>>>0)+ +(B|0)*4294967296.0-(+(rt>>>0)+ +(_t|0)*4294967296.0))>>>0;r[D+4>>2]=K;Ct=-1;break}else{r[P>>2]=0;r[D>>2]=0;r[D+4>>2]=0;Ct=0;break}}}while(0);K=0;do{if((tt|0)>(K|0)|(tt|0)==(K|0)&it>>>0>0>>>0){r[ge>>2]=it;r[ge+4>>2]=tt}else{B=0;if((tt|0)<(B|0)|(tt|0)==(B|0)&it>>>0<0>>>0){r[P>>2]=-Ct;B=0;C=0;y=(I=+(B>>>0)+ +(C|0)*4294967296.0-(+(it>>>0)+ +(tt|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);r[ge>>2]=~~(+(B>>>0)+ +(C|0)*4294967296.0-(+(it>>>0)+ +(tt|0)*4294967296.0))>>>0;r[ge+4>>2]=y;break}else{r[ge>>2]=0;r[ge+4>>2]=0;break}}}while(0);if((GIe(ut,bt,ft,ht,gt,l)|0)>=0){Oe=3281;break}}r[n>>2]=u;K=r[Te>>2]|0;me=Pe;T=qe;E=et;ve=$e;xe=Ke;Me=r[K+88>>2]|0;X=r[K+92>>2]|0;Z=r[K+96>>2]|0;Q=r[_>>2]|0}if((Oe|0)==3281){d=o;return}else if((Oe|0)==3289){d=o;return}else if((Oe|0)==3290){d=o;return}else if((Oe|0)==3291){d=o;return}else if((Oe|0)==3292){d=o;return}else if((Oe|0)==3293){d=o;return}else if((Oe|0)==3294){d=o;return}else if((Oe|0)==3295){d=o;return}}function XIe(e){e=e|0;return}function ZIe(e){e=e|0;return}function QIe(e){e=e|0;return}function qIe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0;if((r[t+8>>2]|0)!=(e|0)){return}e=t+16|0;o=r[e>>2]|0;if((o|0)==0){r[e>>2]=i;r[t+24>>2]=_;r[t+36>>2]=1;return}if((o|0)!=(i|0)){i=t+36|0;r[i>>2]=(r[i>>2]|0)+1;r[t+24>>2]=2;n[t+54|0]=1;return}i=t+24|0;if((r[i>>2]|0)!=2){return}r[i>>2]=_;return}function YIe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0.0,a=0,p=0,l=0,c=0,b=0,u=0,m=0;t=d;d=d+16|0;i=t|0;n=e+8|0;_=r[n>>2]|0;o=r[n+4>>2]|0;n=-1;if((o|0)>(n|0)|(o|0)==(n|0)&_>>>0>-1>>>0){n=e|0;s=(+(_>>>0)+ +(o>>>0)*4294967296.0)*18446744073709552000.0+(+((r[n>>2]|0)>>>0)+ +((r[n+4>>2]|0)>>>0)*4294967296.0);d=t;return+s}else{n=e|0;e=r[n>>2]|0;a=r[n+4>>2]|0;n=0;p=0;l=(I=+(n>>>0)+ +(p|0)*4294967296.0-(+(e>>>0)+ +(a|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);c=~_;_=~o;o=(e|0)==0&(a|0)==0&1;b=0;u=(I=+(o>>>0)+ +(b|0)*4294967296.0+(+(c>>>0)+ +(_|0)*4294967296.0),+H(I)>=1.0?I>0.0?(ae(+z(I/4294967296.0),4294967295.0)|0)>>>0:~~+ie((I-+(~~I>>>0))/4294967296.0)>>>0:0);m=i|0;r[m>>2]=~~(+(n>>>0)+ +(p|0)*4294967296.0-(+(e>>>0)+ +(a|0)*4294967296.0))>>>0;r[m+4>>2]=l;l=i+8|0;r[l>>2]=~~(+(o>>>0)+ +(b|0)*4294967296.0+(+(c>>>0)+ +(_|0)*4294967296.0))>>>0;r[l+4>>2]=u;s=-0.0-+YIe(i);d=t;return+s}return 0.0}function JIe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;n=d;d=d+16|0;_=(i+t|0)/2|0;o=e+12|0;s=r[o>>2]|0;a=r[s+(_<<4)>>2]|0;p=r[s+(_<<4)+4>>2]|0;l=r[s+(_<<4)+8>>2]|0;_=n|0;c=i;b=t;u=s;while(1){s=b;e:while(1){m=r[u+(s<<4)+4>>2]|0;do{if((m|0)>=(p|0)){if((m|0)!=(p|0)){h=3327;break e}f=r[u+(s<<4)>>2]|0;if((f|0)<(a|0)){break}if((f|0)!=(a|0)){h=3327;break e}f=s+1|0;if((r[u+(s<<4)+8>>2]|0)<(l|0)){s=f;continue e}else{g=f;break e}}}while(0);s=s+1|0}if((h|0)==3327){h=0;g=s+1|0}m=c;e:while(1){f=r[u+(m<<4)+4>>2]|0;do{if((p|0)>=(f|0)){if((p|0)!=(f|0)){h=3335;break e}C=r[u+(m<<4)>>2]|0;if((a|0)<(C|0)){break}if((a|0)!=(C|0)){h=3335;break e}C=m-1|0;if((l|0)<(r[u+(m<<4)+8>>2]|0)){m=C;continue e}else{S=C;break e}}}while(0);m=m-1|0}if((h|0)==3335){h=0;S=m-1|0}if((s|0)>(m|0)){y=m;v=s}else{f=u+(s<<4)|0;r[_>>2]=r[f>>2];r[_+4>>2]=r[f+4>>2];r[_+8>>2]=r[f+8>>2];r[_+12>>2]=r[f+12>>2];C=u+(m<<4)|0;r[f>>2]=r[C>>2];r[f+4>>2]=r[C+4>>2];r[f+8>>2]=r[C+8>>2];r[f+12>>2]=r[C+12>>2];C=(r[o>>2]|0)+(m<<4)|0;r[C>>2]=r[_>>2];r[C+4>>2]=r[_+4>>2];r[C+8>>2]=r[_+8>>2];r[C+12>>2]=r[_+12>>2];y=S;v=g}if((v|0)>(y|0)){break}c=y;b=v;u=r[o>>2]|0}if((y|0)>(t|0)){JIe(e,t,y)}if((v|0)>=(i|0)){d=n;return}JIe(e,v,i);d=n;return}function KIe(e){e=e|0;var t=0;t=r[e>>2]|0;if((t|0)==0){return}SBe(t);return}function $Ie(e){e=e|0;var t=0;t=e;do{r[t+4>>2]=0;p[t+8>>2]=0.0;e=r[t+24>>2]|0;if((e|0)!=0){$Ie(e)}t=r[t+28>>2]|0}while((t|0)!=0);return}function eBe(e){e=e|0;var t=0;t=r[e+24>>2]|0;if((t|0)!=0){eBe(t);SBe(t)}t=r[e+28>>2]|0;if((t|0)==0){return}e=r[t+24>>2]|0;if((e|0)!=0){eBe(e);SBe(e)}e=r[t+28>>2]|0;if((e|0)!=0){eBe(e);SBe(e)}SBe(t);return}function tBe(){var e=0,t=0,i=0,n=0,_=0,o=0;e=d;d=d+16|0;t=e|0;i=e+8|0;hi(r[10742]|0,0)|0;$Ie(42912);r[10729]=(r[10729]|0)+1;n=r[10732]|0;r[10732]=n+1;if((n|0)!=0){r[10736]=0;_=t;o=hi(t|0,0)|0;d=e;return}hi(i|0,0)|0;n=r[10742]|0;r[10731]=(r[i+4>>2]|0)-(r[n+4>>2]|0)+(((r[i>>2]|0)-(r[n>>2]|0)|0)*1e6|0);r[10736]=0;_=t;o=hi(t|0,0)|0;d=e;return}function iBe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function nBe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function _Be(e){e=e|0;if((e|0)==0){return}SBe(e);return}function rBe(e,t,i){e=e|0;t=t|0;i=i|0;var n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0;n=d;d=d+112|0;_=n|0;o=n+56|0;if((e|0)==(t|0)){s=1;d=n;return s|0}if((t|0)==0){s=0;d=n;return s|0}a=t;p=r[t>>2]|0;t=a+(r[p-8>>2]|0)|0;l=r[p-4>>2]|0;p=l;r[_>>2]=34680;r[_+4>>2]=a;r[_+8>>2]=34696;r[_+12>>2]=-1;a=_+16|0;c=_+20|0;b=_+24|0;u=_+28|0;m=_+32|0;h=_+40|0;vBe(a|0,0,39);do{if((l|0)==34680){r[_+48>>2]=1;M_t[r[(r[8670]|0)+20>>2]&127](p,_,t,t,1,0);f=(r[b>>2]|0)==1?t:0}else{Unt[r[(r[l>>2]|0)+24>>2]&255](p,_,t,1,0);g=r[_+36>>2]|0;if((g|0)==0){if((r[h>>2]|0)!=1){f=0;break}if((r[u>>2]|0)!=1){f=0;break}f=(r[m>>2]|0)==1?r[c>>2]|0:0;break}else if((g|0)!=1){f=0;break}if((r[b>>2]|0)!=1){if((r[h>>2]|0)!=0){f=0;break}if((r[u>>2]|0)!=1){f=0;break}if((r[m>>2]|0)!=1){f=0;break}}f=r[a>>2]|0}}while(0);a=f;if((f|0)==0){s=0;d=n;return s|0}vBe(o|0,0,56);r[o>>2]=a;r[o+8>>2]=e;r[o+12>>2]=-1;r[o+48>>2]=1;mrt[r[(r[f>>2]|0)+28>>2]&1023](a,o,r[i>>2]|0,1);if((r[o+24>>2]|0)!=1){s=0;d=n;return s|0}r[i>>2]=r[o+16>>2];s=1;d=n;return s|0}function oBe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0;if((e|0)!=(r[t+8>>2]|0)){o=r[e+8>>2]|0;mrt[r[(r[o>>2]|0)+28>>2]&1023](o,t,i,_);return}o=t+16|0;e=r[o>>2]|0;if((e|0)==0){r[o>>2]=i;r[t+24>>2]=_;r[t+36>>2]=1;return}if((e|0)!=(i|0)){i=t+36|0;r[i>>2]=(r[i>>2]|0)+1;r[t+24>>2]=2;n[t+54|0]=1;return}i=t+24|0;if((r[i>>2]|0)!=2){return}r[i>>2]=_;return}function sBe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,c=0;t=d;d=d+8|0;i=t|0;n=r[9152]|0;if((r[n>>2]|0)==(e|0)){_=n}else{o=n+24|0;s=o;while(1){a=r[s>>2]|0;if((a|0)==0){p=3437;break}if((r[a>>2]|0)==(e|0)){l=a;break}else{s=a+28|0}}do{if((p|0)==3437){while(1){p=0;c=hBe(32)|0;if((c|0)!=0){p=3447;break}s=(R=r[10744]|0,r[10744]=R+0,R);if((s|0)==0){break}prt[s&63]();p=3437}if((p|0)==3447){s=c;r[c>>2]=e;vBe(c+4|0,0,16);r[c+20>>2]=n;r[c+24>>2]=0;a=c+28|0;r[a>>2]=0;$Ie(s);r[a>>2]=r[o>>2];r[o>>2]=s;l=s;break}s=Di(4)|0;r[s>>2]=19096;Ht(s|0,34368,676)}}while(0);r[9152]=l;_=l}l=_+4|0;r[l>>2]=(r[l>>2]|0)+1;l=_+16|0;o=r[l>>2]|0;r[l>>2]=o+1;if((o|0)!=0){d=t;return}hi(i|0,0)|0;o=r[10742]|0;r[_+12>>2]=(r[i+4>>2]|0)-(r[o+4>>2]|0)+(((r[i>>2]|0)-(r[o>>2]|0)|0)*1e6|0);d=t;return}function aBe(){var e=0,t=0,i=0;while(1){e=hBe(8)|0;if((e|0)!=0){t=3465;break}i=(R=r[10744]|0,r[10744]=R+0,R);if((i|0)==0){break}prt[i&63]()}if((t|0)==3465){r[10742]=e;t=e;hi(t|0,0)|0;jt(496,42968,f|0)|0;r[10728]=16072;vBe(42916,0,28);$Ie(42912);jt(650,42912,f|0)|0;return}t=Di(4)|0;r[t>>2]=19096;Ht(t|0,34368,676)}function pBe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;if((r[t+8>>2]|0)==(e|0)){if((r[t+4>>2]|0)!=(i|0)){return}o=t+28|0;if((r[o>>2]|0)==1){return}r[o>>2]=_;return}if((r[t>>2]|0)!=(e|0)){return}do{if((r[t+16>>2]|0)!=(i|0)){e=t+20|0;if((r[e>>2]|0)==(i|0)){break}r[t+32>>2]=_;r[e>>2]=i;e=t+40|0;r[e>>2]=(r[e>>2]|0)+1;do{if((r[t+36>>2]|0)==1){if((r[t+24>>2]|0)!=2){break}n[t+54|0]=1}}while(0);r[t+44>>2]=4;return}}while(0);if((_|0)!=1){return}r[t+32>>2]=1;return}function lBe(e,t,i,_){e=e|0;t=t|0;i=i|0;_=_|0;var o=0,s=0,a=0,p=0,l=0,d=0,c=0;if((e|0)==(r[t+8>>2]|0)){o=t+16|0;s=r[o>>2]|0;if((s|0)==0){r[o>>2]=i;r[t+24>>2]=_;r[t+36>>2]=1;return}if((s|0)!=(i|0)){s=t+36|0;r[s>>2]=(r[s>>2]|0)+1;r[t+24>>2]=2;n[t+54|0]=1;return}s=t+24|0;if((r[s>>2]|0)!=2){return}r[s>>2]=_;return}s=r[e+12>>2]|0;o=e+16+(s<<3)|0;a=r[e+20>>2]|0;p=a>>8;if((a&1|0)==0){l=p}else{l=r[(r[i>>2]|0)+p>>2]|0}p=r[e+16>>2]|0;mrt[r[(r[p>>2]|0)+28>>2]&1023](p,t,i+l|0,(a&2|0)!=0?_:2);if((s|0)<=1){return}s=t+54|0;a=i;l=e+24|0;while(1){e=r[l+4>>2]|0;p=e>>8;if((e&1|0)==0){d=p}else{d=r[(r[a>>2]|0)+p>>2]|0}p=r[l>>2]|0;mrt[r[(r[p>>2]|0)+28>>2]&1023](p,t,i+d|0,(e&2|0)!=0?_:2);if((n[s]&1)!=0){c=3509;break}e=l+8|0;if(e>>>0<o>>>0){l=e}else{c=3507;break}}if((c|0)==3509){return}else if((c|0)==3507){return}}function dBe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0;s=e|0;if((s|0)==(r[t+8>>2]|0)){if((r[t+4>>2]|0)!=(i|0)){return}a=t+28|0;if((r[a>>2]|0)==1){return}r[a>>2]=_;return}if((s|0)==(r[t>>2]|0)){do{if((r[t+16>>2]|0)!=(i|0)){s=t+20|0;if((r[s>>2]|0)==(i|0)){break}r[t+32>>2]=_;a=t+44|0;if((r[a>>2]|0)==4){return}p=r[e+12>>2]|0;l=e+16+(p<<3)|0;e:do{if((p|0)>0){d=t+52|0;c=t+53|0;b=t+54|0;u=e+8|0;m=t+24|0;h=i;f=0;g=e+16|0;C=0;t:while(1){n[d]=0;n[c]=0;S=r[g+4>>2]|0;y=S>>8;if((S&1|0)==0){v=y}else{v=r[(r[h>>2]|0)+y>>2]|0}y=r[g>>2]|0;M_t[r[(r[y>>2]|0)+20>>2]&127](y,t,i,i+v|0,2-(S>>>1&1)|0,o);if((n[b]&1)!=0){x=C;M=f;break}do{if((n[c]&1)==0){T=C;D=f}else{if((n[d]&1)==0){if((r[u>>2]&1|0)==0){x=1;M=f;break t}else{T=1;D=f;break}}if((r[m>>2]|0)==1){P=3536;break e}if((r[u>>2]&2|0)==0){P=3536;break e}else{T=1;D=1}}}while(0);S=g+8|0;if(S>>>0<l>>>0){f=D;g=S;C=T}else{x=T;M=D;break}}if(M){w=x;P=3535}else{A=x;P=3532}}else{A=0;P=3532}}while(0);do{if((P|0)==3532){r[s>>2]=i;l=t+40|0;r[l>>2]=(r[l>>2]|0)+1;if((r[t+36>>2]|0)!=1){w=A;P=3535;break}if((r[t+24>>2]|0)!=2){w=A;P=3535;break}n[t+54|0]=1;if(A){P=3536}else{P=3537}}}while(0);if((P|0)==3535){if(w){P=3536}else{P=3537}}if((P|0)==3537){r[a>>2]=4;return}else if((P|0)==3536){r[a>>2]=3;return}}}while(0);if((_|0)!=1){return}r[t+32>>2]=1;return}w=r[e+12>>2]|0;A=e+16+(w<<3)|0;x=r[e+20>>2]|0;M=x>>8;if((x&1|0)==0){F=M}else{F=r[(r[i>>2]|0)+M>>2]|0}M=r[e+16>>2]|0;Unt[r[(r[M>>2]|0)+24>>2]&255](M,t,i+F|0,(x&2|0)!=0?_:2,o);x=e+24|0;if((w|0)<=1){return}w=r[e+8>>2]|0;do{if((w&2|0)==0){e=t+36|0;if((r[e>>2]|0)==1){break}if((w&1|0)==0){F=t+54|0;M=i;D=x;while(1){if((n[F]&1)!=0){P=3574;break}if((r[e>>2]|0)==1){P=3568;break}T=r[D+4>>2]|0;v=T>>8;if((T&1|0)==0){R=v}else{R=r[(r[M>>2]|0)+v>>2]|0}v=r[D>>2]|0;Unt[r[(r[v>>2]|0)+24>>2]&255](v,t,i+R|0,(T&2|0)!=0?_:2,o);T=D+8|0;if(T>>>0<A>>>0){D=T}else{P=3577;break}}if((P|0)==3568){return}else if((P|0)==3577){return}else if((P|0)==3574){return}}D=t+24|0;M=t+54|0;F=i;a=x;while(1){if((n[M]&1)!=0){P=3563;break}if((r[e>>2]|0)==1){if((r[D>>2]|0)==1){P=3566;break}}T=r[a+4>>2]|0;v=T>>8;if((T&1|0)==0){I=v}else{I=r[(r[F>>2]|0)+v>>2]|0}v=r[a>>2]|0;Unt[r[(r[v>>2]|0)+24>>2]&255](v,t,i+I|0,(T&2|0)!=0?_:2,o);T=a+8|0;if(T>>>0<A>>>0){a=T}else{P=3567;break}}if((P|0)==3563){return}else if((P|0)==3566){return}else if((P|0)==3567){return}}}while(0);I=t+54|0;R=i;w=x;while(1){if((n[I]&1)!=0){P=3572;break}x=r[w+4>>2]|0;a=x>>8;if((x&1|0)==0){B=a}else{B=r[(r[R>>2]|0)+a>>2]|0}a=r[w>>2]|0;Unt[r[(r[a>>2]|0)+24>>2]&255](a,t,i+B|0,(x&2|0)!=0?_:2,o);x=w+8|0;if(x>>>0<A>>>0){w=x}else{P=3565;break}}if((P|0)==3565){return}else if((P|0)==3572){return}}function cBe(e,t,i,_,o){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;var s=0,a=0,p=0,l=0,d=0,c=0,b=0;s=e|0;if((s|0)==(r[t+8>>2]|0)){if((r[t+4>>2]|0)!=(i|0)){return}a=t+28|0;if((r[a>>2]|0)==1){return}r[a>>2]=_;return}if((s|0)!=(r[t>>2]|0)){s=r[e+8>>2]|0;Unt[r[(r[s>>2]|0)+24>>2]&255](s,t,i,_,o);return}do{if((r[t+16>>2]|0)!=(i|0)){s=t+20|0;if((r[s>>2]|0)==(i|0)){break}r[t+32>>2]=_;a=t+44|0;if((r[a>>2]|0)==4){return}p=t+52|0;n[p]=0;l=t+53|0;n[l]=0;d=r[e+8>>2]|0;M_t[r[(r[d>>2]|0)+20>>2]&127](d,t,i,i,1,o);if((n[l]&1)==0){c=0;b=3592}else{if((n[p]&1)==0){c=1;b=3592}}e:do{if((b|0)==3592){r[s>>2]=i;p=t+40|0;r[p>>2]=(r[p>>2]|0)+1;do{if((r[t+36>>2]|0)==1){if((r[t+24>>2]|0)!=2){b=3595;break}n[t+54|0]=1;if(c){break e}}else{b=3595}}while(0);if((b|0)==3595){if(c){break}}r[a>>2]=4;return}}while(0);r[a>>2]=3;return}}while(0);if((_|0)!=1){return}r[t+32>>2]=1;return}function bBe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0;if((e|0)!=(r[t+8>>2]|0)){a=t+52|0;p=n[a]&1;l=t+53|0;d=n[l]&1;c=r[e+12>>2]|0;b=e+16+(c<<3)|0;n[a]=0;n[l]=0;u=r[e+20>>2]|0;m=u>>8;if((u&1|0)==0){h=m}else{h=r[(r[_>>2]|0)+m>>2]|0}m=r[e+16>>2]|0;M_t[r[(r[m>>2]|0)+20>>2]&127](m,t,i,_+h|0,(u&2|0)!=0?o:2,s);e:do{if((c|0)>1){u=t+24|0;h=e+8|0;m=t+54|0;f=_;g=e+24|0;do{if((n[m]&1)!=0){break e}do{if((n[a]&1)==0){if((n[l]&1)==0){break}if((r[h>>2]&1|0)==0){break e}}else{if((r[u>>2]|0)==1){break e}if((r[h>>2]&2|0)==0){break e}}}while(0);n[a]=0;n[l]=0;C=r[g+4>>2]|0;S=C>>8;if((C&1|0)==0){y=S}else{y=r[(r[f>>2]|0)+S>>2]|0}S=r[g>>2]|0;M_t[r[(r[S>>2]|0)+20>>2]&127](S,t,i,_+y|0,(C&2|0)!=0?o:2,s);g=g+8|0}while(g>>>0<b>>>0)}}while(0);n[a]=p;n[l]=d;return}n[t+53|0]=1;if((r[t+4>>2]|0)!=(_|0)){return}n[t+52|0]=1;_=t+16|0;d=r[_>>2]|0;if((d|0)==0){r[_>>2]=i;r[t+24>>2]=o;r[t+36>>2]=1;if(!((r[t+48>>2]|0)==1&(o|0)==1)){return}n[t+54|0]=1;return}if((d|0)!=(i|0)){i=t+36|0;r[i>>2]=(r[i>>2]|0)+1;n[t+54|0]=1;return}i=t+24|0;d=r[i>>2]|0;if((d|0)==2){r[i>>2]=o;v=o}else{v=d}if(!((r[t+48>>2]|0)==1&(v|0)==1)){return}n[t+54|0]=1;return}function uBe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0;if((r[t+8>>2]|0)!=(e|0)){return}n[t+53|0]=1;if((r[t+4>>2]|0)!=(_|0)){return}n[t+52|0]=1;_=t+16|0;e=r[_>>2]|0;if((e|0)==0){r[_>>2]=i;r[t+24>>2]=o;r[t+36>>2]=1;if(!((r[t+48>>2]|0)==1&(o|0)==1)){return}n[t+54|0]=1;return}if((e|0)!=(i|0)){i=t+36|0;r[i>>2]=(r[i>>2]|0)+1;n[t+54|0]=1;return}i=t+24|0;e=r[i>>2]|0;if((e|0)==2){r[i>>2]=o;a=o}else{a=e}if(!((r[t+48>>2]|0)==1&(a|0)==1)){return}n[t+54|0]=1;return}function mBe(e,t,i,_,o,s){e=e|0;t=t|0;i=i|0;_=_|0;o=o|0;s=s|0;var a=0,p=0;if((e|0)!=(r[t+8>>2]|0)){a=r[e+8>>2]|0;M_t[r[(r[a>>2]|0)+20>>2]&127](a,t,i,_,o,s);return}n[t+53|0]=1;if((r[t+4>>2]|0)!=(_|0)){return}n[t+52|0]=1;_=t+16|0;s=r[_>>2]|0;if((s|0)==0){r[_>>2]=i;r[t+24>>2]=o;r[t+36>>2]=1;if(!((r[t+48>>2]|0)==1&(o|0)==1)){return}n[t+54|0]=1;return}if((s|0)!=(i|0)){i=t+36|0;r[i>>2]=(r[i>>2]|0)+1;n[t+54|0]=1;return}i=t+24|0;s=r[i>>2]|0;if((s|0)==2){r[i>>2]=o;p=o}else{p=s}if(!((r[t+48>>2]|0)==1&(p|0)==1)){return}n[t+54|0]=1;return}function hBe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0,G=0,W=0,z=0,H=0,j=0,X=0,Z=0,Q=0,q=0,Y=0,J=0,K=0,$=0,ee=0,te=0,ie=0,ne=0,_e=0,re=0,oe=0,se=0,ae=0,pe=0,le=0,de=0,ce=0,be=0,ue=0,me=0,he=0,fe=0,ge=0,Ce=0,Se=0,ye=0,ve=0,xe=0,Me=0,Te=0,De=0,Pe=0,we=0,Ae=0,Fe=0,Re=0,Ie=0;do{if(e>>>0<245){if(e>>>0<11){t=16}else{t=e+11&-8}i=t>>>3;n=r[9814]|0;_=n>>>(i>>>0);if((_&3|0)!=0){o=(_&1^1)+i|0;s=o<<1;a=39296+(s<<2)|0;p=39296+(s+2<<2)|0;s=r[p>>2]|0;l=s+8|0;d=r[l>>2]|0;do{if((a|0)==(d|0)){r[9814]=n&~(1<<o)}else{if(d>>>0<(r[9818]|0)>>>0){Xt();return 0}c=d+12|0;if((r[c>>2]|0)==(s|0)){r[c>>2]=a;r[p>>2]=d;break}else{Xt();return 0}}}while(0);d=o<<3;r[s+4>>2]=d|3;p=s+(d|4)|0;r[p>>2]=r[p>>2]|1;b=l;return b|0}if(t>>>0<=(r[9816]|0)>>>0){u=t;break}if((_|0)!=0){p=2<<i;d=_<<i&(p|-p);p=(d&-d)-1|0;d=p>>>12&16;a=p>>>(d>>>0);p=a>>>5&8;c=a>>>(p>>>0);a=c>>>2&4;m=c>>>(a>>>0);c=m>>>1&2;h=m>>>(c>>>0);m=h>>>1&1;f=(p|d|a|c|m)+(h>>>(m>>>0))|0;m=f<<1;h=39296+(m<<2)|0;c=39296+(m+2<<2)|0;m=r[c>>2]|0;a=m+8|0;d=r[a>>2]|0;do{if((h|0)==(d|0)){r[9814]=n&~(1<<f)}else{if(d>>>0<(r[9818]|0)>>>0){Xt();return 0}p=d+12|0;if((r[p>>2]|0)==(m|0)){r[p>>2]=h;r[c>>2]=d;break}else{Xt();return 0}}}while(0);d=f<<3;c=d-t|0;r[m+4>>2]=t|3;h=m;n=h+t|0;r[h+(t|4)>>2]=c|1;r[h+d>>2]=c;d=r[9816]|0;if((d|0)!=0){h=r[9819]|0;i=d>>>3;d=i<<1;_=39296+(d<<2)|0;l=r[9814]|0;s=1<<i;do{if((l&s|0)==0){r[9814]=l|s;g=_;C=39296+(d+2<<2)|0}else{i=39296+(d+2<<2)|0;o=r[i>>2]|0;if(o>>>0>=(r[9818]|0)>>>0){g=o;C=i;break}Xt();return 0}}while(0);r[C>>2]=h;r[g+12>>2]=h;r[h+8>>2]=g;r[h+12>>2]=_}r[9816]=c;r[9819]=n;b=a;return b|0}d=r[9815]|0;if((d|0)==0){u=t;break}s=(d&-d)-1|0;d=s>>>12&16;l=s>>>(d>>>0);s=l>>>5&8;m=l>>>(s>>>0);l=m>>>2&4;f=m>>>(l>>>0);m=f>>>1&2;i=f>>>(m>>>0);f=i>>>1&1;o=r[39560+((s|d|l|m|f)+(i>>>(f>>>0))<<2)>>2]|0;f=o;i=o;m=(r[o+4>>2]&-8)-t|0;while(1){o=r[f+16>>2]|0;if((o|0)==0){l=r[f+20>>2]|0;if((l|0)==0){break}else{S=l}}else{S=o}o=(r[S+4>>2]&-8)-t|0;l=o>>>0<m>>>0;f=S;i=l?S:i;m=l?o:m}f=i;a=r[9818]|0;if(f>>>0<a>>>0){Xt();return 0}n=f+t|0;c=n;if(f>>>0>=n>>>0){Xt();return 0}n=r[i+24>>2]|0;_=r[i+12>>2]|0;do{if((_|0)==(i|0)){h=i+20|0;o=r[h>>2]|0;if((o|0)==0){l=i+16|0;d=r[l>>2]|0;if((d|0)==0){y=0;break}else{v=d;x=l}}else{v=o;x=h}while(1){h=v+20|0;o=r[h>>2]|0;if((o|0)!=0){v=o;x=h;continue}h=v+16|0;o=r[h>>2]|0;if((o|0)==0){break}else{v=o;x=h}}if(x>>>0<a>>>0){Xt();return 0}else{r[x>>2]=0;y=v;break}}else{h=r[i+8>>2]|0;if(h>>>0<a>>>0){Xt();return 0}o=h+12|0;if((r[o>>2]|0)!=(i|0)){Xt();return 0}l=_+8|0;if((r[l>>2]|0)==(i|0)){r[o>>2]=_;r[l>>2]=h;y=_;break}else{Xt();return 0}}}while(0);e:do{if((n|0)!=0){_=i+28|0;a=39560+(r[_>>2]<<2)|0;do{if((i|0)==(r[a>>2]|0)){r[a>>2]=y;if((y|0)!=0){break}r[9815]=r[9815]&~(1<<r[_>>2]);break e}else{if(n>>>0<(r[9818]|0)>>>0){Xt();return 0}h=n+16|0;if((r[h>>2]|0)==(i|0)){r[h>>2]=y}else{r[n+20>>2]=y}if((y|0)==0){break e}}}while(0);if(y>>>0<(r[9818]|0)>>>0){Xt();return 0}r[y+24>>2]=n;_=r[i+16>>2]|0;do{if((_|0)!=0){if(_>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[y+16>>2]=_;r[_+24>>2]=y;break}}}while(0);_=r[i+20>>2]|0;if((_|0)==0){break}if(_>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[y+20>>2]=_;r[_+24>>2]=y;break}}}while(0);if(m>>>0<16){n=m+t|0;r[i+4>>2]=n|3;_=f+(n+4)|0;r[_>>2]=r[_>>2]|1}else{r[i+4>>2]=t|3;r[f+(t|4)>>2]=m|1;r[f+(m+t)>>2]=m;_=r[9816]|0;if((_|0)!=0){n=r[9819]|0;a=_>>>3;_=a<<1;h=39296+(_<<2)|0;l=r[9814]|0;o=1<<a;do{if((l&o|0)==0){r[9814]=l|o;M=h;T=39296+(_+2<<2)|0}else{a=39296+(_+2<<2)|0;d=r[a>>2]|0;if(d>>>0>=(r[9818]|0)>>>0){M=d;T=a;break}Xt();return 0}}while(0);r[T>>2]=n;r[M+12>>2]=n;r[n+8>>2]=M;r[n+12>>2]=h}r[9816]=m;r[9819]=c}_=i+8|0;if((_|0)==0){u=t;break}else{b=_}return b|0}else{if(e>>>0>4294967231){u=-1;break}_=e+11|0;o=_&-8;l=r[9815]|0;if((l|0)==0){u=o;break}f=-o|0;a=_>>>8;do{if((a|0)==0){D=0}else{if(o>>>0>16777215){D=31;break}_=(a+1048320|0)>>>16&8;d=a<<_;s=(d+520192|0)>>>16&4;p=d<<s;d=(p+245760|0)>>>16&2;P=14-(s|_|d)+(p<<d>>>15)|0;D=o>>>((P+7|0)>>>0)&1|P<<1}}while(0);a=r[39560+(D<<2)>>2]|0;e:do{if((a|0)==0){w=0;A=f;F=0}else{if((D|0)==31){R=0}else{R=25-(D>>>1)|0}i=0;c=f;m=a;h=o<<R;n=0;while(1){P=r[m+4>>2]&-8;d=P-o|0;if(d>>>0<c>>>0){if((P|0)==(o|0)){w=m;A=d;F=m;break e}else{I=m;B=d}}else{I=i;B=c}d=r[m+20>>2]|0;P=r[m+16+(h>>>31<<2)>>2]|0;p=(d|0)==0|(d|0)==(P|0)?n:d;if((P|0)==0){w=I;A=B;F=p;break}else{i=I;c=B;m=P;h=h<<1;n=p}}}}while(0);if((F|0)==0&(w|0)==0){a=2<<D;f=l&(a|-a);if((f|0)==0){u=o;break}a=(f&-f)-1|0;f=a>>>12&16;n=a>>>(f>>>0);a=n>>>5&8;h=n>>>(a>>>0);n=h>>>2&4;m=h>>>(n>>>0);h=m>>>1&2;c=m>>>(h>>>0);m=c>>>1&1;V=r[39560+((a|f|n|h|m)+(c>>>(m>>>0))<<2)>>2]|0}else{V=F}if((V|0)==0){E=A;N=w}else{m=V;c=A;h=w;while(1){n=(r[m+4>>2]&-8)-o|0;f=n>>>0<c>>>0;a=f?n:c;n=f?m:h;f=r[m+16>>2]|0;if((f|0)!=0){m=f;c=a;h=n;continue}f=r[m+20>>2]|0;if((f|0)==0){E=a;N=n;break}else{m=f;c=a;h=n}}}if((N|0)==0){u=o;break}if(E>>>0>=((r[9816]|0)-o|0)>>>0){u=o;break}h=N;c=r[9818]|0;if(h>>>0<c>>>0){Xt();return 0}m=h+o|0;l=m;if(h>>>0>=m>>>0){Xt();return 0}n=r[N+24>>2]|0;a=r[N+12>>2]|0;do{if((a|0)==(N|0)){f=N+20|0;i=r[f>>2]|0;if((i|0)==0){p=N+16|0;P=r[p>>2]|0;if((P|0)==0){k=0;break}else{O=P;L=p}}else{O=i;L=f}while(1){f=O+20|0;i=r[f>>2]|0;if((i|0)!=0){O=i;L=f;continue}f=O+16|0;i=r[f>>2]|0;if((i|0)==0){break}else{O=i;L=f}}if(L>>>0<c>>>0){Xt();return 0}else{r[L>>2]=0;k=O;break}}else{f=r[N+8>>2]|0;if(f>>>0<c>>>0){Xt();return 0}i=f+12|0;if((r[i>>2]|0)!=(N|0)){Xt();return 0}p=a+8|0;if((r[p>>2]|0)==(N|0)){r[i>>2]=a;r[p>>2]=f;k=a;break}else{Xt();return 0}}}while(0);e:do{if((n|0)!=0){a=N+28|0;c=39560+(r[a>>2]<<2)|0;do{if((N|0)==(r[c>>2]|0)){r[c>>2]=k;if((k|0)!=0){break}r[9815]=r[9815]&~(1<<r[a>>2]);break e}else{if(n>>>0<(r[9818]|0)>>>0){Xt();return 0}f=n+16|0;if((r[f>>2]|0)==(N|0)){r[f>>2]=k}else{r[n+20>>2]=k}if((k|0)==0){break e}}}while(0);if(k>>>0<(r[9818]|0)>>>0){Xt();return 0}r[k+24>>2]=n;a=r[N+16>>2]|0;do{if((a|0)!=0){if(a>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[k+16>>2]=a;r[a+24>>2]=k;break}}}while(0);a=r[N+20>>2]|0;if((a|0)==0){break}if(a>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[k+20>>2]=a;r[a+24>>2]=k;break}}}while(0);do{if(E>>>0<16){n=E+o|0;r[N+4>>2]=n|3;a=h+(n+4)|0;r[a>>2]=r[a>>2]|1}else{r[N+4>>2]=o|3;r[h+(o|4)>>2]=E|1;r[h+(E+o)>>2]=E;a=E>>>3;if(E>>>0<256){n=a<<1;c=39296+(n<<2)|0;f=r[9814]|0;p=1<<a;do{if((f&p|0)==0){r[9814]=f|p;U=c;G=39296+(n+2<<2)|0}else{a=39296+(n+2<<2)|0;i=r[a>>2]|0;if(i>>>0>=(r[9818]|0)>>>0){U=i;G=a;break}Xt();return 0}}while(0);r[G>>2]=l;r[U+12>>2]=l;r[h+(o+8)>>2]=U;r[h+(o+12)>>2]=c;break}n=m;p=E>>>8;do{if((p|0)==0){W=0}else{if(E>>>0>16777215){W=31;break}f=(p+1048320|0)>>>16&8;a=p<<f;i=(a+520192|0)>>>16&4;P=a<<i;a=(P+245760|0)>>>16&2;d=14-(i|f|a)+(P<<a>>>15)|0;W=E>>>((d+7|0)>>>0)&1|d<<1}}while(0);p=39560+(W<<2)|0;r[h+(o+28)>>2]=W;r[h+(o+20)>>2]=0;r[h+(o+16)>>2]=0;c=r[9815]|0;d=1<<W;if((c&d|0)==0){r[9815]=c|d;r[p>>2]=n;r[h+(o+24)>>2]=p;r[h+(o+12)>>2]=n;r[h+(o+8)>>2]=n;break}if((W|0)==31){z=0}else{z=25-(W>>>1)|0}d=E<<z;c=r[p>>2]|0;while(1){if((r[c+4>>2]&-8|0)==(E|0)){break}H=c+16+(d>>>31<<2)|0;p=r[H>>2]|0;if((p|0)==0){j=3831;break}else{d=d<<1;c=p}}if((j|0)==3831){if(H>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[H>>2]=n;r[h+(o+24)>>2]=c;r[h+(o+12)>>2]=n;r[h+(o+8)>>2]=n;break}}d=c+8|0;p=r[d>>2]|0;a=r[9818]|0;if(c>>>0<a>>>0){Xt();return 0}if(p>>>0<a>>>0){Xt();return 0}else{r[p+12>>2]=n;r[d>>2]=n;r[h+(o+8)>>2]=p;r[h+(o+12)>>2]=c;r[h+(o+24)>>2]=0;break}}}while(0);h=N+8|0;if((h|0)==0){u=o;break}else{b=h}return b|0}}while(0);N=r[9816]|0;if(u>>>0<=N>>>0){H=N-u|0;E=r[9819]|0;if(H>>>0>15){z=E;r[9819]=z+u;r[9816]=H;r[z+(u+4)>>2]=H|1;r[z+N>>2]=H;r[E+4>>2]=u|3}else{r[9816]=0;r[9819]=0;r[E+4>>2]=N|3;H=E+(N+4)|0;r[H>>2]=r[H>>2]|1}b=E+8|0;return b|0}E=r[9817]|0;if(u>>>0<E>>>0){H=E-u|0;r[9817]=H;E=r[9820]|0;N=E;r[9820]=N+u;r[N+(u+4)>>2]=H|1;r[E+4>>2]=u|3;b=E+8|0;return b|0}do{if((r[9782]|0)==0){E=zt(8)|0;if((E-1&E|0)==0){r[9784]=E;r[9783]=E;r[9785]=-1;r[9786]=-1;r[9787]=0;r[9925]=0;r[9782]=(di(0)|0)&-16^1431655768;break}else{Xt();return 0}}}while(0);E=u+48|0;H=r[9784]|0;N=u+47|0;z=H+N|0;W=-H|0;H=z&W;if(H>>>0<=u>>>0){b=0;return b|0}U=r[9924]|0;do{if((U|0)!=0){G=r[9922]|0;k=G+H|0;if(k>>>0<=G>>>0|k>>>0>U>>>0){b=0}else{break}return b|0}}while(0);e:do{if((r[9925]&4|0)==0){U=r[9820]|0;t:do{if((U|0)==0){j=3861}else{k=U;G=39704;while(1){X=G|0;O=r[X>>2]|0;if(O>>>0<=k>>>0){Z=G+4|0;if((O+(r[Z>>2]|0)|0)>>>0>k>>>0){break}}O=r[G+8>>2]|0;if((O|0)==0){j=3861;break t}else{G=O}}if((G|0)==0){j=3861;break}k=z-(r[9817]|0)&W;if(k>>>0>=2147483647){Q=0;break}c=Mi(k|0)|0;n=(c|0)==((r[X>>2]|0)+(r[Z>>2]|0)|0);q=n?c:-1;Y=n?k:0;J=c;K=k;j=3870}}while(0);do{if((j|0)==3861){U=Mi(0)|0;if((U|0)==-1){Q=0;break}o=U;k=r[9783]|0;c=k-1|0;if((c&o|0)==0){$=H}else{$=H-o+(c+o&-k)|0}k=r[9922]|0;o=k+$|0;if(!($>>>0>u>>>0&$>>>0<2147483647)){Q=0;break}c=r[9924]|0;if((c|0)!=0){if(o>>>0<=k>>>0|o>>>0>c>>>0){Q=0;break}}c=Mi($|0)|0;o=(c|0)==(U|0);q=o?U:-1;Y=o?$:0;J=c;K=$;j=3870}}while(0);t:do{if((j|0)==3870){c=-K|0;if((q|0)!=-1){ee=Y;te=q;j=3881;break e}do{if((J|0)!=-1&K>>>0<2147483647&K>>>0<E>>>0){o=r[9784]|0;U=N-K+o&-o;if(U>>>0>=2147483647){ie=K;break}if((Mi(U|0)|0)==-1){Mi(c|0)|0;Q=Y;break t}else{ie=U+K|0;break}}else{ie=K}}while(0);if((J|0)==-1){Q=Y}else{ee=ie;te=J;j=3881;break e}}}while(0);r[9925]=r[9925]|4;ne=Q;j=3878}else{ne=0;j=3878}}while(0);do{if((j|0)==3878){if(H>>>0>=2147483647){break}Q=Mi(H|0)|0;J=Mi(0)|0;if(!((J|0)!=-1&(Q|0)!=-1&Q>>>0<J>>>0)){break}ie=J-Q|0;J=ie>>>0>(u+40|0)>>>0;Y=J?Q:-1;if((Y|0)!=-1){ee=J?ie:ne;te=Y;j=3881}}}while(0);do{if((j|0)==3881){ne=(r[9922]|0)+ee|0;r[9922]=ne;if(ne>>>0>(r[9923]|0)>>>0){r[9923]=ne}ne=r[9820]|0;e:do{if((ne|0)==0){H=r[9818]|0;if((H|0)==0|te>>>0<H>>>0){r[9818]=te}r[9926]=te;r[9927]=ee;r[9929]=0;r[9823]=r[9782];r[9822]=-1;H=0;do{Y=H<<1;ie=39296+(Y<<2)|0;r[39296+(Y+3<<2)>>2]=ie;r[39296+(Y+2<<2)>>2]=ie;H=H+1|0}while(H>>>0<32);H=te+8|0;if((H&7|0)==0){_e=0}else{_e=-H&7}H=ee-40-_e|0;r[9820]=te+_e;r[9817]=H;r[te+(_e+4)>>2]=H|1;r[te+(ee-36)>>2]=40;r[9821]=r[9786]}else{H=39704;while(1){re=r[H>>2]|0;oe=H+4|0;se=r[oe>>2]|0;if((te|0)==(re+se|0)){j=3893;break}ie=r[H+8>>2]|0;if((ie|0)==0){break}else{H=ie}}do{if((j|0)==3893){if((r[H+12>>2]&8|0)!=0){break}ie=ne;if(!(ie>>>0>=re>>>0&ie>>>0<te>>>0)){break}r[oe>>2]=se+ee;ie=r[9820]|0;Y=(r[9817]|0)+ee|0;J=ie;Q=ie+8|0;if((Q&7|0)==0){ae=0}else{ae=-Q&7}Q=Y-ae|0;r[9820]=J+ae;r[9817]=Q;r[J+(ae+4)>>2]=Q|1;r[J+(Y+4)>>2]=40;r[9821]=r[9786];break e}}while(0);if(te>>>0<(r[9818]|0)>>>0){r[9818]=te}H=te+ee|0;Y=39704;while(1){pe=Y|0;if((r[pe>>2]|0)==(H|0)){j=3903;break}J=r[Y+8>>2]|0;if((J|0)==0){break}else{Y=J}}do{if((j|0)==3903){if((r[Y+12>>2]&8|0)!=0){break}r[pe>>2]=te;H=Y+4|0;r[H>>2]=(r[H>>2]|0)+ee;H=te+8|0;if((H&7|0)==0){le=0}else{le=-H&7}H=te+(ee+8)|0;if((H&7|0)==0){de=0}else{de=-H&7}H=te+(de+ee)|0;J=H;Q=le+u|0;ie=te+Q|0;K=ie;N=H-(te+le)-u|0;r[te+(le+4)>>2]=u|3;do{if((J|0)==(r[9820]|0)){E=(r[9817]|0)+N|0;r[9817]=E;r[9820]=K;r[te+(Q+4)>>2]=E|1}else{if((J|0)==(r[9819]|0)){E=(r[9816]|0)+N|0;r[9816]=E;r[9819]=K;r[te+(Q+4)>>2]=E|1;r[te+(E+Q)>>2]=E;break}E=ee+4|0;q=r[te+(E+de)>>2]|0;if((q&3|0)==1){$=q&-8;Z=q>>>3;t:do{if(q>>>0<256){X=r[te+((de|8)+ee)>>2]|0;W=r[te+(ee+12+de)>>2]|0;z=39296+(Z<<1<<2)|0;do{if((X|0)!=(z|0)){if(X>>>0<(r[9818]|0)>>>0){Xt();return 0}if((r[X+12>>2]|0)==(J|0)){break}Xt();return 0}}while(0);if((W|0)==(X|0)){r[9814]=r[9814]&~(1<<Z);break}do{if((W|0)==(z|0)){ce=W+8|0}else{if(W>>>0<(r[9818]|0)>>>0){Xt();return 0}c=W+8|0;if((r[c>>2]|0)==(J|0)){ce=c;break}Xt();return 0}}while(0);r[X+12>>2]=W;r[ce>>2]=X}else{z=H;c=r[te+((de|24)+ee)>>2]|0;G=r[te+(ee+12+de)>>2]|0;do{if((G|0)==(z|0)){U=de|16;o=te+(E+U)|0;k=r[o>>2]|0;if((k|0)==0){n=te+(U+ee)|0;U=r[n>>2]|0;if((U|0)==0){be=0;break}else{ue=U;me=n}}else{ue=k;me=o}while(1){o=ue+20|0;k=r[o>>2]|0;if((k|0)!=0){ue=k;me=o;continue}o=ue+16|0;k=r[o>>2]|0;if((k|0)==0){break}else{ue=k;me=o}}if(me>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[me>>2]=0;be=ue;break}}else{o=r[te+((de|8)+ee)>>2]|0;if(o>>>0<(r[9818]|0)>>>0){Xt();return 0}k=o+12|0;if((r[k>>2]|0)!=(z|0)){Xt();return 0}n=G+8|0;if((r[n>>2]|0)==(z|0)){r[k>>2]=G;r[n>>2]=o;be=G;break}else{Xt();return 0}}}while(0);if((c|0)==0){break}G=te+(ee+28+de)|0;X=39560+(r[G>>2]<<2)|0;do{if((z|0)==(r[X>>2]|0)){r[X>>2]=be;if((be|0)!=0){break}r[9815]=r[9815]&~(1<<r[G>>2]);break t}else{if(c>>>0<(r[9818]|0)>>>0){Xt();return 0}W=c+16|0;if((r[W>>2]|0)==(z|0)){r[W>>2]=be}else{r[c+20>>2]=be}if((be|0)==0){break t}}}while(0);if(be>>>0<(r[9818]|0)>>>0){Xt();return 0}r[be+24>>2]=c;z=de|16;G=r[te+(z+ee)>>2]|0;do{if((G|0)!=0){if(G>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[be+16>>2]=G;r[G+24>>2]=be;break}}}while(0);G=r[te+(E+z)>>2]|0;if((G|0)==0){break}if(G>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[be+20>>2]=G;r[G+24>>2]=be;break}}}while(0);he=te+(($|de)+ee)|0;fe=$+N|0}else{he=J;fe=N}E=he+4|0;r[E>>2]=r[E>>2]&-2;r[te+(Q+4)>>2]=fe|1;r[te+(fe+Q)>>2]=fe;E=fe>>>3;if(fe>>>0<256){Z=E<<1;q=39296+(Z<<2)|0;G=r[9814]|0;c=1<<E;do{if((G&c|0)==0){r[9814]=G|c;ge=q;Ce=39296+(Z+2<<2)|0}else{E=39296+(Z+2<<2)|0;X=r[E>>2]|0;if(X>>>0>=(r[9818]|0)>>>0){ge=X;Ce=E;break}Xt();return 0}}while(0);r[Ce>>2]=K;r[ge+12>>2]=K;r[te+(Q+8)>>2]=ge;r[te+(Q+12)>>2]=q;break}Z=ie;c=fe>>>8;do{if((c|0)==0){Se=0}else{if(fe>>>0>16777215){Se=31;break}G=(c+1048320|0)>>>16&8;$=c<<G;E=($+520192|0)>>>16&4;X=$<<E;$=(X+245760|0)>>>16&2;W=14-(E|G|$)+(X<<$>>>15)|0;Se=fe>>>((W+7|0)>>>0)&1|W<<1}}while(0);c=39560+(Se<<2)|0;r[te+(Q+28)>>2]=Se;r[te+(Q+20)>>2]=0;r[te+(Q+16)>>2]=0;q=r[9815]|0;W=1<<Se;if((q&W|0)==0){r[9815]=q|W;r[c>>2]=Z;r[te+(Q+24)>>2]=c;r[te+(Q+12)>>2]=Z;r[te+(Q+8)>>2]=Z;break}if((Se|0)==31){ye=0}else{ye=25-(Se>>>1)|0}W=fe<<ye;q=r[c>>2]|0;while(1){if((r[q+4>>2]&-8|0)==(fe|0)){break}ve=q+16+(W>>>31<<2)|0;c=r[ve>>2]|0;if((c|0)==0){j=3976;break}else{W=W<<1;q=c}}if((j|0)==3976){if(ve>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[ve>>2]=Z;r[te+(Q+24)>>2]=q;r[te+(Q+12)>>2]=Z;r[te+(Q+8)>>2]=Z;break}}W=q+8|0;c=r[W>>2]|0;$=r[9818]|0;if(q>>>0<$>>>0){Xt();return 0}if(c>>>0<$>>>0){Xt();return 0}else{r[c+12>>2]=Z;r[W>>2]=Z;r[te+(Q+8)>>2]=c;r[te+(Q+12)>>2]=q;r[te+(Q+24)>>2]=0;break}}}while(0);b=te+(le|8)|0;return b|0}}while(0);Y=ne;Q=39704;while(1){xe=r[Q>>2]|0;if(xe>>>0<=Y>>>0){Me=r[Q+4>>2]|0;Te=xe+Me|0;if(Te>>>0>Y>>>0){break}}Q=r[Q+8>>2]|0}Q=xe+(Me-39)|0;if((Q&7|0)==0){De=0}else{De=-Q&7}Q=xe+(Me-47+De)|0;ie=Q>>>0<(ne+16|0)>>>0?Y:Q;Q=ie+8|0;K=te+8|0;if((K&7|0)==0){Pe=0}else{Pe=-K&7}K=ee-40-Pe|0;r[9820]=te+Pe;r[9817]=K;r[te+(Pe+4)>>2]=K|1;r[te+(ee-36)>>2]=40;r[9821]=r[9786];r[ie+4>>2]=27;r[Q>>2]=r[9926];r[Q+4>>2]=r[39708>>2];r[Q+8>>2]=r[39712>>2];r[Q+12>>2]=r[39716>>2];r[9926]=te;r[9927]=ee;r[9929]=0;r[9928]=Q;Q=ie+28|0;r[Q>>2]=7;if((ie+32|0)>>>0<Te>>>0){K=Q;while(1){Q=K+4|0;r[Q>>2]=7;if((K+8|0)>>>0<Te>>>0){K=Q}else{break}}}if((ie|0)==(Y|0)){break}K=ie-ne|0;Q=Y+(K+4)|0;r[Q>>2]=r[Q>>2]&-2;r[ne+4>>2]=K|1;r[Y+K>>2]=K;Q=K>>>3;if(K>>>0<256){N=Q<<1;J=39296+(N<<2)|0;H=r[9814]|0;c=1<<Q;do{if((H&c|0)==0){r[9814]=H|c;we=J;Ae=39296+(N+2<<2)|0}else{Q=39296+(N+2<<2)|0;W=r[Q>>2]|0;if(W>>>0>=(r[9818]|0)>>>0){we=W;Ae=Q;break}Xt();return 0}}while(0);r[Ae>>2]=ne;r[we+12>>2]=ne;r[ne+8>>2]=we;r[ne+12>>2]=J;break}N=ne;c=K>>>8;do{if((c|0)==0){Fe=0}else{if(K>>>0>16777215){Fe=31;break}H=(c+1048320|0)>>>16&8;Y=c<<H;ie=(Y+520192|0)>>>16&4;Q=Y<<ie;Y=(Q+245760|0)>>>16&2;W=14-(ie|H|Y)+(Q<<Y>>>15)|0;Fe=K>>>((W+7|0)>>>0)&1|W<<1}}while(0);c=39560+(Fe<<2)|0;r[ne+28>>2]=Fe;r[ne+20>>2]=0;r[ne+16>>2]=0;J=r[9815]|0;W=1<<Fe;if((J&W|0)==0){r[9815]=J|W;r[c>>2]=N;r[ne+24>>2]=c;r[ne+12>>2]=ne;r[ne+8>>2]=ne;break}if((Fe|0)==31){Re=0}else{Re=25-(Fe>>>1)|0}W=K<<Re;J=r[c>>2]|0;while(1){if((r[J+4>>2]&-8|0)==(K|0)){break}Ie=J+16+(W>>>31<<2)|0;c=r[Ie>>2]|0;if((c|0)==0){j=4011;break}else{W=W<<1;J=c}}if((j|0)==4011){if(Ie>>>0<(r[9818]|0)>>>0){Xt();return 0}else{r[Ie>>2]=N;r[ne+24>>2]=J;r[ne+12>>2]=ne;r[ne+8>>2]=ne;break}}W=J+8|0;K=r[W>>2]|0;c=r[9818]|0;if(J>>>0<c>>>0){Xt();return 0}if(K>>>0<c>>>0){Xt();return 0}else{r[K+12>>2]=N;r[W>>2]=N;r[ne+8>>2]=K;r[ne+12>>2]=J;r[ne+24>>2]=0;break}}}while(0);ne=r[9817]|0;if(ne>>>0<=u>>>0){break}K=ne-u|0;r[9817]=K;ne=r[9820]|0;W=ne;r[9820]=W+u;r[W+(u+4)>>2]=K|1;r[ne+4>>2]=u|3;b=ne+8|0;return b|0}}while(0);r[(Pi()|0)>>2]=12;b=0;return b|0}function fBe(e){e=e|0;return}function gBe(e){e=e|0;return 17040|0}function CBe(e){e=e|0;if((e|0)==0){return}SBe(e);return}function SBe(e){e=e|0;var t=0,i=0,n=0,_=0,o=0,s=0,a=0,p=0,l=0,d=0,c=0,b=0,u=0,m=0,h=0,f=0,g=0,C=0,S=0,y=0,v=0,x=0,M=0,T=0,D=0,P=0,w=0,A=0,F=0,R=0,I=0,B=0,V=0,E=0,N=0,k=0,O=0,L=0,U=0;if((e|0)==0){return}t=e-8|0;i=t;n=r[9818]|0;if(t>>>0<n>>>0){Xt()}_=r[e-4>>2]|0;o=_&3;if((o|0)==1){Xt()}s=_&-8;a=e+(s-8)|0;p=a;e:do{if((_&1|0)==0){l=r[t>>2]|0;if((o|0)==0){return}d=-8-l|0;c=e+d|0;b=c;u=l+s|0;if(c>>>0<n>>>0){Xt()}if((b|0)==(r[9819]|0)){m=e+(s-4)|0;if((r[m>>2]&3|0)!=3){h=b;f=u;break}r[9816]=u;r[m>>2]=r[m>>2]&-2;r[e+(d+4)>>2]=u|1;r[a>>2]=u;return}m=l>>>3;if(l>>>0<256){l=r[e+(d+8)>>2]|0;g=r[e+(d+12)>>2]|0;C=39296+(m<<1<<2)|0;do{if((l|0)!=(C|0)){if(l>>>0<n>>>0){Xt()}if((r[l+12>>2]|0)==(b|0)){break}Xt()}}while(0);if((g|0)==(l|0)){r[9814]=r[9814]&~(1<<m);h=b;f=u;break}do{if((g|0)==(C|0)){S=g+8|0}else{if(g>>>0<n>>>0){Xt()}y=g+8|0;if((r[y>>2]|0)==(b|0)){S=y;break}Xt()}}while(0);r[l+12>>2]=g;r[S>>2]=l;h=b;f=u;break}C=c;m=r[e+(d+24)>>2]|0;y=r[e+(d+12)>>2]|0;do{if((y|0)==(C|0)){v=e+(d+20)|0;x=r[v>>2]|0;if((x|0)==0){M=e+(d+16)|0;T=r[M>>2]|0;if((T|0)==0){D=0;break}else{P=T;w=M}}else{P=x;w=v}while(1){v=P+20|0;x=r[v>>2]|0;if((x|0)!=0){P=x;w=v;continue}v=P+16|0;x=r[v>>2]|0;if((x|0)==0){break}else{P=x;w=v}}if(w>>>0<n>>>0){Xt()}else{r[w>>2]=0;D=P;break}}else{v=r[e+(d+8)>>2]|0;if(v>>>0<n>>>0){Xt()}x=v+12|0;if((r[x>>2]|0)!=(C|0)){Xt()}M=y+8|0;if((r[M>>2]|0)==(C|0)){r[x>>2]=y;r[M>>2]=v;D=y;break}else{Xt()}}}while(0);if((m|0)==0){h=b;f=u;break}y=e+(d+28)|0;c=39560+(r[y>>2]<<2)|0;do{if((C|0)==(r[c>>2]|0)){r[c>>2]=D;if((D|0)!=0){break}r[9815]=r[9815]&~(1<<r[y>>2]);h=b;f=u;break e}else{if(m>>>0<(r[9818]|0)>>>0){Xt()}l=m+16|0;if((r[l>>2]|0)==(C|0)){r[l>>2]=D}else{r[m+20>>2]=D}if((D|0)==0){h=b;f=u;break e}}}while(0);if(D>>>0<(r[9818]|0)>>>0){Xt()}r[D+24>>2]=m;C=r[e+(d+16)>>2]|0;do{if((C|0)!=0){if(C>>>0<(r[9818]|0)>>>0){Xt()}else{r[D+16>>2]=C;r[C+24>>2]=D;break}}}while(0);C=r[e+(d+20)>>2]|0;if((C|0)==0){h=b;f=u;break}if(C>>>0<(r[9818]|0)>>>0){Xt()}else{r[D+20>>2]=C;r[C+24>>2]=D;h=b;f=u;break}}else{h=i;f=s}}while(0);i=h;if(i>>>0>=a>>>0){Xt()}D=e+(s-4)|0;n=r[D>>2]|0;if((n&1|0)==0){Xt()}do{if((n&2|0)==0){if((p|0)==(r[9820]|0)){P=(r[9817]|0)+f|0;r[9817]=P;r[9820]=h;r[h+4>>2]=P|1;if((h|0)!=(r[9819]|0)){return}r[9819]=0;r[9816]=0;return}if((p|0)==(r[9819]|0)){P=(r[9816]|0)+f|0;r[9816]=P;r[9819]=h;r[h+4>>2]=P|1;r[i+P>>2]=P;return}P=(n&-8)+f|0;w=n>>>3;e:do{if(n>>>0<256){S=r[e+s>>2]|0;o=r[e+(s|4)>>2]|0;t=39296+(w<<1<<2)|0;do{if((S|0)!=(t|0)){if(S>>>0<(r[9818]|0)>>>0){Xt()}if((r[S+12>>2]|0)==(p|0)){break}Xt()}}while(0);if((o|0)==(S|0)){r[9814]=r[9814]&~(1<<w);break}do{if((o|0)==(t|0)){A=o+8|0}else{if(o>>>0<(r[9818]|0)>>>0){Xt()}_=o+8|0;if((r[_>>2]|0)==(p|0)){A=_;break}Xt()}}while(0);r[S+12>>2]=o;r[A>>2]=S}else{t=a;_=r[e+(s+16)>>2]|0;C=r[e+(s|4)>>2]|0;do{if((C|0)==(t|0)){m=e+(s+12)|0;y=r[m>>2]|0;if((y|0)==0){c=e+(s+8)|0;l=r[c>>2]|0;if((l|0)==0){F=0;break}else{R=l;I=c}}else{R=y;I=m}while(1){m=R+20|0;y=r[m>>2]|0;if((y|0)!=0){R=y;I=m;continue}m=R+16|0;y=r[m>>2]|0;if((y|0)==0){break}else{R=y;I=m}}if(I>>>0<(r[9818]|0)>>>0){Xt()}else{r[I>>2]=0;F=R;break}}else{m=r[e+s>>2]|0;if(m>>>0<(r[9818]|0)>>>0){Xt()}y=m+12|0;if((r[y>>2]|0)!=(t|0)){Xt()}c=C+8|0;if((r[c>>2]|0)==(t|0)){r[y>>2]=C;r[c>>2]=m;F=C;break}else{Xt()}}}while(0);if((_|0)==0){break}C=e+(s+20)|0;S=39560+(r[C>>2]<<2)|0;do{if((t|0)==(r[S>>2]|0)){r[S>>2]=F;if((F|0)!=0){break}r[9815]=r[9815]&~(1<<r[C>>2]);break e}else{if(_>>>0<(r[9818]|0)>>>0){Xt()}o=_+16|0;if((r[o>>2]|0)==(t|0)){r[o>>2]=F}else{r[_+20>>2]=F}if((F|0)==0){break e}}}while(0);if(F>>>0<(r[9818]|0)>>>0){Xt()}r[F+24>>2]=_;t=r[e+(s+8)>>2]|0;do{if((t|0)!=0){if(t>>>0<(r[9818]|0)>>>0){Xt()}else{r[F+16>>2]=t;r[t+24>>2]=F;break}}}while(0);t=r[e+(s+12)>>2]|0;if((t|0)==0){break}if(t>>>0<(r[9818]|0)>>>0){Xt()}else{r[F+20>>2]=t;r[t+24>>2]=F;break}}}while(0);r[h+4>>2]=P|1;r[i+P>>2]=P;if((h|0)!=(r[9819]|0)){B=P;break}r[9816]=P;return}else{r[D>>2]=n&-2;r[h+4>>2]=f|1;r[i+f>>2]=f;B=f}}while(0);f=B>>>3;if(B>>>0<256){i=f<<1;n=39296+(i<<2)|0;D=r[9814]|0;F=1<<f;do{if((D&F|0)==0){r[9814]=D|F;V=n;E=39296+(i+2<<2)|0}else{f=39296+(i+2<<2)|0;s=r[f>>2]|0;if(s>>>0>=(r[9818]|0)>>>0){V=s;E=f;break}Xt()}}while(0);r[E>>2]=h;r[V+12>>2]=h;r[h+8>>2]=V;r[h+12>>2]=n;return}n=h;V=B>>>8;do{if((V|0)==0){N=0}else{if(B>>>0>16777215){N=31;break}E=(V+1048320|0)>>>16&8;i=V<<E;F=(i+520192|0)>>>16&4;D=i<<F;i=(D+245760|0)>>>16&2;f=14-(F|E|i)+(D<<i>>>15)|0;N=B>>>((f+7|0)>>>0)&1|f<<1}}while(0);V=39560+(N<<2)|0;r[h+28>>2]=N;r[h+20>>2]=0;r[h+16>>2]=0;f=r[9815]|0;i=1<<N;do{if((f&i|0)==0){r[9815]=f|i;r[V>>2]=n;r[h+24>>2]=V;r[h+12>>2]=h;r[h+8>>2]=h}else{if((N|0)==31){k=0}else{k=25-(N>>>1)|0}D=B<<k;E=r[V>>2]|0;while(1){if((r[E+4>>2]&-8|0)==(B|0)){break}O=E+16+(D>>>31<<2)|0;F=r[O>>2]|0;if((F|0)==0){L=4195;break}else{D=D<<1;E=F}}if((L|0)==4195){if(O>>>0<(r[9818]|0)>>>0){Xt()}else{r[O>>2]=n;r[h+24>>2]=E;r[h+12>>2]=h;r[h+8>>2]=h;break}}D=E+8|0;P=r[D>>2]|0;F=r[9818]|0;if(E>>>0<F>>>0){Xt()}if(P>>>0<F>>>0){Xt()}else{r[P+12>>2]=n;r[D>>2]=n;r[h+8>>2]=P;r[h+12>>2]=E;r[h+24>>2]=0;break}}}while(0);h=(r[9822]|0)-1|0;r[9822]=h;if((h|0)==0){U=39712}else{return}while(1){h=r[U>>2]|0;if((h|0)==0){break}else{U=h+8|0}}r[9822]=-1;return}function yBe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0;_=e|0;if((e&3)==(t&3)){while(e&3){if((i|0)==0)return _|0;n[e]=n[t]|0;e=e+1|0;t=t+1|0;i=i-1|0}while((i|0)>=4){r[e>>2]=r[t>>2];e=e+4|0;t=t+4|0;i=i-4|0}}while((i|0)>0){n[e]=n[t]|0;e=e+1|0;t=t+1|0;i=i-1|0}return _|0}function vBe(e,t,i){e=e|0;t=t|0;i=i|0;var _=0,o=0,s=0;_=e+i|0;if((i|0)>=20){t=t&255;i=e&3;o=t|t<<8|t<<16|t<<24;s=_&~3;if(i){i=e+4-i|0;while((e|0)<(i|0)){n[e]=t;e=e+1|0}}while((e|0)<(s|0)){r[e>>2]=o;e=e+4|0}}while((e|0)<(_|0)){n[e]=t;e=e+1|0}}function xBe(e){e=e|0;var t=0;t=e;while(n[t]|0){t=t+1|0}return t-e|0}function MBe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;var _=0;_=e+i>>>0;i=t+n>>>0;n=i>>>0<t>>>0|0;if(_>>>0<e>>>0){i=i+1>>>0;n=n|!i}return(B=i,V=n,_|0)|0}function TBe(e,t,i){e=e|0;t=t|0;i=i|0;if((t|0)<(e|0)&(e|0)<(t+i|0)){t=t+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;t=t-1|0;i=i-1|0;n[e]=n[t]|0}}else{yBe(e,t,i)|0}}function DBe(){si()}function PBe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;Unt[e&255](t|0,i|0,n|0,_|0,r|0)}function wBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(0,e|0,t|0,i|0,n|0,_|0)}function ABe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(1,e|0,t|0,i|0,n|0,_|0)}function FBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(2,e|0,t|0,i|0,n|0,_|0)}function RBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(3,e|0,t|0,i|0,n|0,_|0)}function IBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(4,e|0,t|0,i|0,n|0,_|0)}function BBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(5,e|0,t|0,i|0,n|0,_|0)}function VBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(6,e|0,t|0,i|0,n|0,_|0)}function EBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(7,e|0,t|0,i|0,n|0,_|0)}function NBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(8,e|0,t|0,i|0,n|0,_|0)}function kBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(9,e|0,t|0,i|0,n|0,_|0)}function OBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(10,e|0,t|0,i|0,n|0,_|0)}function LBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(11,e|0,t|0,i|0,n|0,_|0)}function UBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(12,e|0,t|0,i|0,n|0,_|0)}function GBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(13,e|0,t|0,i|0,n|0,_|0)}function WBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(14,e|0,t|0,i|0,n|0,_|0)}function zBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(15,e|0,t|0,i|0,n|0,_|0)}function HBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(16,e|0,t|0,i|0,n|0,_|0)}function jBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(17,e|0,t|0,i|0,n|0,_|0)}function XBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(18,e|0,t|0,i|0,n|0,_|0)}function ZBe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;pe(19,e|0,t|0,i|0,n|0,_|0)}function QBe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;return Gnt[e&63](t|0,i|0,n|0,_|0,r|0,+o)|0}function qBe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(0,e|0,t|0,i|0,n|0,_|0,+r)|0}function YBe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(1,e|0,t|0,i|0,n|0,_|0,+r)|0}function JBe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(2,e|0,t|0,i|0,n|0,_|0,+r)|0}function KBe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(3,e|0,t|0,i|0,n|0,_|0,+r)|0}function $Be(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(4,e|0,t|0,i|0,n|0,_|0,+r)|0}function eVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(5,e|0,t|0,i|0,n|0,_|0,+r)|0}function tVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(6,e|0,t|0,i|0,n|0,_|0,+r)|0}function iVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(7,e|0,t|0,i|0,n|0,_|0,+r)|0}function nVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(8,e|0,t|0,i|0,n|0,_|0,+r)|0}function _Ve(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(9,e|0,t|0,i|0,n|0,_|0,+r)|0}function rVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(10,e|0,t|0,i|0,n|0,_|0,+r)|0}function oVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(11,e|0,t|0,i|0,n|0,_|0,+r)|0}function sVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(12,e|0,t|0,i|0,n|0,_|0,+r)|0}function aVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(13,e|0,t|0,i|0,n|0,_|0,+r)|0}function pVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(14,e|0,t|0,i|0,n|0,_|0,+r)|0}function lVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(15,e|0,t|0,i|0,n|0,_|0,+r)|0}function dVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(16,e|0,t|0,i|0,n|0,_|0,+r)|0}function cVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(17,e|0,t|0,i|0,n|0,_|0,+r)|0}function bVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(18,e|0,t|0,i|0,n|0,_|0,+r)|0}function uVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return pe(19,e|0,t|0,i|0,n|0,_|0,+r)|0}function mVe(e,t,i){e=e|0;t=t|0;i=+i;Wnt[e&1023](t|0,+i)}function hVe(e,t){e=e|0;t=+t;pe(0,e|0,+t)}function fVe(e,t){e=e|0;t=+t;pe(1,e|0,+t)}function gVe(e,t){e=e|0;t=+t;pe(2,e|0,+t)}function CVe(e,t){e=e|0;t=+t;pe(3,e|0,+t)}function SVe(e,t){e=e|0;t=+t;pe(4,e|0,+t)}function yVe(e,t){e=e|0;t=+t;pe(5,e|0,+t)}function vVe(e,t){e=e|0;t=+t;pe(6,e|0,+t)}function xVe(e,t){e=e|0;t=+t;pe(7,e|0,+t)}function MVe(e,t){e=e|0;t=+t;pe(8,e|0,+t)}function TVe(e,t){e=e|0;t=+t;pe(9,e|0,+t)}function DVe(e,t){e=e|0;t=+t;pe(10,e|0,+t)}function PVe(e,t){e=e|0;t=+t;pe(11,e|0,+t)}function wVe(e,t){e=e|0;t=+t;pe(12,e|0,+t)}function AVe(e,t){e=e|0;t=+t;pe(13,e|0,+t)}function FVe(e,t){e=e|0;t=+t;pe(14,e|0,+t)}function RVe(e,t){e=e|0;t=+t;pe(15,e|0,+t)}function IVe(e,t){e=e|0;t=+t;pe(16,e|0,+t)}function BVe(e,t){e=e|0;t=+t;pe(17,e|0,+t)}function VVe(e,t){e=e|0;t=+t;pe(18,e|0,+t)}function EVe(e,t){e=e|0;t=+t;pe(19,e|0,+t)}function NVe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;znt[e&63](t|0,i|0,+n,_|0,r|0)}function kVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(0,e|0,t|0,+i,n|0,_|0)}function OVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(1,e|0,t|0,+i,n|0,_|0)}function LVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(2,e|0,t|0,+i,n|0,_|0)}function UVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(3,e|0,t|0,+i,n|0,_|0)}function GVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(4,e|0,t|0,+i,n|0,_|0)}function WVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(5,e|0,t|0,+i,n|0,_|0)}function zVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(6,e|0,t|0,+i,n|0,_|0)}function HVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(7,e|0,t|0,+i,n|0,_|0)}function jVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(8,e|0,t|0,+i,n|0,_|0)}function XVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(9,e|0,t|0,+i,n|0,_|0)}function ZVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(10,e|0,t|0,+i,n|0,_|0)}function QVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(11,e|0,t|0,+i,n|0,_|0)}function qVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(12,e|0,t|0,+i,n|0,_|0)}function YVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(13,e|0,t|0,+i,n|0,_|0)}function JVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(14,e|0,t|0,+i,n|0,_|0)}function KVe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(15,e|0,t|0,+i,n|0,_|0)}function $Ve(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(16,e|0,t|0,+i,n|0,_|0)}function eEe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(17,e|0,t|0,+i,n|0,_|0)}function tEe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(18,e|0,t|0,+i,n|0,_|0)}function iEe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;pe(19,e|0,t|0,+i,n|0,_|0)}function nEe(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;o=+o;s=+s;a=+a;p=+p;l=l|0;d=+d;Hnt[e&63](t|0,i|0,n|0,_|0,+r,+o,+s,+a,+p,l|0,+d)}function _Ee(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(0,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function rEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(1,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function oEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(2,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function sEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(3,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function aEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(4,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function pEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(5,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function lEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(6,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function dEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(7,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function cEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(8,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function bEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(9,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function uEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(10,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function mEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(11,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function hEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(12,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function fEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(13,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function gEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(14,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function CEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(15,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function SEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(16,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function yEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(17,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function vEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(18,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function xEe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;pe(19,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0,+l)}function MEe(e,t){e=e|0;t=t|0;jnt[e&2047](t|0)}function TEe(e){e=e|0;pe(0,e|0)}function DEe(e){e=e|0;pe(1,e|0)}function PEe(e){e=e|0;pe(2,e|0)}function wEe(e){e=e|0;pe(3,e|0)}function AEe(e){e=e|0;pe(4,e|0)}function FEe(e){e=e|0;pe(5,e|0)}function REe(e){e=e|0;pe(6,e|0)}function IEe(e){e=e|0;pe(7,e|0)}function BEe(e){e=e|0;pe(8,e|0)}function VEe(e){e=e|0;pe(9,e|0)}function EEe(e){e=e|0;pe(10,e|0)}function NEe(e){e=e|0;pe(11,e|0)}function kEe(e){e=e|0;pe(12,e|0)}function OEe(e){e=e|0;pe(13,e|0)}function LEe(e){e=e|0;pe(14,e|0)}function UEe(e){e=e|0;pe(15,e|0)}function GEe(e){e=e|0;pe(16,e|0)}function WEe(e){e=e|0;pe(17,e|0)}function zEe(e){e=e|0;pe(18,e|0)}function HEe(e){e=e|0;pe(19,e|0)}function jEe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;o=+o;s=s|0;a=a|0;return Xnt[e&63](t|0,i|0,n|0,_|0,+r,+o,s|0,a|0)|0}function XEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(0,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function ZEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(1,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function QEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(2,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function qEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(3,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function YEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(4,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function JEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(5,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function KEe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(6,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function $Ee(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(7,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function eNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(8,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function tNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(9,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function iNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(10,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function nNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(11,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function _Ne(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(12,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function rNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(13,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function oNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(14,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function sNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(15,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function aNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(16,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function pNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(17,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function lNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(18,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function dNe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;return pe(19,e|0,t|0,i|0,n|0,+_,+r,o|0,s|0)|0}function cNe(e,t,i){e=e|0;t=t|0;i=i|0;Znt[e&2047](t|0,i|0)}function bNe(e,t){e=e|0;t=t|0;pe(0,e|0,t|0)}function uNe(e,t){e=e|0;t=t|0;pe(1,e|0,t|0)}function mNe(e,t){e=e|0;t=t|0;pe(2,e|0,t|0)}function hNe(e,t){e=e|0;t=t|0;pe(3,e|0,t|0)}function fNe(e,t){e=e|0;t=t|0;pe(4,e|0,t|0)}function gNe(e,t){e=e|0;t=t|0;pe(5,e|0,t|0)}function CNe(e,t){e=e|0;t=t|0;pe(6,e|0,t|0)}function SNe(e,t){e=e|0;t=t|0;pe(7,e|0,t|0)}function yNe(e,t){e=e|0;t=t|0;pe(8,e|0,t|0)}function vNe(e,t){e=e|0;t=t|0;pe(9,e|0,t|0)}function xNe(e,t){e=e|0;t=t|0;pe(10,e|0,t|0)}function MNe(e,t){e=e|0;t=t|0;pe(11,e|0,t|0)}function TNe(e,t){e=e|0;t=t|0;pe(12,e|0,t|0)}function DNe(e,t){e=e|0;t=t|0;pe(13,e|0,t|0)}function PNe(e,t){e=e|0;t=t|0;pe(14,e|0,t|0)}function wNe(e,t){e=e|0;t=t|0;pe(15,e|0,t|0)}function ANe(e,t){e=e|0;t=t|0;pe(16,e|0,t|0)}function FNe(e,t){e=e|0;t=t|0;pe(17,e|0,t|0)}function RNe(e,t){e=e|0;t=t|0;pe(18,e|0,t|0)}function INe(e,t){e=e|0;t=t|0;pe(19,e|0,t|0)}function BNe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;Qnt[e&63](t|0,i|0,n|0,+_,r|0,o|0)}function VNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(0,e|0,t|0,i|0,+n,_|0,r|0)}function ENe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(1,e|0,t|0,i|0,+n,_|0,r|0)}function NNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(2,e|0,t|0,i|0,+n,_|0,r|0)}function kNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(3,e|0,t|0,i|0,+n,_|0,r|0)}function ONe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(4,e|0,t|0,i|0,+n,_|0,r|0)}function LNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(5,e|0,t|0,i|0,+n,_|0,r|0)}function UNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(6,e|0,t|0,i|0,+n,_|0,r|0)}function GNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(7,e|0,t|0,i|0,+n,_|0,r|0)}function WNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(8,e|0,t|0,i|0,+n,_|0,r|0)}function zNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(9,e|0,t|0,i|0,+n,_|0,r|0)}function HNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(10,e|0,t|0,i|0,+n,_|0,r|0)}function jNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(11,e|0,t|0,i|0,+n,_|0,r|0)}function XNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(12,e|0,t|0,i|0,+n,_|0,r|0)}function ZNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(13,e|0,t|0,i|0,+n,_|0,r|0)}function QNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(14,e|0,t|0,i|0,+n,_|0,r|0)}function qNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(15,e|0,t|0,i|0,+n,_|0,r|0)}function YNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(16,e|0,t|0,i|0,+n,_|0,r|0)}function JNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(17,e|0,t|0,i|0,+n,_|0,r|0)}function KNe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(18,e|0,t|0,i|0,+n,_|0,r|0)}function $Ne(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;pe(19,e|0,t|0,i|0,+n,_|0,r|0)}function eke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;return qnt[e&63](+t,+i,+n,+_,+r,+o,+s,+a,+p)|0}function tke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(0,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function ike(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(1,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function nke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(2,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function _ke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(3,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function rke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(4,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function oke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(5,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function ske(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(6,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function ake(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(7,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function pke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(8,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function lke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(9,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function dke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(10,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function cke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(11,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function bke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(12,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function uke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(13,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function mke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(14,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function hke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(15,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function fke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(16,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function gke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(17,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function Cke(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(18,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function Ske(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;return pe(19,+e,+t,+i,+n,+_,+r,+o,+s,+a)|0}function yke(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;Ynt[e&127](t|0,i|0,n|0,_|0,+r)}function vke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(0,e|0,t|0,i|0,n|0,+_)}function xke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(1,e|0,t|0,i|0,n|0,+_)}function Mke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(2,e|0,t|0,i|0,n|0,+_)}function Tke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(3,e|0,t|0,i|0,n|0,+_)}function Dke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(4,e|0,t|0,i|0,n|0,+_)}function Pke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(5,e|0,t|0,i|0,n|0,+_)}function wke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(6,e|0,t|0,i|0,n|0,+_)}function Ake(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(7,e|0,t|0,i|0,n|0,+_)}function Fke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(8,e|0,t|0,i|0,n|0,+_)}function Rke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(9,e|0,t|0,i|0,n|0,+_)}function Ike(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(10,e|0,t|0,i|0,n|0,+_)}function Bke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(11,e|0,t|0,i|0,n|0,+_)}function Vke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(12,e|0,t|0,i|0,n|0,+_)}function Eke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(13,e|0,t|0,i|0,n|0,+_)}function Nke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(14,e|0,t|0,i|0,n|0,+_)}function kke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(15,e|0,t|0,i|0,n|0,+_)}function Oke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(16,e|0,t|0,i|0,n|0,+_)}function Lke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(17,e|0,t|0,i|0,n|0,+_)}function Uke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(18,e|0,t|0,i|0,n|0,+_)}function Gke(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;pe(19,e|0,t|0,i|0,n|0,+_)}function Wke(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;o=+o;s=+s;a=+a;p=p|0;l=l|0;Jnt[e&63](t|0,i|0,n|0,_|0,+r,+o,+s,+a,p|0,l|0)}function zke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(0,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Hke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(1,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function jke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(2,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Xke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(3,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Zke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(4,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Qke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(5,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function qke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(6,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Yke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(7,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Jke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(8,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function Kke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(9,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function $ke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(10,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function eOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(11,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function tOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(12,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function iOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(13,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function nOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(14,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function _Oe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(15,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function rOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(16,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function oOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(17,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function sOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(18,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function aOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;pe(19,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0)}function pOe(e,t){e=e|0;t=t|0;return Knt[e&4095](t|0)|0}function lOe(e){e=e|0;return pe(0,e|0)|0}function dOe(e){e=e|0;return pe(1,e|0)|0}function cOe(e){e=e|0;return pe(2,e|0)|0}function bOe(e){e=e|0;return pe(3,e|0)|0}function uOe(e){e=e|0;return pe(4,e|0)|0}function mOe(e){e=e|0;return pe(5,e|0)|0}function hOe(e){e=e|0;return pe(6,e|0)|0}function fOe(e){e=e|0;return pe(7,e|0)|0}function gOe(e){e=e|0;return pe(8,e|0)|0}function COe(e){e=e|0;return pe(9,e|0)|0}function SOe(e){e=e|0;return pe(10,e|0)|0}function yOe(e){e=e|0;return pe(11,e|0)|0}function vOe(e){e=e|0;return pe(12,e|0)|0}function xOe(e){e=e|0;return pe(13,e|0)|0}function MOe(e){e=e|0;return pe(14,e|0)|0}function TOe(e){e=e|0;return pe(15,e|0)|0}function DOe(e){e=e|0;return pe(16,e|0)|0}function POe(e){e=e|0;return pe(17,e|0)|0}function wOe(e){e=e|0;return pe(18,e|0)|0}function AOe(e){e=e|0;return pe(19,e|0)|0}function FOe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;a=a|0;p=+p;return $nt[e&63](t|0,i|0,n|0,_|0,r|0,o|0,+s,a|0,+p)|0}function ROe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function IOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function BOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function VOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function EOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function NOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function kOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function OOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function LOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function UOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function GOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function WOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function zOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function HOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function jOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function XOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function ZOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function QOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function qOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function YOe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,+o,s|0,+a)|0}function JOe(e,t,i,n,_,r){e=e|0;t=t|0;i=+i;n=+n;_=+_;r=r|0;e_t[e&63](t|0,+i,+n,+_,r|0)}function KOe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(0,e|0,+t,+i,+n,_|0)}function $Oe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(1,e|0,+t,+i,+n,_|0)}function eLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(2,e|0,+t,+i,+n,_|0)}function tLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(3,e|0,+t,+i,+n,_|0)}function iLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(4,e|0,+t,+i,+n,_|0)}function nLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(5,e|0,+t,+i,+n,_|0)}function _Le(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(6,e|0,+t,+i,+n,_|0)}function rLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(7,e|0,+t,+i,+n,_|0)}function oLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(8,e|0,+t,+i,+n,_|0)}function sLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(9,e|0,+t,+i,+n,_|0)}function aLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(10,e|0,+t,+i,+n,_|0)}function pLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(11,e|0,+t,+i,+n,_|0)}function lLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(12,e|0,+t,+i,+n,_|0)}function dLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(13,e|0,+t,+i,+n,_|0)}function cLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(14,e|0,+t,+i,+n,_|0)}function bLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(15,e|0,+t,+i,+n,_|0)}function uLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(16,e|0,+t,+i,+n,_|0)}function mLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(17,e|0,+t,+i,+n,_|0)}function hLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(18,e|0,+t,+i,+n,_|0)}function fLe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;pe(19,e|0,+t,+i,+n,_|0)}function gLe(e,t,i,n,_){e=e|0;t=+t;i=i|0;n=n|0;_=_|0;return t_t[e&63](+t,i|0,n|0,_|0)|0}function CLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(0,+e,t|0,i|0,n|0)|0}function SLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(1,+e,t|0,i|0,n|0)|0}function yLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(2,+e,t|0,i|0,n|0)|0}function vLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(3,+e,t|0,i|0,n|0)|0}function xLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(4,+e,t|0,i|0,n|0)|0}function MLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(5,+e,t|0,i|0,n|0)|0}function TLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(6,+e,t|0,i|0,n|0)|0}function DLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(7,+e,t|0,i|0,n|0)|0}function PLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(8,+e,t|0,i|0,n|0)|0}function wLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(9,+e,t|0,i|0,n|0)|0}function ALe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(10,+e,t|0,i|0,n|0)|0}function FLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(11,+e,t|0,i|0,n|0)|0}function RLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(12,+e,t|0,i|0,n|0)|0}function ILe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(13,+e,t|0,i|0,n|0)|0}function BLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(14,+e,t|0,i|0,n|0)|0}function VLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(15,+e,t|0,i|0,n|0)|0}function ELe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(16,+e,t|0,i|0,n|0)|0}function NLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(17,+e,t|0,i|0,n|0)|0}function kLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(18,+e,t|0,i|0,n|0)|0}function OLe(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;return pe(19,+e,t|0,i|0,n|0)|0}function LLe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;i_t[e&127](t|0,i|0,+n,_|0)}function ULe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(0,e|0,t|0,+i,n|0)}function GLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(1,e|0,t|0,+i,n|0)}function WLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(2,e|0,t|0,+i,n|0)}function zLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(3,e|0,t|0,+i,n|0)}function HLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(4,e|0,t|0,+i,n|0)}function jLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(5,e|0,t|0,+i,n|0)}function XLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(6,e|0,t|0,+i,n|0)}function ZLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(7,e|0,t|0,+i,n|0)}function QLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(8,e|0,t|0,+i,n|0)}function qLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(9,e|0,t|0,+i,n|0)}function YLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(10,e|0,t|0,+i,n|0)}function JLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(11,e|0,t|0,+i,n|0)}function KLe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(12,e|0,t|0,+i,n|0)}function $Le(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(13,e|0,t|0,+i,n|0)}function eUe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(14,e|0,t|0,+i,n|0)}function tUe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(15,e|0,t|0,+i,n|0)}function iUe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(16,e|0,t|0,+i,n|0)}function nUe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(17,e|0,t|0,+i,n|0)}function _Ue(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(18,e|0,t|0,+i,n|0)}function rUe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;pe(19,e|0,t|0,+i,n|0)}function oUe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;n_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function sUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function aUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function pUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function lUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function dUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function cUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function bUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function uUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function mUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function hUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function fUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function gUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function CUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function SUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function yUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function vUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function xUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function MUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function TUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function DUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function PUe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;a=+a;__t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,+s,+a)}function wUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(0,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function AUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(1,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function FUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(2,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function RUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(3,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function IUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(4,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function BUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(5,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function VUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(6,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function EUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(7,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function NUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(8,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function kUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(9,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function OUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(10,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function LUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(11,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function UUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(12,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function GUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(13,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function WUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(14,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function zUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(15,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function HUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(16,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function jUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(17,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function XUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(18,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function ZUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;pe(19,e|0,t|0,i|0,n|0,_|0,r|0,+o,+s)}function QUe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;s=s|0;return r_t[e&63](t|0,i|0,n|0,+_,r|0,o|0,s|0)|0}function qUe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(0,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function YUe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(1,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function JUe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(2,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function KUe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(3,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function $Ue(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(4,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function eGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(5,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function tGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(6,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function iGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(7,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function nGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(8,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function _Ge(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(9,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function rGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(10,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function oGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(11,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function sGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(12,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function aGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(13,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function pGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(14,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function lGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(15,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function dGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(16,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function cGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(17,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function bGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(18,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function uGe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;return pe(19,e|0,t|0,i|0,+n,_|0,r|0,o|0)|0}function mGe(e,t,i,n,_,r,o,s,a,p,l,d,c,b){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;b=b|0;return o_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0,b|0)|0}function hGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function fGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function gGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function CGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function SGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function yGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function vGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function xGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function MGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function TGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function DGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function PGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function wGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function AGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function FGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function RGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function IGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function BGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function VGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function EGe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function NGe(e,t,i,n,_,r){e=e|0;t=t|0;i=+i;n=+n;_=+_;r=+r;s_t[e&63](t|0,+i,+n,+_,+r)}function kGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(0,e|0,+t,+i,+n,+_)}function OGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(1,e|0,+t,+i,+n,+_)}function LGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(2,e|0,+t,+i,+n,+_)}function UGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(3,e|0,+t,+i,+n,+_)}function GGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(4,e|0,+t,+i,+n,+_)}function WGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(5,e|0,+t,+i,+n,+_)}function zGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(6,e|0,+t,+i,+n,+_)}function HGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(7,e|0,+t,+i,+n,+_)}function jGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(8,e|0,+t,+i,+n,+_)}function XGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(9,e|0,+t,+i,+n,+_)}function ZGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(10,e|0,+t,+i,+n,+_)}function QGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(11,e|0,+t,+i,+n,+_)}function qGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(12,e|0,+t,+i,+n,+_)}function YGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(13,e|0,+t,+i,+n,+_)}function JGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(14,e|0,+t,+i,+n,+_)}function KGe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(15,e|0,+t,+i,+n,+_)}function $Ge(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(16,e|0,+t,+i,+n,+_)}function eWe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(17,e|0,+t,+i,+n,+_)}function tWe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(18,e|0,+t,+i,+n,+_)}function iWe(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;pe(19,e|0,+t,+i,+n,+_)}function nWe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=+i;n=+n;_=_|0;r=r|0;o=o|0;a_t[e&63](t|0,+i,+n,_|0,r|0,o|0)}function _We(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(0,e|0,+t,+i,n|0,_|0,r|0)}function rWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(1,e|0,+t,+i,n|0,_|0,r|0)}function oWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(2,e|0,+t,+i,n|0,_|0,r|0)}function sWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(3,e|0,+t,+i,n|0,_|0,r|0)}function aWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(4,e|0,+t,+i,n|0,_|0,r|0)}function pWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(5,e|0,+t,+i,n|0,_|0,r|0)}function lWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(6,e|0,+t,+i,n|0,_|0,r|0)}function dWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(7,e|0,+t,+i,n|0,_|0,r|0)}function cWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(8,e|0,+t,+i,n|0,_|0,r|0)}function bWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(9,e|0,+t,+i,n|0,_|0,r|0)}function uWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(10,e|0,+t,+i,n|0,_|0,r|0)}function mWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(11,e|0,+t,+i,n|0,_|0,r|0)}function hWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(12,e|0,+t,+i,n|0,_|0,r|0)}function fWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(13,e|0,+t,+i,n|0,_|0,r|0)}function gWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(14,e|0,+t,+i,n|0,_|0,r|0)}function CWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(15,e|0,+t,+i,n|0,_|0,r|0)}function SWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(16,e|0,+t,+i,n|0,_|0,r|0)}function yWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(17,e|0,+t,+i,n|0,_|0,r|0)}function vWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(18,e|0,+t,+i,n|0,_|0,r|0)}function xWe(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;pe(19,e|0,+t,+i,n|0,_|0,r|0)}function MWe(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return p_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function TWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function DWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function PWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function wWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function AWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function FWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function RWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function IWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function BWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function VWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function EWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function NWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function kWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function OWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function LWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function UWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function GWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function WWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function zWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function HWe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)|0}function jWe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=+i;n=n|0;_=+_;r=r|0;o=o|0;return+l_t[e&63](t|0,+i,n|0,+_,r|0,o|0)}function XWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(0,e|0,+t,i|0,+n,_|0,r|0)}function ZWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(1,e|0,+t,i|0,+n,_|0,r|0)}function QWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(2,e|0,+t,i|0,+n,_|0,r|0)}function qWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(3,e|0,+t,i|0,+n,_|0,r|0)}function YWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(4,e|0,+t,i|0,+n,_|0,r|0)}function JWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(5,e|0,+t,i|0,+n,_|0,r|0)}function KWe(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(6,e|0,+t,i|0,+n,_|0,r|0)}function $We(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(7,e|0,+t,i|0,+n,_|0,r|0)}function eze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(8,e|0,+t,i|0,+n,_|0,r|0)}function tze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(9,e|0,+t,i|0,+n,_|0,r|0)}function ize(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(10,e|0,+t,i|0,+n,_|0,r|0)}function nze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(11,e|0,+t,i|0,+n,_|0,r|0)}function _ze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(12,e|0,+t,i|0,+n,_|0,r|0)}function rze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(13,e|0,+t,i|0,+n,_|0,r|0)}function oze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(14,e|0,+t,i|0,+n,_|0,r|0)}function sze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(15,e|0,+t,i|0,+n,_|0,r|0)}function aze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(16,e|0,+t,i|0,+n,_|0,r|0)}function pze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(17,e|0,+t,i|0,+n,_|0,r|0)}function lze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(18,e|0,+t,i|0,+n,_|0,r|0)}function dze(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;return+pe(19,e|0,+t,i|0,+n,_|0,r|0)}function cze(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return+d_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)}function bze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function uze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function mze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function hze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function fze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function gze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Cze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Sze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function yze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function vze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function xze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Mze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Tze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Dze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Pze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function wze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Aze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Fze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Rze(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Ize(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function Bze(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+c_t[e&63](t|0,i|0,+n,_|0,r|0)}function Vze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(0,e|0,t|0,+i,n|0,_|0)}function Eze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(1,e|0,t|0,+i,n|0,_|0)}function Nze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(2,e|0,t|0,+i,n|0,_|0)}function kze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(3,e|0,t|0,+i,n|0,_|0)}function Oze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(4,e|0,t|0,+i,n|0,_|0)}function Lze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(5,e|0,t|0,+i,n|0,_|0)}function Uze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(6,e|0,t|0,+i,n|0,_|0)}function Gze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(7,e|0,t|0,+i,n|0,_|0)}function Wze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(8,e|0,t|0,+i,n|0,_|0)}function zze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(9,e|0,t|0,+i,n|0,_|0)}function Hze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(10,e|0,t|0,+i,n|0,_|0)}function jze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(11,e|0,t|0,+i,n|0,_|0)}function Xze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(12,e|0,t|0,+i,n|0,_|0)}function Zze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(13,e|0,t|0,+i,n|0,_|0)}function Qze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(14,e|0,t|0,+i,n|0,_|0)}function qze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(15,e|0,t|0,+i,n|0,_|0)}function Yze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(16,e|0,t|0,+i,n|0,_|0)}function Jze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(17,e|0,t|0,+i,n|0,_|0)}function Kze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(18,e|0,t|0,+i,n|0,_|0)}function $ze(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;return+pe(19,e|0,t|0,+i,n|0,_|0)}function eHe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;return b_t[e&63](+t,+i,+n)|0}function tHe(e,t,i){e=+e;t=+t;i=+i;return pe(0,+e,+t,+i)|0}function iHe(e,t,i){e=+e;t=+t;i=+i;return pe(1,+e,+t,+i)|0}function nHe(e,t,i){e=+e;t=+t;i=+i;return pe(2,+e,+t,+i)|0}function _He(e,t,i){e=+e;t=+t;i=+i;return pe(3,+e,+t,+i)|0}function rHe(e,t,i){e=+e;t=+t;i=+i;return pe(4,+e,+t,+i)|0}function oHe(e,t,i){e=+e;t=+t;i=+i;return pe(5,+e,+t,+i)|0}function sHe(e,t,i){e=+e;t=+t;i=+i;return pe(6,+e,+t,+i)|0}function aHe(e,t,i){e=+e;t=+t;i=+i;return pe(7,+e,+t,+i)|0}function pHe(e,t,i){e=+e;t=+t;i=+i;return pe(8,+e,+t,+i)|0}function lHe(e,t,i){e=+e;t=+t;i=+i;return pe(9,+e,+t,+i)|0}function dHe(e,t,i){e=+e;t=+t;i=+i;return pe(10,+e,+t,+i)|0}function cHe(e,t,i){e=+e;t=+t;i=+i;return pe(11,+e,+t,+i)|0}function bHe(e,t,i){e=+e;t=+t;i=+i;return pe(12,+e,+t,+i)|0}function uHe(e,t,i){e=+e;t=+t;i=+i;return pe(13,+e,+t,+i)|0}function mHe(e,t,i){e=+e;t=+t;i=+i;return pe(14,+e,+t,+i)|0}function hHe(e,t,i){e=+e;t=+t;i=+i;return pe(15,+e,+t,+i)|0}function fHe(e,t,i){e=+e;t=+t;i=+i;return pe(16,+e,+t,+i)|0}function gHe(e,t,i){e=+e;t=+t;i=+i;return pe(17,+e,+t,+i)|0}function CHe(e,t,i){e=+e;t=+t;i=+i;return pe(18,+e,+t,+i)|0}function SHe(e,t,i){e=+e;t=+t;i=+i;return pe(19,+e,+t,+i)|0}function yHe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;u_t[e&63](t|0,i|0,+n,+_)}function vHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(0,e|0,t|0,+i,+n)}function xHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(1,e|0,t|0,+i,+n)}function MHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(2,e|0,t|0,+i,+n)}function THe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(3,e|0,t|0,+i,+n)}function DHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(4,e|0,t|0,+i,+n)}function PHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(5,e|0,t|0,+i,+n)}function wHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(6,e|0,t|0,+i,+n)}function AHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(7,e|0,t|0,+i,+n)}function FHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(8,e|0,t|0,+i,+n)}function RHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(9,e|0,t|0,+i,+n)}function IHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(10,e|0,t|0,+i,+n)}function BHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(11,e|0,t|0,+i,+n)}function VHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(12,e|0,t|0,+i,+n)}function EHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(13,e|0,t|0,+i,+n)}function NHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(14,e|0,t|0,+i,+n)}function kHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(15,e|0,t|0,+i,+n)}function OHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(16,e|0,t|0,+i,+n)}function LHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(17,e|0,t|0,+i,+n)}function UHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(18,e|0,t|0,+i,+n)}function GHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;pe(19,e|0,t|0,+i,+n)}function WHe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;return m_t[e&63](t|0,+i,n|0)|0}function zHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(0,e|0,+t,i|0)|0}function HHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(1,e|0,+t,i|0)|0}function jHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(2,e|0,+t,i|0)|0}function XHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(3,e|0,+t,i|0)|0}function ZHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(4,e|0,+t,i|0)|0}function QHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(5,e|0,+t,i|0)|0}function qHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(6,e|0,+t,i|0)|0}function YHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(7,e|0,+t,i|0)|0}function JHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(8,e|0,+t,i|0)|0}function KHe(e,t,i){e=e|0;t=+t;i=i|0;return pe(9,e|0,+t,i|0)|0}function $He(e,t,i){e=e|0;t=+t;i=i|0;return pe(10,e|0,+t,i|0)|0}function eje(e,t,i){e=e|0;t=+t;i=i|0;return pe(11,e|0,+t,i|0)|0}function tje(e,t,i){e=e|0;t=+t;i=i|0;return pe(12,e|0,+t,i|0)|0}function ije(e,t,i){e=e|0;t=+t;i=i|0;return pe(13,e|0,+t,i|0)|0}function nje(e,t,i){e=e|0;t=+t;i=i|0;return pe(14,e|0,+t,i|0)|0}function _je(e,t,i){e=e|0;t=+t;i=i|0;return pe(15,e|0,+t,i|0)|0}function rje(e,t,i){e=e|0;t=+t;i=i|0;return pe(16,e|0,+t,i|0)|0}function oje(e,t,i){e=e|0;t=+t;i=i|0;return pe(17,e|0,+t,i|0)|0}function sje(e,t,i){e=e|0;t=+t;i=i|0;return pe(18,e|0,+t,i|0)|0}function aje(e,t,i){e=e|0;t=+t;i=i|0;return pe(19,e|0,+t,i|0)|0}function pje(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return h_t[e&511](t|0,i|0,n|0)|0}function lje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(0,e|0,t|0,i|0)|0}function dje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(1,e|0,t|0,i|0)|0}function cje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(2,e|0,t|0,i|0)|0}function bje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(3,e|0,t|0,i|0)|0}function uje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(4,e|0,t|0,i|0)|0}function mje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(5,e|0,t|0,i|0)|0}function hje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(6,e|0,t|0,i|0)|0}function fje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(7,e|0,t|0,i|0)|0}function gje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(8,e|0,t|0,i|0)|0}function Cje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(9,e|0,t|0,i|0)|0}function Sje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(10,e|0,t|0,i|0)|0}function yje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(11,e|0,t|0,i|0)|0}function vje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(12,e|0,t|0,i|0)|0}function xje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(13,e|0,t|0,i|0)|0}function Mje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(14,e|0,t|0,i|0)|0}function Tje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(15,e|0,t|0,i|0)|0}function Dje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(16,e|0,t|0,i|0)|0}function Pje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(17,e|0,t|0,i|0)|0}function wje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(18,e|0,t|0,i|0)|0}function Aje(e,t,i){e=e|0;t=t|0;i=i|0;return pe(19,e|0,t|0,i|0)|0}function Fje(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;o=+o;s=+s;a=+a;p=+p;l=l|0;f_t[e&63](t|0,i|0,n|0,_|0,+r,+o,+s,+a,+p,l|0)}function Rje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(0,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Ije(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(1,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Bje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(2,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Vje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(3,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Eje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(4,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Nje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(5,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function kje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(6,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Oje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(7,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Lje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(8,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Uje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(9,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Gje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(10,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Wje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(11,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function zje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(12,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Hje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(13,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function jje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(14,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Xje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(15,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Zje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(16,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Qje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(17,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function qje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(18,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Yje(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;pe(19,e|0,t|0,i|0,n|0,+_,+r,+o,+s,+a,p|0)}function Jje(e,t,i){e=e|0;t=t|0;i=+i;return+g_t[e&127](t|0,+i)}function Kje(e,t){e=e|0;t=+t;return+pe(0,e|0,+t)}function $je(e,t){e=e|0;t=+t;return+pe(1,e|0,+t)}function eXe(e,t){e=e|0;t=+t;return+pe(2,e|0,+t)}function tXe(e,t){e=e|0;t=+t;return+pe(3,e|0,+t)}function iXe(e,t){e=e|0;t=+t;return+pe(4,e|0,+t)}function nXe(e,t){e=e|0;t=+t;return+pe(5,e|0,+t)}function _Xe(e,t){e=e|0;t=+t;return+pe(6,e|0,+t)}function rXe(e,t){e=e|0;t=+t;return+pe(7,e|0,+t)}function oXe(e,t){e=e|0;t=+t;return+pe(8,e|0,+t)}function sXe(e,t){e=e|0;t=+t;return+pe(9,e|0,+t)}function aXe(e,t){e=e|0;t=+t;return+pe(10,e|0,+t)}function pXe(e,t){e=e|0;t=+t;return+pe(11,e|0,+t)}function lXe(e,t){e=e|0;t=+t;return+pe(12,e|0,+t)}function dXe(e,t){e=e|0;t=+t;return+pe(13,e|0,+t)}function cXe(e,t){e=e|0;t=+t;return+pe(14,e|0,+t)}function bXe(e,t){e=e|0;t=+t;return+pe(15,e|0,+t)}function uXe(e,t){e=e|0;t=+t;return+pe(16,e|0,+t)}function mXe(e,t){e=e|0;t=+t;return+pe(17,e|0,+t)}function hXe(e,t){e=e|0;t=+t;return+pe(18,e|0,+t)}function fXe(e,t){e=e|0;t=+t;return+pe(19,e|0,+t)}function gXe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;return C_t[e&63](t|0,i|0,n|0,+_,+r)|0}function CXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(0,e|0,t|0,i|0,+n,+_)|0}function SXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(1,e|0,t|0,i|0,+n,+_)|0}function yXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(2,e|0,t|0,i|0,+n,+_)|0}function vXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(3,e|0,t|0,i|0,+n,+_)|0}function xXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(4,e|0,t|0,i|0,+n,+_)|0}function MXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(5,e|0,t|0,i|0,+n,+_)|0}function TXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(6,e|0,t|0,i|0,+n,+_)|0}function DXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(7,e|0,t|0,i|0,+n,+_)|0}function PXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(8,e|0,t|0,i|0,+n,+_)|0}function wXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(9,e|0,t|0,i|0,+n,+_)|0}function AXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(10,e|0,t|0,i|0,+n,+_)|0}function FXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(11,e|0,t|0,i|0,+n,+_)|0}function RXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(12,e|0,t|0,i|0,+n,+_)|0}function IXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(13,e|0,t|0,i|0,+n,+_)|0}function BXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(14,e|0,t|0,i|0,+n,+_)|0}function VXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(15,e|0,t|0,i|0,+n,+_)|0}function EXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(16,e|0,t|0,i|0,+n,+_)|0}function NXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(17,e|0,t|0,i|0,+n,+_)|0}function kXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(18,e|0,t|0,i|0,+n,+_)|0}function OXe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return pe(19,e|0,t|0,i|0,+n,+_)|0}function LXe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;S_t[e&63](t|0,+i,+n)}function UXe(e,t,i){e=e|0;t=+t;i=+i;pe(0,e|0,+t,+i)}function GXe(e,t,i){e=e|0;t=+t;i=+i;pe(1,e|0,+t,+i)}function WXe(e,t,i){e=e|0;t=+t;i=+i;pe(2,e|0,+t,+i)}function zXe(e,t,i){e=e|0;t=+t;i=+i;pe(3,e|0,+t,+i)}function HXe(e,t,i){e=e|0;t=+t;i=+i;pe(4,e|0,+t,+i)}function jXe(e,t,i){e=e|0;t=+t;i=+i;pe(5,e|0,+t,+i)}function XXe(e,t,i){e=e|0;t=+t;i=+i;pe(6,e|0,+t,+i)}function ZXe(e,t,i){e=e|0;t=+t;i=+i;pe(7,e|0,+t,+i)}function QXe(e,t,i){e=e|0;t=+t;i=+i;pe(8,e|0,+t,+i)}function qXe(e,t,i){e=e|0;t=+t;i=+i;pe(9,e|0,+t,+i)}function YXe(e,t,i){e=e|0;t=+t;i=+i;pe(10,e|0,+t,+i)}function JXe(e,t,i){e=e|0;t=+t;i=+i;pe(11,e|0,+t,+i)}function KXe(e,t,i){e=e|0;t=+t;i=+i;pe(12,e|0,+t,+i)}function $Xe(e,t,i){e=e|0;t=+t;i=+i;pe(13,e|0,+t,+i)}function eZe(e,t,i){e=e|0;t=+t;i=+i;pe(14,e|0,+t,+i)}function tZe(e,t,i){e=e|0;t=+t;i=+i;pe(15,e|0,+t,+i)}function iZe(e,t,i){e=e|0;t=+t;i=+i;pe(16,e|0,+t,+i)}function nZe(e,t,i){e=e|0;t=+t;i=+i;pe(17,e|0,+t,+i)}function _Ze(e,t,i){e=e|0;t=+t;i=+i;pe(18,e|0,+t,+i)}function rZe(e,t,i){e=e|0;t=+t;i=+i;pe(19,e|0,+t,+i)}function oZe(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;y_t[e&255](t|0,+i,n|0)}function sZe(e,t,i){e=e|0;t=+t;i=i|0;pe(0,e|0,+t,i|0)}function aZe(e,t,i){e=e|0;t=+t;i=i|0;pe(1,e|0,+t,i|0)}function pZe(e,t,i){e=e|0;t=+t;i=i|0;pe(2,e|0,+t,i|0)}function lZe(e,t,i){e=e|0;t=+t;i=i|0;pe(3,e|0,+t,i|0)}function dZe(e,t,i){e=e|0;t=+t;i=i|0;pe(4,e|0,+t,i|0)}function cZe(e,t,i){e=e|0;t=+t;i=i|0;pe(5,e|0,+t,i|0)}function bZe(e,t,i){e=e|0;t=+t;i=i|0;pe(6,e|0,+t,i|0)}function uZe(e,t,i){e=e|0;t=+t;i=i|0;pe(7,e|0,+t,i|0)}function mZe(e,t,i){e=e|0;t=+t;i=i|0;pe(8,e|0,+t,i|0)}function hZe(e,t,i){e=e|0;t=+t;i=i|0;pe(9,e|0,+t,i|0)}function fZe(e,t,i){e=e|0;t=+t;i=i|0;pe(10,e|0,+t,i|0)}function gZe(e,t,i){e=e|0;t=+t;i=i|0;pe(11,e|0,+t,i|0)}function CZe(e,t,i){e=e|0;t=+t;i=i|0;pe(12,e|0,+t,i|0)}function SZe(e,t,i){e=e|0;t=+t;i=i|0;pe(13,e|0,+t,i|0)}function yZe(e,t,i){e=e|0;t=+t;i=i|0;pe(14,e|0,+t,i|0)}function vZe(e,t,i){e=e|0;t=+t;i=i|0;pe(15,e|0,+t,i|0)}function xZe(e,t,i){e=e|0;t=+t;i=i|0;pe(16,e|0,+t,i|0)}function MZe(e,t,i){e=e|0;t=+t;i=i|0;pe(17,e|0,+t,i|0)}function TZe(e,t,i){e=e|0;t=+t;i=i|0;pe(18,e|0,+t,i|0)}function DZe(e,t,i){e=e|0;t=+t;i=i|0;pe(19,e|0,+t,i|0)}function PZe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;v_t[e&63](t|0,i|0,n|0,_|0,r|0,+o)}function wZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(0,e|0,t|0,i|0,n|0,_|0,+r)}function AZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(1,e|0,t|0,i|0,n|0,_|0,+r)}function FZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(2,e|0,t|0,i|0,n|0,_|0,+r)}function RZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(3,e|0,t|0,i|0,n|0,_|0,+r)}function IZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(4,e|0,t|0,i|0,n|0,_|0,+r)}function BZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(5,e|0,t|0,i|0,n|0,_|0,+r)}function VZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(6,e|0,t|0,i|0,n|0,_|0,+r)}function EZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(7,e|0,t|0,i|0,n|0,_|0,+r)}function NZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(8,e|0,t|0,i|0,n|0,_|0,+r)}function kZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(9,e|0,t|0,i|0,n|0,_|0,+r)}function OZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(10,e|0,t|0,i|0,n|0,_|0,+r)}function LZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(11,e|0,t|0,i|0,n|0,_|0,+r)}function UZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(12,e|0,t|0,i|0,n|0,_|0,+r)}function GZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(13,e|0,t|0,i|0,n|0,_|0,+r)}function WZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(14,e|0,t|0,i|0,n|0,_|0,+r)}function zZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(15,e|0,t|0,i|0,n|0,_|0,+r)}function HZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(16,e|0,t|0,i|0,n|0,_|0,+r)}function jZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(17,e|0,t|0,i|0,n|0,_|0,+r)}function XZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(18,e|0,t|0,i|0,n|0,_|0,+r)}function ZZe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;pe(19,e|0,t|0,i|0,n|0,_|0,+r)}function QZe(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=+n;_=+_;x_t[e&127](t|0,+i,+n,+_)}function qZe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(0,e|0,+t,+i,+n)}function YZe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(1,e|0,+t,+i,+n)}function JZe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(2,e|0,+t,+i,+n)}function KZe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(3,e|0,+t,+i,+n)}function $Ze(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(4,e|0,+t,+i,+n)}function eQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(5,e|0,+t,+i,+n)}function tQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(6,e|0,+t,+i,+n)}function iQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(7,e|0,+t,+i,+n)}function nQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(8,e|0,+t,+i,+n)}function _Qe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(9,e|0,+t,+i,+n)}function rQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(10,e|0,+t,+i,+n)}function oQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(11,e|0,+t,+i,+n)}function sQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(12,e|0,+t,+i,+n)}function aQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(13,e|0,+t,+i,+n)}function pQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(14,e|0,+t,+i,+n)}function lQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(15,e|0,+t,+i,+n)}function dQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(16,e|0,+t,+i,+n)}function cQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(17,e|0,+t,+i,+n)}function bQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(18,e|0,+t,+i,+n)}function uQe(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;pe(19,e|0,+t,+i,+n)}function mQe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;M_t[e&127](t|0,i|0,n|0,_|0,r|0,o|0)}function hQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(0,e|0,t|0,i|0,n|0,_|0,r|0)}function fQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(1,e|0,t|0,i|0,n|0,_|0,r|0)}function gQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(2,e|0,t|0,i|0,n|0,_|0,r|0)}function CQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(3,e|0,t|0,i|0,n|0,_|0,r|0)}function SQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(4,e|0,t|0,i|0,n|0,_|0,r|0)}function yQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(5,e|0,t|0,i|0,n|0,_|0,r|0)}function vQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(6,e|0,t|0,i|0,n|0,_|0,r|0)}function xQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(7,e|0,t|0,i|0,n|0,_|0,r|0)}function MQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(8,e|0,t|0,i|0,n|0,_|0,r|0)}function TQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(9,e|0,t|0,i|0,n|0,_|0,r|0)}function DQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(10,e|0,t|0,i|0,n|0,_|0,r|0)}function PQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(11,e|0,t|0,i|0,n|0,_|0,r|0)}function wQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(12,e|0,t|0,i|0,n|0,_|0,r|0)}function AQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(13,e|0,t|0,i|0,n|0,_|0,r|0)}function FQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(14,e|0,t|0,i|0,n|0,_|0,r|0)}function RQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(15,e|0,t|0,i|0,n|0,_|0,r|0)}function IQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(16,e|0,t|0,i|0,n|0,_|0,r|0)}function BQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(17,e|0,t|0,i|0,n|0,_|0,r|0)}function VQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(18,e|0,t|0,i|0,n|0,_|0,r|0)}function EQe(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;pe(19,e|0,t|0,i|0,n|0,_|0,r|0)}function NQe(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;return+T_t[e&63](t|0,i|0,+n,+_)}function kQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(0,e|0,t|0,+i,+n)}function OQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(1,e|0,t|0,+i,+n)}function LQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(2,e|0,t|0,+i,+n)}function UQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(3,e|0,t|0,+i,+n)}function GQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(4,e|0,t|0,+i,+n)}function WQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(5,e|0,t|0,+i,+n)}function zQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(6,e|0,t|0,+i,+n)}function HQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(7,e|0,t|0,+i,+n)}function jQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(8,e|0,t|0,+i,+n)}function XQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(9,e|0,t|0,+i,+n)}function ZQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(10,e|0,t|0,+i,+n)}function QQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(11,e|0,t|0,+i,+n)}function qQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(12,e|0,t|0,+i,+n)}function YQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(13,e|0,t|0,+i,+n)}function JQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(14,e|0,t|0,+i,+n)}function KQe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(15,e|0,t|0,+i,+n)}function $Qe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(16,e|0,t|0,+i,+n)}function eqe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(17,e|0,t|0,+i,+n)}function tqe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(18,e|0,t|0,+i,+n)}function iqe(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return+pe(19,e|0,t|0,+i,+n)}function nqe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return D_t[e&127](t|0,i|0,+n)|0}function _qe(e,t,i){e=e|0;t=t|0;i=+i;return pe(0,e|0,t|0,+i)|0}function rqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(1,e|0,t|0,+i)|0}function oqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(2,e|0,t|0,+i)|0}function sqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(3,e|0,t|0,+i)|0}function aqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(4,e|0,t|0,+i)|0}function pqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(5,e|0,t|0,+i)|0}function lqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(6,e|0,t|0,+i)|0}function dqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(7,e|0,t|0,+i)|0}function cqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(8,e|0,t|0,+i)|0}function bqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(9,e|0,t|0,+i)|0}function uqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(10,e|0,t|0,+i)|0}function mqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(11,e|0,t|0,+i)|0}function hqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(12,e|0,t|0,+i)|0}function fqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(13,e|0,t|0,+i)|0}function gqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(14,e|0,t|0,+i)|0}function Cqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(15,e|0,t|0,+i)|0}function Sqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(16,e|0,t|0,+i)|0}function yqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(17,e|0,t|0,+i)|0}function vqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(18,e|0,t|0,+i)|0}function xqe(e,t,i){e=e|0;t=t|0;i=+i;return pe(19,e|0,t|0,+i)|0}function Mqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return P_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function Tqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Dqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Pqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function wqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Aqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Fqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Rqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Iqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Bqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Vqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Eqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Nqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function kqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Oqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Lqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Uqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Gqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Wqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function zqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function Hqe(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0)|0}function jqe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;w_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function Xqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Zqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Qqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function qqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Yqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Jqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Kqe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function $qe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function eYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function tYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function iYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function nYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function _Ye(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function rYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function oYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function sYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function aYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function pYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function lYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function dYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function cYe(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;A_t[e&63](t|0,+i,+n,+_,+r,+o,+s)}function bYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(0,e|0,+t,+i,+n,+_,+r,+o)}function uYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(1,e|0,+t,+i,+n,+_,+r,+o)}function mYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(2,e|0,+t,+i,+n,+_,+r,+o)}function hYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(3,e|0,+t,+i,+n,+_,+r,+o)}function fYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(4,e|0,+t,+i,+n,+_,+r,+o)}function gYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(5,e|0,+t,+i,+n,+_,+r,+o)}function CYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(6,e|0,+t,+i,+n,+_,+r,+o)}function SYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(7,e|0,+t,+i,+n,+_,+r,+o)}function yYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(8,e|0,+t,+i,+n,+_,+r,+o)}function vYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(9,e|0,+t,+i,+n,+_,+r,+o)}function xYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(10,e|0,+t,+i,+n,+_,+r,+o)}function MYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(11,e|0,+t,+i,+n,+_,+r,+o)}function TYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(12,e|0,+t,+i,+n,+_,+r,+o)}function DYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(13,e|0,+t,+i,+n,+_,+r,+o)}function PYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(14,e|0,+t,+i,+n,+_,+r,+o)}function wYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(15,e|0,+t,+i,+n,+_,+r,+o)}function AYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(16,e|0,+t,+i,+n,+_,+r,+o)}function FYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(17,e|0,+t,+i,+n,+_,+r,+o)}function RYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(18,e|0,+t,+i,+n,+_,+r,+o)}function IYe(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;pe(19,e|0,+t,+i,+n,+_,+r,+o)}function BYe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return+F_t[e&127](t|0,i|0,n|0)}function VYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(0,e|0,t|0,i|0)}function EYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(1,e|0,t|0,i|0)}function NYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(2,e|0,t|0,i|0)}function kYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(3,e|0,t|0,i|0)}function OYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(4,e|0,t|0,i|0)}function LYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(5,e|0,t|0,i|0)}function UYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(6,e|0,t|0,i|0)}function GYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(7,e|0,t|0,i|0)}function WYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(8,e|0,t|0,i|0)}function zYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(9,e|0,t|0,i|0)}function HYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(10,e|0,t|0,i|0)}function jYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(11,e|0,t|0,i|0)}function XYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(12,e|0,t|0,i|0)}function ZYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(13,e|0,t|0,i|0)}function QYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(14,e|0,t|0,i|0)}function qYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(15,e|0,t|0,i|0)}function YYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(16,e|0,t|0,i|0)}function JYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(17,e|0,t|0,i|0)}function KYe(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(18,e|0,t|0,i|0)}function $Ye(e,t,i){e=e|0;t=t|0;i=i|0;return+pe(19,e|0,t|0,i|0)}function eJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return R_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)|0}function tJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function iJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function nJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function _Je(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function rJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function oJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function sJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function aJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function pJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function lJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function dJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function cJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function bJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function uJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function mJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function hJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function fJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function gJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function CJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function SJe(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function yJe(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return+I_t[e&63](t|0,i|0,+n)}function vJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(0,e|0,t|0,+i)}function xJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(1,e|0,t|0,+i)}function MJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(2,e|0,t|0,+i)}function TJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(3,e|0,t|0,+i)}function DJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(4,e|0,t|0,+i)}function PJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(5,e|0,t|0,+i)}function wJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(6,e|0,t|0,+i)}function AJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(7,e|0,t|0,+i)}function FJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(8,e|0,t|0,+i)}function RJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(9,e|0,t|0,+i)}function IJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(10,e|0,t|0,+i)}function BJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(11,e|0,t|0,+i)}function VJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(12,e|0,t|0,+i)}function EJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(13,e|0,t|0,+i)}function NJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(14,e|0,t|0,+i)}function kJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(15,e|0,t|0,+i)}function OJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(16,e|0,t|0,+i)}function LJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(17,e|0,t|0,+i)}function UJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(18,e|0,t|0,+i)}function GJe(e,t,i){e=e|0;t=t|0;i=+i;return+pe(19,e|0,t|0,+i)}function WJe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+B_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function zJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function HJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function jJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function XJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function ZJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function QJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function qJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function YJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function JJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function KJe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function $Je(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function eKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function tKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function iKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function nKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function _Ke(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function rKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function oKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function sKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function aKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function pKe(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;return V_t[e&63](+t,i|0,n|0)|0}function lKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(0,+e,t|0,i|0)|0}function dKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(1,+e,t|0,i|0)|0}function cKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(2,+e,t|0,i|0)|0}function bKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(3,+e,t|0,i|0)|0}function uKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(4,+e,t|0,i|0)|0}function mKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(5,+e,t|0,i|0)|0}function hKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(6,+e,t|0,i|0)|0}function fKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(7,+e,t|0,i|0)|0}function gKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(8,+e,t|0,i|0)|0}function CKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(9,+e,t|0,i|0)|0}function SKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(10,+e,t|0,i|0)|0}function yKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(11,+e,t|0,i|0)|0}function vKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(12,+e,t|0,i|0)|0}function xKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(13,+e,t|0,i|0)|0}function MKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(14,+e,t|0,i|0)|0}function TKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(15,+e,t|0,i|0)|0}function DKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(16,+e,t|0,i|0)|0}function PKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(17,+e,t|0,i|0)|0}function wKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(18,+e,t|0,i|0)|0}function AKe(e,t,i){e=+e;t=t|0;i=i|0;return pe(19,+e,t|0,i|0)|0}function FKe(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=+i;n=+n;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;return+E_t[e&63](t|0,+i,+n,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function RKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(0,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function IKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(1,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function BKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(2,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function VKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(3,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function EKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(4,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function NKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(5,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function kKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(6,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function OKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(7,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function LKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(8,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function UKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(9,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function GKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(10,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function WKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(11,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function zKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(12,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function HKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(13,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function jKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(14,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function XKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(15,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function ZKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(16,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function QKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(17,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function qKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(18,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function YKe(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;return+pe(19,e|0,+t,+i,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function JKe(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;return N_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0,c|0)|0}function KKe(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function $Ke(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function e$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function t$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function i$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function n$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function _$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function r$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function o$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function s$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function a$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function p$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function l$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function d$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function c$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function b$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function u$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function m$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function h$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function f$e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0,d|0)|0}function g$e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return+k_t[e&127](t|0,i|0,n|0,_|0,r|0)}function C$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(0,e|0,t|0,i|0,n|0,_|0)}function S$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(1,e|0,t|0,i|0,n|0,_|0)}function y$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(2,e|0,t|0,i|0,n|0,_|0)}function v$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(3,e|0,t|0,i|0,n|0,_|0)}function x$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(4,e|0,t|0,i|0,n|0,_|0)}function M$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(5,e|0,t|0,i|0,n|0,_|0)}function T$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(6,e|0,t|0,i|0,n|0,_|0)}function D$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(7,e|0,t|0,i|0,n|0,_|0)}function P$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(8,e|0,t|0,i|0,n|0,_|0)}function w$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(9,e|0,t|0,i|0,n|0,_|0)}function A$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(10,e|0,t|0,i|0,n|0,_|0)}function F$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(11,e|0,t|0,i|0,n|0,_|0)}function R$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(12,e|0,t|0,i|0,n|0,_|0)}function I$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(13,e|0,t|0,i|0,n|0,_|0)}function B$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(14,e|0,t|0,i|0,n|0,_|0)}function V$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(15,e|0,t|0,i|0,n|0,_|0)}function E$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(16,e|0,t|0,i|0,n|0,_|0)}function N$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(17,e|0,t|0,i|0,n|0,_|0)}function k$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(18,e|0,t|0,i|0,n|0,_|0)}function O$e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return+pe(19,e|0,t|0,i|0,n|0,_|0)}function L$e(e,t,i){e=e|0;t=t|0;i=+i;return O_t[e&127](t|0,+i)|0}function U$e(e,t){e=e|0;t=+t;return pe(0,e|0,+t)|0}function G$e(e,t){e=e|0;t=+t;return pe(1,e|0,+t)|0}function W$e(e,t){e=e|0;t=+t;return pe(2,e|0,+t)|0}function z$e(e,t){e=e|0;t=+t;return pe(3,e|0,+t)|0}function H$e(e,t){e=e|0;t=+t;return pe(4,e|0,+t)|0}function j$e(e,t){e=e|0;t=+t;return pe(5,e|0,+t)|0}function X$e(e,t){e=e|0;t=+t;return pe(6,e|0,+t)|0}function Z$e(e,t){e=e|0;t=+t;return pe(7,e|0,+t)|0}function Q$e(e,t){e=e|0;t=+t;return pe(8,e|0,+t)|0}function q$e(e,t){e=e|0;t=+t;return pe(9,e|0,+t)|0}function Y$e(e,t){e=e|0;t=+t;return pe(10,e|0,+t)|0}function J$e(e,t){e=e|0;t=+t;return pe(11,e|0,+t)|0}function K$e(e,t){e=e|0;t=+t;return pe(12,e|0,+t)|0}function $$e(e,t){e=e|0;t=+t;return pe(13,e|0,+t)|0}function e0e(e,t){e=e|0;t=+t;return pe(14,e|0,+t)|0}function t0e(e,t){e=e|0;t=+t;return pe(15,e|0,+t)|0}function i0e(e,t){e=e|0;t=+t;return pe(16,e|0,+t)|0}function n0e(e,t){e=e|0;t=+t;return pe(17,e|0,+t)|0}function _0e(e,t){e=e|0;t=+t;return pe(18,e|0,+t)|0}function r0e(e,t){e=e|0;t=+t;return pe(19,e|0,+t)|0}function o0e(e,t){e=e|0;t=+t;return L_t[e&63](+t)|0}function s0e(e){e=+e;return pe(0,+e)|0}function a0e(e){e=+e;return pe(1,+e)|0}function p0e(e){e=+e;return pe(2,+e)|0}function l0e(e){e=+e;return pe(3,+e)|0}function d0e(e){e=+e;return pe(4,+e)|0}function c0e(e){e=+e;return pe(5,+e)|0}function b0e(e){e=+e;return pe(6,+e)|0}function u0e(e){e=+e;return pe(7,+e)|0}function m0e(e){e=+e;return pe(8,+e)|0}function h0e(e){e=+e;return pe(9,+e)|0}function f0e(e){e=+e;return pe(10,+e)|0}function g0e(e){e=+e;return pe(11,+e)|0}function C0e(e){e=+e;return pe(12,+e)|0}function S0e(e){e=+e;return pe(13,+e)|0}function y0e(e){e=+e;return pe(14,+e)|0}function v0e(e){e=+e;return pe(15,+e)|0}function x0e(e){e=+e;return pe(16,+e)|0}function M0e(e){e=+e;return pe(17,+e)|0}function T0e(e){e=+e;return pe(18,+e)|0}function D0e(e){e=+e;return pe(19,+e)|0}function P0e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=+i;n=+n;_=+_;r=+r;o=+o;U_t[e&63](t|0,+i,+n,+_,+r,+o)}function w0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(0,e|0,+t,+i,+n,+_,+r)}function A0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(1,e|0,+t,+i,+n,+_,+r)}function F0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(2,e|0,+t,+i,+n,+_,+r)}function R0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(3,e|0,+t,+i,+n,+_,+r)}function I0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(4,e|0,+t,+i,+n,+_,+r)}function B0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(5,e|0,+t,+i,+n,+_,+r)}function V0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(6,e|0,+t,+i,+n,+_,+r)}function E0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(7,e|0,+t,+i,+n,+_,+r)}function N0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(8,e|0,+t,+i,+n,+_,+r)}function k0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(9,e|0,+t,+i,+n,+_,+r)}function O0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(10,e|0,+t,+i,+n,+_,+r)}function L0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(11,e|0,+t,+i,+n,+_,+r)}function U0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(12,e|0,+t,+i,+n,+_,+r)}function G0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(13,e|0,+t,+i,+n,+_,+r)}function W0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(14,e|0,+t,+i,+n,+_,+r)}function z0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(15,e|0,+t,+i,+n,+_,+r)}function H0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(16,e|0,+t,+i,+n,+_,+r)}function j0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(17,e|0,+t,+i,+n,+_,+r)}function X0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(18,e|0,+t,+i,+n,+_,+r)}function Z0e(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;pe(19,e|0,+t,+i,+n,+_,+r)}function Q0e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=+p;G_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,+p)}function q0e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function Y0e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function J0e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function K0e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function $0e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function e2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function t2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function i2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function n2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function _2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function r2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function o2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function s2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function a2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function p2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function l2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function d2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function c2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function b2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function u2e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function m2e(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;W_t[e&63](t|0,+i,n|0,_|0)}function h2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(0,e|0,+t,i|0,n|0)}function f2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(1,e|0,+t,i|0,n|0)}function g2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(2,e|0,+t,i|0,n|0)}function C2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(3,e|0,+t,i|0,n|0)}function S2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(4,e|0,+t,i|0,n|0)}function y2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(5,e|0,+t,i|0,n|0)}function v2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(6,e|0,+t,i|0,n|0)}function x2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(7,e|0,+t,i|0,n|0)}function M2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(8,e|0,+t,i|0,n|0)}function T2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(9,e|0,+t,i|0,n|0)}function D2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(10,e|0,+t,i|0,n|0)}function P2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(11,e|0,+t,i|0,n|0)}function w2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(12,e|0,+t,i|0,n|0)}function A2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(13,e|0,+t,i|0,n|0)}function F2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(14,e|0,+t,i|0,n|0)}function R2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(15,e|0,+t,i|0,n|0)}function I2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(16,e|0,+t,i|0,n|0)}function B2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(17,e|0,+t,i|0,n|0)}function V2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(18,e|0,+t,i|0,n|0)}function E2e(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;pe(19,e|0,+t,i|0,n|0)}function N2e(e,t){e=e|0;t=t|0;return+z_t[e&1023](t|0)}function k2e(e){e=e|0;return+pe(0,e|0)}function O2e(e){e=e|0;return+pe(1,e|0)}function L2e(e){e=e|0;return+pe(2,e|0)}function U2e(e){e=e|0;return+pe(3,e|0)}function G2e(e){e=e|0;return+pe(4,e|0)}function W2e(e){e=e|0;return+pe(5,e|0)}function z2e(e){e=e|0;return+pe(6,e|0)}function H2e(e){e=e|0;return+pe(7,e|0)}function j2e(e){e=e|0;return+pe(8,e|0)}function X2e(e){e=e|0;return+pe(9,e|0)}function Z2e(e){e=e|0;return+pe(10,e|0)}function Q2e(e){e=e|0;return+pe(11,e|0)}function q2e(e){e=e|0;return+pe(12,e|0)}function Y2e(e){e=e|0;return+pe(13,e|0)}function J2e(e){e=e|0;return+pe(14,e|0)}function K2e(e){e=e|0;return+pe(15,e|0)}function $2e(e){e=e|0;return+pe(16,e|0)}function e1e(e){e=e|0;return+pe(17,e|0)}function t1e(e){e=e|0;return+pe(18,e|0)}function i1e(e){e=e|0;return+pe(19,e|0)}function n1e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;H_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0,l|0)}function _1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function r1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function o1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function s1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function a1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function p1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function l1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function d1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function c1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function b1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function u1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function m1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function h1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function f1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function g1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function C1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function S1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function y1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function v1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function x1e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0,p|0)}function M1e(e,t,i){e=e|0;t=t|0;i=i|0;return j_t[e&511](t|0,i|0)|0}function T1e(e,t){e=e|0;t=t|0;return pe(0,e|0,t|0)|0}function D1e(e,t){e=e|0;t=t|0;return pe(1,e|0,t|0)|0}function P1e(e,t){e=e|0;t=t|0;return pe(2,e|0,t|0)|0}function w1e(e,t){e=e|0;t=t|0;return pe(3,e|0,t|0)|0}function A1e(e,t){e=e|0;t=t|0;return pe(4,e|0,t|0)|0}function F1e(e,t){e=e|0;t=t|0;return pe(5,e|0,t|0)|0}function R1e(e,t){e=e|0;t=t|0;return pe(6,e|0,t|0)|0}function I1e(e,t){e=e|0;t=t|0;return pe(7,e|0,t|0)|0}function B1e(e,t){e=e|0;t=t|0;return pe(8,e|0,t|0)|0}function V1e(e,t){e=e|0;t=t|0;return pe(9,e|0,t|0)|0}function E1e(e,t){e=e|0;t=t|0;return pe(10,e|0,t|0)|0}function N1e(e,t){e=e|0;t=t|0;return pe(11,e|0,t|0)|0}function k1e(e,t){e=e|0;t=t|0;return pe(12,e|0,t|0)|0}function O1e(e,t){e=e|0;t=t|0;return pe(13,e|0,t|0)|0}function L1e(e,t){e=e|0;t=t|0;return pe(14,e|0,t|0)|0}function U1e(e,t){e=e|0;t=t|0;return pe(15,e|0,t|0)|0}function G1e(e,t){e=e|0;t=t|0;return pe(16,e|0,t|0)|0}function W1e(e,t){e=e|0;t=t|0;return pe(17,e|0,t|0)|0}function z1e(e,t){e=e|0;t=t|0;return pe(18,e|0,t|0)|0}function H1e(e,t){e=e|0;t=t|0;return pe(19,e|0,t|0)|0}function j1e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return X_t[e&63](t|0,i|0,n|0,_|0,r|0)|0}function X1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(0,e|0,t|0,i|0,n|0,_|0)|0}function Z1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(1,e|0,t|0,i|0,n|0,_|0)|0}function Q1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(2,e|0,t|0,i|0,n|0,_|0)|0}function q1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(3,e|0,t|0,i|0,n|0,_|0)|0}function Y1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(4,e|0,t|0,i|0,n|0,_|0)|0}function J1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(5,e|0,t|0,i|0,n|0,_|0)|0}function K1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(6,e|0,t|0,i|0,n|0,_|0)|0}function $1e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(7,e|0,t|0,i|0,n|0,_|0)|0}function e4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(8,e|0,t|0,i|0,n|0,_|0)|0}function t4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(9,e|0,t|0,i|0,n|0,_|0)|0}function i4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(10,e|0,t|0,i|0,n|0,_|0)|0}function n4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(11,e|0,t|0,i|0,n|0,_|0)|0}function _4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(12,e|0,t|0,i|0,n|0,_|0)|0}function r4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(13,e|0,t|0,i|0,n|0,_|0)|0}function o4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(14,e|0,t|0,i|0,n|0,_|0)|0}function s4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(15,e|0,t|0,i|0,n|0,_|0)|0}function a4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(16,e|0,t|0,i|0,n|0,_|0)|0}function p4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(17,e|0,t|0,i|0,n|0,_|0)|0}function l4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(18,e|0,t|0,i|0,n|0,_|0)|0}function d4e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return pe(19,e|0,t|0,i|0,n|0,_|0)|0}function c4e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;return Z_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0)|0}function b4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0)|0}function u4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0)|0}function m4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0)|0}function h4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0)|0}function f4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0)|0}function g4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0)|0}function C4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0)|0}function S4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0)|0}function y4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0)|0}function v4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0)|0}function x4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0)|0}function M4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0)|0}function T4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0)|0}function D4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0)|0}function P4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0)|0}function w4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0)|0}function A4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0)|0}function F4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0)|0}function R4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0)|0}function I4e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0)|0}function B4e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;Q_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,+a)}function V4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function E4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function N4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function k4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function O4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function L4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function U4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function G4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function W4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function z4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function H4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function j4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function X4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function Z4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function Q4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function q4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function Y4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function J4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function K4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function $4e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,+s)}function e3e(e,t,i){e=e|0;t=t|0;i=i|0;return+q_t[e&127](t|0,i|0)}function t3e(e,t){e=e|0;t=t|0;return+pe(0,e|0,t|0)}function i3e(e,t){e=e|0;t=t|0;return+pe(1,e|0,t|0)}function n3e(e,t){e=e|0;t=t|0;return+pe(2,e|0,t|0)}function _3e(e,t){e=e|0;t=t|0;return+pe(3,e|0,t|0)}function r3e(e,t){e=e|0;t=t|0;return+pe(4,e|0,t|0)}function o3e(e,t){e=e|0;t=t|0;return+pe(5,e|0,t|0)}function s3e(e,t){e=e|0;t=t|0;return+pe(6,e|0,t|0)}function a3e(e,t){e=e|0;t=t|0;return+pe(7,e|0,t|0)}function p3e(e,t){e=e|0;t=t|0;return+pe(8,e|0,t|0)}function l3e(e,t){e=e|0;t=t|0;return+pe(9,e|0,t|0)}function d3e(e,t){e=e|0;t=t|0;return+pe(10,e|0,t|0)}function c3e(e,t){e=e|0;t=t|0;return+pe(11,e|0,t|0)}function b3e(e,t){e=e|0;t=t|0;return+pe(12,e|0,t|0)}function u3e(e,t){e=e|0;t=t|0;return+pe(13,e|0,t|0)}function m3e(e,t){e=e|0;t=t|0;return+pe(14,e|0,t|0)}function h3e(e,t){e=e|0;t=t|0;return+pe(15,e|0,t|0)}function f3e(e,t){e=e|0;t=t|0;return+pe(16,e|0,t|0)}function g3e(e,t){e=e|0;t=t|0;return+pe(17,e|0,t|0)}function C3e(e,t){e=e|0;t=t|0;return+pe(18,e|0,t|0)}function S3e(e,t){e=e|0;t=t|0;return+pe(19,e|0,t|0)}function y3e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;l=+l;Y_t[e&63](t|0,+i,+n,+_,+r,+o,+s,+a,+p,+l)}function v3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(0,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function x3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(1,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function M3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(2,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function T3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(3,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function D3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(4,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function P3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(5,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function w3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(6,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function A3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(7,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function F3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(8,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function R3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(9,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function I3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(10,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function B3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(11,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function V3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(12,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function E3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(13,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function N3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(14,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function k3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(15,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function O3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(16,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function L3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(17,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function U3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(18,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function G3e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;pe(19,e|0,+t,+i,+n,+_,+r,+o,+s,+a,+p)}function W3e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return+J_t[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)}function z3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function H3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function j3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function X3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Z3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Q3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function q3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function Y3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function J3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function K3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function $3e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function e8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function t8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function i8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function n8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function _8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function r8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function o8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function s8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function a8e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return+pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)}function p8e(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=+_;return K_t[e&63](t|0,+i,n|0,+_)|0}function l8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(0,e|0,+t,i|0,+n)|0}function d8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(1,e|0,+t,i|0,+n)|0}function c8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(2,e|0,+t,i|0,+n)|0}function b8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(3,e|0,+t,i|0,+n)|0}function u8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(4,e|0,+t,i|0,+n)|0}function m8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(5,e|0,+t,i|0,+n)|0}function h8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(6,e|0,+t,i|0,+n)|0}function f8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(7,e|0,+t,i|0,+n)|0}function g8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(8,e|0,+t,i|0,+n)|0}function C8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(9,e|0,+t,i|0,+n)|0}function S8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(10,e|0,+t,i|0,+n)|0}function y8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(11,e|0,+t,i|0,+n)|0}function v8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(12,e|0,+t,i|0,+n)|0}function x8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(13,e|0,+t,i|0,+n)|0}function M8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(14,e|0,+t,i|0,+n)|0}function T8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(15,e|0,+t,i|0,+n)|0}function D8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(16,e|0,+t,i|0,+n)|0}function P8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(17,e|0,+t,i|0,+n)|0}function w8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(18,e|0,+t,i|0,+n)|0}function A8e(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;return pe(19,e|0,+t,i|0,+n)|0}function F8e(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;return $_t[e&63](+t,+i,+n,+_)|0}function R8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(0,+e,+t,+i,+n)|0}function I8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(1,+e,+t,+i,+n)|0}function B8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(2,+e,+t,+i,+n)|0}function V8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(3,+e,+t,+i,+n)|0}function E8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(4,+e,+t,+i,+n)|0}function N8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(5,+e,+t,+i,+n)|0}function k8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(6,+e,+t,+i,+n)|0}function O8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(7,+e,+t,+i,+n)|0}function L8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(8,+e,+t,+i,+n)|0}function U8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(9,+e,+t,+i,+n)|0}function G8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(10,+e,+t,+i,+n)|0}function W8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(11,+e,+t,+i,+n)|0}function z8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(12,+e,+t,+i,+n)|0}function H8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(13,+e,+t,+i,+n)|0}function j8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(14,+e,+t,+i,+n)|0}function X8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(15,+e,+t,+i,+n)|0}function Z8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(16,+e,+t,+i,+n)|0}function Q8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(17,+e,+t,+i,+n)|0}function q8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(18,+e,+t,+i,+n)|0}function Y8e(e,t,i,n){e=+e;t=+t;i=+i;n=+n;return pe(19,+e,+t,+i,+n)|0}function J8e(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;o=+o;s=+s;a=+a;p=p|0;l=l|0;d=+d;ert[e&63](t|0,i|0,n|0,_|0,+r,+o,+s,+a,p|0,l|0,+d)}function K8e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(0,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function $8e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(1,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function e6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(2,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function t6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(3,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function i6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(4,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function n6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(5,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function _6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(6,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function r6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(7,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function o6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(8,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function s6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(9,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function a6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(10,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function p6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(11,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function l6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(12,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function d6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(13,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function c6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(14,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function b6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(15,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function u6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(16,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function m6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(17,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function h6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(18,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function f6e(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;pe(19,e|0,t|0,i|0,n|0,+_,+r,+o,+s,a|0,p|0,+l)}function g6e(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;return trt[e&63](t|0,i|0,n|0,_|0,+r)|0}function C6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(0,e|0,t|0,i|0,n|0,+_)|0}function S6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(1,e|0,t|0,i|0,n|0,+_)|0}function y6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(2,e|0,t|0,i|0,n|0,+_)|0}function v6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(3,e|0,t|0,i|0,n|0,+_)|0}function x6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(4,e|0,t|0,i|0,n|0,+_)|0}function M6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(5,e|0,t|0,i|0,n|0,+_)|0}function T6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(6,e|0,t|0,i|0,n|0,+_)|0}function D6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(7,e|0,t|0,i|0,n|0,+_)|0}function P6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(8,e|0,t|0,i|0,n|0,+_)|0}function w6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(9,e|0,t|0,i|0,n|0,+_)|0}function A6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(10,e|0,t|0,i|0,n|0,+_)|0}function F6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(11,e|0,t|0,i|0,n|0,+_)|0}function R6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(12,e|0,t|0,i|0,n|0,+_)|0}function I6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(13,e|0,t|0,i|0,n|0,+_)|0}function B6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(14,e|0,t|0,i|0,n|0,+_)|0}function V6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(15,e|0,t|0,i|0,n|0,+_)|0}function E6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(16,e|0,t|0,i|0,n|0,+_)|0}function N6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(17,e|0,t|0,i|0,n|0,+_)|0}function k6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(18,e|0,t|0,i|0,n|0,+_)|0}function O6e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return pe(19,e|0,t|0,i|0,n|0,+_)|0}function L6e(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;return irt[e&63](t|0,+i,+n)|0}function U6e(e,t,i){e=e|0;t=+t;i=+i;return pe(0,e|0,+t,+i)|0}function G6e(e,t,i){e=e|0;t=+t;i=+i;return pe(1,e|0,+t,+i)|0}function W6e(e,t,i){e=e|0;t=+t;i=+i;return pe(2,e|0,+t,+i)|0}function z6e(e,t,i){e=e|0;t=+t;i=+i;return pe(3,e|0,+t,+i)|0}function H6e(e,t,i){e=e|0;t=+t;i=+i;return pe(4,e|0,+t,+i)|0}function j6e(e,t,i){e=e|0;t=+t;i=+i;return pe(5,e|0,+t,+i)|0}function X6e(e,t,i){e=e|0;t=+t;i=+i;return pe(6,e|0,+t,+i)|0}function Z6e(e,t,i){e=e|0;t=+t;i=+i;return pe(7,e|0,+t,+i)|0}function Q6e(e,t,i){e=e|0;t=+t;i=+i;return pe(8,e|0,+t,+i)|0}function q6e(e,t,i){e=e|0;t=+t;i=+i;return pe(9,e|0,+t,+i)|0}function Y6e(e,t,i){e=e|0;t=+t;i=+i;return pe(10,e|0,+t,+i)|0}function J6e(e,t,i){e=e|0;t=+t;i=+i;return pe(11,e|0,+t,+i)|0}function K6e(e,t,i){e=e|0;t=+t;i=+i;return pe(12,e|0,+t,+i)|0}function $6e(e,t,i){e=e|0;t=+t;i=+i;return pe(13,e|0,+t,+i)|0}function e9e(e,t,i){e=e|0;t=+t;i=+i;return pe(14,e|0,+t,+i)|0}function t9e(e,t,i){e=e|0;t=+t;i=+i;return pe(15,e|0,+t,+i)|0}function i9e(e,t,i){e=e|0;t=+t;i=+i;return pe(16,e|0,+t,+i)|0}function n9e(e,t,i){e=e|0;t=+t;i=+i;return pe(17,e|0,+t,+i)|0}function _9e(e,t,i){e=e|0;t=+t;i=+i;return pe(18,e|0,+t,+i)|0}function r9e(e,t,i){e=e|0;t=+t;i=+i;return pe(19,e|0,+t,+i)|0}function o9e(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;nrt[e&127](t|0,i|0,n|0,+_)}function s9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(0,e|0,t|0,i|0,+n)}function a9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(1,e|0,t|0,i|0,+n)}function p9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(2,e|0,t|0,i|0,+n)}function l9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(3,e|0,t|0,i|0,+n)}function d9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(4,e|0,t|0,i|0,+n)}function c9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(5,e|0,t|0,i|0,+n)}function b9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(6,e|0,t|0,i|0,+n)}function u9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(7,e|0,t|0,i|0,+n)}function m9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(8,e|0,t|0,i|0,+n)}function h9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(9,e|0,t|0,i|0,+n)}function f9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(10,e|0,t|0,i|0,+n)}function g9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(11,e|0,t|0,i|0,+n)}function C9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(12,e|0,t|0,i|0,+n)}function S9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(13,e|0,t|0,i|0,+n)}function y9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(14,e|0,t|0,i|0,+n)}function v9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(15,e|0,t|0,i|0,+n)}function x9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(16,e|0,t|0,i|0,+n)}function M9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(17,e|0,t|0,i|0,+n)}function T9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(18,e|0,t|0,i|0,+n)}function D9e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;pe(19,e|0,t|0,i|0,+n)}function P9e(e){e=e|0;return _rt[e&255]()|0}function w9e(){return pe(0)|0}function A9e(){return pe(1)|0}function F9e(){return pe(2)|0}function R9e(){return pe(3)|0}function I9e(){return pe(4)|0}function B9e(){return pe(5)|0}function V9e(){return pe(6)|0}function E9e(){return pe(7)|0}function N9e(){return pe(8)|0}function k9e(){return pe(9)|0}function O9e(){return pe(10)|0}function L9e(){return pe(11)|0}function U9e(){return pe(12)|0}function G9e(){return pe(13)|0}function W9e(){return pe(14)|0}function z9e(){return pe(15)|0}function H9e(){return pe(16)|0}function j9e(){return pe(17)|0}function X9e(){return pe(18)|0}function Z9e(){return pe(19)|0}function Q9e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;o=o|0;s=s|0;rrt[e&127](t|0,i|0,n|0,_|0,+r,o|0,s|0)}function q9e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(0,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function Y9e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(1,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function J9e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(2,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function K9e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(3,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function $9e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(4,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function e5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(5,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function t5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(6,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function i5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(7,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function n5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(8,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function _5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(9,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function r5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(10,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function o5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(11,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function s5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(12,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function a5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(13,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function p5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(14,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function l5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(15,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function d5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(16,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function c5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(17,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function b5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(18,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function u5e(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;pe(19,e|0,t|0,i|0,n|0,+_,r|0,o|0)}function m5e(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=s|0;a=a|0;p=p|0;return ort[e&63](t|0,i|0,n|0,+_,+r,+o,s|0,a|0,p|0)|0}function h5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(0,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function f5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(1,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function g5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(2,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function C5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(3,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function S5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(4,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function y5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(5,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function v5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(6,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function x5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(7,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function M5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(8,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function T5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(9,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function D5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(10,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function P5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(11,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function w5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(12,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function A5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(13,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function F5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(14,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function R5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(15,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function I5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(16,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function B5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(17,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function V5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(18,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function E5e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;return pe(19,e|0,t|0,i|0,+n,+_,+r,o|0,s|0,a|0)|0}function N5e(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;srt[e&511](t|0,i|0,n|0)}function k5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(0,e|0,t|0,i|0)}function O5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(1,e|0,t|0,i|0)}function L5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(2,e|0,t|0,i|0)}function U5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(3,e|0,t|0,i|0)}function G5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(4,e|0,t|0,i|0)}function W5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(5,e|0,t|0,i|0)}function z5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(6,e|0,t|0,i|0)}function H5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(7,e|0,t|0,i|0)}function j5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(8,e|0,t|0,i|0)}function X5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(9,e|0,t|0,i|0)}function Z5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(10,e|0,t|0,i|0)}function Q5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(11,e|0,t|0,i|0)}function q5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(12,e|0,t|0,i|0)}function Y5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(13,e|0,t|0,i|0)}function J5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(14,e|0,t|0,i|0)}function K5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(15,e|0,t|0,i|0)}function $5e(e,t,i){e=e|0;t=t|0;i=i|0;pe(16,e|0,t|0,i|0)}function e7e(e,t,i){e=e|0;t=t|0;i=i|0;pe(17,e|0,t|0,i|0)}function t7e(e,t,i){e=e|0;t=t|0;i=i|0;pe(18,e|0,t|0,i|0)}function i7e(e,t,i){e=e|0;t=t|0;i=i|0;pe(19,e|0,t|0,i|0)}function n7e(e,t,i){e=e|0;t=+t;i=+i;return art[e&63](+t,+i)|0}function _7e(e,t){e=+e;t=+t;return pe(0,+e,+t)|0}function r7e(e,t){e=+e;t=+t;return pe(1,+e,+t)|0}function o7e(e,t){e=+e;t=+t;return pe(2,+e,+t)|0}function s7e(e,t){e=+e;t=+t;return pe(3,+e,+t)|0}function a7e(e,t){e=+e;t=+t;return pe(4,+e,+t)|0}function p7e(e,t){e=+e;t=+t;return pe(5,+e,+t)|0}function l7e(e,t){e=+e;t=+t;return pe(6,+e,+t)|0}function d7e(e,t){e=+e;t=+t;return pe(7,+e,+t)|0}function c7e(e,t){e=+e;t=+t;return pe(8,+e,+t)|0}function b7e(e,t){e=+e;t=+t;return pe(9,+e,+t)|0}function u7e(e,t){e=+e;t=+t;return pe(10,+e,+t)|0}function m7e(e,t){e=+e;t=+t;return pe(11,+e,+t)|0}function h7e(e,t){e=+e;t=+t;return pe(12,+e,+t)|0}function f7e(e,t){e=+e;t=+t;return pe(13,+e,+t)|0}function g7e(e,t){e=+e;t=+t;return pe(14,+e,+t)|0}function C7e(e,t){e=+e;t=+t;return pe(15,+e,+t)|0}function S7e(e,t){e=+e;t=+t;return pe(16,+e,+t)|0}function y7e(e,t){e=+e;t=+t;return pe(17,+e,+t)|0}function v7e(e,t){e=+e;t=+t;return pe(18,+e,+t)|0}function x7e(e,t){e=+e;t=+t;return pe(19,+e,+t)|0}function M7e(e){e=e|0;prt[e&63]()}function T7e(){pe(0)}function D7e(){pe(1)}function P7e(){pe(2)}function w7e(){pe(3)}function A7e(){pe(4)}function F7e(){pe(5)}function R7e(){pe(6)}function I7e(){pe(7)}function B7e(){pe(8)}function V7e(){pe(9)}function E7e(){pe(10)}function N7e(){pe(11)}function k7e(){pe(12)}function O7e(){pe(13)}function L7e(){pe(14)}function U7e(){pe(15)}function G7e(){pe(16)}function W7e(){pe(17)}function z7e(){pe(18)}function H7e(){pe(19)}function j7e(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;return lrt[e&63](t|0,i|0,n|0,_|0,r|0,o|0,s|0,a|0)|0}function X7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(0,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function Z7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(1,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function Q7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(2,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function q7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(3,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function Y7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(4,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function J7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(5,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function K7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(6,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function $7e(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(7,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function eet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(8,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function tet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(9,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function iet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(10,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function net(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(11,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function _et(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(12,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function ret(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(13,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function oet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(14,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function set(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(15,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function aet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(16,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function pet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(17,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function det(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(18,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function cet(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;return pe(19,e|0,t|0,i|0,n|0,_|0,r|0,o|0,s|0)|0}function bet(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;return drt[e&127](t|0,i|0,n|0,_|0)|0}function uet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(0,e|0,t|0,i|0,n|0)|0}function met(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(1,e|0,t|0,i|0,n|0)|0}function het(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(2,e|0,t|0,i|0,n|0)|0}function fet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(3,e|0,t|0,i|0,n|0)|0}function get(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(4,e|0,t|0,i|0,n|0)|0}function Cet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(5,e|0,t|0,i|0,n|0)|0}function Set(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(6,e|0,t|0,i|0,n|0)|0}function yet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(7,e|0,t|0,i|0,n|0)|0}function vet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(8,e|0,t|0,i|0,n|0)|0}function xet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(9,e|0,t|0,i|0,n|0)|0}function Met(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(10,e|0,t|0,i|0,n|0)|0}function Tet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(11,e|0,t|0,i|0,n|0)|0}function Det(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(12,e|0,t|0,i|0,n|0)|0}function Pet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(13,e|0,t|0,i|0,n|0)|0}function wet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(14,e|0,t|0,i|0,n|0)|0}function Aet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(15,e|0,t|0,i|0,n|0)|0}function Fet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(16,e|0,t|0,i|0,n|0)|0}function Ret(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(17,e|0,t|0,i|0,n|0)|0}function Iet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(18,e|0,t|0,i|0,n|0)|0}function Bet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;return pe(19,e|0,t|0,i|0,n|0)|0}function Vet(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;crt[e&255](t|0,i|0,+n)}function Eet(e,t,i){e=e|0;t=t|0;i=+i;pe(0,e|0,t|0,+i)}function Net(e,t,i){e=e|0;t=t|0;i=+i;pe(1,e|0,t|0,+i)}function ket(e,t,i){e=e|0;t=t|0;i=+i;pe(2,e|0,t|0,+i)}function Oet(e,t,i){e=e|0;t=t|0;i=+i;pe(3,e|0,t|0,+i)}function Let(e,t,i){e=e|0;t=t|0;i=+i;pe(4,e|0,t|0,+i)}function Uet(e,t,i){e=e|0;t=t|0;i=+i;pe(5,e|0,t|0,+i)}function Get(e,t,i){e=e|0;t=t|0;i=+i;pe(6,e|0,t|0,+i)}function Wet(e,t,i){e=e|0;t=t|0;i=+i;pe(7,e|0,t|0,+i)}function zet(e,t,i){e=e|0;t=t|0;i=+i;pe(8,e|0,t|0,+i)}function Het(e,t,i){e=e|0;t=t|0;i=+i;pe(9,e|0,t|0,+i)}function jet(e,t,i){e=e|0;t=t|0;i=+i;pe(10,e|0,t|0,+i)}function Xet(e,t,i){e=e|0;t=t|0;i=+i;pe(11,e|0,t|0,+i)}function Zet(e,t,i){e=e|0;t=t|0;i=+i;pe(12,e|0,t|0,+i)}function Qet(e,t,i){e=e|0;t=t|0;i=+i;pe(13,e|0,t|0,+i)}function qet(e,t,i){e=e|0;t=t|0;i=+i;pe(14,e|0,t|0,+i)}function Yet(e,t,i){e=e|0;t=t|0;i=+i;pe(15,e|0,t|0,+i)}function Jet(e,t,i){e=e|0;t=t|0;i=+i;pe(16,e|0,t|0,+i)}function Ket(e,t,i){e=e|0;t=t|0;i=+i;pe(17,e|0,t|0,+i)}function $et(e,t,i){e=e|0;t=t|0;i=+i;pe(18,e|0,t|0,+i)}function ett(e,t,i){e=e|0;t=t|0;i=+i;pe(19,e|0,t|0,+i)}function ttt(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;return brt[e&63](t|0,i|0,n|0,+_)|0}function itt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(0,e|0,t|0,i|0,+n)|0}function ntt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(1,e|0,t|0,i|0,+n)|0}function _tt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(2,e|0,t|0,i|0,+n)|0}function rtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(3,e|0,t|0,i|0,+n)|0}function ott(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(4,e|0,t|0,i|0,+n)|0}function stt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(5,e|0,t|0,i|0,+n)|0}function att(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(6,e|0,t|0,i|0,+n)|0}function ptt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(7,e|0,t|0,i|0,+n)|0}function ltt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(8,e|0,t|0,i|0,+n)|0}function dtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(9,e|0,t|0,i|0,+n)|0}function ctt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(10,e|0,t|0,i|0,+n)|0}function btt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(11,e|0,t|0,i|0,+n)|0}function utt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(12,e|0,t|0,i|0,+n)|0}function mtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(13,e|0,t|0,i|0,+n)|0}function htt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(14,e|0,t|0,i|0,+n)|0}function ftt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(15,e|0,t|0,i|0,+n)|0}function gtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(16,e|0,t|0,i|0,+n)|0}function Ctt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(17,e|0,t|0,i|0,+n)|0}function Stt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(18,e|0,t|0,i|0,+n)|0}function ytt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;return pe(19,e|0,t|0,i|0,+n)|0}function vtt(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;return+urt[e&63](t|0,i|0,n|0,+_,r|0,o|0)}function xtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(0,e|0,t|0,i|0,+n,_|0,r|0)}function Mtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(1,e|0,t|0,i|0,+n,_|0,r|0)}function Ttt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(2,e|0,t|0,i|0,+n,_|0,r|0)}function Dtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(3,e|0,t|0,i|0,+n,_|0,r|0)}function Ptt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(4,e|0,t|0,i|0,+n,_|0,r|0)}function wtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(5,e|0,t|0,i|0,+n,_|0,r|0)}function Att(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(6,e|0,t|0,i|0,+n,_|0,r|0)}function Ftt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(7,e|0,t|0,i|0,+n,_|0,r|0)}function Rtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(8,e|0,t|0,i|0,+n,_|0,r|0)}function Itt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(9,e|0,t|0,i|0,+n,_|0,r|0)}function Btt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(10,e|0,t|0,i|0,+n,_|0,r|0)}function Vtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(11,e|0,t|0,i|0,+n,_|0,r|0)}function Ett(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(12,e|0,t|0,i|0,+n,_|0,r|0)}function Ntt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(13,e|0,t|0,i|0,+n,_|0,r|0)}function ktt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(14,e|0,t|0,i|0,+n,_|0,r|0)}function Ott(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(15,e|0,t|0,i|0,+n,_|0,r|0)}function Ltt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(16,e|0,t|0,i|0,+n,_|0,r|0)}function Utt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(17,e|0,t|0,i|0,+n,_|0,r|0)}function Gtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(18,e|0,t|0,i|0,+n,_|0,r|0)}function Wtt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;return+pe(19,e|0,t|0,i|0,+n,_|0,r|0)}function ztt(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;mrt[e&1023](t|0,i|0,n|0,_|0)}function Htt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(0,e|0,t|0,i|0,n|0)}function jtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(1,e|0,t|0,i|0,n|0)}function Xtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(2,e|0,t|0,i|0,n|0)}function Ztt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(3,e|0,t|0,i|0,n|0)}function Qtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(4,e|0,t|0,i|0,n|0)}function qtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(5,e|0,t|0,i|0,n|0)}function Ytt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(6,e|0,t|0,i|0,n|0)}function Jtt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(7,e|0,t|0,i|0,n|0)}function Ktt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(8,e|0,t|0,i|0,n|0)}function $tt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(9,e|0,t|0,i|0,n|0)}function eit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(10,e|0,t|0,i|0,n|0)}function tit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(11,e|0,t|0,i|0,n|0)}function iit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(12,e|0,t|0,i|0,n|0)}function nit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(13,e|0,t|0,i|0,n|0)}function _it(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(14,e|0,t|0,i|0,n|0)}function rit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(15,e|0,t|0,i|0,n|0)}function oit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(16,e|0,t|0,i|0,n|0)}function sit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(17,e|0,t|0,i|0,n|0)}function ait(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(18,e|0,t|0,i|0,n|0)}function pit(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;pe(19,e|0,t|0,i|0,n|0)}function lit(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;_e(0)}function dit(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;_e(1);return 0}function cit(e,t){e=e|0;t=+t;_e(2)}function bit(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;_e(3)}function uit(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;l=+l;_e(4)}function mit(e){e=e|0;_e(5)}function hit(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=o|0;s=s|0;_e(6);return 0}function fit(e,t){e=e|0;t=t|0;_e(7)}function git(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;_e(8)}function Cit(e,t,i,n,_,r,o,s,a){e=+e;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;_e(9);return 0}function Sit(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;_e(10)}function yit(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;_e(11)}function vit(e){e=e|0;_e(12);return 0}function xit(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=s|0;a=+a;_e(13);return 0}function Mit(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=_|0;_e(14)}function Tit(e,t,i,n){e=+e;t=t|0;i=i|0;n=n|0;_e(15);return 0}function Dit(e,t,i,n){e=e|0;t=t|0;i=+i;n=n|0;_e(16)}function Pit(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;_e(17)}function wit(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=+o;s=+s;_e(18)}function Ait(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;o=o|0;_e(19);return 0}function Fit(e,t,i,n,_,r,o,s,a,p,l,d,c){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;c=c|0;_e(20);return 0}function Rit(e,t,i,n,_){e=e|0;t=+t;i=+i;n=+n;_=+_;_e(21)}function Iit(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;_e(22)}function Bit(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;_e(23);return 0}function Vit(e,t,i,n,_,r){e=e|0;t=+t;i=i|0;n=+n;_=_|0;r=r|0;_e(24);return 0.0}function Eit(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;_e(25);return 0.0}function Nit(e,t,i,n,_){e=e|0;t=t|0;i=+i;n=n|0;_=_|0;_e(26);return 0.0}function kit(e,t,i){e=+e;t=+t;i=+i;_e(27);return 0}function Oit(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;_e(28)}function Lit(e,t,i){e=e|0;t=+t;i=i|0;_e(29);return 0}function Uit(e,t,i){e=e|0;t=t|0;i=i|0;_e(30);return 0}function Git(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=+a;p=p|0;_e(31)}function Wit(e,t){e=e|0;t=+t;_e(32);return 0.0}function zit(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=+n;_=+_;_e(33);return 0}function Hit(e,t,i){e=e|0;t=+t;i=+i;_e(34)}function jit(e,t,i){e=e|0;t=+t;i=i|0;_e(35)}function Xit(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=+r;_e(36)}function Zit(e,t,i,n){e=e|0;t=+t;i=+i;n=+n;_e(37)}function Qit(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;_e(38)}function qit(e,t,i,n){e=e|0;t=t|0;i=+i;n=+n;_e(39);return 0.0}function Yit(e,t,i){e=e|0;t=t|0;i=+i;_e(40);return 0}function Jit(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;_e(41);return 0}function Kit(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;_e(42)}function $it(e,t,i,n,_,r,o){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;_e(43)}function ent(e,t,i){e=e|0;t=t|0;i=i|0;_e(44);return 0.0}function tnt(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;_e(45);return 0}function int(e,t,i){e=e|0;t=t|0;i=+i;_e(46);return 0.0}function nnt(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;_e(47);return 0.0}function _nt(e,t,i){e=+e;t=t|0;i=i|0;_e(48);return 0}function rnt(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;_e(49);return 0.0}function ont(e,t,i,n,_,r,o,s,a,p,l,d){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;l=l|0;d=d|0;_e(50);return 0}function snt(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;_e(51);return 0.0}function ant(e,t){e=e|0;t=+t;_e(52);return 0}function pnt(e){e=+e;_e(53);return 0}function lnt(e,t,i,n,_,r){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;_e(54)}function dnt(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=+a;_e(55)}function cnt(e,t,i,n){e=e|0;t=+t;i=i|0;n=n|0;_e(56)}function bnt(e){e=e|0;_e(57);return 0.0}function unt(e,t,i,n,_,r,o,s,a,p){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;a=a|0;p=p|0;_e(58)}function mnt(e,t){e=e|0;t=t|0;_e(59);return 0}function hnt(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;_e(60);return 0}function fnt(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;_e(61);return 0}function gnt(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=+s;_e(62)}function Cnt(e,t){e=e|0;t=t|0;_e(63);return 0.0}function Snt(e,t,i,n,_,r,o,s,a,p){e=e|0;t=+t;i=+i;n=+n;_=+_;r=+r;o=+o;s=+s;a=+a;p=+p;_e(64)}function ynt(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;_e(65);return 0.0}function vnt(e,t,i,n){e=e|0;t=+t;i=i|0;n=+n;_e(66);return 0}function xnt(e,t,i,n){e=+e;t=+t;i=+i;n=+n;_e(67);return 0}function Mnt(e,t,i,n,_,r,o,s,a,p,l){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=+r;o=+o;s=+s;a=a|0;p=p|0;l=+l;_e(68)}function Tnt(e,t,i,n,_){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;_e(69);return 0}function Dnt(e,t,i){e=e|0;t=+t;i=+i;_e(70);return 0}function Pnt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;_e(71)}function wnt(){_e(72);return 0}function Ant(e,t,i,n,_,r,o){e=e|0;t=t|0;i=i|0;n=n|0;_=+_;r=r|0;o=o|0;_e(73)}function Fnt(e,t,i,n,_,r,o,s,a){e=e|0;t=t|0;i=i|0;n=+n;_=+_;r=+r;o=o|0;s=s|0;a=a|0;_e(74);return 0}function Rnt(e,t,i){e=e|0;t=t|0;i=i|0;_e(75)}function Int(e,t){e=+e;t=+t;_e(76);return 0}function Bnt(){_e(77)}function Vnt(e,t,i,n,_,r,o,s){e=e|0;t=t|0;i=i|0;n=n|0;_=_|0;r=r|0;o=o|0;s=s|0;_e(78);return 0}function Ent(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;_e(79);return 0}function Nnt(e,t,i){e=e|0;t=t|0;i=+i;_e(80)}function knt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=+n;_e(81);return 0}function Ont(e,t,i,n,_,r){e=e|0;t=t|0;i=i|0;n=+n;_=_|0;r=r|0;_e(82);return 0.0}function Lnt(e,t,i,n){e=e|0;t=t|0;i=i|0;n=n|0;_e(83)}var Unt=[lit,lit,wBe,lit,ABe,lit,FBe,lit,RBe,lit,IBe,lit,BBe,lit,VBe,lit,EBe,lit,NBe,lit,kBe,lit,OBe,lit,LBe,lit,UBe,lit,GBe,lit,WBe,lit,zBe,lit,HBe,lit,jBe,lit,XBe,lit,ZBe,lit,py,lit,gX,lit,xv,lit,vx,lit,EM,lit,vJ,lit,ace,lit,UAe,lit,oC,lit,dce,lit,oce,lit,gAe,lit,RI,lit,Pce,lit,Ule,lit,kge,lit,Pl,lit,NDe,lit,gy,lit,IRe,lit,nC,lit,VRe,lit,wy,lit,tCe,lit,YAe,lit,cR,lit,Ka,lit,pBe,lit,Dy,lit,aIe,lit,pT,lit,cBe,lit,fx,lit,Cx,lit,PRe,lit,dBe,lit,ep,lit,z8,lit,$Re,lit,zp,lit,tY,lit,bTe,lit,VO,lit,MIe,lit,URe,lit,Ml,lit,Z$,lit,Oc,lit,_De,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit,lit];var Gnt=[dit,dit,qBe,dit,YBe,dit,JBe,dit,KBe,dit,$Be,dit,eVe,dit,tVe,dit,iVe,dit,nVe,dit,_Ve,dit,rVe,dit,oVe,dit,sVe,dit,aVe,dit,pVe,dit,lVe,dit,dVe,dit,cVe,dit,bVe,dit,uVe,dit,xY,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit,dit];var Wnt=[cit,cit,hVe,cit,fVe,cit,gVe,cit,CVe,cit,SVe,cit,yVe,cit,vVe,cit,xVe,cit,MVe,cit,TVe,cit,DVe,cit,PVe,cit,wVe,cit,AVe,cit,FVe,cit,RVe,cit,IVe,cit,BVe,cit,VVe,cit,EVe,cit,BP,cit,P4,cit,N9,cit,lM,cit,IQ,cit,Eee,cit,dM,cit,Pne,cit,GU,cit,R9,cit,Yh,cit,QK,cit,s_,cit,KT,cit,UB,cit,dde,cit,jF,cit,Wg,cit,CS,cit,Cd,cit,RP,cit,y4,cit,Dk,cit,_w,cit,Ome,cit,rz,cit,u8,cit,j9,cit,Qh,cit,JK,cit,uD,cit,pw,cit,IB,cit,wAe,cit,gRe,cit,d_,cit,IP,cit,Go,cit,KB,cit,hm,cit,M6,cit,LP,cit,p5,cit,$c,cit,J9,cit,er,cit,fz,cit,p9,cit,Sle,cit,qB,cit,c7,cit,OP,cit,e6,cit,n3,cit,tP,cit,dU,cit,l9,cit,AL,cit,LR,cit,UJ,cit,AN,cit,z6,cit,xT,cit,Nk,cit,Mp,cit,lue,cit,aV,cit,mV,cit,dG,cit,Yc,cit,Zy,cit,$O,cit,Df,cit,Dq,cit,g4,cit,Bo,cit,ene,cit,YB,cit,LG,cit,r_,cit,h7,cit,o2,cit,mg,cit,vs,cit,Su,cit,Dse,cit,Xre,cit,qP,cit,ZB,cit,c0,cit,ET,cit,uV,cit,RB,cit,gs,cit,_me,cit,_N,cit,Yk,cit,Vf,cit,oN,cit,dc,cit,rN,cit,Hce,cit,P6,cit,Y6,cit,fV,cit,Mz,cit,yk,cit,X4,cit,vz,cit,d9,cit,v6,cit,jae,cit,xme,cit,z9,cit,cde,cit,t9,cit,J4,cit,FL,cit,Xpe,cit,E9,cit,YCe,cit,c6,cit,ng,cit,nV,cit,OA,cit,wZ,cit,g9,cit,_s,cit,mh,cit,zae,cit,oV,cit,c1,cit,Rg,cit,uw,cit,xz,cit,XK,cit,TT,cit,uae,cit,pme,cit,mae,cit,cae,cit,Yoe,cit,pde,cit,GJ,cit,o1,cit,E2,cit,_fe,cit,bae,cit,Ym,cit,rU,cit,rfe,cit,vee,cit,Kte,cit,oSe,cit,Lu,cit,Kg,cit,N6,cit,_7,cit,SS,cit,_A,cit,jpe,cit,W4,cit,Cpe,cit,wB,cit,rme,cit,q6,cit,Kde,cit,gV,cit,qF,cit,u5,cit,sf,cit,hu,cit,x9,cit,r3,cit,_6,cit,Z4,cit,KP,cit,iw,cit,eb,cit,vk,cit,eo,cit,J6,cit,mde,cit,ide,cit,A5,cit,O9,cit,o$,cit,yu,cit,x4,cit,Rp,cit,qI,cit,lG,cit,S6,cit,Dve,cit,H9,cit,b9,cit,a0,cit,wh,cit,kh,cit,Yve,cit,pV,cit,p7,cit,a7,cit,JA,cit,Dne,cit,NSe,cit,nw,cit,I9,cit,XB,cit,$M,cit,RH,cit,Sne,cit,NU,cit,vde,cit,Jo,cit,o_,cit,nD,cit,b6,cit,Y8,cit,eP,cit,Ok,cit,Zme,cit,HS,cit,E5,cit,T9,cit,fde,cit,lw,cit,tq,cit,S5,cit,w8,cit,BD,cit,S4,cit,aL,cit,tD,cit,EP,cit,hle,cit,AW,cit,Na,cit,jJ,cit,JD,cit,T$,cit,f6,cit,Ng,cit,GR,cit,DY,cit,dV,cit,Lte,cit,nO,cit,F5,cit,Ik,cit,L5,cit,OMe,cit,mj,cit,b7,cit,Eo,cit,kee,cit,Qae,cit,Sk,cit,ame,cit,Hme,cit,Fee,cit,SB,cit,h$,cit,d1,cit,TL,cit,l8,cit,Q5,cit,f3,cit,j2,cit,IE,cit,E6,cit,YW,cit,hde,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit,cit];var znt=[bit,bit,kVe,bit,OVe,bit,LVe,bit,UVe,bit,GVe,bit,WVe,bit,zVe,bit,HVe,bit,jVe,bit,XVe,bit,ZVe,bit,QVe,bit,qVe,bit,YVe,bit,JVe,bit,KVe,bit,$Ve,bit,eEe,bit,tEe,bit,iEe,bit,Lie,bit,my,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit,bit];var Hnt=[uit,uit,_Ee,uit,rEe,uit,oEe,uit,sEe,uit,aEe,uit,pEe,uit,lEe,uit,dEe,uit,cEe,uit,bEe,uit,uEe,uit,mEe,uit,hEe,uit,fEe,uit,gEe,uit,CEe,uit,SEe,uit,yEe,uit,vEe,uit,xEe,uit,yy,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit,uit];var jnt=[mit,mit,TEe,mit,DEe,mit,PEe,mit,wEe,mit,AEe,mit,FEe,mit,REe,mit,IEe,mit,BEe,mit,VEe,mit,EEe,mit,NEe,mit,kEe,mit,OEe,mit,LEe,mit,UEe,mit,GEe,mit,WEe,mit,zEe,mit,HEe,mit,LI,mit,BQ,mit,qO,mit,Vhe,mit,bg,mit,Wb,mit,hve,mit,TD,mit,gve,mit,rue,mit,MAe,mit,ePe,mit,wPe,mit,Cwe,mit,FO,mit,OAe,mit,Lh,mit,RMe,mit,iTe,mit,Nb,mit,ZIe,mit,Hye,mit,Tc,mit,qT,mit,Hv,mit,pG,mit,Nme,mit,Vye,mit,ks,mit,vR,mit,pFe,mit,vPe,mit,oDe,mit,VM,mit,Ufe,mit,_Se,mit,Pye,mit,Vwe,mit,jye,mit,oMe,mit,Wve,mit,Oye,mit,Cue,mit,H8,mit,qce,mit,bhe,mit,mme,mit,qAe,mit,Bve,mit,$g,mit,nme,mit,_Be,mit,WSe,mit,wRe,mit,zM,mit,Bu,mit,aT,mit,Ove,mit,Gue,mit,Fve,mit,AC,mit,jO,mit,LV,mit,ase,mit,_L,mit,nDe,mit,rIe,mit,Qbe,mit,vDe,mit,rSe,mit,Yye,mit,rve,mit,QTe,mit,Uie,mit,Afe,mit,Gb,mit,NE,mit,Che,mit,Khe,mit,l_e,mit,RM,mit,wMe,mit,KTe,mit,VDe,mit,oRe,mit,BPe,mit,CJ,mit,Iy,mit,PI,mit,CIe,mit,Fie,mit,_p,mit,xAe,mit,ASe,mit,dK,mit,Ns,mit,T8,mit,DI,mit,DJ,mit,Bge,mit,TCe,mit,rh,mit,Fu,mit,tIe,mit,Dye,mit,DN,mit,uR,mit,gM,mit,QAe,mit,Qie,mit,fDe,mit,fY,mit,YDe,mit,P8,mit,dxe,mit,Cb,mit,LC,mit,Bp,mit,KFe,mit,Lge,mit,HDe,mit,vc,mit,Uhe,mit,wO,mit,PSe,mit,FM,mit,Kr,mit,xFe,mit,$Se,mit,RTe,mit,vN,mit,y3,mit,Phe,mit,nr,mit,Hp,mit,R4,mit,BR,mit,Mu,mit,e5,mit,N4,mit,uPe,mit,sJ,mit,HTe,mit,lSe,mit,Lw,mit,lte,mit,HMe,mit,BMe,mit,mX,mit,yue,mit,Ec,mit,Cve,mit,ume,mit,Qoe,mit,Uve,mit,ck,mit,fce,mit,Nye,mit,KAe,mit,ZCe,mit,wDe,mit,tDe,mit,D1,mit,Pj,mit,yDe,mit,Bwe,mit,EDe,mit,rFe,mit,$I,mit,nT,mit,DPe,mit,nBe,mit,U2,mit,Kme,mit,cl,mit,jz,mit,Wpe,mit,yJ,mit,Qye,mit,sA,mit,Vge,mit,mxe,mit,Ide,mit,cJ,mit,Rv,mit,ZZ,mit,CU,mit,Jm,mit,L7,mit,qie,mit,CDe,mit,Fye,mit,TDe,mit,bMe,mit,Bf,mit,XL,mit,Mge,mit,xTe,mit,_ge,mit,iBe,mit,Wbe,mit,eU,mit,Lb,mit,ko,mit,tPe,mit,rMe,mit,x3,mit,gwe,mit,zve,mit,Fge,mit,B_,mit,wfe,mit,qs,mit,Mx,mit,Ij,mit,ofe,mit,WAe,mit,__e,mit,Va,mit,jp,mit,USe,mit,$Pe,mit,vpe,mit,QIe,mit,Rj,mit,ACe,mit,Ffe,mit,KIe,mit,vd,mit,uMe,mit,dme,mit,M_e,mit,DCe,mit,_Re,mit,mPe,mit,XIe,mit,vAe,mit,vue,mit,Rue,mit,fhe,mit,cH,mit,ADe,mit,ZW,mit,e9,mit,Jye,mit,Kve,mit,NTe,mit,s2,mit,wCe,mit,aDe,mit,Qve,mit,iDe,mit,Bl,mit,$he,mit,fPe,mit,xO,mit,zSe,mit,nTe,mit,Kge,mit,ohe,mit,XX,mit,Wwe,mit,cE,mit,Lre,mit,MFe,mit,D3,mit,bme,mit,V$,mit,OSe,mit,kR,mit,jFe,mit,GFe,mit,LO,mit,ETe,mit,oIe,mit,dge,mit,N_,mit,rAe,mit,LPe,mit,WX,mit,fee,mit,LRe,mit,$me,mit,cxe,mit,jRe,mit,TTe,mit,Uc,mit,NMe,mit,Ix,mit,Cce,mit,HSe,mit,zTe,mit,RIe,mit,Mve,mit,sme,mit,Jl,mit,Ghe,mit,VPe,mit,Ey,mit,AF,mit,Die,mit,Cge,mit,Tve,mit,pAe,mit,eBe,mit,Nve,mit,dve,mit,Yhe,mit,xW,mit,CBe,mit,JL,mit,Yce,mit,aue,mit,yd,mit,Ofe,mit,lxe,mit,uM,mit,fBe,mit,QCe,mit,fbe,mit,Oie,mit,xue,mit,Ob,mit,kTe,mit,uC,mit,ySe,mit,SSe,mit,Yxe,mit,fIe,mit,T3,mit,Tue,mit,DX,mit,WMe,mit,pPe,mit,Dx,mit,aJ,mit,Aue,mit,FU,mit,yPe,mit,Kh,mit,$ae,mit,vxe,mit,A_e,mit,kDe,mit,FI,mit,gxe,mit,Hfe,mit,JRe,mit,j7,mit,Vbe,mit,Uge,mit,kme,mit,ZO,mit,Sve,mit,kc,mit,KSe,mit,eF,mit,NRe,mit,Lbe,mit,kAe,mit,zwe,mit,ro,mit,YTe,mit,bye,mit,DIe,mit,mDe,mit,zye,mit,I8,mit,$$,mit,O1,mit,FRe,mit,XFe,mit,Ite,mit,Lye,mit,SC,mit,sde,mit,t4,mit,tTe,mit,iye,mit,hue,mit,nIe,mit,yge,mit,Lue,mit,Fhe,mit,XTe,mit,Qhe,mit,Hj,mit,FCe,mit,Vy,mit,hTe,mit,rwe,mit,DDe,mit,Uxe,mit,Wz,mit,WFe,mit,Tp,mit,fp,mit,eAe,mit,Due,mit,nve,mit,oue,mit,bG,mit,Hbe,mit,sve,mit,PIe,mit,efe,mit,IZ,mit,Kye,mit,OX,mit,aRe,mit,n$,mit,gFe,mit,dTe,mit,eye,mit,eDe,mit,B1,mit,QRe,mit,Gj,mit,que,mit,Iye,mit,pIe,mit,aPe,mit,AV,mit,RCe,mit,pxe,mit,K9,mit,hPe,mit,tf,mit,kye,mit,A3,mit,Cxe,mit,_q,mit,FE,mit,iue,mit,cfe,mit,QFe,mit,SIe,mit,xxe,mit,ERe,mit,cc,mit,Gxe,mit,_Te,mit,yhe,mit,xD,mit,dSe,mit,zb,mit,The,mit,BSe,mit,ARe,mit,v3,mit,On,mit,vP,mit,PTe,mit,TRe,mit,Gfe,mit,dhe,mit,gSe,mit,LAe,mit,pve,mit,eIe,mit,Jge,mit,dye,mit,ODe,mit,bve,mit,_we,mit,t5,mit,i4,mit,fX,mit,ime,mit,aFe,mit,GRe,mit,y9,mit,cge,mit,vFe,mit,nye,mit,BTe,mit,jl,mit,fMe,mit,AIe,mit,zDe,mit,CMe,mit,Mbe,mit,ZRe,mit,sIe,mit,ORe,mit,wj,mit,lme,mit,qme,mit,Ua,mit,YRe,mit,DZ,mit,ITe,mit,mMe,mit,lIe,mit,jle,mit,$Q,mit,Ase,mit,aAe,mit,ewe,mit,BFe,mit,VTe,mit,iY,mit,dAe,mit,qFe,mit,KDe,mit,yIe,mit,UPe,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit,mit];var Xnt=[hit,hit,XEe,hit,ZEe,hit,QEe,hit,qEe,hit,YEe,hit,JEe,hit,KEe,hit,$Ee,hit,eNe,hit,tNe,hit,iNe,hit,nNe,hit,_Ne,hit,rNe,hit,oNe,hit,sNe,hit,aNe,hit,pNe,hit,lNe,hit,dNe,hit,eG,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit,hit];var Znt=[fit,fit,bNe,fit,uNe,fit,mNe,fit,hNe,fit,fNe,fit,gNe,fit,CNe,fit,SNe,fit,yNe,fit,vNe,fit,xNe,fit,MNe,fit,TNe,fit,DNe,fit,PNe,fit,wNe,fit,ANe,fit,FNe,fit,RNe,fit,INe,fit,MA,fit,lAe,fit,Wne,fit,JU,fit,jk,fit,m1,fit,QD,fit,OT,fit,dA,fit,dX,fit,Al,fit,ZG,fit,Oq,fit,Are,fit,Yq,fit,hU,fit,_te,fit,Gae,fit,Nte,fit,aG,fit,aF,fit,_n,fit,xc,fit,Rme,fit,fCe,fit,pte,fit,b4,fit,ev,fit,mIe,fit,Fv,fit,ef,fit,kj,fit,d4,fit,hSe,fit,hG,fit,qr,fit,a_,fit,bS,fit,EX,fit,Do,fit,Ws,fit,jve,fit,Kj,fit,fw,fit,tG,fit,QB,fit,dne,fit,Y$,fit,K$,fit,iL,fit,PX,fit,CI,fit,BJ,fit,nJ,fit,Hae,fit,ru,fit,SD,fit,mx,fit,xw,fit,k4,fit,cpe,fit,jN,fit,MT,fit,nse,fit,Zf,fit,Cl,fit,UT,fit,Cj,fit,ly,fit,ZL,fit,oO,fit,tr,fit,tS,fit,DTe,fit,_Q,fit,JPe,fit,n_e,fit,mr,fit,Dme,fit,xy,fit,qh,fit,gle,fit,_T,fit,zz,fit,fG,fit,lH,fit,JI,fit,ote,fit,zq,fit,g5,fit,UY,fit,VF,fit,Kq,fit,oX,fit,yW,fit,Ms,fit,Mk,fit,yme,fit,wa,fit,_m,fit,Doe,fit,kM,fit,mTe,fit,jq,fit,qj,fit,mL,fit,rye,fit,zx,fit,u9,fit,zg,fit,ON,fit,JAe,fit,J2,fit,SE,fit,UX,fit,Bse,fit,ND,fit,OV,fit,$2,fit,Vb,fit,AD,fit,Ry,fit,Ek,fit,XV,fit,Cv,fit,w3,fit,sc,fit,kV,fit,Wle,fit,XI,fit,U1,fit,ip,fit,SX,fit,d5,fit,QO,fit,bw,fit,mSe,fit,UR,fit,v8,fit,rCe,fit,Bb,fit,Qo,fit,Ude,fit,bSe,fit,tB,fit,ybe,fit,sW,fit,cbe,fit,Ch,fit,Mo,fit,Q_,fit,Jae,fit,O5,fit,A6,fit,OR,fit,yB,fit,Lf,fit,Wf,fit,Gq,fit,jB,fit,yv,fit,Kn,fit,Ay,fit,gc,fit,_re,fit,lS,fit,RD,fit,un,fit,yG,fit,LD,fit,hX,fit,pL,fit,rf,fit,dre,fit,M7,fit,cK,fit,mW,fit,PK,fit,XT,fit,nv,fit,mge,fit,yp,fit,h0,fit,x7,fit,Mye,fit,IT,fit,Ao,fit,R1,fit,tx,fit,Lle,fit,Gc,fit,Bg,fit,zf,fit,ATe,fit,sY,fit,sg,fit,bI,fit,dg,fit,txe,fit,pF,fit,Mj,fit,Av,fit,vme,fit,ibe,fit,zde,fit,np,fit,jee,fit,MU,fit,cS,fit,u_,fit,sn,fit,Sm,fit,rm,fit,Qx,fit,D5,fit,Iv,fit,pb,fit,FT,fit,Vie,fit,Wxe,fit,R$,fit,gY,fit,c_,fit,eT,fit,l0,fit,L2,fit,kf,fit,oY,fit,rE,fit,qH,fit,VY,fit,Uk,fit,GG,fit,wg,fit,zee,fit,Z5,fit,Ibe,fit,tee,fit,bie,fit,Vde,fit,jr,fit,Vme,fit,i$,fit,dO,fit,QF,fit,_j,fit,U$,fit,MR,fit,LY,fit,Aa,fit,b2,fit,Hpe,fit,r$,fit,Bc,fit,jG,fit,HU,fit,cz,fit,cC,fit,Xm,fit,ZK,fit,q1,fit,J1,fit,bL,fit,RJ,fit,Ime,fit,eB,fit,x_e,fit,gp,fit,age,fit,xfe,fit,Nj,fit,Bx,fit,OL,fit,kce,fit,zP,fit,Pd,fit,x2,fit,rS,fit,Sce,fit,$5,fit,Zs,fit,Fh,fit,ek,fit,Qs,fit,tJ,fit,ZY,fit,zF,fit,Zh,fit,kMe,fit,Z1,fit,Sc,fit,BV,fit,oh,fit,Bme,fit,qQ,fit,iJ,fit,NZ,fit,C4,fit,xR,fit,Zn,fit,cee,fit,_h,fit,Zie,fit,d2,fit,Vh,fit,Hle,fit,Jte,fit,Kle,fit,une,fit,CM,fit,Ls,fit,uS,fit,BRe,fit,Hu,fit,Mle,fit,eI,fit,nR,fit,UV,fit,Xie,fit,YL,fit,A0,fit,WU,fit,Fb,fit,tm,fit,ige,fit,v_e,fit,Spe,fit,A1,fit,bB,fit,JS,fit,PAe,fit,oge,fit,aU,fit,kne,fit,m3,fit,H1,fit,DC,fit,xde,fit,sge,fit,OH,fit,GO,fit,fQ,fit,_F,fit,WM,fit,UI,fit,Sx,fit,ok,fit,Ipe,fit,pK,fit,rG,fit,Ihe,fit,$C,fit,Sd,fit,ER,fit,gCe,fit,m_,fit,s6,fit,M1,fit,nl,fit,jPe,fit,Hn,fit,Pg,fit,ig,fit,Dpe,fit,G6,fit,Oce,fit,Bne,fit,UG,fit,_x,fit,ox,fit,$D,fit,O8,fit,Qne,fit,OD,fit,su,fit,o6,fit,Vve,fit,she,fit,eJ,fit,fS,fit,Sp,fit,sxe,fit,KL,fit,wb,fit,Oo,fit,tFe,fit,PL,fit,e$,fit,tg,fit,nf,fit,Mme,fit,C6,fit,eK,fit,yb,fit,c4,fit,nP,fit,j4,fit,q$,fit,k8,fit,zR,fit,CR,fit,wQ,fit,QE,fit,qR,fit,ab,fit,N7,fit,DK,fit,J5,fit,Ame,fit,hH,fit,mc,fit,Bue,fit,AR,fit,Qg,fit,LFe,fit,F4,fit,oS,fit,ov,fit,xh,fit,zge,fit,I1,fit,yE,fit,UE,fit,HK,fit,Yie,fit,eN,fit,E7,fit,fL,fit,V_e,fit,_g,fit,VJ,fit,aie,fit,aS,fit,Tme,fit,E3,fit,i_e,fit,lv,fit,xhe,fit,qge,fit,Zte,fit,c2,fit,Xne,fit,SV,fit,Xye,fit,W6,fit,xte,fit,i2,fit,OS,fit,Dwe,fit,lJ,fit,Rb,fit,Fne,fit,rT,fit,YI,fit,Zq,fit,lR,fit,Bde,fit,DF,fit,bne,fit,SM,fit,Hs,fit,AI,fit,Hl,fit,Bh,fit,mM,fit,PFe,fit,q4,fit,ed,fit,aj,fit,kq,fit,lj,fit,Nc,fit,cM,fit,Mfe,fit,Fre,fit,u4,fit,C3,fit,Gp,fit,qL,fit,gye,fit,Xc,fit,_E,fit,fge,fit,PC,fit,Xme,fit,yj,fit,bs,fit,W7,fit,Gpe,fit,Epe,fit,zhe,fit,Pve,fit,H7,fit,gme,fit,Fde,fit,ZE,fit,yn,fit,Qte,fit,MDe,fit,jA,fit,bge,fit,Nv,fit,Bee,fit,EO,fit,ESe,fit,nn,fit,G8,fit,y5,fit,Ys,fit,lye,fit,mU,fit,pce,fit,lg,fit,Xd,fit,pfe,fit,FR,fit,BM,fit,cMe,fit,uK,fit,yq,fit,_1,fit,DO,fit,eh,fit,i7,fit,kue,fit,mo,fit,nle,fit,C7,fit,vM,fit,mT,fit,P3,fit,wJ,fit,gne,fit,f_,fit,ode,fit,bf,fit,sl,fit,TFe,fit,XP,fit,K7,fit,z1,fit,Co,fit,Fc,fit,RR,fit,E_e,fit,Ss,fit,QI,fit,Ky,fit,A7,fit,VL,fit,BI,fit,xo,fit,c_e,fit,dbe,fit,uT,fit,kN,fit,Cc,fit,No,fit,RU,fit,sr,fit,yZ,fit,sh,fit,aR,fit,vL,fit,GH,fit,ahe,fit,Au,fit,Q7,fit,lle,fit,IM,fit,kH,fit,w6,fit,Lx,fit,Fme,fit,Q8,fit,qg,fit,wM,fit,Jy,fit,yAe,fit,q7,fit,Kw,fit,WF,fit,F_e,fit,Nie,fit,Jx,fit,dee,fit,Tce,fit,hv,fit,wFe,fit,Xn,fit,FJ,fit,ec,fit,Xj,fit,wI,fit,fc,fit,Xge,fit,Fo,fit,cie,fit,p1,fit,rA,fit,Oj,fit,jSe,fit,xie,fit,Gx,fit,DR,fit,Npe,fit,sDe,fit,T1,fit,Uv,fit,Une,fit,bK,fit,YM,fit,N8,fit,qte,fit,tie,fit,$fe,fit,$H,fit,Aee,fit,MTe,fit,vF,fit,Ru,fit,HM,fit,Ug,fit,nS,fit,Hse,fit,Im,fit,Dj,fit,mC,fit,tO,fit,NQ,fit,hRe,fit,zpe,fit,gT,fit,jfe,fit,Lz,fit,X7,fit,XR,fit,Zc,fit,Jk,fit,ss,fit,Sl,fit,Kue,fit,Rye,fit,xF,fit,qE,fit,vf,fit,gu,fit,zu,fit,lU,fit,hM,fit,lre,fit,Rs,fit,TR,fit,tT,fit,H3,fit,bZ,fit,G$,fit,HO,fit,lD,fit,YF,fit,Qd,fit,hY,fit,Jg,fit,eRe,fit,lwe,fit,_M,fit,Px,fit,cg,fit,xS,fit,vZ,fit,Rhe,fit,b8,fit,Jh,fit,HRe,fit,$u,fit,XPe,fit,Jb,fit,r4,fit,XD,fit,Yo,fit,Pse,fit,T7,fit,Hr,fit,ED,fit,ege,fit,Us,fit,sS,fit,W0,fit,xne,fit,Mte,fit,Hz,fit,nee,fit,vTe,fit,jo,fit,aK,fit,Ds,fit,_$,fit,Af,fit,XRe,fit,IJ,fit,QH,fit,cF,fit,g1,fit,TX,fit,O7,fit,Zde,fit,Pu,fit,ate,fit,z0,fit,m_e,fit,rb,fit,_H,fit,C$,fit,jH,fit,rg,fit,Pc,fit,$p,fit,bv,fit,R2,fit,P_e,fit,zO,fit,nN,fit,bX,fit,W$,fit,Iue,fit,pge,fit,UU,fit,go,fit,LX,fit,qCe,fit,r5,fit,ste,fit,aI,fit,jme,fit,Aie,fit,ud,fit,zo,fit,nM,fit,Jue,fit,TM,fit,P9,fit,e_e,fit,kG,fit,OI,fit,Ew,fit,Pwe,fit,k$,fit,e_,fit,rge,fit,z3,fit,NV,fit,lO,fit,u0,fit,zk,fit,mJ,fit,QZ,fit,aq,fit,Koe,fit,XO,fit,Eie,fit,bCe,fit,DFe,fit,Xfe,fit,EN,fit,wie,fit,qDe,fit,Lj,fit,BX,fit,Ck,fit,NX,fit,HW,fit,rI,fit,tv,fit,q9,fit,fh,fit,KA,fit,XS,fit,Cy,fit,iu,fit,pu,fit,Bie,fit,vb,fit,nAe,fit,QQ,fit,SJ,fit,zre,fit,Wj,fit,Cde,fit,qN,fit,zoe,fit,tge,fit,Eue,fit,Qfe,fit,Lne,fit,Id,fit,uu,fit,qhe,fit,ST,fit,cv,fit,KH,fit,Dz,fit,fm,fit,O$,fit,wo,fit,gE,fit,Nxe,fit,z7,fit,kF,fit,i0,fit,nX,fit,GD,fit,pz,fit,Cme,fit,ZAe,fit,OFe,fit,Q2,fit,Nee,fit,Ub,fit,e1,fit,My,fit,qRe,fit,vle,fit,OF,fit,XH,fit,Z7,fit,lK,fit,Xxe,fit,Mm,fit,K1,fit,wF,fit,Ose,fit,Vpe,fit,Z8,fit,Bq,fit,Yb,fit,En,fit,X5,fit,J_e,fit,Cse,fit,nL,fit,S3,fit,im,fit,Nbe,fit,TIe,fit,og,fit,xae,fit,Ha,fit,Xh,fit,VR,fit,h_e,fit,Rpe,fit,KM,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit,fit];var Qnt=[git,git,VNe,git,ENe,git,NNe,git,kNe,git,ONe,git,LNe,git,UNe,git,GNe,git,WNe,git,zNe,git,HNe,git,jNe,git,XNe,git,ZNe,git,QNe,git,qNe,git,YNe,git,JNe,git,KNe,git,$Ne,git,ry,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git,git];var qnt=[Cit,Cit,tke,Cit,ike,Cit,nke,Cit,_ke,Cit,rke,Cit,oke,Cit,ske,Cit,ake,Cit,pke,Cit,lke,Cit,dke,Cit,cke,Cit,bke,Cit,uke,Cit,mke,Cit,hke,Cit,fke,Cit,gke,Cit,Cke,Cit,Ske,Cit,Cn,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit,Cit];var Ynt=[Sit,Sit,vke,Sit,xke,Sit,Mke,Sit,Tke,Sit,Dke,Sit,Pke,Sit,wke,Sit,Ake,Sit,Fke,Sit,Rke,Sit,Ike,Sit,Bke,Sit,Vke,Sit,Eke,Sit,Nke,Sit,kke,Sit,Oke,Sit,Lke,Sit,Uke,Sit,Gke,Sit,sse,Sit,ka,Sit,FC,Sit,dte,Sit,xP,Sit,$6,Sit,U7,Sit,HE,Sit,gD,Sit,Ku,Sit,oU,Sit,L1,Sit,d_e,Sit,Jce,Sit,to,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit,Sit];var Jnt=[yit,yit,zke,yit,Hke,yit,jke,yit,Xke,yit,Zke,yit,Qke,yit,qke,yit,Yke,yit,Jke,yit,Kke,yit,$ke,yit,eOe,yit,tOe,yit,iOe,yit,nOe,yit,_Oe,yit,rOe,yit,oOe,yit,sOe,yit,aOe,yit,oy,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit,yit];var Knt=[vit,vit,lOe,vit,dOe,vit,cOe,vit,bOe,vit,uOe,vit,mOe,vit,hOe,vit,fOe,vit,gOe,vit,COe,vit,SOe,vit,yOe,vit,vOe,vit,xOe,vit,MOe,vit,TOe,vit,DOe,vit,POe,vit,wOe,vit,AOe,vit,NH,vit,bre,vit,ple,vit,YU,vit,GZ,vit,Y2,vit,nne,vit,kd,vit,Uo,vit,SPe,vit,$E,vit,D7,vit,ml,vit,g_,vit,Rr,vit,pB,vit,ZD,vit,sd,vit,EL,vit,jd,vit,Vz,vit,wT,vit,ia,vit,Tae,vit,Kae,vit,Yl,vit,y$,vit,Dg,vit,Cr,vit,om,vit,xI,vit,Xg,vit,C_,vit,l7,vit,mQ,vit,Pf,vit,Jq,vit,uE,vit,wre,vit,rR,vit,C8,vit,iS,vit,zD,vit,Ib,vit,IL,vit,_8,vit,qp,vit,abe,vit,qo,vit,ts,vit,PS,vit,BS,vit,dle,vit,TS,vit,tQ,vit,cse,vit,vw,vit,xQ,vit,Zx,vit,o0,vit,sB,vit,Np,vit,iQ,vit,h9,vit,Rxe,vit,as,vit,ww,vit,Ko,vit,pO,vit,M2,vit,YZ,vit,g0,vit,pS,vit,HG,vit,yce,vit,BE,vit,vg,vit,Ac,vit,ope,vit,yCe,vit,cf,vit,G_e,vit,r6,vit,Ad,vit,gv,vit,SA,vit,Dre,vit,iO,vit,oie,vit,td,vit,ur,vit,ws,vit,fu,vit,_k,vit,ps,vit,zJ,vit,WI,vit,Joe,vit,DA,vit,jY,vit,YC,vit,dCe,vit,KF,vit,S1,vit,cX,vit,bm,vit,t8,vit,bC,vit,Nq,vit,HL,vit,Bbe,vit,dW,vit,Fd,vit,mI,vit,Sh,vit,YK,vit,yr,vit,Zne,vit,WD,vit,$_e,vit,uv,vit,gb,vit,$de,vit,DT,vit,cO,vit,oK,vit,OG,vit,Gf,vit,poe,vit,$re,vit,TI,vit,m$,vit,ZC,vit,lb,vit,Ole,vit,N_e,vit,aN,vit,So,vit,WL,vit,T_,vit,SRe,vit,pd,vit,xK,vit,TH,vit,cb,vit,hQ,vit,tH,vit,wx,vit,$se,vit,Ile,vit,$v,vit,nI,vit,Bz,vit,fre,vit,hb,vit,Coe,vit,fg,vit,sb,vit,VH,vit,hh,vit,O0,vit,xm,vit,qK,vit,CT,vit,hbe,vit,zG,vit,Iw,vit,Uy,vit,ca,vit,wC,vit,Gk,vit,fv,vit,iR,vit,BA,vit,Yne,vit,$Z,vit,Qu,vit,$y,vit,qve,vit,qn,vit,$x,vit,yT,vit,ad,vit,ole,vit,OW,vit,kY,vit,Rw,vit,sz,vit,Ade,vit,Rae,vit,ZH,vit,MM,vit,Es,vit,yV,vit,ta,vit,mO,vit,ns,vit,YJ,vit,lee,vit,iM,vit,Yu,vit,K_e,vit,XZ,vit,WC,vit,TN,vit,mle,vit,qne,vit,d$,vit,qU,vit,vr,vit,H_e,vit,gA,vit,kT,vit,gO,vit,Zw,vit,xr,vit,Th,vit,cs,vit,tW,vit,lI,vit,Kfe,vit,Kxe,vit,wA,vit,xX,vit,vV,vit,rZ,vit,uk,vit,qY,vit,PT,vit,xH,vit,Gu,vit,Iae,vit,VP,vit,LB,vit,G0,vit,Eae,vit,Wd,vit,z_e,vit,BF,vit,Tne,vit,Hne,vit,R6,vit,wn,vit,KI,vit,Wm,vit,gTe,vit,Tre,vit,Oy,vit,Ble,vit,Qj,vit,Tw,vit,XQ,vit,Boe,vit,vG,vit,Mc,vit,KU,vit,$J,vit,EK,vit,VU,vit,Tee,vit,NL,vit,TA,vit,Em,vit,Lv,vit,W_,vit,GK,vit,OC,vit,Oae,vit,P_,vit,KC,vit,zY,vit,Wy,vit,uie,vit,Tz,vit,FP,vit,d0,vit,eS,vit,Kk,vit,q3,vit,qu,vit,UL,vit,Cm,vit,qfe,vit,Cie,vit,bl,vit,PB,vit,dm,vit,mv,vit,xL,vit,wwe,vit,Kb,vit,Tie,vit,Q9,vit,Fle,vit,sj,vit,gl,vit,vm,vit,lie,vit,WV,vit,Pz,vit,Gge,vit,WQ,vit,ale,vit,K8,vit,Wo,vit,Ple,vit,noe,vit,PQ,vit,h_,vit,Dm,vit,Fm,vit,LL,vit,m4,vit,_l,vit,DS,vit,oj,vit,GW,vit,Of,vit,ZV,vit,one,vit,cm,vit,n4,vit,K2,vit,mf,vit,b$,vit,hf,vit,XC,vit,hie,vit,rP,vit,bD,vit,Ree,vit,tce,vit,EG,vit,lE,vit,dZ,vit,GA,vit,j_,vit,v_,vit,zL,vit,Ox,vit,kB,vit,l1,vit,Ume,vit,gre,vit,d6,vit,dv,vit,Pw,vit,Yle,vit,k_e,vit,Uu,vit,sP,vit,Ny,vit,p6,vit,vae,vit,xf,vit,DQ,vit,Mb,vit,_K,vit,P7,vit,ppe,vit,Sge,vit,rv,vit,eH,vit,vo,vit,ao,vit,kC,vit,i8,vit,L0,vit,Ux,vit,WG,vit,m5,vit,f5,vit,kX,vit,Xy,vit,bd,vit,es,vit,Y9,vit,Yg,vit,gZ,vit,Ur,vit,Xbe,vit,DH,vit,nc,vit,l5,vit,LH,vit,jw,vit,uf,vit,sbe,vit,ha,vit,V5,vit,S0,vit,HD,vit,wV,vit,PW,vit,Ff,vit,eM,vit,_S,vit,Ud,vit,t1,vit,ice,vit,IO,vit,bQ,vit,W_e,vit,koe,vit,MQ,vit,nSe,vit,d3,vit,jL,vit,Tg,vit,Zv,vit,Kne,vit,sle,vit,Dr,vit,kse,vit,Hy,vit,HY,vit,um,vit,Ya,vit,rc,vit,EH,vit,Xee,vit,Qp,vit,qk,vit,Wk,vit,gm,vit,tne,vit,Ol,vit,nb,vit,xp,vit,MI,vit,jne,vit,tp,vit,Rm,vit,Eh,vit,yA,vit,UTe,vit,Yee,vit,nce,vit,tbe,vit,t0,vit,Lq,vit,yh,vit,gj,vit,AT,vit,sZ,vit,YSe,vit,oM,vit,AJ,vit,nbe,vit,Ks,vit,xSe,vit,RY,vit,mS,vit,$q,vit,D_,vit,Z0,vit,$ue,vit,$Y,vit,kg,vit,Ps,vit,T0,vit,e0,vit,H_,vit,nte,vit,rte,vit,a9,vit,ag,vit,sne,vit,IY,vit,Mre,vit,sD,vit,JF,vit,UC,vit,_ie,vit,xa,vit,Y_e,vit,wle,vit,Vle,vit,Lo,vit,HH,vit,kr,vit,pR,vit,$V,vit,Whe,vit,lo,vit,X3,vit,M3,vit,Awe,vit,qpe,vit,p_,vit,ys,vit,ete,vit,D0,vit,Jxe,vit,SK,vit,$ce,vit,jS,vit,Jd,vit,KZ,vit,kx,vit,pbe,vit,nge,vit,rx,vit,ld,vit,Uh,vit,xoe,vit,IR,vit,qy,vit,lh,vit,us,vit,zy,vit,iD,vit,fN,vit,dp,vit,TO,vit,Xu,vit,ob,vit,Lwe,vit,mk,vit,ua,vit,b0,vit,iN,vit,e3,vit,Qf,vit,Ste,vit,V9,vit,k7,vit,l6,vit,Jde,vit,$U,vit,kCe,vit,gF,vit,hn,vit,_X,vit,Yx,vit,Kd,vit,Jn,vit,n7,vit,Nr,vit,BK,vit,KR,vit,_Pe,vit,aQ,vit,yg,vit,qw,vit,L6,vit,hye,vit,fA,vit,eE,vit,F2,vit,M9,vit,Zve,vit,jm,vit,hS,vit,Hw,vit,$X,vit,e2,vit,uRe,vit,PA,vit,O_e,vit,Lme,vit,kp,vit,eQ,vit,NK,vit,H0,vit,w2,vit,Dh,vit,vv,vit,ade,vit,QC,vit,_v,vit,LA,vit,Xq,vit,Yn,vit,YFe,vit,Ta,vit,BY,vit,hw,vit,lB,vit,M$,vit,Xx,vit,Tu,vit,cZ,vit,oZ,vit,eu,vit,BT,vit,Jee,vit,cI,vit,mFe,vit,Xs,vit,Tle,vit,BH,vit,wz,vit,s$,vit,Kp,vit,Xte,vit,oc,vit,uL,vit,dr,vit,cV,vit,gq,vit,FA,vit,cU,vit,lZ,vit,UH,vit,JZ,vit,iZ,vit,o8,vit,axe,vit,co,vit,t_,vit,dJ,vit,Mw,vit,hO,vit,cD,vit,qde,vit,QJ,vit,DL,vit,rle,vit,jy,vit,Nh,vit,Z3,vit,dd,vit,rs,vit,aW,vit,Zo,vit,sI,vit,Ice,vit,ho,vit,j_e,vit,yH,vit,so,vit,am,vit,pj,vit,ol,vit,woe,vit,en,vit,Zpe,vit,s5,vit,pM,vit,Sr,vit,Xo,vit,Ir,vit,oI,vit,aZ,vit,Bm,vit,HF,vit,DU,vit,Yae,vit,mse,vit,n0,vit,b3,vit,Ale,vit,SCe,vit,Ig,vit,gf,vit,Fae,vit,b1,vit,VA,vit,If,vit,YH,vit,hV,vit,v$,vit,rie,vit,lbe,vit,Xf,vit,iT,vit,xl,vit,XJ,vit,ube,vit,s0,vit,M_,vit,Oz,vit,JM,vit,kw,vit,sk,vit,GQ,vit,C1,vit,K6,vit,Y1,vit,uo,vit,NF,vit,Yy,vit,foe,vit,m9,vit,yl,vit,qq,vit,P1,vit,cr,vit,UM,vit,Gg,vit,vne,vit,RT,vit,wm,vit,vQ,vit,vS,vit,Tl,vit,Uoe,vit,AMe,vit,Mee,vit,GPe,vit,nz,vit,die,vit,Uq,vit,vu,vit,F_,vit,AA,vit,VX,vit,Q0,vit,s4,vit,RG,vit,jte,vit,Nm,vit,sN,vit,Fxe,vit,sv,vit,aX,vit,hse,vit,yQ,vit,iv,vit,IA,vit,zC,vit,pZ,vit,jR,vit,Gee,vit,SI,vit,tMe,vit,o_e,vit,U0,vit,L4,vit,ak,vit,Mr,vit,lQ,vit,s3,vit,w_,vit,Toe,vit,DV,vit,nj,vit,Br,vit,wae,vit,wne,vit,rK,vit,r0,vit,tN,vit,Dw,vit,R0,vit,Qee,vit,ZFe,vit,$N,vit,ZT,vit,ou,vit,MY,vit,o3,vit,CQ,vit,JP,vit,Yue,vit,Nd,vit,jc,vit,qc,vit,AX,vit,IFe,vit,Sf,vit,AO,vit,WPe,vit,od,vit,A_,vit,Vce,vit,nQ,vit,oB,vit,XAe,vit,DB,vit,tM,vit,uY,vit,Gwe,vit,NI,vit,H5,vit,A2,vit,AU,vit,Og,vit,y8,vit,Jf,vit,MK,vit,G5,vit,One,vit,$3,vit,P0,vit,gie,vit,moe,vit,rpe,vit,yo,vit,BCe,vit,x$,vit,aO,vit,_u,vit,r7,vit,$4,vit,In,vit,uoe,vit,av,vit,PV,vit,fRe,vit,Az,vit,yI,vit,da,vit,ML,vit,y1,vit,cne,vit,l3,vit,G_,vit,_R,vit,mu,vit,t2,vit,ele,vit,Ly,vit,Vd,vit,NCe,vit,mE,vit,VD,vit,$n,vit,Ro,vit,hCe,vit,Oh,vit,lDe,vit,Q3,vit,gS,vit,hne,vit,gn,vit,ere,vit,n8,vit,aP,vit,Ype,vit,o4,vit,S7,vit,QV,vit,pl,vit,c$,vit,b_,vit,sm,vit,Pee,vit,vI,vit,p0,vit,OY,vit,DG,vit,q8,vit,Ed,vit,TB,vit,Nne,vit,Uf,vit,ZU,vit,Yv,vit,Rle,vit,bE,vit,LDe,vit,$ee,vit,VCe,vit,Gd,vit,bAe,vit,MSe,vit,X_e,vit,iK,vit,jU,vit,Nf,vit,UK,vit,XY,vit,rD,vit,mP,vit,Xk,vit,a5,vit,ane,vit,_G,vit,sK,vit,Wge,vit,TAe,vit,Wx,vit,boe,vit,zH,vit,_oe,vit,Ez,vit,voe,vit,sQ,vit,bh,vit,Wue,vit,FF,vit,K4,vit,s7,vit,Tde,vit,KY,vit,sO,vit,Jz,vit,jD,vit,ZI,vit,w0,vit,mZ,vit,K5,vit,CCe,vit,Ma,vit,K3,vit,N0,vit,kD,vit,MH,vit,bb,vit,WW,vit,Aw,vit,$G,vit,ih,vit,Jv,vit,Od,vit,PH,vit,h2,vit,_ae,vit,NJ,vit,GSe,vit,ma,vit,OCe,vit,LK,vit,Nl,vit,Ts,vit,y6,vit,HPe,vit,cAe,vit,yN,vit,hr,vit,fj,vit,OPe,vit,zPe,vit,Cf,vit,xle,vit,f$,vit,ebe,vit,jC,vit,Qre,vit,h1,vit,MB,vit,iie,vit,VG,vit,Hge,vit,bM,vit,Xae,vit,aa,vit,r8,vit,fie,vit,Lg,vit,_ne,vit,LF,vit,ioe,vit,au,vit,gQ,vit,J3,vit,i1,vit,X2,vit,Roe,vit,Pxe,vit,gI,vit,Kee,vit,Ah,vit,Iee,vit,Cu,vit,Fg,vit,pa,vit,lm,vit,Cs,vit,Rce,vit,ra,vit,Eq,vit,Wq,vit,ik,vit,pQ,vit,Ehe,vit,JB,vit,k0,vit,cQ,vit,Bae,vit,d8,vit,GY,vit,kW,vit,m0,vit,o5,vit,Zk,vit,TV,vit,CZ,vit,JSe,vit,Ote,vit,Lee,vit,_f,vit,Po,vit,zd,vit,xs,vit,mne,vit,Ld,vit,qae,vit,M5,vit,f4,vit,WTe,vit,Pm,vit,Rz,vit,pX,vit,sa,vit,Vw,vit,N5,vit,HAe,vit,Zwe,vit,iX,vit,vH,vit,rX,vit,oz,vit,V0,vit,ICe,vit,C0,vit,Cle,vit,Ca,vit,Jne,vit,x0,vit,WH,vit,uQ,vit,Hq,vit,MV,vit,QG,vit,_a,vit,_Me,vit,y2,vit,ore,vit,wG,vit,rM,vit,m7,vit,Ag,vit,pf,vit,w7,vit,bo,vit,ff,vit,XU,vit,Dle,vit,Xwe,vit,Iz,vit,CN,vit,Poe,vit,fO,vit,mq,vit,rO,vit,y7,vit,B5,vit,Nz,vit,Hd,vit,AH,vit,BG,vit,oR,vit,tte,vit,tj,vit,t$,vit,owe,vit,Goe,vit,iW,vit,yle,vit,hoe,vit,JH,vit,XM,vit,Loe,vit,Uwe,vit,YG,vit,sX,vit,jwe,vit,cDe,vit,hte,vit,Dee,vit,Nre,vit,Ph,vit,id,vit,h5,vit,BO,vit,Rne,vit,Yz,vit,wH,vit,vSe,vit,Jpe,vit,y0,vit,Ooe,vit,I_,vit,Qq,vit,vh,vit,c5,vit,Z_e,vit,sie,vit,jP,vit,EF,vit,TQ,vit,SQ,vit,Ece,vit,hL,vit,Q_e,vit,NA,vit,hR,vit,Vm,vit,GF,vit,tR,vit,jge,vit,yte,vit,YN,vit,Xde,vit,jV,vit,Noe,vit,G3,vit,Hte,vit,hfe,vit,Upe,vit,nK,vit,RFe,vit,ECe,vit,_V,vit,mD,vit,dy,vit,dN,vit,Vne,vit,Vg,vit,eW,vit,zne,vit,XG,vit,VS,vit,UF,vit,_z,vit,la,vit,J8,vit,JC,vit,cW,vit,_I,vit,hk,vit,Mh,vit,Gne,vit,hE,vit,rne,vit,Ab,vit,dS,vit,__,vit,Ep,vit,X$,vit,_b,vit,qZ,vit,Lk,vit,Xve,vit,Z9,vit,B0,vit,Gy,vit,fo,vit,hF,vit,vl,vit,sF,vit,KK,vit,Qle,vit,loe,vit,$k,vit,NY,vit,Vae,vit,xk,vit,t6,vit,j3,vit,pv,vit,Or,vit,X0,vit,ub,vit,g3,vit,cd,vit,Hee,vit,mye,vit,xee,vit,IG,vit,jZ,vit,kae,vit,qx,vit,hN,vit,Sie,vit,Eoe,vit,iee,vit,j5,vit,Mae,vit,zj,vit,o7,vit,GTe,vit,rPe,vit,oW,vit,W3,vit,n6,vit,Moe,vit,ju,vit,Fw,vit,Cq,vit,WY,vit,Vp,vit,OK,vit,WDe,vit,RW,vit,zAe,vit,xG,vit,mm,vit,lX,vit,yoe,vit,il,vit,mb,vit,PG,vit,uO,vit,Mxe,vit,EU,vit,l$,vit,a3,vit,sMe,vit,_Fe,vit,qSe,vit,dw,vit,h3,vit,_4,vit,MG,vit,_Z,vit,Hk,vit,q_e,vit,qC,vit,Gme,vit,hFe,vit,kl,vit,IS,vit,Nx,vit,ds,vit,f0,vit,tle,vit,zte,vit,u7,vit,lne,vit,IMe,vit,QU,vit,yf,vit,Yte,vit,wf,vit,Soe,vit,Nae,vit,Q4,vit,a1,vit,aoe,vit,gr,vit,Zd,vit,TE,vit,FH,vit,qD,vit,JG,vit,obe,vit,Bw,vit,po,vit,_d,vit,xA,vit,sx,vit,F6,vit,wxe,vit,Dde,vit,_ce,vit,AZ,vit,pre,vit,tE,vit,cN,vit,eie,vit,v7,vit,U_e,vit,fl,vit,fTe,vit,$K,vit,pI,vit,JY,vit,Sde,vit,She,vit,kA,vit,Jle,vit,NC,vit,vp,vit,yde,vit,cL,vit,uFe,vit,aY,vit,e8,vit,tZ,vit,LSe,vit,AG,vit,RA,vit,ij,vit,jv,vit,k5,vit,yS,vit,pD,vit,FG,vit,TU,vit,I5,vit,KD,vit,kz,vit,sR,vit,To,vit,dQ,vit,Voe,vit,bFe,vit,kK,vit,gBe,vit,br,vit,Zee,vit,fE,vit,I0,vit,Cw,vit,l4,vit,UA,vit,aD,vit,z5,vit,ba,vit,ine,vit,CK,vit,Kpe,vit,qG,vit,R_,vit,iSe,vit,oQ,vit,ghe,vit,wee,vit,Hm,vit,K0,vit,ej,vit,C5,vit,BC,vit,Zae,vit,F0,vit,xE,vit,qa,vit,$F,vit,f2,vit,tae,vit,fa,vit,$o,vit,c8,vit,jQ,vit,xg,vit,ape,vit,eR,vit,lf,vit,dE,vit,Hf,vit,fte,vit,IU,vit,v0,vit,Bd,vit,fle,vit,see,vit,uq,vit,HJ,vit,bse,vit,Qc,vit,bU,vit,pm,vit,LTe,vit,ite,vit,E0,vit,HC,vit,ece,vit,h8,vit,hre,vit,Mg,vit,Y3,vit,ZSe,vit,_P,vit,YY,vit,rY,vit,bj,vit,nie,vit,KG,vit,ble,vit,Rd,vit,Pde,vit,u3,vit,Kx,vit,VMe,vit,eO,vit,ls,vit,dI,vit,FMe,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit,vit];var $nt=[xit,xit,ROe,xit,IOe,xit,BOe,xit,VOe,xit,EOe,xit,NOe,xit,kOe,xit,OOe,xit,LOe,xit,UOe,xit,GOe,xit,WOe,xit,zOe,xit,HOe,xit,jOe,xit,XOe,xit,ZOe,xit,QOe,xit,qOe,xit,YOe,xit,EJ,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit,xit];var e_t=[Mit,Mit,KOe,Mit,$Oe,Mit,eLe,Mit,tLe,Mit,iLe,Mit,nLe,Mit,_Le,Mit,rLe,Mit,oLe,Mit,sLe,Mit,aLe,Mit,pLe,Mit,lLe,Mit,dLe,Mit,cLe,Mit,bLe,Mit,uLe,Mit,mLe,Mit,hLe,Mit,fLe,Mit,Wn,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit,Mit];var t_t=[Tit,Tit,CLe,Tit,SLe,Tit,yLe,Tit,vLe,Tit,xLe,Tit,MLe,Tit,TLe,Tit,DLe,Tit,PLe,Tit,wLe,Tit,ALe,Tit,FLe,Tit,RLe,Tit,ILe,Tit,BLe,Tit,VLe,Tit,ELe,Tit,NLe,Tit,kLe,Tit,OLe,Tit,Wh,Tit,k3,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit,Tit];var i_t=[Dit,Dit,ULe,Dit,GLe,Dit,WLe,Dit,zLe,Dit,HLe,Dit,jLe,Dit,XLe,Dit,ZLe,Dit,QLe,Dit,qLe,Dit,YLe,Dit,JLe,Dit,KLe,Dit,$Le,Dit,eUe,Dit,tUe,Dit,iUe,Dit,nUe,Dit,_Ue,Dit,rUe,Dit,vge,Dit,s9,Dit,W2,Dit,cP,Dit,mee,Dit,JO,Dit,Bn,Dit,I7,Dit,xC,Dit,zue,Dit,uhe,Dit,Nhe,Dit,jhe,Dit,jb,Dit,Wie,Dit,dT,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit,Dit];var n_t=[Pit,Pit,sUe,Pit,aUe,Pit,pUe,Pit,lUe,Pit,dUe,Pit,cUe,Pit,bUe,Pit,uUe,Pit,mUe,Pit,hUe,Pit,fUe,Pit,gUe,Pit,CUe,Pit,SUe,Pit,yUe,Pit,vUe,Pit,xUe,Pit,MUe,Pit,TUe,Pit,DUe,Pit,MF,Pit,RF,Pit,Y7,Pit,T_e,Pit,aee,Pit,sre,Pit,Pit,Pit,Pit,Pit,Pit,Pit,Pit,Pit,Pit,Pit];var __t=[wit,wit,wUe,wit,AUe,wit,FUe,wit,RUe,wit,IUe,wit,BUe,wit,VUe,wit,EUe,wit,NUe,wit,kUe,wit,OUe,wit,LUe,wit,UUe,wit,GUe,wit,WUe,wit,zUe,wit,HUe,wit,jUe,wit,XUe,wit,ZUe,wit,i9,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit,wit];var r_t=[Ait,Ait,qUe,Ait,YUe,Ait,JUe,Ait,KUe,Ait,$Ue,Ait,eGe,Ait,tGe,Ait,iGe,Ait,nGe,Ait,_Ge,Ait,rGe,Ait,oGe,Ait,sGe,Ait,aGe,Ait,pGe,Ait,lGe,Ait,dGe,Ait,cGe,Ait,bGe,Ait,uGe,Ait,zZ,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait,Ait];var o_t=[Fit,Fit,hGe,Fit,fGe,Fit,gGe,Fit,CGe,Fit,SGe,Fit,yGe,Fit,vGe,Fit,xGe,Fit,MGe,Fit,TGe,Fit,DGe,Fit,PGe,Fit,wGe,Fit,AGe,Fit,FGe,Fit,RGe,Fit,IGe,Fit,BGe,Fit,VGe,Fit,EGe,Fit,nU,Fit,a_e,Fit,Nu,Fit,N1,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit,Fit];var s_t=[Rit,Rit,kGe,Rit,OGe,Rit,LGe,Rit,UGe,Rit,GGe,Rit,WGe,Rit,zGe,Rit,HGe,Rit,jGe,Rit,XGe,Rit,ZGe,Rit,QGe,Rit,qGe,Rit,YGe,Rit,JGe,Rit,KGe,Rit,$Ge,Rit,eWe,Rit,tWe,Rit,iWe,Rit,dz,Rit,wp,Rit,zT,Rit,SP,Rit,KE,Rit,Qse,Rit,Rit,Rit,Rit,Rit,Rit,Rit,Rit,Rit,Rit,Rit];var a_t=[Iit,Iit,_We,Iit,rWe,Iit,oWe,Iit,sWe,Iit,aWe,Iit,pWe,Iit,lWe,Iit,dWe,Iit,cWe,Iit,bWe,Iit,uWe,Iit,mWe,Iit,hWe,Iit,fWe,Iit,gWe,Iit,CWe,Iit,SWe,Iit,yWe,Iit,vWe,Iit,xWe,Iit,hy,Iit,_y,Iit,cy,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit,Iit];var p_t=[Bit,Bit,TWe,Bit,DWe,Bit,PWe,Bit,wWe,Bit,AWe,Bit,FWe,Bit,RWe,Bit,IWe,Bit,BWe,Bit,VWe,Bit,EWe,Bit,NWe,Bit,kWe,Bit,OWe,Bit,LWe,Bit,UWe,Bit,GWe,Bit,WWe,Bit,zWe,Bit,HWe,Bit,BDe,Bit,$De,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit,Bit];var l_t=[Vit,Vit,XWe,Vit,ZWe,Vit,QWe,Vit,qWe,Vit,YWe,Vit,JWe,Vit,KWe,Vit,$We,Vit,eze,Vit,tze,Vit,ize,Vit,nze,Vit,_ze,Vit,rze,Vit,oze,Vit,sze,Vit,aze,Vit,pze,Vit,lze,Vit,dze,Vit,NP,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit,Vit];var d_t=[Eit,Eit,bze,Eit,uze,Eit,mze,Eit,hze,Eit,fze,Eit,gze,Eit,Cze,Eit,Sze,Eit,yze,Eit,vze,Eit,xze,Eit,Mze,Eit,Tze,Eit,Dze,Eit,Pze,Eit,wze,Eit,Aze,Eit,Fze,Eit,Rze,Eit,Ize,Eit,Ej,Eit,yU,Eit,zfe,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit,Eit];var c_t=[Nit,Nit,Vze,Nit,Eze,Nit,Nze,Nit,kze,Nit,Oze,Nit,Lze,Nit,Uze,Nit,Gze,Nit,Wze,Nit,zze,Nit,Hze,Nit,jze,Nit,Xze,Nit,Zze,Nit,Qze,Nit,qze,Nit,Yze,Nit,Jze,Nit,Kze,Nit,$ze,Nit,kve,Nit,Lve,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit,Nit];var b_t=[kit,kit,tHe,kit,iHe,kit,nHe,kit,_He,kit,rHe,kit,oHe,kit,sHe,kit,aHe,kit,pHe,kit,lHe,kit,dHe,kit,cHe,kit,bHe,kit,uHe,kit,mHe,kit,hHe,kit,fHe,kit,gHe,kit,CHe,kit,SHe,kit,lae,kit,gk,kit,CH,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit,kit];var u_t=[Oit,Oit,vHe,Oit,xHe,Oit,MHe,Oit,THe,Oit,DHe,Oit,PHe,Oit,wHe,Oit,AHe,Oit,FHe,Oit,RHe,Oit,IHe,Oit,BHe,Oit,VHe,Oit,EHe,Oit,NHe,Oit,kHe,Oit,OHe,Oit,LHe,Oit,UHe,Oit,GHe,Oit,k1,Oit,ku,Oit,hD,Oit,p_e,Oit,_U,Oit,Oit,Oit,Oit,Oit,Oit,Oit,Oit,Oit,Oit,Oit,Oit,Oit];var m_t=[Lit,Lit,zHe,Lit,HHe,Lit,jHe,Lit,XHe,Lit,ZHe,Lit,QHe,Lit,qHe,Lit,YHe,Lit,JHe,Lit,KHe,Lit,$He,Lit,eje,Lit,tje,Lit,ije,Lit,nje,Lit,_je,Lit,rje,Lit,oje,Lit,sje,Lit,aje,Lit,Db,Lit,HI,Lit,QM,Lit,RX,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit,Lit];var h_t=[Uit,Uit,lje,Uit,dje,Uit,cje,Uit,bje,Uit,uje,Uit,mje,Uit,hje,Uit,fje,Uit,gje,Uit,Cje,Uit,Sje,Uit,yje,Uit,vje,Uit,xje,Uit,Mje,Uit,Tje,Uit,Dje,Uit,Pje,Uit,wje,Uit,Aje,Uit,j1,Uit,Rde,Uit,rB,Uit,Fce,Uit,dse,Uit,qv,Uit,Ube,Uit,Xoe,Uit,Gm,Uit,eC,Uit,sye,Uit,el,Uit,U8,Uit,Ov,Uit,uZ,Uit,hee,Uit,eme,Uit,t_e,Uit,nue,Uit,yC,Uit,uP,Uit,CG,Uit,Wde,Uit,R_e,Uit,xye,Uit,i5,Uit,Bv,Uit,_J,Uit,g2,Uit,QT,Uit,NW,Uit,KO,Uit,aC,Uit,Wr,Uit,ic,Uit,UZ,Uit,Gv,Uit,mCe,Uit,JCe,Uit,ql,Uit,Ll,Uit,KPe,Uit,mY,Uit,Fbe,Uit,rW,Uit,wu,Uit,F1,Uit,PF,Uit,Tge,Uit,qz,Uit,J$,Uit,u2,Uit,Bpe,Uit,uSe,Uit,dY,Uit,Lxe,Uit,GS,Uit,sCe,Uit,Jhe,Uit,OJ,Uit,ex,Uit,hA,Uit,UQ,Uit,U_,Uit,qX,Uit,uce,Uit,rBe,Uit,Bre,Uit,_pe,Uit,TP,Uit,N3,Uit,eee,Uit,kSe,Uit,mbe,Uit,Yr,Uit,Zle,Uit,P2,Uit,Gs,Uit,wge,Uit,dF,Uit,Fwe,Uit,aE,Uit,sFe,Uit,vfe,Uit,_Ae,Uit,cY,Uit,gK,Uit,_9,Uit,Op,Uit,_ye,Uit,Kf,Uit,iFe,Uit,bPe,Uit,Zhe,Uit,J0,Uit,pY,Uit,APe,Uit,PE,Uit,Tbe,Uit,ixe,Uit,Dhe,Uit,fye,Uit,LMe,Uit,OO,Uit,XSe,Uit,vhe,Uit,zw,Uit,mte,Uit,I3,Uit,OTe,Uit,Ia,Uit,bq,Uit,F7,Uit,Ev,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit,Uit];var f_t=[Git,Git,Rje,Git,Ije,Git,Bje,Git,Vje,Git,Eje,Git,Nje,Git,kje,Git,Oje,Git,Lje,Git,Uje,Git,Gje,Git,Wje,Git,zje,Git,Hje,Git,jje,Git,Xje,Git,Zje,Git,Qje,Git,qje,Git,Yje,Git,Sy,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git,Git];var g_t=[Wit,Wit,Kje,Wit,$je,Wit,eXe,Wit,tXe,Wit,iXe,Wit,nXe,Wit,_Xe,Wit,rXe,Wit,oXe,Wit,sXe,Wit,aXe,Wit,pXe,Wit,lXe,Wit,dXe,Wit,cXe,Wit,bXe,Wit,uXe,Wit,mXe,Wit,hXe,Wit,fXe,Wit,Ra,Wit,Qm,Wit,B2,Wit,xq,Wit,Gce,Wit,sH,Wit,gW,Wit,ede,Wit,Sye,Wit,vse,Wit,joe,Wit,hB,Wit,AK,Wit,Pte,Wit,US,Wit,Ire,Wit,FQ,Wit,tA,Wit,M8,Wit,_2,Wit,QA,Wit,XW,Wit,Qr,Wit,mpe,Wit,pc,Wit,JQ,Wit,sE,Wit,hd,Wit,J_,Wit,MZ,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit,Wit];var C_t=[zit,zit,CXe,zit,SXe,zit,yXe,zit,vXe,zit,xXe,zit,MXe,zit,TXe,zit,DXe,zit,PXe,zit,wXe,zit,AXe,zit,FXe,zit,RXe,zit,IXe,zit,BXe,zit,VXe,zit,EXe,zit,NXe,zit,kXe,zit,OXe,zit,Wl,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit,zit];var S_t=[Hit,Hit,UXe,Hit,GXe,Hit,WXe,Hit,zXe,Hit,HXe,Hit,jXe,Hit,XXe,Hit,ZXe,Hit,QXe,Hit,qXe,Hit,YXe,Hit,JXe,Hit,KXe,Hit,$Xe,Hit,eZe,Hit,tZe,Hit,iZe,Hit,nZe,Hit,_Ze,Hit,rZe,Hit,qb,Hit,Dp,Hit,Ju,Hit,gP,Hit,jf,Hit,Ef,Hit,Hit,Hit,Hit,Hit,Hit,Hit,Hit,Hit,Hit,Hit];var y_t=[jit,jit,sZe,jit,aZe,jit,pZe,jit,lZe,jit,dZe,jit,cZe,jit,bZe,jit,uZe,jit,mZe,jit,hZe,jit,fZe,jit,gZe,jit,CZe,jit,SZe,jit,yZe,jit,vZe,jit,xZe,jit,MZe,jit,TZe,jit,DZe,jit,Y0,jit,Js,jit,oPe,jit,OU,jit,DSe,jit,Hh,jit,Nwe,jit,XCe,jit,gG,jit,F3,jit,Kre,jit,Gw,jit,wce,jit,Tr,jit,uA,jit,vMe,jit,k_,jit,fxe,jit,Um,jit,LU,jit,QDe,jit,tc,jit,Zz,jit,VW,jit,pDe,jit,GV,jit,pwe,jit,LZ,jit,pse,jit,exe,jit,cRe,jit,Ql,jit,Hwe,jit,hK,jit,ipe,jit,eFe,jit,cre,jit,ZX,jit,PU,jit,iRe,jit,OQ,jit,nh,jit,bte,jit,IC,jit,dq,jit,Xle,jit,nB,jit,NAe,jit,D2,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit,jit];var v_t=[Xit,Xit,wZe,Xit,AZe,Xit,FZe,Xit,RZe,Xit,IZe,Xit,BZe,Xit,VZe,Xit,EZe,Xit,NZe,Xit,kZe,Xit,OZe,Xit,LZe,Xit,UZe,Xit,GZe,Xit,WZe,Xit,zZe,Xit,HZe,Xit,jZe,Xit,XZe,Xit,ZZe,Xit,NM,Xit,xJ,Xit,Q$,Xit,iy,Xit,II,Xit,Gle,Xit,Lc,Xit,CX,Xit,Xit,Xit,Xit,Xit,Xit,Xit];var x_t=[Zit,Zit,qZe,Zit,YZe,Zit,JZe,Zit,KZe,Zit,$Ze,Zit,eQe,Zit,tQe,Zit,iQe,Zit,nQe,Zit,_Qe,Zit,rQe,Zit,oQe,Zit,sQe,Zit,aQe,Zit,pQe,Zit,lQe,Zit,dQe,Zit,cQe,Zit,bQe,Zit,uQe,Zit,zn,Zit,Zse,Zit,lz,Zit,Un,Zit,Nn,Zit,Pp,Zit,E_,Zit,WT,Zit,KN,Zit,CP,Zit,sae,Zit,Jse,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit,Zit];var M_t=[Qit,Qit,hQe,Qit,fQe,Qit,gQe,Qit,CQe,Qit,SQe,Qit,yQe,Qit,vQe,Qit,xQe,Qit,MQe,Qit,TQe,Qit,DQe,Qit,PQe,Qit,wQe,Qit,AQe,Qit,FQe,Qit,RQe,Qit,IQe,Qit,BQe,Qit,VQe,Qit,EQe,Qit,bP,Qit,CD,Qit,$a,Qit,F8,Qit,wl,Qit,uBe,Qit,Zge,Qit,ehe,Qit,gC,Qit,sce,Qit,TJ,Qit,nCe,Qit,MD,Qit,GM,Qit,bBe,Qit,gx,Qit,kI,Qit,Sb,Qit,pTe,Qit,mBe,Qit,MX,Qit,Obe,Qit,Py,Qit,FD,Qit,CAe,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit,Qit];var T_t=[qit,qit,kQe,qit,OQe,qit,LQe,qit,UQe,qit,GQe,qit,WQe,qit,zQe,qit,HQe,qit,jQe,qit,XQe,qit,ZQe,qit,QQe,qit,qQe,qit,YQe,qit,JQe,qit,KQe,qit,$Qe,qit,eqe,qit,tqe,qit,iqe,qit,FY,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit,qit];var D_t=[Yit,Yit,_qe,Yit,rqe,Yit,oqe,Yit,sqe,Yit,aqe,Yit,pqe,Yit,lqe,Yit,dqe,Yit,cqe,Yit,bqe,Yit,uqe,Yit,mqe,Yit,hqe,Yit,fqe,Yit,gqe,Yit,Cqe,Yit,Sqe,Yit,yqe,Yit,vqe,Yit,xqe,Yit,mre,Yit,ea,Yit,Fs,Yit,Kwe,Yit,EC,Yit,lk,Yit,uN,Yit,cFe,Yit,nMe,Yit,xN,Yit,eae,Yit,LJ,Yit,HV,Yit,toe,Yit,vO,Yit,zCe,Yit,Dxe,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit,Yit];var P_t=[Jit,Jit,Tqe,Jit,Dqe,Jit,Pqe,Jit,wqe,Jit,Aqe,Jit,Fqe,Jit,Rqe,Jit,Iqe,Jit,Bqe,Jit,Vqe,Jit,Eqe,Jit,Nqe,Jit,kqe,Jit,Oqe,Jit,Lqe,Jit,Uqe,Jit,Gqe,Jit,Wqe,Jit,zqe,Jit,Hqe,Jit,wP,Jit,wv,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit,Jit];var w_t=[Kit,Kit,Xqe,Kit,Zqe,Kit,Qqe,Kit,qqe,Kit,Yqe,Kit,Jqe,Kit,Kqe,Kit,$qe,Kit,eYe,Kit,tYe,Kit,iYe,Kit,nYe,Kit,_Ye,Kit,rYe,Kit,oYe,Kit,sYe,Kit,aYe,Kit,pYe,Kit,lYe,Kit,dYe,Kit,sU,Kit,z2,Kit,Xb,Kit,zie,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit,Kit];var A_t=[$it,$it,bYe,$it,uYe,$it,mYe,$it,hYe,$it,fYe,$it,gYe,$it,CYe,$it,SYe,$it,yYe,$it,vYe,$it,xYe,$it,MYe,$it,TYe,$it,DYe,$it,PYe,$it,wYe,$it,AYe,$it,FYe,$it,RYe,$it,IYe,$it,jT,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it,$it];var F_t=[ent,ent,VYe,ent,EYe,ent,NYe,ent,kYe,ent,OYe,ent,LYe,ent,UYe,ent,GYe,ent,WYe,ent,zYe,ent,HYe,ent,jYe,ent,XYe,ent,ZYe,ent,QYe,ent,qYe,ent,YYe,ent,JYe,ent,KYe,ent,$Ye,ent,V7,ent,tL,ent,TC,ent,GDe,ent,khe,ent,km,ent,fP,ent,fue,ent,xge,ent,jie,ent,Hue,ent,UO,ent,Xhe,ent,Iie,ent,mG,ent,mve,ent,zN,ent,yR,ent,bT,ent,XE,ent,PD,ent,Pue,ent,Jme,ent,Qb,ent,Fue,ent,X8,ent,IW,ent,Ive,ent,mhe,ent,x1,ent,Cee,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent,ent];var R_t=[tnt,tnt,tJe,tnt,iJe,tnt,nJe,tnt,_Je,tnt,rJe,tnt,oJe,tnt,sJe,tnt,aJe,tnt,pJe,tnt,lJe,tnt,dJe,tnt,cJe,tnt,bJe,tnt,uJe,tnt,mJe,tnt,hJe,tnt,fJe,tnt,gJe,tnt,CJe,tnt,SJe,tnt,sp,tnt,gce,tnt,$ge,tnt,Il,tnt,Tx,tnt,By,tnt,Ege,tnt,mAe,tnt,rTe,tnt,tnt,tnt,tnt,tnt];var I_t=[int,int,vJe,int,xJe,int,MJe,int,TJe,int,DJe,int,PJe,int,wJe,int,AJe,int,FJe,int,RJe,int,IJe,int,BJe,int,VJe,int,EJe,int,NJe,int,kJe,int,OJe,int,LJe,int,UJe,int,GJe,int,AY,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int];var B_t=[nnt,nnt,zJe,nnt,HJe,nnt,jJe,nnt,XJe,nnt,ZJe,nnt,QJe,nnt,qJe,nnt,YJe,nnt,JJe,nnt,KJe,nnt,$Je,nnt,eKe,nnt,tKe,nnt,iKe,nnt,nKe,nnt,_Ke,nnt,rKe,nnt,oKe,nnt,sKe,nnt,aKe,nnt,Lfe,nnt,Bfe,nnt,Efe,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt,nnt];var V_t=[_nt,_nt,lKe,_nt,dKe,_nt,cKe,_nt,bKe,_nt,uKe,_nt,mKe,_nt,hKe,_nt,fKe,_nt,gKe,_nt,CKe,_nt,SKe,_nt,yKe,_nt,vKe,_nt,xKe,_nt,MKe,_nt,TKe,_nt,DKe,_nt,PKe,_nt,wKe,_nt,AKe,_nt,Gh,_nt,G4,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt,_nt];var E_t=[rnt,rnt,RKe,rnt,IKe,rnt,BKe,rnt,VKe,rnt,EKe,rnt,NKe,rnt,kKe,rnt,OKe,rnt,LKe,rnt,UKe,rnt,GKe,rnt,WKe,rnt,zKe,rnt,HKe,rnt,jKe,rnt,XKe,rnt,ZKe,rnt,QKe,rnt,qKe,rnt,YKe,rnt,KJ,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt,rnt];var N_t=[ont,ont,KKe,ont,$Ke,ont,e$e,ont,t$e,ont,i$e,ont,n$e,ont,_$e,ont,r$e,ont,o$e,ont,s$e,ont,a$e,ont,p$e,ont,l$e,ont,d$e,ont,c$e,ont,b$e,ont,u$e,ont,m$e,ont,h$e,ont,f$e,ont,Eu,ont,E1,ont,iU,ont,s_e,ont,ont,ont,ont,ont,ont,ont,ont,ont,ont,ont,ont,ont,ont,ont];var k_t=[snt,snt,C$e,snt,S$e,snt,y$e,snt,v$e,snt,x$e,snt,M$e,snt,T$e,snt,D$e,snt,P$e,snt,w$e,snt,A$e,snt,F$e,snt,R$e,snt,I$e,snt,B$e,snt,V$e,snt,E$e,snt,N$e,snt,k$e,snt,O$e,snt,Dce,snt,vIe,snt,rDe,snt,Wp,snt,iIe,snt,uIe,snt,W8,snt,RRe,snt,PY,snt,zRe,snt,DAe,snt,Sn,snt,GAe,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt,snt];var O_t=[ant,ant,U$e,ant,G$e,ant,W$e,ant,z$e,ant,H$e,ant,j$e,ant,X$e,ant,Z$e,ant,Q$e,ant,q$e,ant,Y$e,ant,J$e,ant,K$e,ant,$$e,ant,e0e,ant,t0e,ant,i0e,ant,n0e,ant,_0e,ant,r0e,ant,Xse,ant,Tb,ant,pae,ant,FX,ant,zI,ant,ZM,ant,Gz,ant,H2,ant,tk,ant,QN,ant,dae,ant,ZP,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant,ant];var L_t=[pnt,pnt,s0e,pnt,a0e,pnt,p0e,pnt,l0e,pnt,d0e,pnt,c0e,pnt,b0e,pnt,u0e,pnt,m0e,pnt,h0e,pnt,f0e,pnt,g0e,pnt,C0e,pnt,S0e,pnt,y0e,pnt,v0e,pnt,x0e,pnt,M0e,pnt,T0e,pnt,D0e,pnt,jce,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt,pnt];var U_t=[lnt,lnt,w0e,lnt,A0e,lnt,F0e,lnt,R0e,lnt,I0e,lnt,B0e,lnt,V0e,lnt,E0e,lnt,N0e,lnt,k0e,lnt,O0e,lnt,L0e,lnt,U0e,lnt,G0e,lnt,W0e,lnt,z0e,lnt,H0e,lnt,j0e,lnt,X0e,lnt,Z0e,lnt,Ap,lnt,HT,lnt,yP,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt,lnt];var G_t=[dnt,dnt,q0e,dnt,Y0e,dnt,J0e,dnt,K0e,dnt,$0e,dnt,e2e,dnt,t2e,dnt,i2e,dnt,n2e,dnt,_2e,dnt,r2e,dnt,o2e,dnt,s2e,dnt,a2e,dnt,p2e,dnt,l2e,dnt,d2e,dnt,c2e,dnt,b2e,dnt,u2e,dnt,ny,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt,dnt];var W_t=[cnt,cnt,h2e,cnt,f2e,cnt,g2e,cnt,C2e,cnt,S2e,cnt,y2e,cnt,v2e,cnt,x2e,cnt,M2e,cnt,T2e,cnt,D2e,cnt,P2e,cnt,w2e,cnt,A2e,cnt,F2e,cnt,R2e,cnt,I2e,cnt,B2e,cnt,V2e,cnt,E2e,cnt,vy,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt,cnt];var z_t=[bnt,bnt,k2e,bnt,O2e,bnt,L2e,bnt,U2e,bnt,G2e,bnt,W2e,bnt,z2e,bnt,H2e,bnt,j2e,bnt,X2e,bnt,Z2e,bnt,Q2e,bnt,q2e,bnt,Y2e,bnt,J2e,bnt,K2e,bnt,$2e,bnt,e1e,bnt,t1e,bnt,i1e,bnt,S_,bnt,Wae,bnt,ir,bnt,JJ,bnt,is,bnt,Ak,bnt,L_e,bnt,_o,bnt,H4,bnt,fs,bnt,Fk,bnt,Nw,bnt,LE,bnt,$te,bnt,ew,bnt,e7,bnt,TY,bnt,lN,bnt,Pae,bnt,cp,bnt,p3,bnt,Sw,bnt,t7,bnt,Mf,bnt,R5,bnt,Vre,bnt,hz,bnt,epe,bnt,lA,bnt,mz,bnt,uz,bnt,nW,bnt,os,bnt,hI,bnt,EQ,bnt,lP,bnt,Lse,bnt,CV,bnt,Use,bnt,jg,bnt,gz,bnt,P5,bnt,cle,bnt,W5,bnt,D9,bnt,Cz,bnt,Tm,bnt,lV,bnt,Eg,bnt,C9,bnt,w5,bnt,VT,bnt,dD,bnt,$T,bnt,ZJ,bnt,Qde,bnt,lp,bnt,_D,bnt,uh,bnt,ym,bnt,or,bnt,F$,bnt,Tpe,bnt,A9,bnt,RN,bnt,Ioe,bnt,GC,bnt,MS,bnt,Rte,bnt,rw,bnt,I6,bnt,u6,bnt,fD,bnt,za,bnt,sV,bnt,CO,bnt,dl,bnt,Y5,bnt,Dd,bnt,T6,bnt,oD,bnt,B6,bnt,l_,bnt,qm,bnt,z4,bnt,V2,bnt,T4,bnt,AB,bnt,Tk,bnt,a$,bnt,af,bnt,qf,bnt,m6,bnt,Wce,bnt,NT,bnt,Rk,bnt,s8,bnt,Fz,bnt,LT,bnt,a6,bnt,goe,bnt,OB,bnt,sM,bnt,cw,bnt,$oe,bnt,aM,bnt,ow,bnt,i_,bnt,UD,bnt,gae,bnt,Oee,bnt,vB,bnt,GP,bnt,AP,bnt,$P,bnt,pW,bnt,wte,bnt,Ow,bnt,l2,bnt,ype,bnt,kU,bnt,fpe,bnt,sq,bnt,_le,bnt,dL,bnt,iV,bnt,g7,bnt,NB,bnt,mp,bnt,FB,bnt,r1,bnt,Ho,bnt,FN,bnt,ZF,bnt,NG,bnt,ms,bnt,tw,bnt,zse,bnt,a8,bnt,hs,bnt,fI,bnt,jMe,bnt,uc,bnt,sw,bnt,M0,bnt,TG,bnt,YD,bnt,k9,bnt,Sz,bnt,u1,bnt,oA,bnt,n_,bnt,La,bnt,BL,bnt,Mse,bnt,wY,bnt,uI,bnt,iP,bnt,jK,bnt,TZ,bnt,UP,bnt,F9,bnt,Uae,bnt,aw,bnt,hl,bnt,QP,bnt,WK,bnt,q5,bnt,L9,bnt,QW,bnt,IH,bnt,BN,bnt,wr,bnt,B9,bnt,uX,bnt,IN,bnt,mH,bnt,pie,bnt,Ih,bnt,vW,bnt,t3,bnt,ph,bnt,Ete,bnt,kP,bnt,eD,bnt,Cne,bnt,EB,bnt,Am,bnt,MO,bnt,c3,bnt,gw,bnt,Qk,bnt,X6,bnt,LN,bnt,bu,bnt,Zoe,bnt,rde,bnt,v4,bnt,Jc,bnt,df,bnt,Vo,bnt,XF,bnt,f9,bnt,xu,bnt,RZ,bnt,tV,bnt,ule,bnt,Zg,bnt,tpe,bnt,Iq,bnt,IV,bnt,Qy,bnt,kk,bnt,q2,bnt,wk,bnt,rV,bnt,gd,bnt,ise,bnt,Zu,bnt,Mde,bnt,Hg,bnt,_3,bnt,UN,bnt,Rf,bnt,S9,bnt,zK,bnt,mw,bnt,O6,bnt,yw,bnt,Z2,bnt,pne,bnt,Foe,bnt,CL,bnt,Ise,bnt,ID,bnt,Ip,bnt,ZS,bnt,Vk,bnt,_O,bnt,O2,bnt,$B,bnt,YP,bnt,zB,bnt,yz,bnt,$8,bnt,v9,bnt,du,bnt,Vee,bnt,i3,bnt,AAe,bnt,GN,bnt,tb,bnt,lde,bnt,y_,bnt,H6,bnt,Qn,bnt,iA,bnt,YE,bnt,gte,bnt,WB,bnt,j6,bnt,wq,bnt,Wee,bnt,Aae,bnt,LCe,bnt,Yf,bnt,c9,bnt,U6,bnt,qA,bnt,KW,bnt,gB,bnt,sSe,bnt,Bk,bnt,rQ,bnt,X9,bnt,Kc,bnt,Fp,bnt,u$,bnt,Dn,bnt,Yde,bnt,DD,bnt,W9,bnt,Dae,bnt,D4,bnt,bV,bnt,Z6,bnt,WS,bnt,i6,bnt,T5,bnt,AE,bnt,oa,bnt,U5,bnt,BB,bnt,_0,bnt,K_,bnt,E8,bnt,g6,bnt,Ore,bnt,Kz,bnt,GL,bnt,ude,bnt,Sae,bnt,pN,bnt,vE,bnt,nq,bnt,lc,bnt,$m,bnt,S$,bnt,h4,bnt,nu,bnt,ME,bnt,EA,bnt,Io,bnt,M4,bnt,P$,bnt,zU,bnt,GB,bnt,Gse,bnt,g$,bnt,WJ,bnt,Jve,bnt,hg,bnt,ga,bnt,G9,bnt,vT,bnt,D8,bnt,FK,bnt,Ane,bnt,RQ,bnt,x_,bnt,Aoe,bnt,HB,bnt,w9,bnt,wse,bnt,$pe,bnt,yL,bnt,yye,bnt,Nle,bnt,qee,bnt,iz,bnt,az,bnt,Uee,bnt,CRe,bnt,Wre,bnt,$A,bnt,x5,bnt,Y4,bnt,wS,bnt,eV,bnt,Sbe,bnt,oP,bnt,EE,bnt,bde,bnt,f7,bnt,D6,bnt,V6,bnt,CW,bnt,Cae,bnt,x6,bnt,yie,bnt,GMe,bnt,xV,bnt,r2,bnt,Lae,bnt,Ba,bnt,Q6,bnt,U9,bnt,up,bnt,Jr,bnt,zMe,bnt,gde,bnt,aH,bnt,fae,bnt,dH,bnt,k6,bnt,tK,bnt,YS,bnt,KQ,bnt,tde,bnt,fb,bnt,p8,bnt,fr,bnt,DW,bnt,h6,bnt,nF,bnt,vA,bnt,ile,bnt,b5,bnt,EZ,bnt,Mq,bnt,v5,bnt,bp,bnt,Ele,bnt,nk,bnt,hp,bnt,d7,bnt,hae,bnt,Zce,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt,bnt];var H_t=[unt,unt,_1e,unt,r1e,unt,o1e,unt,s1e,unt,a1e,unt,p1e,unt,l1e,unt,d1e,unt,c1e,unt,b1e,unt,u1e,unt,m1e,unt,h1e,unt,f1e,unt,g1e,unt,C1e,unt,S1e,unt,y1e,unt,v1e,unt,x1e,unt,TF,unt,IF,unt,are,unt,AFe,unt,J7,unt,Vfe,unt,pee,unt,D_e,unt,FFe,unt,unt,unt,unt,unt];var j_t=[mnt,mnt,T1e,mnt,D1e,mnt,P1e,mnt,w1e,mnt,A1e,mnt,F1e,mnt,R1e,mnt,I1e,mnt,B1e,mnt,V1e,mnt,E1e,mnt,N1e,mnt,k1e,mnt,O1e,mnt,L1e,mnt,U1e,mnt,G1e,mnt,W1e,mnt,z1e,mnt,H1e,mnt,zW,mnt,Pr,mnt,Rie,mnt,O_,mnt,nY,mnt,Yme,mnt,Nce,mnt,e4,mnt,hq,mnt,ya,mnt,al,mnt,H$,mnt,tl,mnt,zr,mnt,A4,mnt,$s,mnt,twe,mnt,Sq,mnt,dB,mnt,Qv,mnt,bz,mnt,coe,mnt,_Y,mnt,pg,mnt,Ww,mnt,s1,mnt,wX,mnt,Woe,mnt,bk,mnt,nx,mnt,TK,mnt,jh,mnt,_B,mnt,cn,mnt,SL,mnt,QL,mnt,QY,mnt,cB,mnt,kbe,mnt,Jfe,mnt,nH,mnt,Ar,mnt,Oa,mnt,gR,mnt,iq,mnt,JW,mnt,yse,mnt,X_,mnt,QX,mnt,js,mnt,LQ,mnt,Zr,mnt,uU,mnt,EY,mnt,VE,mnt,ave,mnt,vre,mnt,Ex,mnt,fC,mnt,Tf,mnt,cve,mnt,m8,mnt,Gr,mnt,xb,mnt,Lm,mnt,$f,mnt,NO,mnt,Jie,mnt,fT,mnt,w1,mnt,SR,mnt,ffe,mnt,iH,mnt,R8,mnt,upe,mnt,xn,mnt,D$,mnt,jM,mnt,jse,mnt,lse,mnt,ib,mnt,Jw,mnt,uG,mnt,FZ,mnt,gL,mnt,eoe,mnt,dpe,mnt,cu,mnt,rj,mnt,GI,mnt,CF,mnt,V_,mnt,mA,mnt,fW,mnt,$R,mnt,VK,mnt,p$,mnt,$l,mnt,Pa,mnt,cue,mnt,kS,mnt,zA,mnt,NS,mnt,oL,mnt,mN,mnt,gU,mnt,fK,mnt,HA,mnt,Hc,mnt,oH,mnt,lu,mnt,kre,mnt,bce,mnt,jde,mnt,npe,mnt,vn,mnt,Ln,mnt,zQ,mnt,lve,mnt,gse,mnt,U4,mnt,VC,mnt,Gte,mnt,ooe,mnt,ZQ,mnt,w4,mnt,FS,mnt,pye,mnt,O3,mnt,ZN,mnt,uye,mnt,XN,mnt,zl,mnt,no,mnt,Pq,mnt,dn,mnt,Qpe,mnt,LW,mnt,nZ,mnt,BW,mnt,yne,mnt,mB,mnt,Y_,mnt,Du,mnt,rd,mnt,fne,mnt,yK,mnt,kv,mnt,nE,mnt,ln,mnt,Rve,mnt,vve,mnt,RO,mnt,fR,mnt,rl,mnt,qJ,mnt,SZ,mnt,zv,mnt,WO,mnt,JV,mnt,Yw,mnt,$ne,mnt,hZ,mnt,Yfe,mnt,EW,mnt,L3,mnt,Cre,mnt,Sa,mnt,Q1,mnt,Qz,mnt,uW,mnt,jn,mnt,bW,mnt,_W,mnt,rn,mnt,fse,mnt,Fj,mnt,Ace,mnt,Wse,mnt,V4,mnt,ure,mnt,Mue,mnt,ute,mnt,SG,mnt,xve,mnt,wU,mnt,ZA,mnt,PO,mnt,B4,mnt,nd,mnt,Xz,mnt,cye,mnt,ll,mnt,Z_,mnt,Fte,mnt,n1,mnt,DE,mnt,due,mnt,Nse,mnt,QSe,mnt,Dte,mnt,bbe,mnt,Uce,mnt,Yse,mnt,vte,mnt,g_e,mnt,HN,mnt,YV,mnt,zV,mnt,ZPe,mnt,KX,mnt,dFe,mnt,q0,mnt,Wme,mnt,bR,mnt,dk,mnt,R3,mnt,cq,mnt,zme,mnt,Xce,mnt,Ope,mnt,lpe,mnt,uve,mnt,Up,mnt,eA,mnt,Mn,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt,mnt];var X_t=[hnt,hnt,X1e,hnt,Z1e,hnt,Q1e,hnt,q1e,hnt,Y1e,hnt,J1e,hnt,K1e,hnt,$1e,hnt,e4e,hnt,t4e,hnt,i4e,hnt,n4e,hnt,_4e,hnt,r4e,hnt,o4e,hnt,s4e,hnt,a4e,hnt,p4e,hnt,l4e,hnt,d4e,hnt,X1,hnt,px,hnt,$ie,hnt,S_e,hnt,n5,hnt,hce,hnt,xU,hnt,nm,hnt,vY,hnt,V3,hnt,Tj,hnt];var Z_t=[fnt,fnt,b4e,fnt,u4e,fnt,m4e,fnt,h4e,fnt,f4e,fnt,g4e,fnt,C4e,fnt,S4e,fnt,y4e,fnt,v4e,fnt,x4e,fnt,M4e,fnt,T4e,fnt,D4e,fnt,P4e,fnt,w4e,fnt,A4e,fnt,F4e,fnt,R4e,fnt,I4e,fnt,PP,fnt,yxe,fnt,fFe,fnt,FIe,fnt,B_e,fnt,y_e,fnt,fnt,fnt,fnt,fnt,fnt,fnt,fnt,fnt,fnt,fnt];var Q_t=[gnt,gnt,V4e,gnt,E4e,gnt,N4e,gnt,k4e,gnt,O4e,gnt,L4e,gnt,U4e,gnt,G4e,gnt,W4e,gnt,z4e,gnt,H4e,gnt,j4e,gnt,X4e,gnt,Z4e,gnt,Q4e,gnt,q4e,gnt,Y4e,gnt,J4e,gnt,K4e,gnt,$4e,gnt,oT,gnt,PJ,gnt,iB,gnt,GX,gnt,Eb,gnt,gnt,gnt,gnt,gnt,gnt,gnt,gnt,gnt,gnt,gnt,gnt,gnt];var q_t=[Cnt,Cnt,t3e,Cnt,i3e,Cnt,n3e,Cnt,_3e,Cnt,r3e,Cnt,o3e,Cnt,s3e,Cnt,a3e,Cnt,p3e,Cnt,l3e,Cnt,d3e,Cnt,c3e,Cnt,b3e,Cnt,u3e,Cnt,m3e,Cnt,h3e,Cnt,f3e,Cnt,g3e,Cnt,C3e,Cnt,S3e,Cnt,BU,Cnt,JE,Cnt,eL,Cnt,Hie,Cnt,MC,Cnt,Wu,Cnt,pn,Cnt,j0,Cnt,VN,Cnt,JN,Cnt,hP,Cnt,B7,Cnt,yO,Cnt,on,Cnt,an,Cnt,mie,Cnt,Ine,Cnt,nG,Cnt,gN,Cnt,iae,Cnt,pk,Cnt,Rh,Cnt,kL,Cnt,Zb,Cnt,bO,Cnt,yae,Cnt,v1,Cnt,eZ,Cnt,db,Cnt,j8,Cnt,f1,Cnt,bN,Cnt,cT,Cnt,Pk,Cnt,gee,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt,Cnt];var Y_t=[Snt,Snt,v3e,Snt,x3e,Snt,M3e,Snt,T3e,Snt,D3e,Snt,P3e,Snt,w3e,Snt,A3e,Snt,F3e,Snt,R3e,Snt,I3e,Snt,B3e,Snt,V3e,Snt,E3e,Snt,N3e,Snt,k3e,Snt,O3e,Snt,L3e,Snt,U3e,Snt,G3e,Snt,Pn,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt,Snt];var J_t=[ynt,ynt,z3e,ynt,H3e,ynt,j3e,ynt,X3e,ynt,Z3e,ynt,Q3e,ynt,q3e,ynt,Y3e,ynt,J3e,ynt,K3e,ynt,$3e,ynt,e8e,ynt,t8e,ynt,i8e,ynt,n8e,ynt,_8e,ynt,r8e,ynt,o8e,ynt,s8e,ynt,a8e,ynt,Lp,ynt,pue,ynt,Aj,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt,ynt];var K_t=[vnt,vnt,l8e,vnt,d8e,vnt,c8e,vnt,b8e,vnt,u8e,vnt,m8e,vnt,h8e,vnt,f8e,vnt,g8e,vnt,C8e,vnt,S8e,vnt,y8e,vnt,v8e,vnt,x8e,vnt,M8e,vnt,T8e,vnt,D8e,vnt,P8e,vnt,w8e,vnt,A8e,vnt,Pb,vnt,IX,vnt,jI,vnt,Wfe,vnt,qM,vnt,hme,vnt,vnt,vnt,vnt,vnt,vnt,vnt,vnt,vnt,vnt,vnt];var $_t=[xnt,xnt,R8e,xnt,I8e,xnt,B8e,xnt,V8e,xnt,E8e,xnt,N8e,xnt,k8e,xnt,O8e,xnt,L8e,xnt,U8e,xnt,G8e,xnt,W8e,xnt,z8e,xnt,H8e,xnt,j8e,xnt,X8e,xnt,Z8e,xnt,Q8e,xnt,q8e,xnt,Y8e,xnt,Lpe,xnt,SH,xnt,wN,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt,xnt];var ert=[Mnt,Mnt,K8e,Mnt,$8e,Mnt,e6e,Mnt,t6e,Mnt,i6e,Mnt,n6e,Mnt,_6e,Mnt,r6e,Mnt,o6e,Mnt,s6e,Mnt,a6e,Mnt,p6e,Mnt,l6e,Mnt,d6e,Mnt,c6e,Mnt,b6e,Mnt,u6e,Mnt,m6e,Mnt,h6e,Mnt,f6e,Mnt,sy,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt,Mnt];var trt=[Tnt,Tnt,C6e,Tnt,S6e,Tnt,y6e,Tnt,v6e,Tnt,x6e,Tnt,M6e,Tnt,T6e,Tnt,D6e,Tnt,P6e,Tnt,w6e,Tnt,A6e,Tnt,F6e,Tnt,R6e,Tnt,I6e,Tnt,B6e,Tnt,V6e,Tnt,E6e,Tnt,N6e,Tnt,k6e,Tnt,O6e,Tnt,Gde,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt,Tnt];var irt=[Dnt,Dnt,U6e,Dnt,G6e,Dnt,W6e,Dnt,z6e,Dnt,H6e,Dnt,j6e,Dnt,X6e,Dnt,Z6e,Dnt,Q6e,Dnt,q6e,Dnt,Y6e,Dnt,J6e,Dnt,K6e,Dnt,$6e,Dnt,e9e,Dnt,t9e,Dnt,i9e,Dnt,n9e,Dnt,_9e,Dnt,r9e,Dnt,vD,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt,Dnt];var nrt=[Pnt,Pnt,s9e,Pnt,a9e,Pnt,p9e,Pnt,l9e,Pnt,d9e,Pnt,c9e,Pnt,b9e,Pnt,u9e,Pnt,m9e,Pnt,h9e,Pnt,f9e,Pnt,g9e,Pnt,C9e,Pnt,S9e,Pnt,y9e,Pnt,v9e,Pnt,x9e,Pnt,M9e,Pnt,T9e,Pnt,D9e,Pnt,of,Pnt,yD,Pnt,G7,Pnt,bIe,Pnt,JDe,Pnt,gIe,Pnt,zX,Pnt,Kce,Pnt,pP,Pnt,Vxe,Pnt,pU,Pnt,Qa,Pnt,Uue,Pnt,r9,Pnt,WN,Pnt,jE,Pnt,cte,Pnt,RC,Pnt,em,Pnt,lPe,Pnt,b_e,Pnt,Jre,Pnt,$h,Pnt,rbe,Pnt,G1,Pnt,ove,Pnt,Sj,Pnt,Cg,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt,Pnt];var _rt=[wnt,wnt,w9e,wnt,A9e,wnt,F9e,wnt,R9e,wnt,I9e,wnt,B9e,wnt,V9e,wnt,E9e,wnt,N9e,wnt,k9e,wnt,O9e,wnt,L9e,wnt,U9e,wnt,G9e,wnt,W9e,wnt,z9e,wnt,H9e,wnt,j9e,wnt,X9e,wnt,Z9e,wnt,$b,wnt,ah,wnt,ug,wnt,ky,wnt,Os,wnt,Lr,wnt,aae,wnt,HP,wnt,CY,wnt,C_e,wnt,lr,wnt,rL,wnt,zle,wnt,Gl,wnt,JR,wnt,fk,wnt,O4,wnt,tX,wnt,a4,wnt,Kl,wnt,gH,wnt,Vx,wnt,Pie,wnt,Fn,wnt,Jp,wnt,fn,wnt,tu,wnt,See,wnt,kJ,wnt,Zbe,wnt,L$,wnt,mR,wnt,zs,wnt,SY,wnt,fF,wnt,Ebe,wnt,IK,wnt,Pv,wnt,U3,wnt,fH,wnt,rae,wnt,eX,wnt,pE,wnt,CC,wnt,Qce,wnt,Zp,wnt,p4,wnt,I_e,wnt,JX,wnt,_5,wnt,PN,wnt,Xp,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt,wnt];var rrt=[Ant,Ant,q9e,Ant,Y9e,Ant,J9e,Ant,K9e,Ant,$9e,Ant,e5e,Ant,t5e,Ant,i5e,Ant,n5e,Ant,_5e,Ant,r5e,Ant,o5e,Ant,s5e,Ant,a5e,Ant,p5e,Ant,l5e,Ant,d5e,Ant,c5e,Ant,b5e,Ant,u5e,Ant,xbe,Ant,hj,Ant,OZ,Ant,ose,Ant,B$,Ant,lq,Ant,N2,Ant,wd,Ant,nde,Ant,Km,Ant,bA,Ant,a2,Ant,pr,Ant,VQ,Ant,FW,Ant,Ese,Ant,zE,Ant,EV,Ant,wpe,Ant,bc,Ant,ey,Ant,B8,Ant,oF,Ant,Za,Ant,Zre,Ant,Ute,Ant,Fq,Ant,ez,Ant,Vs,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant,Ant];var ort=[Fnt,Fnt,h5e,Fnt,f5e,Fnt,g5e,Fnt,C5e,Fnt,S5e,Fnt,y5e,Fnt,v5e,Fnt,x5e,Fnt,M5e,Fnt,T5e,Fnt,D5e,Fnt,P5e,Fnt,w5e,Fnt,A5e,Fnt,F5e,Fnt,R5e,Fnt,I5e,Fnt,B5e,Fnt,V5e,Fnt,E5e,Fnt,HZ,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt,Fnt];var srt=[Rnt,Rnt,k5e,Rnt,O5e,Rnt,L5e,Rnt,U5e,Rnt,G5e,Rnt,W5e,Rnt,z5e,Rnt,H5e,Rnt,j5e,Rnt,X5e,Rnt,Z5e,Rnt,Q5e,Rnt,q5e,Rnt,Y5e,Rnt,J5e,Rnt,K5e,Rnt,$5e,Rnt,e7e,Rnt,t7e,Rnt,i7e,Rnt,MMe,Rnt,AM,Rnt,dMe,Rnt,El,Rnt,CB,Rnt,Tv,Rnt,nPe,Rnt,dh,Rnt,$r,Rnt,UCe,Rnt,oee,Rnt,YA,Rnt,nRe,Rnt,Ode,Rnt,T2,Rnt,Iu,Rnt,eCe,Rnt,zce,Rnt,Ate,Rnt,UMe,Rnt,pH,Rnt,Om,Rnt,Yj,Rnt,Hx,Rnt,Vu,Rnt,ul,Rnt,_ee,Rnt,yFe,Rnt,VFe,Rnt,Xv,Rnt,Tq,Rnt,SW,Rnt,AS,Rnt,W1,Rnt,rre,Rnt,Hxe,Rnt,SF,Rnt,qxe,Rnt,E$,Rnt,VB,Rnt,Wc,Rnt,eMe,Rnt,roe,Rnt,iG,Rnt,_ue,Rnt,$1,Rnt,bx,Rnt,RE,Rnt,Rx,Rnt,zS,Rnt,$_,Rnt,kO,Rnt,nre,Rnt,eg,Rnt,yRe,Rnt,Cp,Rnt,Ere,Rnt,tye,Rnt,Dv,Rnt,fU,Rnt,Que,Rnt,$L,Rnt,OM,Rnt,S2,Rnt,lCe,Rnt,tI,Rnt,YT,Rnt,iPe,Rnt,hJ,Rnt,kpe,Rnt,wTe,Rnt,dPe,Rnt,eve,Rnt,Bj,Rnt,Sre,Rnt,xd,Rnt,u_e,Rnt,E4,Rnt,oG,Rnt,fSe,Rnt,g8,Rnt,Nfe,Rnt,L8,Rnt,YPe,Rnt,Tse,Rnt,$7,Rnt,KCe,Rnt,r_e,Rnt,hAe,Rnt,pCe,Rnt,pp,Rnt,mF,Rnt,Vl,Rnt,uCe,Rnt,vU,Rnt,Zfe,Rnt,dj,Rnt,zh,Rnt,yve,Rnt,Mhe,Rnt,Ul,Rnt,na,Rnt,EPe,Rnt,Oxe,Rnt,YR,Rnt,qoe,Rnt,kxe,Rnt,tre,Rnt,PDe,Rnt,tU,Rnt,Zl,Rnt,bxe,Rnt,nA,Rnt,wD,Rnt,FDe,Rnt,VAe,Rnt,Xl,Rnt,uAe,Rnt,oCe,Rnt,EFe,Rnt,RSe,Rnt,n9,Rnt,CSe,Rnt,Rc,Rnt,qre,Rnt,$ye,Rnt,eSe,Rnt,Bxe,Rnt,xMe,Rnt,swe,Rnt,sTe,Rnt,Cye,Rnt,fd,Rnt,Nge,Rnt,VI,Rnt,pRe,Rnt,oxe,Rnt,_xe,Rnt,PZ,Rnt,TSe,Rnt,Qxe,Rnt,IAe,Rnt,w_e,Rnt,Vr,Rnt,jX,Rnt,yX,Rnt,wSe,Rnt,qV,Rnt,Fx,Rnt,kPe,Rnt,gJ,Rnt,gpe,Rnt,RK,Rnt,Ea,Rnt,qW,Rnt,kwe,Rnt,ap,Rnt,Vc,Rnt,cIe,Rnt,ZR,Rnt,xj,Rnt,Qwe,Rnt,pMe,Rnt,qd,Rnt,FAe,Rnt,DM,Rnt,NPe,Rnt,dIe,Rnt,FSe,Rnt,V1,Rnt,dRe,Rnt,uF,Rnt,$9,Rnt,ch,Rnt,cCe,Rnt,A8,Rnt,CTe,Rnt,z$,Rnt,uxe,Rnt,xce,Rnt,WCe,Rnt,C2,Rnt,yre,Rnt,_be,Rnt,m2,Rnt,zbe,Rnt,ty,Rnt,Mne,Rnt,lF,Rnt,f_e,Rnt,HX,Rnt,eq,Rnt,TMe,Rnt,Yge,Rnt,oJ,Rnt,vj,Rnt,Mce,Rnt,$j,Rnt,wve,Rnt,WP,Rnt,kie,Rnt,HCe,Rnt,wme,Rnt,wL,Rnt,Ywe,Rnt,Ape,Rnt,Yre,Rnt,gg,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt,Rnt];var art=[Int,Int,_7e,Int,r7e,Int,o7e,Int,s7e,Int,a7e,Int,p7e,Int,l7e,Int,d7e,Int,c7e,Int,b7e,Int,u7e,Int,m7e,Int,h7e,Int,f7e,Int,g7e,Int,C7e,Int,S7e,Int,y7e,Int,v7e,Int,x7e,Int,xse,Int,Kie,Int,WA,Int,hpe,Int,L_,Int,aB,Int,Qw,Int,Int,Int,Int,Int,Int,Int,Int,Int];var prt=[Bnt,Bnt,T7e,Bnt,D7e,Bnt,P7e,Bnt,w7e,Bnt,A7e,Bnt,F7e,Bnt,R7e,Bnt,I7e,Bnt,B7e,Bnt,V7e,Bnt,E7e,Bnt,N7e,Bnt,k7e,Bnt,O7e,Bnt,L7e,Bnt,U7e,Bnt,G7e,Bnt,W7e,Bnt,z7e,Bnt,H7e,Bnt,DBe,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt,Bnt];var lrt=[Vnt,Vnt,X7e,Vnt,Z7e,Vnt,Q7e,Vnt,q7e,Vnt,Y7e,Vnt,J7e,Vnt,K7e,Vnt,$7e,Vnt,eet,Vnt,tet,Vnt,iet,Vnt,net,Vnt,_et,Vnt,ret,Vnt,oet,Vnt,set,Vnt,aet,Vnt,pet,Vnt,det,Vnt,cet,Vnt,Ede,Vnt,lx,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt,Vnt];var drt=[Ent,Ent,uet,Ent,met,Ent,het,Ent,fet,Ent,get,Ent,Cet,Ent,Set,Ent,yet,Ent,vet,Ent,xet,Ent,Met,Ent,Tet,Ent,Det,Ent,Pet,Ent,wet,Ent,Aet,Ent,Fet,Ent,Ret,Ent,Iet,Ent,Bet,Ent,sue,Ent,ax,Ent,aCe,Ent,oye,Ent,tC,Ent,DP,Ent,lfe,Ent,xB,Ent,kb,Ent,Vv,Ent,hC,Ent,jTe,Ent,JT,Ent,Gbe,Ent,$Te,Ent,Mwe,Ent,bue,Ent,lY,Ent,Yp,Ent,yY,Ent,v2,Ent,mce,Ent,hT,Ent,SDe,Ent,ZTe,Ent,B3,Ent,qPe,Ent,uDe,Ent,pJ,Ent,qTe,Ent,hDe,Ent,YX,Ent,gDe,Ent,wE,Ent,Dbe,Ent,Uw,Ent,TPe,Ent,JTe,Ent,rJ,Ent,Wte,Ent,hIe,Ent,Ent,Ent,Ent,Ent];var crt=[Nnt,Nnt,Eet,Nnt,Net,Nnt,ket,Nnt,Oet,Nnt,Let,Nnt,Uet,Nnt,Get,Nnt,Wet,Nnt,zet,Nnt,Het,Nnt,jet,Nnt,Xet,Nnt,Zet,Nnt,Qet,Nnt,qet,Nnt,Yet,Nnt,Jet,Nnt,Ket,Nnt,$et,Nnt,ett,Nnt,dfe,Nnt,tse,Nnt,tz,Nnt,dP,Nnt,pA,Nnt,Ene,Nnt,iF,Nnt,oq,Nnt,o9,Nnt,Eve,Nnt,GT,Nnt,uee,Nnt,kQ,Nnt,YO,Nnt,_de,Nnt,TW,Nnt,vie,Nnt,hc,Nnt,Mie,Nnt,th,Nnt,lL,Nnt,RV,Nnt,SO,Nnt,As,Nnt,vC,Nnt,A$,Nnt,Rq,Nnt,G2,Nnt,Td,Nnt,OE,Nnt,Vte,Nnt,Rse,Nnt,Gie,Nnt,lT,Nnt,rr,Nnt,cG,Nnt,Cbe,Nnt,rk,Nnt,Wa,Nnt,R7,Nnt,RL,Nnt,uH,Nnt,by,Nnt,MP,Nnt,VZ,Nnt,oae,Nnt,p2,Nnt,Hb,Nnt,k2,Nnt,V8,Nnt,Gre,Nnt,Mpe,Nnt,qS,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt,Nnt];var brt=[knt,knt,itt,knt,ntt,knt,_tt,knt,rtt,knt,ott,knt,stt,knt,att,knt,ptt,knt,ltt,knt,dtt,knt,ctt,knt,btt,knt,utt,knt,mtt,knt,htt,knt,ftt,knt,gtt,knt,Ctt,knt,Stt,knt,ytt,knt,yee,knt,sL,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt,knt];var urt=[Ont,Ont,xtt,Ont,Mtt,Ont,Ttt,Ont,Dtt,Ont,Ptt,Ont,wtt,Ont,Att,Ont,Ftt,Ont,Rtt,Ont,Itt,Ont,Btt,Ont,Vtt,Ont,Ett,Ont,Ntt,Ont,ktt,Ont,Ott,Ont,Ltt,Ont,Utt,Ont,Gtt,Ont,Wtt,Ont,fve,Ont,Ave,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont,Ont];var mrt=[Lnt,Lnt,Htt,Lnt,jtt,Lnt,Xtt,Lnt,Ztt,Lnt,Qtt,Lnt,qtt,Lnt,Ytt,Lnt,Jtt,Lnt,Ktt,Lnt,$tt,Lnt,eit,Lnt,tit,Lnt,iit,Lnt,nit,Lnt,_it,Lnt,rit,Lnt,oit,Lnt,sit,Lnt,ait,Lnt,pit,Lnt,_se,Lnt,ay,Lnt,VV,Lnt,ix,Lnt,bH,Lnt,WE,Lnt,spe,Lnt,uj,Lnt,lMe,Lnt,AQ,Lnt,op,Lnt,Uj,Lnt,EAe,Lnt,cTe,Lnt,CFe,Lnt,q_,Lnt,_r,Lnt,Er,Lnt,vX,Lnt,rRe,Lnt,Zj,Lnt,zm,Lnt,yM,Lnt,Ga,Lnt,Wv,Lnt,wK,Lnt,dC,Lnt,KS,Lnt,qwe,Lnt,Ixe,Lnt,Jj,Lnt,uy,Lnt,nFe,Lnt,jx,Lnt,Sv,Lnt,wc,Lnt,Fa,Lnt,EI,Lnt,Fpe,Lnt,sG,Lnt,Rwe,Lnt,Pbe,Lnt,w$,Lnt,ES,Lnt,Dl,Lnt,kZ,Lnt,BZ,Lnt,_C,Lnt,N$,Lnt,KV,Lnt,Is,Lnt,UW,Lnt,Ax,Lnt,Fy,Lnt,xre,Lnt,I2,Lnt,hW,Lnt,jAe,Lnt,Uz,Lnt,EMe,Lnt,Jwe,Lnt,SFe,Lnt,Hre,Lnt,Ewe,Lnt,fB,Lnt,cA,Lnt,bY,Lnt,$z,Lnt,ar,Lnt,iE,Lnt,$Fe,Lnt,xZ,Lnt,Da,Lnt,soe,Lnt,lW,Lnt,wbe,Lnt,wW,Lnt,rp,Lnt,ja,Lnt,Xr,Lnt,tF,Lnt,LS,Lnt,Zm,Lnt,vK,Lnt,$w,Lnt,XA,Lnt,LM,Lnt,YQ,Lnt,ive,Lnt,WZ,Lnt,rq,Lnt,oBe,Lnt,lBe,Lnt,tAe,Lnt,Oge,Lnt,CE,Lnt,_Ce,Lnt,Dc,Lnt,vq,Lnt,iI,Lnt,uJ,Lnt,ISe,Lnt,S8,Lnt,$W,Lnt,tSe,Lnt,uB,Lnt,oAe,Lnt,Md,Lnt,rce,Lnt,yx,Lnt,Tte,Lnt,oE,Lnt,NR,Lnt,Hde,Lnt,f8,Lnt,Xa,Lnt,Owe,Lnt,Bte,Lnt,j$,Lnt,n2,Lnt,$ve,Lnt,fy,Lnt,Ppe,Lnt,Vse,Lnt,xpe,Lnt,$we,Lnt,HQ,Lnt,fZ,Lnt,md,Lnt,GE,Lnt,Bce,Lnt,cj,Lnt,Ja,Lnt,bDe,Lnt,zc,Lnt,_c,Lnt,NN,Lnt,use,Lnt,dR,Lnt,Xw,Lnt,MJ,Lnt,yF,Lnt,iMe,Lnt,hMe,Lnt,kde,Lnt,Rl,Lnt,$Ae,Lnt,Bs,Lnt,va,Lnt,rxe,Lnt,kE,Lnt,DMe,Lnt,QS,Lnt,bee,Lnt,SAe,Lnt,Aq,Lnt,qle,Lnt,SU,Lnt,FV,Lnt,MW,Lnt,jre,Lnt,hx,Lnt,BAe,Lnt,oFe,Lnt,xM,Lnt,ese,Lnt,sRe,Lnt,zxe,Lnt,lRe,Lnt,Ic,Lnt,jxe,Lnt,sfe,Lnt,aTe,Lnt,Abe,Lnt,GCe,Lnt,KRe,Lnt,jCe,Lnt,CA,Lnt,Axe,Lnt,Fl,Lnt,Ty,Lnt,SMe,Lnt,$d,Lnt,jDe,Lnt,cx,Lnt,bJ,Lnt,$0,Lnt,iC,Lnt,I$,Lnt,hxe,Lnt,Iwe,Lnt,Uye,Lnt,Mv,Lnt,bpe,Lnt,WR,Lnt,lce,Lnt,tve,Lnt,Sme,Lnt,aA,Lnt,gMe,Lnt,PPe,Lnt,awe,Lnt,tRe,Lnt,Qge,Lnt,wye,Lnt,Fr,Lnt,bRe,Lnt,VSe,Lnt,cwe,Lnt,z_,Lnt,fM,Lnt,QR,Lnt,cSe,Lnt,jj,Lnt,RS,Lnt,Yd,Lnt,eY,Lnt,FPe,Lnt,x8,Lnt,Rbe,Lnt,sC,Lnt,$xe,Lnt,pC,Lnt,Vq,Lnt,Cte,Lnt,jW,Lnt,$Ce,Lnt,ac,Lnt,Ure,Lnt,$S,Lnt,vbe,Lnt,PMe,Lnt,kfe,Lnt,fAe,Lnt,pq,Lnt,lFe,Lnt,doe,Lnt,Pre,Lnt,Hoe,Lnt,vce,Lnt,dDe,Lnt,yMe,Lnt,lge,Lnt,mRe,Lnt,kle,Lnt,iAe,Lnt,PM,Lnt,HR,Lnt,yc,Lnt,mK,Lnt,fJ,Lnt,qIe,Lnt,aye,Lnt,oo,Lnt,rF,Lnt,Txe,Lnt,Wye,Lnt,cPe,Lnt,Sse,Lnt,$le,Lnt,rC,Lnt,ire,Lnt,_ve,Lnt,kte,Lnt,sT,Lnt,Lce,Lnt,_Ie,Lnt,xDe,Lnt,Pme,Lnt,fq,Lnt,gbe,Lnt,ree,Lnt,Vj,Lnt,RDe,Lnt,ZDe,Lnt,rH,Lnt,Fse,Lnt,Rre,Lnt,iCe,Lnt,rse,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt,Lnt];return{_emscripten_bind_btConeShapeX__setConeUpIndex_p1:MA,_emscripten_bind_btDbvtProxy__get_stage_p0:NH,_emscripten_bind_btContinuousDynamicsWorld____destroy___p0:LI,_emscripten_bind_btBoxShape__getNumPlanes_p0:bre,_emscripten_bind_btHeightfieldTerrainShape____destroy___p0:BQ,_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1:Pr,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3:_se,_emscripten_bind_btGhostObject__upcast_p1:ple,_emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1:BP,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0:YU,_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0:GZ,_emscripten_bind_btGeneric6DofConstraint__isEnabled_p0:Y2,_emscripten_bind_btBroadphaseProxy__isPolyhedral_p1:nne,_emscripten_bind_btHinge2Constraint__buildJacobian_p0:qO,_emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0:kd,_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9:TF,_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8:MF,_emscripten_bind_btIDebugDraw__drawLine_p3:ay,_emscripten_bind_btCollisionObject__mergesSimulationIslands_p0:Uo,_emscripten_bind_btIDebugDraw__drawLine_p4:py,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1:JU,_emscripten_bind_btConeShape__getAabbSlow_p3:VV,_emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2:AM,_emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8:oT,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1:jk,_emscripten_bind_btRigidBody____destroy___p0:bg,_emscripten_bind_btSimpleBroadphase__destroyProxy_p2:El,_emscripten_bind_btBroadphaseInterface__createProxy_p8:sp,_emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1:QD,_emscripten_bind_btContactSolverInfo____destroy___p0:Wb,_emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1:OT,_emscripten_bind_btCapsuleShape__getRadius_p0:S_,_emscripten_bind_btConeShapeZ__serializeSingleShape_p1:dA,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1:P4,_emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0:Wae,_emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0:ir,_emscripten_bind_btVector4__fuzzyZero_p0:$E,_emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2:CB,_emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0:D7,_emscripten_bind_btSphereShape__calculateTemporalAabb_p6:xbe,_emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2:Tv,_emscripten_bind_btIDebugDraw__drawCapsule_p5:hy,_emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1:Al,_emscripten_bind_btPersistentManifold__get_m_index1a_p0:ml,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1:Rie,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4:sse,_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1:O_,_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3:j1,_emscripten_bind_btAxisSweep3__unQuantize_p3:ix,_emscripten_bind_btCapsuleShape__getUpAxis_p0:g_,_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5:X1,_emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2:Y0,_emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1:nY,_emscripten_bind_btConeShape__calculateSerializeBufferSize_p0:pB,_emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:bH,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1:N9,_emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2:Js,_emscripten_bind_btHingeConstraint__getBFrame_p0:ZD,_emscripten_bind_btHingeConstraint__buildJacobian_p0:TD,_emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1:A1,_emscripten_bind_btCompoundShape__isNonMoving_p0:sd,_emscripten_bind_btUniformScalingShape__setUserPointer_p1:ZG,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1:Oq,_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0:EL,_emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0:JJ,_emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1:Are,_emscripten_bind_btConeTwistConstraint__setDamping_p1:lM,_emscripten_bind_btHeightfieldTerrainShape__setMargin_p1:IQ,_emscripten_bind_btDynamicsWorld__getDispatcher_p0:jd,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1:Yq,_emscripten_bind_btCylinderShape__isNonMoving_p0:Vz,_emscripten_bind_btCollisionObject__getRestitution_p0:is,_emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0:wT,_emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1:hU,_emscripten_bind_btPoint2PointConstraint__getInfo2_p1:_te,_emscripten_bind_btConeTwistConstraint__setFixThresh_p1:nD,_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0:ia,_emscripten_bind_btGhostObject__setCompanionId_p1:Gae,_emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0:Tae,_emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4:xv,_emscripten_bind_btQuaternion__normalized_p0:Kae,_emscripten_bind_btCompoundShape__getLocalScaling_p0:Yl,_emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1:Nte,_emscripten_bind_btPairCachingGhostObject__getCompanionId_p0:y$,_emscripten_bind_btTypedConstraint__getRigidBodyA_p0:Dg,_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0:hh,_emscripten_bind_btConvexHullShape__isInfinite_p0:Cr,_emscripten_bind_btRaycastVehicle__debugDraw_p1:aG,_emscripten_bind_btEmptyShape__isCompound_p0:om,_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Nce,_emscripten_bind_btTriangleMesh__addIndex_p1:aF,_emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5:NP,_emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3:spe,_emscripten_bind_btConeShape__isNonMoving_p0:xI,_emscripten_bind_btTypedConstraint__getUserConstraintType_p0:Xg,_emscripten_bind_btMatrix3x3__deSerializeDouble_p1:_n,_emscripten_bind_btVector3__y_p0:Ak,_emscripten_bind_btDynamicsWorld__removeVehicle_p1:xc,_emscripten_bind_btCylinderShape__getAabbSlow_p3:uj,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0:l7,_emscripten_bind_btBoxShape__getMarginNV_p0:L_e,_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0:Pf,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0:Jq,_emscripten_bind_btBU_Simplex1to4__isCompound_p0:uE,_emscripten_bind_btPoint2PointConstraint__getInfo1_p1:pte,_emscripten_bind_btTransform__deSerialize_p1:b4,_emscripten_bind_btBoxShape__btBoxShape_p1:wre,_emscripten_bind_btHeightfieldTerrainShape__getAabb_p3:AQ,_emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1:ev,_emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0:C8,_emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1:e4,_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1:Fv,_emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0:iS,_emscripten_bind_btRaycastVehicle__getSteeringValue_p1:BU,_emscripten_bind_btRigidBody__internalSetExtensionPointer_p1:ef,_emscripten_bind_btHingeConstraint__needsFeedback_p0:zD,_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1:hq,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1:ya,_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0:cD,_emscripten_bind_btSimpleDynamicsWorld__addAction_p1:kj,_emscripten_bind_btTransform__getOpenGLMatrix_p1:d4,_emscripten_bind_btRigidBody__internalApplyPushImpulse_p3:of,_emscripten_bind_btPersistentManifold__getCacheEntry_p1:al,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1:hG,_emscripten_bind_btRigidBody__applyForce_p2:dh,_emscripten_bind_btConvexHullShape__addPoint_p1:qr,_emscripten_bind_btIDebugDraw__drawTriangle_p5:iy,_emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2:$r,_emscripten_bind_btDynamicsWorld__getPairCache_p0:Ib,_emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7:i9,_emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0:IL,_emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0:_8,_emscripten_bind_btBroadphaseInterface__aabbTest_p3:op,_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1:qp,_emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0:abe,_emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0:_o,_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0:qo,_emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2:kQ,_emscripten_bind_btRaycastVehicle__setBrake_p2:OU,_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0:ts,_emscripten_bind_btCylinderShape__calculateTemporalAabb_p6:hj,_emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0:fs,_emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1:EX,_emscripten_bind_btIndexedMesh__set_m_vertexBase_p1:Do,_emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0:PS,_emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0:BS,_emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1:Ws,_emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1:H$,_emscripten_bind_btVector3__x_p0:Fk,_emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1:Kj,_emscripten_bind_btSimpleBroadphase__aabbOverlap_p2:tl,_emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1:dM,_emscripten_bind_btGhostObject__getRootCollisionShape_p0:dle,_emscripten_bind_btSerializer__finishSerialization_p0:FO,_emscripten_bind_btConeShapeZ__setUserPointer_p1:fw,_emscripten_bind_btRaycastVehicle__updateWheelTransform_p1:tG,_emscripten_bind_btDbvtBroadphase__get_m_gid_p0:TS,_emscripten_bind_btHeightfieldTerrainShape__isConcave_p0:tQ,_emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1:QB,_emscripten_bind_btTriangleInfoMap__serialize_p2:Rde,_emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1:Pne,_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0:cse,_emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2:oee,_emscripten_bind_btVector4__distance2_p1:JE,_emscripten_bind_btSliderConstraint__setParam_p2:o9,_emscripten_bind_btSliderConstraint__setParam_p3:s9,_emscripten_bind_btConeShapeX__getMarginNV_p0:Nw,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1:dne,_emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0:LE,_emscripten_bind_btConvexShape__isNonMoving_p0:xQ,_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0:o0,_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1:zr,_emscripten_bind_btQuaternion__setValue_p3:Zse,_emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1:Y$,_emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0:sB,_emscripten_bind_btHinge2Constraint__getInfo1_p1:iL,_emscripten_bind_btConeShape__serialize_p2:rB,_emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1:PX,_emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0:Np,_emscripten_bind_btCapsuleShape__getAabb_p3:q_,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1:GU,_emscripten_bind_btTransform__op_mul_p1:A4,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1:$s,_emscripten_bind_btRigidBody__removeConstraintRef_p1:Vh,_emscripten_bind_btRigidBody__predictIntegratedTransform_p2:Hh,_emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0:h9,_emscripten_bind_btConeShape__setConeUpIndex_p1:CI,_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11:Eu,_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12:Nu,_emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1:BJ,_emscripten_bind_btCollisionObject__getCompanionId_p0:as,_emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1:R9,_emscripten_bind_btConeShapeZ__isConvex2d_p0:ww,_emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4:Dce,_emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1:nJ,_emscripten_bind_btCollisionObject__getCollisionFlags_p0:Ko,_emscripten_bind_btHinge2Constraint__getUid_p0:pO,_emscripten_bind_btRigidBody__internalWritebackVelocity_p0:Lh,_emscripten_bind_btRigidBody__internalWritebackVelocity_p1:Yh,_emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3:Er,_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0:M2,_emscripten_bind_btAxisSweep3__updateHandle_p4:vx,_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5:NM,_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4:EM,_emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0:YZ,_emscripten_bind_btTypedConstraint__setupSolverConstraint_p4:FC,_emscripten_bind_btStaticPlaneShape__isPolyhedral_p0:g0,_emscripten_bind_btGhostObject__internalSetExtensionPointer_p1:Hae,_emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0:pS,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0:HG,_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Sq,_emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0:U2,_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0:yce,_emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0:BE,_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0:vg,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1:xde,_emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0:ope,_emscripten_bind_btCollisionWorld__convexSweepTest_p5:xJ,_emscripten_bind_btCollisionWorld__convexSweepTest_p4:vJ,_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0:cf,_emscripten_bind_btContactConstraint__getParam_p2:V7,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0:$te,_emscripten_bind_btDefaultVehicleRaycaster____destroy___p0:Nb,_emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3:vX,_emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1:QK,_emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5:bP,_emscripten_bind_btCapsuleShapeX__serialize_p2:dse,_emscripten_bind_btSliderConstraint__getSolveAngLimit_p0:r6,_emscripten_bind_btUniversalConstraint__setUserConstraintId_p1:ru,_emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2:YA,_emscripten_bind_btCompoundShape__getShapeType_p0:Ad,_emscripten_bind_btBoxShape__isInside_p2:mre,_emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5:CD,_emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0:SA,_emscripten_bind_bt32BitAxisSweep3__removeHandle_p2:Ode,_emscripten_bind_btBoxShape__getName_p0:Dre,_emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0:Tc,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0:iO,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0:oie,_emscripten_bind_btCompoundShape__isCompound_p0:td,_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1:dB,_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0:ur,_emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0:ws,_emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0:ew,_emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1:s_,_emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0:fu,_emscripten_bind_btSimpleDynamicsWorld__rayTest_p3:Zj,_emscripten_bind_btVector4__furthestAxis_p0:_k,_emscripten_bind_btEmptyShape__processAllTriangles_p3:zm,_emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1:SD,_emscripten_bind_btCollisionObject__isActive_p0:ps,_emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1:mx,_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0:zJ,_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9:IF,_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8:RF,_emscripten_bind_btConeTwistConstraint____destroy___p0:qT,_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0:WI,_emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0:Joe,_emscripten_bind_btConeShapeZ__setConeUpIndex_p1:xw,_emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4:dte,_emscripten_bind_btConeTwistConstraint__updateRHS_p1:KT,_emscripten_bind_btCollisionDispatcher____destroy___p0:Hv,_emscripten_bind_btTransform__setOrigin_p1:k4,_emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0:jY,_emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0:YC,_emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1:cpe,_emscripten_bind_btRaycastVehicle____destroy___p0:pG,_emscripten_bind_btWheelInfo__set_m_engineForce_p1:UB,_emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0:e7,_emscripten_bind_btVector3__setMax_p1:jN,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0:KF,_emscripten_bind_btConeTwistConstraint__enableFeedback_p1:MT,_emscripten_bind_btJacobianEntry__getDiagonal_p0:TY,_emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1:nse,_emscripten_bind_btEmptyShape__calculateTemporalAabb_p6:Km,_emscripten_bind_btAxisSweep3__btAxisSweep3_p5:px,_emscripten_bind_btAxisSweep3__btAxisSweep3_p4:ax,_emscripten_bind_btAxisSweep3__btAxisSweep3_p3:qv,_emscripten_bind_btAxisSweep3__btAxisSweep3_p2:Qv,_emscripten_bind_btRigidBody__internalGetAngularVelocity_p1:Zf,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3:yM,_emscripten_bind_btPersistentManifold__set_m_companionIdB_p1:Cl,_emscripten_bind_btConeTwistConstraint__setAngularOnly_p1:UT,_emscripten_bind_btVector4__length2_p0:lN,_emscripten_bind_btStorageResult__set_m_closestPointInB_p1:Cj,_emscripten_bind_btIDebugDraw__reportErrorWarning_p1:ly,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1:ZL,_emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1:dde,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0:S1,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1:oO,_emscripten_bind_btMultiSphereShape__isCompound_p0:cX,_emscripten_bind_btRigidBody__setCenterOfMassTransform_p1:sh,_emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1:tS,_emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1:_Q,_emscripten_bind_btUniversalConstraint__setFrames_p2:Iu,_emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1:jF,_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2:Ube,_emscripten_bind_btUniversalConstraint__getInfo1_p1:Yb,_emscripten_bind_btEmptyShape__isSoftBody_p0:bm,_emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0:t8,_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0:bC,_emscripten_bind_btConvexShape__getShapeType_p0:Nq,_emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0:Pae,_emscripten_bind_btHinge2Constraint__getAxis2_p0:HL,_emscripten_bind_btTypedConstraint__setDbgDrawSize_p1:Wg,_emscripten_bind_btIndexedMesh____destroy___p0:ks,_emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2:Xoe,_emscripten_bind_btAngularLimit__getBiasFactor_p0:cp,_emscripten_bind_btConvexHullShape__setUserPointer_p1:mr,_emscripten_bind_btDefaultMotionState____destroy___p0:vR,_emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Ga,_emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3:Wv,_emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0:B9,_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0:Bbe,_emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0:dW,_emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1:xy,_emscripten_bind_CProfileNode__Get_Total_Time_p0:p3,_emscripten_bind_btRigidBody__proceedToTransform_p1:qh,_emscripten_bind_btHinge2Constraint__getParam_p2:tL,_emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1:Qm,_emscripten_bind_btCompoundShape__isConcave_p0:Fd,_emscripten_bind_btHinge2Constraint__getParam_p1:eL,_emscripten_bind_btConeShape__isPolyhedral_p0:mI,_emscripten_bind_btGhostObject__setCollisionFlags_p1:gle,_emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1:_T,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1:zz,_emscripten_bind_btConeShapeZ__getRadius_p0:Sw,_emscripten_bind_btConvexInternalShape__getAabb_p3:wK,_emscripten_bind_btRigidBody__getIslandTag_p0:Sh,_emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0:YK,_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1:Hie,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1:fG,_emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1:CS,_emscripten_bind_btCompoundShape__setMargin_p1:Cd,_emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1:RP,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1:y4,_emscripten_bind_btConvexHullShape__getUserPointer_p0:yr,_emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0:t7,_emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0:Mf,_emscripten_bind_btDynamicsWorld__removeCharacter_p1:vb,_emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0:Zne,_emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0:R5,_emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0:WD,_emscripten_bind_btVector3__setW_p1:Dk,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0:$_e,_emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0:uv,_emscripten_bind_btDynamicsWorld__getGravity_p0:gb,_emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1:UE,_emscripten_bind_btBoxShape__getMargin_p0:Vre,_emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1:lH,_emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1:JI,_emscripten_bind_btPoint2PointConstraint__set_m_setting_p1:ote,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0:VM,_emscripten_bind_btSphereShape__isConvex_p0:$de,_emscripten_bind_btConeTwistConstraint__needsFeedback_p0:DT,_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0:cO,_emscripten_bind_btRigidBody__internalApplyImpulse_p3:$h,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1:zq,_emscripten_bind_btContactConstraint__setEnabled_p1:g5,_emscripten_bind_btConvexInternalShape__getUserPointer_p0:oK,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2:tse,_emscripten_bind_btQuadWord__getZ_p0:hz,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0:OG,_emscripten_bind_btRigidBody__isStaticObject_p0:Gf,_emscripten_bind_bt32BitAxisSweep3__setAabb_p4:ace,_emscripten_bind_btOptimizedBvh__refit_p3:dC,_emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1:Fne,_emscripten_bind_btTypedConstraint__getParam_p2:TC,_emscripten_bind_btTypedConstraint__getParam_p1:MC,_emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3:KS,_emscripten_bind_btQuaternion__getAngle_p0:epe,_emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2:zce,_emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1:_w,_emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1:VF,_emscripten_bind_btEmptyShape__serialize_p2:Gm,_emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6:OZ,_emscripten_bind_btBroadphaseInterface__rayTest_p5:$a,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1:Kq,_emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1:oX,_emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1:yW,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0:poe,_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5:Q$,_emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2:Ate,_emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0:ape,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0:$re,_emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0:zK,_emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0:$K,_emscripten_bind_btCollisionObject__setBroadphaseHandle_p1:Ms,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1:WO,_emscripten_bind_btConeShape__isSoftBody_p0:TI,_emscripten_bind_btConvexTriangleMeshShape__isInside_p2:ea,_emscripten_bind_btVector3__deSerializeFloat_p1:Mk,_emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0:lA,_emscripten_bind_btPairCachingGhostObject__getUserPointer_p0:m$,_emscripten_bind_btOptimizedBvh__serialize_p3:tC,_emscripten_bind_btOptimizedBvh__serialize_p2:eC,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1:coe,_emscripten_bind_btUniformScalingShape__getBoundingSphere_p2:tz,_emscripten_bind_btQuadWord__getY_p0:mz,_emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2:pH,_emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0:ZC,_emscripten_bind_btUniversalConstraint__getAngle_p1:Wu,_emscripten_bind_btSliderConstraint__buildJacobian_p0:H8,_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0:lb,_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1:_Y,_emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0:Ole,_emscripten_bind_btBoxShape__isPolyhedral_p0:N_e,_emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1:wa,_emscripten_bind_btVector4__maxAxis_p0:aN,_emscripten_bind_btRigidBody__checkCollideWith_p1:pg,_emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1:_m,_emscripten_bind_btHinge2Constraint__getAxis1_p0:WL,_emscripten_bind_btCapsuleShapeX__setUserPointer_p1:Doe,_emscripten_bind_btQuadWord__getX_p0:uz,_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1:kM,_emscripten_bind_btCapsuleShape__isInfinite_p0:T_,_emscripten_bind_btCompoundShape__getNumChildShapes_p0:pd,_emscripten_bind_btOptimizedBvh__buildInternal_p0:$g,_emscripten_bind_btUniversalConstraint__setAxis_p2:Om,_emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1:j0,_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1:Ww,_emscripten_bind_btManifoldPoint__btManifoldPoint_p4:yee,_emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0:xK,_emscripten_bind_btDbvtBroadphase__set_m_cid_p1:sS,_emscripten_bind_btDbvtProxy__isSoftBody_p1:TH,_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11:E1,_emscripten_bind_btPersistentManifold__set_m_objectType_p1:nl,_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0:cb,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1:qj,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2:Yj,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3:Jj,_emscripten_bind_btHinge2Constraint__enableFeedback_p1:mL,_emscripten_bind_btIDebugDraw__drawAabb_p3:uy,_emscripten_bind_btGeneric6DofConstraint__isLimited_p1:s1,_emscripten_bind_btGeneric6DofConstraint__setLimit_p3:k1,_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1:wX,_emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1:wM,_emscripten_bind_btContactConstraint__getDbgDrawSize_p0:b5,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1:zx,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3:jx,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2:Hx,_emscripten_bind_btSliderConstraint__setUserConstraintId_p1:u9,_emscripten_bind_btDiscreteDynamicsWorld____destroy___p0:zM,_emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0:hQ,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1:Woe,_emscripten_bind_btCylinderShape__getName_p0:tH,_emscripten_bind_btTypedConstraint__setUserConstraintType_p1:zg,_emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0:nW,_emscripten_bind_btVector3__op_set_p1:bk,_emscripten_bind_btVector3__deSerializeDouble_p1:ON,_emscripten_bind_btAxisSweep3__getHandle_p1:nx,_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1:TK,_emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0:os,_emscripten_bind_btRigidBody__checkCollideWithOverride_p1:jh,_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0:wx,_emscripten_bind_btUniversalConstraint__calculateTransforms_p2:Vu,_emscripten_bind_btUniversalConstraint__calculateTransforms_p0:Bu,_emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2:el,_emscripten_bind_btConeTwistConstraint__buildJacobian_p0:aT,_emscripten_bind_btRigidBody__addConstraintRef_p1:Zh,_emscripten_bind_btConeShape__localGetSupportingVertex_p1:_B,_emscripten_bind_btConeShape__getRadius_p0:hI,_emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3:Sv,_emscripten_bind_btDynamicsWorld__rayTest_p3:wc,_emscripten_bind_btQuaternion__normalize_p0:$se,_emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0:EQ,_emscripten_bind_btMatrix3x3__transposeTimes_p1:cn,_emscripten_bind_btConcaveShape__isSoftBody_p0:Ile,_emscripten_bind_btConvexTriangleMeshShape__getAabb_p3:Fa,_emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3:EI,_emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2:U8,_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0:$v,_emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6:VQ,_emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0:nI,_emscripten_bind_btCollisionDispatcher__needsCollision_p2:Ov,_emscripten_bind_btVector4__serialize_p1:SE,_emscripten_bind_btHingeConstraint__btHingeConstraint_p4:DP,_emscripten_bind_btHingeConstraint__btHingeConstraint_p7:wP,_emscripten_bind_btHingeConstraint__btHingeConstraint_p6:PP,_emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1:UX,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0:$oe,_emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1:Bse,_emscripten_bind_btBoxShape__getLocalScaling_p0:fre,_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0:hb,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0:Coe,_emscripten_bind_btPersistentManifold__setBodies_p2:ul,_emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0:fg,_emscripten_bind_btUniversalConstraint__getUid_p0:sb,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1:j9,_emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1:S6,_emscripten_bind_btCollisionShape__isConcave_p0:O0,_emscripten_bind_btHingeConstraint__setEnabled_p1:ND,_emscripten_bind_btSliderConstraint__setupSolverConstraint_p4:$6,_emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2:_ee,_emscripten_bind_btRigidBody__integrateVelocities_p1:Qh,_emscripten_bind_btRigidBody__internalGetInvMass_p0:xm,_emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1:JK,_emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1:OV,_emscripten_bind_btTypedConstraint____destroy___p0:AC,_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1:SL,_emscripten_bind_btHingeConstraint__getLowerLimit_p0:lP,_emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1:$2,_emscripten_bind_btQuaternion__getX_p0:Lse,_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0:qK,_emscripten_bind_btConeTwistConstraint__isEnabled_p0:CT,_strlen:xBe,_emscripten_bind_btWheelInfo__get_m_deltaRotation_p0:CV,_emscripten_bind_btQuaternion__getY_p0:Use,_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3:Fpe,_emscripten_bind_btDynamicsWorld__setConstraintSolver_p1:Vb,_emscripten_bind_btUniformScalingShape__getUserPointer_p0:$G,_emscripten_bind_btHashString__get_m_hash_p0:hbe,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0:zG,_emscripten_bind_btHingeConstraint__getInfo1_p1:AD,_emscripten_bind_btConeShapeZ__isConcave_p0:Iw,_emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1:RJ,_emscripten_bind_btDbvtBroadphase__collide_p1:Ry,_emscripten_bind_btTriangleInfo__set_m_flags_p1:Ek,_emscripten_bind_btBU_Simplex1to4__addVertex_p1:XV,_emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1:Uy,_emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0:ca,_emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0:wC,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0:Gk,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0:jO,_emscripten_bind_btCollisionDispatcher__getNearCallback_p0:fv,_emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0:jg,_emscripten_bind_btWheelInfo____destroy___p0:LV,_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0:iR,_emscripten_bind_btUniformScalingShape__serializeSingleShape_p1:Lz,_emscripten_bind_btConeShapeX__getConeUpIndex_p0:BA,_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0:Yne,_emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0:$Z,_emscripten_bind_btUniversalConstraint__getAxis1_p0:Qu,_emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0:$y,_emscripten_bind_btDispatcherInfo__get_m_stepCount_p0:qn,_emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3:Xv,_emscripten_bind_btQuadWord__w_p0:gz,_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0:$x,_emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1:Cv,_emscripten_bind_btConeTwistConstraint__getConstraintType_p0:yT,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1:w3,_emscripten_bind_btCompoundShape__getChildList_p0:ad,_emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1:sc,_emscripten_bind_btGhostObject__isActive_p0:ole,_emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0:P5,_emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1:kV,_emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3:uZ,_emscripten_bind_btGhostObject__getContactProcessingThreshold_p0:cle,_emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1:uD,_emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3:sG,_emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0:OW,_emscripten_bind_btGhostObject__setAnisotropicFriction_p1:Wle,_emscripten_bind_btManifoldPoint__getDistance_p0:W5,_emscripten_bind_btHashInt__getHash_p0:kY,_emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6:B$,_emscripten_bind_CProfileSample____destroy___p0:ase,_emscripten_bind_btHinge2Constraint__calcAnchorPos_p0:_L,_emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1:XI,_emscripten_bind_btPoint2PointConstraint__serialize_p2:hee,_emscripten_bind_btUniversalConstraint__getParam_p2:Qb,_emscripten_bind_btConeShapeZ__getConeUpIndex_p0:Rw,_emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0:D9,_emscripten_bind_btConstraintSetting__btConstraintSetting_p0:$b,_emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1:U1,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0:sz,_emscripten_bind_btGeneric6DofConstraint__setParam_p3:W2,_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0:X0,_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0:Ade,_emscripten_bind_btCapsuleShapeZ__isInfinite_p0:Rae,_emscripten_bind_btDbvtProxy__get_m_uniqueId_p0:ZH,_emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0:MM,_emscripten_bind_btBroadphaseInterface__resetPool_p1:ip,_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11:iU,_emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1:pw,_emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0:Es,_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12:nU,_emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0:yV,_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1:SX,_emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0:ta,_emscripten_bind_btContactConstraint__setUserConstraintId_p1:d5,_emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1:QY,_emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1:IB,_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0:mO,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1:QO,_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1:cB,_emscripten_bind_btQuadWord__setValue_p4:dz,_emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1:bw,_emscripten_bind_btQuadWord__y_p0:Cz,_emscripten_bind_btQuadWord__setValue_p3:lz,_emscripten_bind_btRigidBody__getInvMass_p0:Tm,_emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1:UR,_emscripten_bind_btCollisionObject__getUserPointer_p0:ns,_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0:YJ,_emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1:v8,_emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0:lee,_emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0:iM,_emscripten_bind_btWheelInfo__get_m_rotation_p0:lV,_emscripten_bind_btQuantizedBvh__unQuantize_p1:kbe,_emscripten_bind_btUniversalConstraint__getAxis2_p0:Yu,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0:K_e,_emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0:XZ,_emscripten_bind_btTypedConstraint__getDbgDrawSize_p0:Eg,_emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0:C9,_emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0:WC,_emscripten_bind_btQuantizedBvh__quantize_p3:Pbe,_emscripten_bind_btDynamicsWorld__removeCollisionObject_p1:Bb,_emscripten_bind_btVector4__closestAxis4_p0:TN,_emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1:B2,_emscripten_bind_btGhostObject__getAnisotropicFriction_p0:mle,_emscripten_bind_btCollisionObject__forceActivationState_p1:Qo,_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1:nH,_emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0:qne,_emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1:Ude,_emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2:Tq,_emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:w$,_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0:Nx,_emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0:w5,_emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0:VT,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0:qU,_emscripten_bind_btConvexHullShape__isNonMoving_p0:vr,_emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1:tB,_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0:H_e,_emscripten_bind_btConvexHullShape__isInside_p2:Fs,_emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5:F8,_emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0:gA,_emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1:d_,_emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0:kT,_emscripten_bind_btSphereShape__serializeSingleShape_p1:ybe,_emscripten_bind_btCylinderShapeX__serializeSingleShape_p1:sW,_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0:gO,_emscripten_bind_btCollisionObject__setRestitution_p1:vs,_emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2:SW,_emscripten_bind_btHashString__set_m_string_p1:cbe,_emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0:Zw,_emscripten_bind_btConvexHullShape__isSoftBody_p0:xr,_emscripten_bind_btRigidBody__getLinearVelocity_p0:Th,_emscripten_bind_btRigidBody__applyTorque_p1:Ch,_emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1:IP,_emscripten_bind_btConvexShape__getContactBreakingThreshold_p1:xq,_emscripten_bind_btIndexedMesh__set_m_vertexType_p1:Mo,_emscripten_bind_btCollisionObject__hasContactResponse_p0:cs,_emscripten_bind_btPolyhedralConvexShape__getEdge_p3:ES,_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9:are,_emscripten_bind_btCapsuleShape__setLocalScaling_p1:Q_,_emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2:t_e,_emscripten_bind_btPolyhedralConvexShape__getVertex_p2:AS,_emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0:dD,_emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0:ug,_emscripten_bind_btGhostObject__setUserPointer_p1:Jae,_emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0:lI,_emscripten_bind_btGeneric6DofConstraint__setFrames_p2:W1,_emscripten_bind_btUniversalConstraint__setUpperLimit_p2:qb,_emscripten_bind_btConvexHullShape__getScaledPoint_p1:Ar,_emscripten_bind_btConeShapeX__getUserPointer_p0:wA,_emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1:Go,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1:Oa,_emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1:O5,_emscripten_bind_btSliderConstraint__set_m_objectType_p1:A6,_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0:xX,_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0:vV,_emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1:OR,_emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0:$T,_emscripten_bind_btConeShapeZ__getBoundingSphere_p2:pA,_emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4:xB,_emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0:Uie,_emscripten_bind_btConeShape__setImplicitShapeDimensions_p1:yB,_emscripten_bind_btBroadphaseRayCallback__process_p1:gR,_emscripten_bind_btSimpleBroadphase__rayTest_p5:wl,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1:iq,_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1:JW,_emscripten_bind_btRigidBody__applyTorqueImpulse_p1:Lf,_emscripten_bind_btMultiSphereShape__isInfinite_p0:rZ,_emscripten_bind_btContactConstraint__setupSolverConstraint_p4:U7,_emscripten_bind_btVector3__closestAxis_p0:uk,_emscripten_bind_btSimpleBroadphase__rayTest_p3:Dl,_emscripten_bind_btMultiSphereShape__getAabbSlow_p3:kZ,_emscripten_bind_btRigidBody__applyCentralImpulse_p1:Wf,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1:Gq,_emscripten_bind_btWheelInfo__set_m_frictionSlip_p1:KB,_emscripten_bind_btRigidBody__updateDeactivation_p1:hm,_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0:qY,_emscripten_bind_btConeTwistConstraint__getObjectType_p0:PT,_emscripten_bind_btDbvtProxy__isConvex_p1:xH,_emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:BZ,_emscripten_bind_btCapsuleShapeZ__getUserPointer_p0:Iae,_emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0:VP,_emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0:LB,_emscripten_bind_btGeneric6DofConstraint__getUid_p0:G0,_emscripten_bind_btWheelInfo__set_m_clientInfo_p1:jB,_emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1:yv,_emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5:$ie,_emscripten_bind_btCapsuleShapeZ__isSoftBody_p0:Eae,_emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0:ZJ,_emscripten_bind_btQuaternion__op_mul_p1:Xse,_emscripten_bind_btSphereShape__getMarginNV_p0:Qde,_emscripten_bind_btBoxShape__isNonMoving_p0:z_e,_emscripten_bind_btUniversalConstraint__setLimit_p3:ku,_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0:Tne,_emscripten_bind_btAngularLimit__getError_p0:lp,_emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2:gG,_emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1:Kn,_emscripten_bind_btTypedConstraint__serialize_p2:yC,_emscripten_bind_btDbvtBroadphase__resetPool_p1:Ay,_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0:R6,_emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3:_C,_emscripten_bind_btMatrix3x3__inverse_p0:wn,_emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2:xse,_emscripten_bind_btRigidBody__getFriction_p0:uh,_emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1:M6,_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0:KI,_emscripten_bind_btDynamicsWorld__addAction_p1:gc,_emscripten_bind_CProfileSample__CProfileSample_p1:kse,_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8:Y7,_emscripten_bind_btRigidBody__getHitFraction_p0:ym,_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2:rre,_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1:_re,_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1:X_,_emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0:or,_emscripten_bind_btDbvtBroadphase__set_m_gid_p1:lS,_emscripten_bind_btEmptyShape__getLocalScaling_p0:Wm,_emscripten_bind_btHingeConstraint__serialize_p2:uP,_emscripten_bind_btBoxShape__getNumEdges_p0:Tre,_emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1:LP,_emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1:p5,_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1:Oy,_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0:ky,_emscripten_bind_btConcaveShape__isConcave_p0:Ble,_emscripten_bind_btHingeConstraint__getInfo2_p1:RD,_emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0:Qj,_emscripten_bind_btMatrix3x3__getRotation_p1:un,_emscripten_bind_btConeShapeZ__isInfinite_p0:Tw,_emscripten_bind_btConvexInternalAabbCachingShape__getName_p0:XQ,_emscripten_bind_btCylinderShapeX__setUserPointer_p1:yG,_emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6:lq,_emscripten_bind_btCapsuleShapeX__isConvex_p0:Boe,_emscripten_bind_btCylinderShapeX__getUpAxis_p0:vG,_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0:Mc,_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1:QX,_emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1:LD,_emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1:hX,_emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0:F$,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0:KU,_emscripten_bind_btConvexInternalShape__isCompound_p0:$J,_emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2:F3,_emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1:pL,_emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2:Ene,_emscripten_bind_btRaycastVehicle__getUserConstraintType_p0:VU,_emscripten_bind_btTriangleMesh__setPremadeAabb_p2:SF,_emscripten_bind_btCollisionObject__checkCollideWith_p1:js,_emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0:l_e,_emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0:Tpe,_emscripten_bind_btConstraintSetting__set_m_tau_p1:$c,_emscripten_bind_btHinge2Constraint__needsFeedback_p0:NL,_emscripten_bind_btRigidBody__setCompanionId_p1:rf,_emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0:RM,_emscripten_bind_btOptimizedBvh__build_p4:oC,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1:LQ,_emscripten_bind_btConeShapeX__isConvex_p0:TA,_emscripten_bind_btRigidBody__getTotalTorque_p0:Em,_emscripten_bind_btCollisionDispatcher__getNumManifolds_p0:Lv,_emscripten_bind_btHingeConstraint__setParam_p3:cP,_emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0:W_,_emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1:dre,_emscripten_bind_btSliderConstraint__setLowerAngLimit_p1:J9,_emscripten_bind_btHashPtr__getHash_p0:GK,_emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0:OC,_emscripten_bind_btIndexedMesh__btIndexedMesh_p0:Os,_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1:Zr,_emscripten_bind_btCapsuleShapeZ__getShapeType_p0:Oae,_emscripten_bind_btPoint2PointConstraint__setEnabled_p1:M7,_emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1:cK,_emscripten_bind_btCapsuleShape__isNonMoving_p0:P_,_emscripten_bind_btIDebugDraw__drawSphere_p3:vy,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2:Kre,_emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0:zY,_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1:uU,_emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4:HE,_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0:uie,_emscripten_bind_btCylinderShape__isCompound_p0:Tz,_emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0:A9,_emscripten_bind_btCylinderShapeX__setLocalScaling_p1:mW,_emscripten_bind_btConvexInternalShape__setLocalScaling_p1:PK,_emscripten_bind_btHingeConstraint__getAFrame_p0:FP,_emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0:d0,_emscripten_bind_btRigidBody__btRigidBody_p4:Wh,_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2:E$,_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3:N$,_emscripten_bind_bt32BitAxisSweep3__updateHandle_p4:dce,_emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0:eS,_emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1:nv,_emscripten_bind_btWheelInfo__set_m_deltaRotation_p1:YB,_emscripten_bind_bt32BitAxisSweep3__addHandle_p7:Ede,_emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3:KV,_emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3:CG,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0:Kk,_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0:q3,_emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0:qu,_emscripten_bind_btTypedConstraint__buildJacobian_p0:SC,_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1:yp,_emscripten_bind_btStaticPlaneShape__setUserPointer_p1:h0,_emscripten_bind_btVector4__y_p0:RN,_emscripten_bind_btHinge2Constraint__getUserConstraintType_p0:UL,_emscripten_bind_btCapsuleShape__setMargin_p1:er,_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0:Cm,_emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1:x7,_emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0:Cie,_emscripten_bind_btConeShapeZ__calculateLocalInertia_p2:Gw,_emscripten_bind_btConvexHullShape__getAabbSlow_p3:Is,_emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1:IT,_emscripten_bind_btIndexedMesh__set_m_vertexStride_p1:Ao,_emscripten_bind_btCollisionWorld__updateAabbs_p0:CJ,_emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1:R1,_emscripten_bind_btDbvtBroadphase__printStats_p0:Iy,_emscripten_bind_btPersistentManifold__getBody0_p0:bl,_emscripten_bind_btConeShape__getShapeType_p0:PB,_emscripten_bind_btEmptyShape__isNonMoving_p0:dm,_emscripten_bind_btQuadWord__setW_p1:fz,_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0:mv,_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0:xL,_emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1:tx,_emscripten_bind_btAxisSweep3__aabbTest_p3:Ax,_emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1:Kb,_emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1:p9,_emscripten_bind_btGhostObject__serializeSingleObject_p1:Lle,_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0:Tie,_emscripten_bind_btGhostObject__setRestitution_p1:Sle,_emscripten_bind_btContactConstraint__getRigidBodyA_p0:Q9,_emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0:PI,_emscripten_bind_btConcaveShape__isNonMoving_p0:Fle,_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0:sj,_emscripten_bind_btCapsuleShapeX__getMarginNV_p0:Ioe,_emscripten_bind_btPersistentManifold__get_m_companionIdA_p0:gl,_emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1:qB,_emscripten_bind_btWheelInfo__updateWheel_p2:VB,_emscripten_bind_btDynamicsWorld__addConstraint_p2:Wc,_emscripten_bind_btDynamicsWorld__addConstraint_p1:Gc,_emscripten_bind_btRigidBody__getTurnVelocity_p0:vm,_emscripten_bind_btTypedConstraint__setUserConstraintId_p1:Bg,_emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0:WV,_emscripten_bind_btCylinderShape__getUpAxis_p0:Pz,_emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1:c7,_emscripten_bind_btDbvtBroadphase__getAabb_p3:Fy,_emscripten_bind_btSphereShape__getContactBreakingThreshold_p1:Gce,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0:Fie,_emscripten_bind_btBroadphaseInterface__printStats_p0:_p,_emscripten_bind_btHashInt__setUid1_p1:VY,_emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0:WQ,_emscripten_bind_btRigidBody__setCollisionFlags_p1:zf,_emscripten_bind_btGhostObject__hasContactResponse_p0:ale,_emscripten_bind_btDefaultVehicleRaycaster__castRay_p3:kb,_emscripten_bind_btSliderConstraint__getUseFrameOffset_p0:K8,_emscripten_bind_btCollisionObject__getIslandTag_p0:Wo,_emscripten_bind_btCollisionShape__calculateTemporalAabb_p6:N2,_emscripten_bind_btTranslationalLimitMotor____destroy___p0:dK,_emscripten_bind_btConcaveShape__isConvex_p0:Ple,_emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1:OP,_emscripten_bind_btIDebugDraw__drawCone_p5:_y,_emscripten_bind_btSphereShape__isNonMoving_p0:ice,_emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1:sY,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0:noe,_emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1:sH,_emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1:sg,_emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0:eQ,_emscripten_bind_btBoxShape__getAabbNonVirtual_p3:xre,_emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5:gC,_emscripten_bind_btCollisionShape__getAabb_p3:I2,_emscripten_bind_btCapsuleShape____destroy___p0:nr,_emscripten_bind_btDynamicsWorld__removeRigidBody_p1:Bc,_emscripten_bind_btHashInt__equals_p1:EY,_emscripten_bind_btCapsuleShape__isCompound_p0:h_,_emscripten_bind_btTransform__setIdentity_p0:R4,_emscripten_bind_btRigidBody__getCollisionFlags_p0:Dm,_emscripten_bind_btRigidBody__getRootCollisionShape_p0:Fm,_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1:VE,_emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1:gW,_emscripten_bind_btRigidBody__setLinearVelocity_p1:dg,_emscripten_bind_btTransform__getBasis_p0:m4,_emscripten_bind_btMatrix3x3__setEulerZYX_p3:Nn,_emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0:DS,_emscripten_bind_btTriangleMesh__preallocateVertices_p1:pF,_emscripten_bind_btManifoldPoint__set_m_index0_p1:$5,_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0:oj,_emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0:GW,_emscripten_bind_btDbvtProxy__set_m_aabbMin_p1:Mj,_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0:Of,_emscripten_bind_btVector3__distance2_p1:JN,_emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0:Rte,_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0:ZV,_emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1:e6,_emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0:T8,_emscripten_bind_btConeShapeX__getBoundingSphere_p2:iF,_emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2:Wde,_emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0:DI,_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1:Av,_emscripten_bind_btAngularLimit__set_p5:Ap,_emscripten_bind_btAngularLimit__set_p4:wp,_emscripten_bind_btAngularLimit__set_p3:Pp,_emscripten_bind_btAngularLimit__set_p2:Dp,_emscripten_bind_btBroadphaseProxy__isConvex2d_p1:one,_emscripten_bind_btQuantizedBvh__setTraversalMode_p1:ibe,_emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0:rw,_emscripten_bind_btCollisionWorld____destroy___p0:DJ,_emscripten_bind_btTriangleIndexVertexArray__serialize_p2:R_e,_emscripten_bind_btEmptyShape__isConvex2d_p0:cm,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0:zU,_emscripten_bind_btCompoundShape__calculateTemporalAabb_p6:wd,_emscripten_bind_btClock__getTimeMilliseconds_p0:n4,_emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0:K2,_emscripten_bind_btRigidBody__getBroadphaseProxy_p0:mf,_emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1:zde,_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0:b$,_emscripten_bind_btRigidBody__clearForces_p0:rh,_emscripten_bind_btRigidBody__getCollisionShape_p0:hf,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1:n3,_emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0:XC,_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0:hie,_emscripten_bind_btSliderConstraint__getDampingDirAng_p0:I6,_emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1:np,_emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2:oq,_emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7:Lp,_emscripten_bind_btUniversalConstraint____destroy___p0:Fu,_emscripten_bind_btCylinderShapeZ__setUserPointer_p1:jee,_emscripten_bind_btHingeConstraint__getUserConstraintId_p0:rP,_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0:bD,_emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1:tP,_emscripten_bind_btPoint2PointConstraint__needsFeedback_p0:Ree,_emscripten_bind_btUniformScalingShape__getAabbSlow_p3:Uz,_emscripten_bind_btSphereShape__getUserPointer_p0:tce,_emscripten_bind_btRaycastVehicle__updateSuspension_p1:dU,_emscripten_bind_btCylinderShapeX__getShapeType_p0:EG,_emscripten_bind_btSliderConstraint__getUpperAngLimit_p0:u6,_emscripten_bind_btManifoldResult__addContactPoint_p3:zX,_emscripten_bind_bt32BitAxisSweep3__rayTest_p5:sce,_emscripten_bind_bt32BitAxisSweep3__rayTest_p4:oce,_emscripten_bind_btHingeConstraint__getLimitSign_p0:fD,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2:roe,_emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0:za,_emscripten_bind_btWheelInfo__btWheelInfo_p1:lE,_emscripten_bind_btMultiSphereShape__isConcave_p0:dZ,_emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0:sV,_emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0:GA,_emscripten_bind_btCapsuleShape__getName_p0:j_,_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0:v_,_emscripten_bind_btMatrix3x3__getEulerYPR_p3:E_,_emscripten_bind_btRaycastVehicle__setUserConstraintId_p1:MU,_emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0:zL,_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0:Ox,_emscripten_bind_btWheelInfo__get_m_worldTransform_p0:kB,_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0:l1,_emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0:CO,_emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0:dl,_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0:Y5,_emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0:gre,_emscripten_bind_btCompoundShape__getAngularMotionDisc_p0:Dd,_emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1:cS,_emscripten_bind_btRaycastVehicle__updateWheelTransform_p2:iG,_emscripten_bind_btSliderConstraint__setUpperLinLimit_p1:l9,_emscripten_bind_btCollisionWorld__rayTestSingle_p6:TJ,_emscripten_bind_btSliderConstraint__get_m_objectType_p0:d6,_emscripten_bind_btMatrix3x3__serializeFloat_p1:sn,_emscripten_bind_btSliderConstraint__getLowerAngLimit_p0:T6,_emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0:dv,_emscripten_bind_btConeShapeZ__isNonMoving_p0:Pw,_emscripten_bind_btSliderConstraint__btSliderConstraint_p3:i5,_emscripten_bind_btConeTwistConstraint__getTwistSpan_p0:oD,_emscripten_bind_btRigidBody__set_m_frictionSolverType_p1:Sm,_emscripten_bind_btConvexHullShape__calculateLocalInertia_p2:Tr,_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2:Bv,_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3:Vv,_emscripten_bind_btEmptyShape__setUserPointer_p1:rm,_emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0:Yle,_emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1:ede,_emscripten_bind_btDynamicsWorld__stepSimulation_p3:Pb,_emscripten_bind_btDynamicsWorld__stepSimulation_p2:Db,_emscripten_bind_btDynamicsWorld__stepSimulation_p1:Tb,_emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1:Qx,_emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0:B6,_emscripten_bind_btOptimizedBvh__serializeInPlace_p3:hC,_emscripten_bind_btBoxShape__getLocalScalingNV_p0:k_e,_emscripten_bind_btContactConstraint__setUserConstraintPtr_p1:D5,_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0:Uu,_emscripten_bind_btHingeConstraint__getUserConstraintType_p0:sP,_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0:Ny,_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1:vre,_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9:HZ,_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0:p6,_emscripten_bind_btIDebugDraw__drawArc_p10:sy,_emscripten_bind_btEmptyShape__getMargin_p0:qm,_emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1:Iv,_emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1:AL,_emscripten_bind_btCapsuleShapeZ__isCompound_p0:vae,_emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1:LR,_emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1:UJ,_emscripten_bind_btUniversalConstraint__setEnabled_p1:pb,_emscripten_bind_btBoxShape__getAabbSlow_p3:Hre,_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2:_J,_emscripten_bind_btVector4__setW_p1:AN,_emscripten_bind_btVector4__setZero_p0:DN,_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0:xf,_emscripten_bind_btConeShape__getAabbNonVirtual_p3:fB,_emscripten_bind_btBroadphasePair____destroy___p0:uR,_emscripten_bind_btConeShapeZ__getAabbSlow_p3:cA,_emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0:DQ,_emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3:bY,_emscripten_bind_btConvexInternalShape__isConvex_p0:_K,_emscripten_bind_btConeTwistConstraint__enableMotor_p1:FT,_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2:Ex,_emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0:gM,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1:Vie,_emscripten_bind_btCylinderShape__getAabbNonVirtual_p3:$z,_emscripten_bind_btHingeConstraint__getParam_p1:hP,_emscripten_bind_btHingeConstraint__getParam_p2:fP,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0:z4,_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0:vw,_emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0:P7,_emscripten_bind_btConeTwistConstraint__serialize_p2:QT,_emscripten_bind_btSliderConstraint__setDbgDrawSize_p1:z6,_emscripten_bind_btOptimizedBvh__unQuantize_p1:fC,_emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0:Qie,_emscripten_bind_btCapsuleShapeZ__getName_p0:ppe,_emscripten_bind_btCapsuleShape__getAabbSlow_p3:ar,_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0:rv,_emscripten_bind_btAxisSweep3__removeHandle_p2:bx,_emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0:eH,_emscripten_bind_btCollisionShape__getMargin_p0:V2,_emscripten_bind_btIndexedMesh__get_m_numTriangles_p0:vo,_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1:xT,_emscripten_bind_btRigidBody__getConstraintRef_p1:Tf,_emscripten_bind_btConvexInternalShape__serializeSingleShape_p1:R$,_emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2:RE,_emscripten_bind_btConvexHullShape__isCompound_p0:ao,_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0:kC,_emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1:Nk,_emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1:gY,_emscripten_bind_btUniformScalingShape__serialize_p2:NW,_emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1:c_,_emscripten_bind_btJacobianEntry____destroy___p0:fY,_emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1:eT,_emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0:i8,_emscripten_bind_btCollisionShape__getShapeType_p0:L0,_emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0:Ux,_emscripten_bind_btBU_Simplex1to4__getEdge_p3:iE,_emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1:l0,_emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0:WG,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0:T4,_emscripten_bind_btQuaternion__setValue_p4:Qse,_emscripten_bind_btCollisionShape__serializeSingleShape_p1:L2,_emscripten_bind_btRigidBody__set_m_contactSolverType_p1:kf,_emscripten_bind_btContactConstraint__needsFeedback_p0:m5,_emscripten_bind_btAngularLimit__fit_p1:Mp,_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0:kX,_emscripten_bind_btDispatcher__clearManifold_p1:oY,_emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1:rE,_emscripten_bind_btDbvtProxy__set_leaf_p1:qH,_emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1:Xy,_emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0:AB,_emscripten_bind_btCompoundShape__getName_p0:bd,_emscripten_bind_btCollisionObject__getCollisionShape_p0:es,_emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0:A2,_emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0:P8,_emscripten_bind_btDynamicsWorld__debugDrawWorld_p0:Cb,_emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1:aV,_emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0:Y9,_emscripten_bind_btWheelInfo__set_m_rotation_p1:mV,_emscripten_bind_btDbvtBroadphase__benchmark_p1:LC,_emscripten_bind_btHinge2Constraint__serialize_p2:KO,_emscripten_bind_btDefaultCollisionConfiguration____destroy___p0:Bp,_emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0:Yg,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1:GG,_emscripten_bind_btConeTwistConstraint__setLimit_p6:jT,_emscripten_bind_btTypedConstraint__enableFeedback_p1:wg,_emscripten_bind_btConeTwistConstraint__setLimit_p4:zT,_emscripten_bind_btConeTwistConstraint__setLimit_p5:HT,_emscripten_bind_btConeTwistConstraint__setLimit_p2:GT,_emscripten_bind_btConeTwistConstraint__setLimit_p3:WT,_emscripten_bind_btMultiSphereShape__getAabb_p3:xZ,_emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0:gZ,_emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1:zee,_emscripten_bind_btAxisSweep3__destroyProxy_p2:Rx,_emscripten_bind_btManifoldPoint__set_m_partId1_p1:Z5,_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3:aC,_emscripten_bind_btConvexHullShape__btConvexHullShape_p3:Wr,_emscripten_bind_btConvexHullShape__btConvexHullShape_p2:Gr,_emscripten_bind_btConvexHullShape__btConvexHullShape_p1:Ur,_emscripten_bind_btConvexHullShape__btConvexHullShape_p0:Lr,_emscripten_bind_btHashString__btHashString_p1:Xbe,_emscripten_bind_btVector3__length2_p0:Tk,_emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2:zS,_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0:nc,_emscripten_bind_btPairCachingGhostObject__getHitFraction_p0:a$,_emscripten_bind_btGhostObject__getOverlappingObject_p1:Qpe,_emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7:sU,_emscripten_bind_btDbvtProxy__get_leaf_p0:LH,_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5:II,_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4:RI,_emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0:jw,_emscripten_bind_btRigidBody__getWorldTransform_p0:uf,_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0:sbe,_emscripten_bind_btQuantizedBvh__deSerializeDouble_p1:Ibe,_emscripten_bind_btRigidBody__getCcdMotionThreshold_p0:af,_emscripten_bind_btStridingMeshInterface__preallocateVertices_p1:tee,_emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0:ha,_emscripten_bind_btSerializer__registerNameForPointer_p2:kO,_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0:V5,_emscripten_bind_btStaticPlaneShape__isConvex_p0:S0,_emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1:bie,_emscripten_bind_btConeShapeX__calculateLocalInertia_p2:uA,_emscripten_bind_btHingeConstraint__getObjectType_p0:HD,_emscripten_bind_btBU_Simplex1to4__getUserPointer_p0:wV,_emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1:PW,_emscripten_bind_btRigidBody__getRestitution_p0:qf,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1:Vde,_emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2:nre,_emscripten_bind_btHingeConstraint__getConstraintType_p0:kD,_emscripten_bind_btRigidBody__getFlags_p0:Ff,_emscripten_bind_btConvexHullShape__setLocalScaling_p1:jr,_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0:eM,_emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0:_S,_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0:Ud,_emscripten_bind_btDynamicsWorld__clearForces_p0:vc,_emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2:Kie,_emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0:t1,_emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1:Yc,_emscripten_bind_btRigidBody__computeImpulseDenominator_p2:km,_emscripten_bind_btDbvtBroadphase__set_m_prediction_p1:Zy,_emscripten_bind_btSerializer__getBufferPointer_p0:IO,_emscripten_bind_btSerializer__startSerialization_p0:wO,_emscripten_bind_btPolyhedralConvexShape__getAabb_p3:LS,_emscripten_bind_btPairCachingGhostObject__forceActivationState_p1:i$,_emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0:bQ,_emscripten_bind_btConvexTriangleMeshShape__getEdge_p3:Da,_emscripten_bind_btBoxShape__getUserPointer_p0:W_e,_emscripten_bind_btHinge2Constraint__setEnabled_p1:dO,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0:rc,_emscripten_bind_btRigidBody__getAabb_p2:eg,_emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1:Lm,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1:QF,_emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4:gD,_emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1:_j,_emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1:EP,_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1:$f,_emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0:FM,_emscripten_bind_btConvexHullShape__recalcLocalAabb_p0:Kr,_emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0:m6,_emscripten_bind_btPoint2PointConstraint__setParam_p2:uee,_emscripten_bind_btPoint2PointConstraint__setParam_p3:mee,_emscripten_bind_btSerializer__findPointer_p1:NO,_emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0:Bk,_emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1:U$,_emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:_r,_emscripten_bind_btRigidBody__setDeactivationTime_p1:Df,_emscripten_bind_btConeTwistConstraint__getFixThresh_p0:NT,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2:Jie,_emscripten_bind_btConeShape__setUserPointer_p1:bI,_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2:fT,_emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1:MR,_emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1:LY,_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4:JT,_emscripten_bind_btTypedConstraint__getRigidBodyB_p0:Tg,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3:soe,_emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0:Zv,_emscripten_bind_btGhostObject__getInternalType_p0:sle,_emscripten_bind_btConvexHullShape__getNumPlanes_p0:Dr,_emscripten_bind_btDynamicsWorld__getConstraint_p1:xb,_emscripten_bind_btConvexShape__setMargin_p1:Dq,_emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1:Hy,_emscripten_bind_btGeneric6DofConstraint__getAxis_p1:w1,_emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1:Aa,_emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1:b2,_emscripten_bind_btVector4____destroy___p0:vN,_emscripten_bind_btVector3__z_p0:Rk,_emscripten_bind_btGhostObject__setIslandTag_p1:Hpe,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0:y3,_emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3:Gbe,_emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0:HY,_emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2:ic,_emscripten_bind_btSliderConstraint__getAngDepth_p0:s8,_emscripten_bind_btCylinderShape__getMarginNV_p0:Fz,_emscripten_bind_btEmptyShape__isConcave_p0:um,_emscripten_bind_btTypedObject____destroy___p0:Ns,_emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0:LT,_emscripten_bind_btPairCachingGhostObject__setIslandTag_p1:r$,_emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1:Bo,_emscripten_bind_btPolyhedralConvexShape__isInside_p2:EC,_emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0:GC,_emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0:Ya,_emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0:Hp,_emscripten_bind_btDbvtProxy__get_m_clientObject_p0:EH,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1:jG,_emscripten_bind_btCylinderShapeZ__getUpAxis_p0:Xee,_emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1:ene,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0:qk,_emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1:SR,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1:HU,_emscripten_bind_btSliderConstraint__getLinearPos_p0:a6,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0:Wk,_emscripten_bind_btQuadWord__setMax_p1:cz,_emscripten_bind_btRigidBody__wantsSleeping_p0:gm,_emscripten_bind_btOptimizedBvh__deSerializeDouble_p1:cC,_emscripten_bind_btEmptyShape__setLocalScaling_p1:Xm,_emscripten_bind_btBroadphaseProxy__isInfinite_p1:tne,_emscripten_bind_btCollisionAlgorithm__processCollision_p4:Pce,_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0:Ol,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0:goe,_emscripten_bind_btBU_Simplex1to4__getNumVertices_p0:jV,_emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3:lW,_emscripten_bind_btWheelInfo__get_m_frictionSlip_p0:OB,_emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0:BR,_emscripten_bind_btStackAlloc__beginBlock_p0:nb,_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0:xp,_emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3:wbe,_emscripten_bind_btConeShape__isConvex2d_p0:MI,_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0:jne,_emscripten_bind_btHeightfieldTerrainShape__serialize_p2:UZ,_emscripten_bind_btCollisionDispatcher__getNewManifold_p2:Gv,_emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0:sM,_emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2:Wa,_emscripten_bind_btUniversalConstraint__calcAnchorPos_p0:Mu,_emscripten_bind_btTransform__deSerializeDouble_p1:J1,_emscripten_bind_btCylinderShapeX__getAabbSlow_p3:wW,_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0:tp,_emscripten_bind_btQuaternion__btQuaternion_p4:Lpe,_emscripten_bind_btQuaternion__btQuaternion_p3:lae,_emscripten_bind_btQuaternion__btQuaternion_p2:pae,_emscripten_bind_btQuaternion__btQuaternion_p0:aae,_emscripten_bind_btHinge2Constraint__setUserConstraintId_p1:bL,_emscripten_bind_btUniversalConstraint__needsFeedback_p0:Gu,_emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1:eB,_emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0:e5,_emscripten_bind_btBroadphaseInterface__getAabb_p3:rp,_emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1:x_e,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2:Cp,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1:gp,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0:fp,_emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2:Ere,_emscripten_bind_btRigidBody__getGravity_p0:Rm,_emscripten_bind_btRigidBody__getAngularFactor_p0:Eh,_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1:yA,_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0:HP,_emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0:cw,_emscripten_bind_btSimpleDynamicsWorld__setGravity_p1:Nj,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1:LG,_emscripten_bind_btSphereShape__isConvex2d_p0:nce,_emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3:ja,_emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0:aM,_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1:iH,_emscripten_bind_btConvexHullShape__getAabb_p3:Xr,_emscripten_bind_btVector3__lerp_p2:lk,_emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1:Bx,_emscripten_bind_btPairCachingGhostObject__upcast_p1:t0,_emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1:r_,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0:Lq,_emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1:OL,_emscripten_bind_btHingeConstraint__setAxis_p1:zP,_emscripten_bind_btCompoundShape__serializeSingleShape_p1:Pd,_emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1:x2,_emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:tF,_emscripten_bind_btRigidBody__internalGetAngularFactor_p0:yh,_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1:R8,_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0:gj,_emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0:AT,_emscripten_bind_btManifoldPoint__set_m_distance1_p1:h7,_emscripten_bind_btVector3__setValue_p3:KN,_emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1:m1,_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1:upe,_emscripten_bind_btMatrix3x3__op_add_p1:xn,_emscripten_bind_btStaticPlaneShape__setMargin_p1:o2,_emscripten_bind_btTransform____destroy___p0:N4,_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0:oM,_emscripten_bind_btRotationalLimitMotor__get_m_damping_p0:ow,_emscripten_bind_btCollisionWorld__getPairCache_p0:AJ,_emscripten_bind_btHashInt____destroy___p0:sJ,_emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0:nbe,_emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1:Sce,_emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0:Ks,_emscripten_bind_btRigidBody__setHitFraction_p1:mg,_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0:RY,_emscripten_bind_btVector4__dot_p1:VN,_emscripten_bind_btDbvtBroadphase__destroyProxy_p2:Dv,_emscripten_bind_btCollisionObject__serializeSingleObject_p1:Zs,_emscripten_bind_btDispatcherInfo__get_m_timeStep_p0:i_,_emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0:mS,_emscripten_bind_btTriangleMesh__btTriangleMesh_p0:fF,_emscripten_bind_btJacobianEntry__get_m_bJ_p0:$q,_emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0:CY,_emscripten_bind_btRotationalLimitMotor____destroy___p0:Lw,_emscripten_bind_btGhostObject__convexSweepTest_p4:Ule,_emscripten_bind_btGhostObject__convexSweepTest_p5:Gle,_emscripten_bind_btPoint2PointConstraint____destroy___p0:lte,_emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0:UD,_emscripten_bind_btCapsuleShape__getUserPointer_p0:D_,_emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1:Fh,_emscripten_bind_btConcaveShape__calculateTemporalAabb_p6:nde,_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1:D$,_emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1:Su,_emscripten_bind_btEmptyShape__getAabb_p3:Zm,_emscripten_bind_btAxisSweep3__addHandle_p7:lx,_emscripten_bind_btHinge2Constraint__setParam_p2:YO,_emscripten_bind_btHinge2Constraint__setParam_p3:JO,_emscripten_bind_btCapsuleShapeX__setMargin_p1:Dse,_emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3:vK,_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1:jM,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5:S_e,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0:C_e,_emscripten_bind_btCollisionObject__setAnisotropicFriction_p1:Qs,_emscripten_bind_btQuaternion__y_p0:gae,_emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0:mX,_emscripten_bind_btDynamicsWorld__updateAabbs_p0:Ec,_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0:$Y,_emscripten_bind_btContactConstraint__getParam_p1:B7,_emscripten_bind_btJacobianEntry__set_m_bJ_p1:tJ,_emscripten_bind_btTypedConstraint__needsFeedback_p0:kg,_emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0:Ps,_emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1:ZY,_emscripten_bind_btBoxShape__setMargin_p1:Xre,_emscripten_bind_btConeShapeZ__getAabb_p3:$w,_emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1:qP,_emscripten_bind_btBroadphasePair__set_m_algorithm_p1:zF,_emscripten_bind_btVector3__distance_p1:yO,_emscripten_bind_btConeShapeX__getAabb_p3:XA,_emscripten_bind_btStaticPlaneShape__isConvex2d_p0:T0,_emscripten_bind_btHashPtr__btHashPtr_p1:e0,_emscripten_bind_btQuaternion__op_add_p1:jse,_emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3:LM,_emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0:qa,_emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0:Oee,_emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0:H_,_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0:nte,_emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0:rte,_emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0:ag,_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1:lse,_emscripten_bind_btBroadphaseProxy__isSoftBody_p1:sne,_emscripten_bind_btConeShape__getMarginNonVirtual_p0:vB,_emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0:GP,_emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3:YQ,_emscripten_bind_btGhostObject__getWorldTransform_p0:tle,_emscripten_bind_btHingeConstraint__getAppliedImpulse_p0:AP,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1:Z1,_emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4:sL,_emscripten_bind_btUniversalConstraint__setLowerLimit_p2:Ju,_emscripten_bind_btTransform__deSerializeFloat_p1:K1,_emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0:$P,_emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3:pP,_emscripten_bind_btHinge2Constraint__setAxis_p2:fU,_emscripten_bind_btConeTwistConstraint__getAFrame_p0:sD,_emscripten_bind_btCylinderShapeX__getRadius_p0:pW,_emscripten_bind_btStackAlloc__allocate_p1:ib,_emscripten_bind_btDynamicsWorld__addRigidBody_p1:Sc,_emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0:JF,_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0:UC,_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1:Jw,_emscripten_bind_btConeShape__serializeSingleShape_p1:BV,_emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0:xa,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1:uG,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1:FX,_emscripten_bind_btBoxShape__isConvex2d_p0:Y_e,_emscripten_bind_btMatrix3x3__setEulerYPR_p3:zn,_emscripten_bind_btRigidBody__setCollisionShape_p1:oh,_emscripten_bind_btCollisionWorld__objectQuerySingle_p8:PJ,_emscripten_bind_btConcaveShape__isInfinite_p0:wle,_emscripten_bind_btHinge2Constraint__setFrames_p2:$L,_emscripten_bind_btHingeConstraint__setLimit_p3:CP,_emscripten_bind_btHingeConstraint__setLimit_p2:gP,_emscripten_bind_btMatrix3x3__tdoty_p1:pn,_emscripten_bind_btConcaveShape__getShapeType_p0:Vle,_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0:Lo,_emscripten_bind_btHingeConstraint__setLimit_p5:yP,_emscripten_bind_btCylinderShapeZ__getMargin_p0:wte,_emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1:qQ,_emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0:Qoe,_emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1:iJ,_emscripten_bind_btCapsuleShape__calculateLocalInertia_p2:k_,_emscripten_bind_btMultiSphereShape__serializeSingleShape_p1:NZ,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1:C4,_emscripten_bind_btPairCachingGhostObject__setRestitution_p1:c0,_emscripten_bind_btDefaultMotionState__getWorldTransform_p1:xR,_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0:HH,_emscripten_bind_btVector3____destroy___p0:ck,_emscripten_bind_btConeShapeX__getRadius_p0:Ow,_emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0:l2,_emscripten_bind_bt32BitAxisSweep3__printStats_p0:fce,_emscripten_bind_btMatrix3x3__tdotz_p1:on,_emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0:ype,_emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0:xD,_emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0:pR,_emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0:$V,_emscripten_bind_btDispatcherInfo__set_m_stepCount_p1:Zn,_emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1:cee,_emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0:kU,_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2:OM,_emscripten_bind_btConvexHullShape__getShapeType_p0:lo,_emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2:S2,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1:Zie,_emscripten_bind_btHingeConstraint__setupSolverConstraint_p4:xP,_emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1:d2,_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0:X3,_emscripten_bind_CProfileNode__Return_p0:M3,_emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4:Ku,_emscripten_bind_btGhostObject__setWorldTransform_p1:Hle,_emscripten_bind_btStaticPlaneShape__isSoftBody_p0:D0,_emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0:lr,_emscripten_bind_bt32BitAxisSweep3__createProxy_p8:gce,_emscripten_bind_btVector4__getSkewSymmetricMatrix_p3:CE,_emscripten_bind_btCapsuleShapeZ__getMargin_p0:fpe,_emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0:D1,_emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0:sq,_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1:FZ,_emscripten_bind_btGhostObject__isStaticObject_p0:qpe,_emscripten_bind_btHinge2Constraint__isLimited_p1:gL,_emscripten_bind_btRaycastVehicle__addWheel_p7:eG,_emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0:p_,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1:joe,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1:Jte,_emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1:ET,_emscripten_bind_btConcaveShape__setLocalScaling_p1:Kle,_emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1:une,_emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1:CM,_emscripten_bind_btGhostObject__getCcdMotionThreshold_p0:_le,_emscripten_bind_btDbvtProxy____destroy___p0:Pj,_emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0:wr,_emscripten_bind_btDynamicsWorld__debugDrawObject_p3:Dc,_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0:ete,_emscripten_bind_btMatrix3x3__tdotx_p1:an,_emscripten_bind_btTriangleInfo__btTriangleInfo_p0:rL,_emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0:iV,_emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1:uS,_emscripten_bind_btConvexShape__getAabb_p3:vq,_emscripten_bind_btConeShapeX__btConeShapeX_p2:WA,_emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1:uV,_emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0:SK,_emscripten_bind_btCompoundShape__serialize_p2:ql,_emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1:Hu,_emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1:RB,_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0:$ce,_emscripten_bind_btConcaveShape__setUserPointer_p1:Mle,_emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0:jS,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3:iI,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2:tI,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1:eI,_emscripten_bind_btConeTwistConstraint__setFrames_p2:YT,_emscripten_bind_btManifoldPoint__getAppliedImpulse_p0:g7,_emscripten_bind_btUniformScalingShape__isConvex2d_p0:tW,_emscripten_bind_btDefaultMotionState__set_m_userPointer_p1:nR,_emscripten_bind_btWheelInfo__set_m_worldTransform_p1:UV,_emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0:Jd,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1:Xie,_emscripten_bind_btSimpleBroadphase__rayTest_p4:Pl,_emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0:NB,_emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0:KZ,_emscripten_bind_btCollisionObject__setDeactivationTime_p1:gs,_emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1:YL,_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0:kx,_emscripten_bind_btCollisionShape__setUserPointer_p1:A0,_emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0:pbe,_emscripten_bind_btVector4__setX_p1:_N,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3:rse,_emscripten_bind_btAngularLimit__getHalfRange_p0:mp,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1:eoe,_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0:rx,_emscripten_bind_btCompoundShape__isSoftBody_p0:ld,_emscripten_bind_btPolyhedralConvexShape__isConcave_p0:KC,_emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0:FB,_emscripten_bind_btRigidBody__btRigidBody_p3:Gh,_emscripten_bind_btRigidBody__btRigidBody_p1:Uh,_emscripten_bind_btConcaveShape__getBoundingSphere_p2:_de,_emscripten_bind_btGhostObject__btGhostObject_p0:zle,_emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0:$I,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1:WU,_emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0:r1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0:xoe,_emscripten_bind_btRigidBody__isInWorld_p0:Ah,_emscripten_bind_btDynamicsWorld__updateSingleAabb_p1:Fb,_emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0:nT,_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0:IR,_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0:qy,_emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1:tm,_emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1:v_e,_emscripten_bind_btTriangleMesh__hasPremadeAabb_p0:BF,_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1:dpe,_emscripten_bind_btCollisionObject__getRootCollisionShape_p0:us,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1:Yk,_emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1:zy,_emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0:iD,_emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0:Ho,_emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1:Spe,_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2:Ll,_emscripten_bind_btRigidBody__setFriction_p1:Vf,_emscripten_bind_btCylinderShapeX__getAabb_p3:hW,_emscripten_bind_btVector4__closestAxis_p0:fN,_emscripten_bind_btConeShape__setLocalScaling_p1:bB,_emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1:JS,_emscripten_bind_btVector4__w_p0:FN,_emscripten_bind_btJacobianEntry__set_m_aJ_p1:eJ,_emscripten_bind_btVector4__setZ_p1:oN,_emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3:S8,_emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1:dc,_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1:cu,_emscripten_bind_btVector3__furthestAxis_p0:TO,_emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:$W,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0:ZF,_emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1:aU,_emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1:rj,_emscripten_bind_btUniversalConstraint__getUserConstraintType_p0:Xu,_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0:ob,_emscripten_bind_btEmptyShape__calculateLocalInertia_p2:Um,_emscripten_bind_btPairCachingGhostObject__setUserPointer_p1:e$,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1:Uk,_emscripten_bind_btPersistentManifold__clearManifold_p0:cl,_emscripten_bind_btVector3__safeNormalize_p0:mk,_emscripten_bind_btConvexTriangleMeshShape__isCompound_p0:ua,_emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0:b0,_emscripten_bind_btVector4__isZero_p0:iN,_emscripten_bind_btVector4__setY_p1:rN,_emscripten_bind_btVector4__lerp_p2:uN,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0:NG,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0:e3,_emscripten_bind_btDispatcher__needsCollision_p2:mY,_emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0:ms,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1:kne,_emscripten_bind_btCylinderShapeX__getBoundingSphere_p2:TW,_emscripten_bind_btRigidBody__getNumConstraintRefs_p0:Qf,_emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0:Ste,_emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0:tw,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1:m3,_emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0:V9,_emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1:H1,_emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0:k7,_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0:l6,_emscripten_bind_btTypedConstraint__getInfo1_p1:DC,_emscripten_bind_btQuaternion__getW_p0:zse,_emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3:Ppe,_emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2:vie,_emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2:Bj,_emscripten_bind_btSphereShape__setMargin_p1:Hce,_emscripten_bind_btQuadWord____destroy___p0:jz,_emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1:P6,_emscripten_bind_btSphereShape__getLocalScalingNV_p0:Jde,_emscripten_bind_btConeShape__getAabb_p3:uB,_emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0:a8,_emscripten_bind_btBoxShape__getVertex_p2:Sre,_emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1:Y6,_emscripten_bind_btCylinderShapeX__isCompound_p0:$U,_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1:GI,_emscripten_bind_btGhostObject__activate_p0:Wpe,_emscripten_bind_btCollisionWorld__debugDrawWorld_p0:yJ,_emscripten_bind_btDbvtProxy__set_m_clientObject_p1:OH,_emscripten_bind_btSphereShape__getShapeType_p0:tbe,_emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1:fV,_emscripten_bind_btCollisionObject__getHitFraction_p0:hs,_emscripten_bind_btCompoundShape__updateChildTransform_p3:Md,_emscripten_bind_btCompoundShape__updateChildTransform_p2:xd,_emscripten_bind_btQuadWord__setZ_p1:Mz,_emscripten_bind_btTriangleMesh__btTriangleMesh_p2:CF,_emscripten_bind_btTriangleMesh__btTriangleMesh_p1:gF,_emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2:hpe,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1:GO,_emscripten_bind_btMatrix3x3__timesTranspose_p1:V_,_emscripten_bind_btMatrix3x3__absolute_p0:hn,_emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0:_X,_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1:mA,_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1:fW,_emscripten_bind_btRaycastVehicle__setSteeringValue_p2:LU,_emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2:u_e,_emscripten_bind_btConeShape__getHeight_p0:fI,_emscripten_bind_btBU_Simplex1to4__getPlane_p3:WE,_emscripten_bind_btVector3__setY_p1:yk,_emscripten_bind_bt32BitAxisSweep3__rayTest_p3:rce,_emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:rq,_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0:Yx,_emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0:uc,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1:X4,_emscripten_bind_btConvexShape__setUserPointer_p1:fQ,_emscripten_bind_btConeShapeZ____destroy___p0:sA,_emscripten_bind_btConeShapeX__serializeSingleShape_p1:_F,_emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0:Kd,_emscripten_bind_btQuadWord__setX_p1:vz,_emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0:Jn,_emscripten_bind_btPersistentManifold__btPersistentManifold_p0:Gl,_emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1:WM,_emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0:Nr,_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1:BK,_emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1:UI,_emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0:sw,_emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0:M0,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2:$R,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1:KR,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0:JR,_emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0:aQ,_emscripten_bind_btAxisSweep3__resetPool_p1:Sx,_emscripten_bind_btOptimizedBvh__isQuantized_p0:yg,_emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4:oU,_emscripten_bind_btVector4__setMax_p1:QE,_emscripten_bind_btConeShapeZ__getName_p0:qw,_emscripten_bind_btActionInterface__debugDraw_p1:ok,_emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0:L6,_emscripten_bind_btTransform__mult_p2:E4,_emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1:v6,_emscripten_bind_btGhostObject__setContactProcessingThreshold_p1:jae,_emscripten_bind_btVector3__btVector3_p0:fk,_emscripten_bind_btConeShapeX__getLocalScaling_p0:fA,_emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2:hc,_emscripten_bind_btBU_Simplex1to4__getNumEdges_p0:eE,_emscripten_bind_btCollisionShape__getName_p0:F2,_emscripten_bind_btSliderConstraint__getUserConstraintType_p0:M9,_emscripten_bind_btCylinderShapeZ__getAabb_p3:Tte,_emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0:Ide,_emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0:ys,_emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0:cJ,_emscripten_bind_btCylinderShapeX__getMarginNV_p0:TG,_emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1:Ipe,_emscripten_bind_btEmptyShape__getName_p0:jm,_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2:oG,_emscripten_bind_btHingeConstraint__getDbgDrawSize_p0:YD,_emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1:pK,_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1:rG,_emscripten_bind_btDbvtBroadphase__get_m_pid_p0:hS,_emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1:mie,_emscripten_bind_btRigidBody__getPushVelocity_p0:If,_emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0:e2,_emscripten_bind_btConeShapeX__isConcave_p0:PA,_emscripten_bind_btBoxShape__isCompound_p0:O_e,_emscripten_bind_btDbvtBroadphase__set_m_pid_p1:$C,_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2:Op,_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0:kp,_emscripten_bind_btHashPtr__equals_p1:VK,_emscripten_bind_btSimpleBroadphaseProxy____destroy___p0:Rv,_emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1:Sd,_emscripten_bind_btConvexInternalShape__isConvex2d_p0:NK,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0:k9,_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0:H0,_emscripten_bind_btConeShape__getContactBreakingThreshold_p1:hB,_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1:ER,_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0:ZZ,_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3:NR,_emscripten_bind_btDbvtProxy__isNonMoving_p1:MH,_emscripten_bind_btCollisionShape__getLocalScaling_p0:w2,_emscripten_bind_btQuadWord__x_p0:Sz,_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0:vv,_emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0:u1,_emscripten_bind_btConstraintSolver__reset_p0:CU,_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3:Fbe,_emscripten_bind_btBvhTriangleMeshShape__refitTree_p2:g8,_emscripten_bind_btCylinderShapeX__serialize_p2:rW,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1:z9,_emscripten_bind_bt32BitAxisSweep3__unQuantize_p3:Hde,_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0:QC,_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0:_v,_emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1:cde,_emscripten_bind_btEmptyShape____destroy___p0:Jm,_emscripten_bind_btContactConstraint____destroy___p0:L7,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1:zI,_emscripten_bind_btTriangleMesh__getUse32bitIndices_p0:LA,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0:Xq,_emscripten_bind_btDispatcherInfo__set_m_useEpa_p1:m_,_emscripten_bind_btJacobianEntry__btJacobianEntry_p6:xY,_emscripten_bind_btDispatcherInfo__get_m_useEpa_p0:Yn,_emscripten_bind_btConvexTriangleMeshShape__getName_p0:Ta,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2:Mie,_emscripten_bind_btSliderConstraint__enableFeedback_p1:s6,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0:qie,_emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0:oA,_emscripten_bind_btGeneric6DofConstraint__getInfo1_p1:M1,_emscripten_bind_btJacobianEntry__btJacobianEntry_p4:yY,_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0:BY,_emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0:n_,_emscripten_bind_btConeShapeZ__isCompound_p0:hw,_emscripten_bind_btConeShape__getName_p0:lB,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3:jI,_emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0:M$,_emscripten_bind_btMatrix3x3__deSerialize_p1:Hn,_emscripten_bind_btJacobianEntry__btJacobianEntry_p9:EJ,_emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0:Xx,_emscripten_bind_btTransform__setFromOpenGLMatrix_p1:q1,_emscripten_bind_btRigidBody__updateInertiaTensor_p0:Bf,_emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0:Tu,_emscripten_bind_btEmptyShape__getBoundingSphere_p2:th,_emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0:BL,_emscripten_bind_btTypedConstraint__set_m_objectType_p1:Pg,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2:lL,_emscripten_bind_btJacobianEntry__getNonDiagonal_p3:FY,_emscripten_bind_btJacobianEntry__getNonDiagonal_p2:AY,_emscripten_bind_btMultiSphereShape__getShapeType_p0:cZ,_emscripten_bind_btMultiSphereShape__getUserPointer_p0:oZ,_emscripten_bind_btRigidBody__setAnisotropicFriction_p1:ig,_emscripten_bind_btStackAlloc__btStackAlloc_p1:eu,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0:XL,_emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1:Dpe,_emscripten_bind_btConeTwistConstraint__getUid_p0:BT,_emscripten_bind_btCylinderShapeZ__isInfinite_p0:Jee,_emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3:f8,_emscripten_bind_btSliderConstraint__setEnabled_p1:G6,_emscripten_bind_btSphereShape__setLocalScaling_p1:Oce,_emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1:Bne,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1:UG,_emscripten_bind_btPersistentManifold__get_m_objectType_p0:ol,_emscripten_bind_btCapsuleShapeX__getMargin_p0:Mse,_emscripten_bind_btSliderConstraint__setUpperAngLimit_p1:t9,_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1:_x,_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1:ox,_emscripten_bind_btBU_Simplex1to4__reset_p0:cE,_emscripten_bind_btHingeConstraint__setUserConstraintType_p1:$D,_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1:p$,_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1:O8,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2:tc,_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2:L8,_emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1:AK,_emscripten_bind_btConcaveShape__isCompound_p0:Tle,_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0:Kne,_emscripten_bind_btJacobianEntry__get_m_Adiag_p0:wY,_emscripten_bind_btGhostPairCallback____destroy___p0:Wbe,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1:J4,_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1:Qne,_emscripten_bind_btHingeConstraint__enableFeedback_p1:OD,_emscripten_bind_btUniversalConstraint__serialize_p2:wu,_emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Bte,_emscripten_bind_btStorageResult__get_m_closestPointInB_p0:BH,_emscripten_bind_btCylinderShape__isPolyhedral_p0:wz,_emscripten_bind_btConeShape__getMarginNV_p0:uI,_emscripten_bind_btConeShape__getBoundingSphere_p2:RV,_emscripten_bind_btHinge2Constraint__calculateTransforms_p0:eU,_emscripten_bind_btGeneric6DofConstraint__serialize_p2:F1,_emscripten_bind_btStackAlloc____destroy___p0:Lb,_emscripten_bind_btUniversalConstraint__enableFeedback_p1:su,_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0:s$,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2:$l,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1:Kp,_emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1:o6,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Pa,_emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1:Ine,_emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0:iP,_emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0:Xte,_emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0:oc,_emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0:jK,_emscripten_bind_btDbvtBroadphase____destroy___p0:Ey,_emscripten_bind_btTriangleMesh__serialize_p2:PF,_emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1:fS,_emscripten_bind_btHinge2Constraint__getConstraintType_p0:uL,_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1:Sp,_emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2:nA,_emscripten_bind_btMultiSphereShape__getMargin_p0:TZ,_emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1:KL,_emscripten_bind_btSliderConstraint__btSliderConstraint_p5:n5,_emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0:UP,_emscripten_bind_btDynamicsWorld__addCharacter_p1:wb,_emscripten_bind_btCollisionObject__activate_p0:ko,_emscripten_bind_btCollisionObject__activate_p1:Oo,_emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0:F9,_emscripten_bind_btMatrix3x3__diagonalize_p3:Bn,_emscripten_bind_btCapsuleShape__getShapeType_p0:dr,_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7:zZ,_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0:cV,_emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0:gq,_emscripten_bind_btConeShapeX__isConvex2d_p0:FA,_emscripten_bind_btRaycastVehicle__getRigidBody_p0:cU,_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0:lZ,_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0:UH,_emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0:JZ,_emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0:aw,_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0:iZ,_emscripten_bind_btSliderConstraint__getRigidBodyA_p0:o8,_emscripten_bind_btStaticPlaneShape__getAabb_p3:n2,_emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1:FL,_emscripten_bind_CProfileNode____destroy___p0:x3,_emscripten_bind_btConvexHullShape__getNumPoints_p0:co,_emscripten_bind_btConeShape__isCompound_p0:cI,_emscripten_bind_btMatrix3x3__getColumn_p1:ln,_emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0:hl,_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0:t_,_emscripten_bind_btIDebugDraw__drawBox_p4:gy,_emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2:Tse,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1:E9,_emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1:qR,_emscripten_bind_btIDebugDraw__drawBox_p3:fy,_emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2:$7,_emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0:QP,_emscripten_bind_btConstraintSolver__solveGroup_p10:yU,_emscripten_bind_btHinge2Constraint__setUserConstraintType_p1:PL,_emscripten_bind_btMatrix3x3____destroy___p0:B_,_emscripten_bind_btCollisionWorld__getDebugDrawer_p0:dJ,_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3:Uj,_emscripten_bind_btConeShapeZ__isConvex_p0:Mw,_emscripten_bind_btPairCachingGhostObject__getFriction_p0:WK,_emscripten_bind_btRigidBody__serializeSingleObject_p1:tg,_emscripten_bind_btOptimizedBvh__updateBvhNodes_p4:nC,_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0:q5,_emscripten_bind_btSphereShape__isPolyhedral_p0:qde,_emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0:tX,_emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4:Wp,_emscripten_bind_btRigidBody__saveKinematicState_p1:ng,_emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1:C6,_emscripten_bind_btCollisionObject____destroy___p0:qs,_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8:T_e,_emscripten_bind_btWheelInfo__set_m_steering_p1:nV,_emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0:DL,_emscripten_bind_btConvexInternalShape__setUserPointer_p1:eK,_emscripten_bind_btGhostObject__getCompanionId_p0:rle,_emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1:jy,_emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0:Ij,_emscripten_bind_btTransform__getIdentity_p0:a4,_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1:kS,_emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1:OA,_emscripten_bind_btBvhTriangleMeshShape__isCompound_p0:Z3,_emscripten_bind_btCompoundShape__btCompoundShape_p1:dd,_emscripten_bind_btCompoundShape__btCompoundShape_p0:Kl,_emscripten_bind_btPairCachingGhostObject__setHitFraction_p1:o$,_emscripten_bind_btCollisionObject__getWorldTransform_p0:rs,_emscripten_bind_btContactConstraint__setParam_p3:I7,_emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0:aW,_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0:sI,_emscripten_bind_btCylinderShape__calculateLocalInertia_p2:Zz,_emscripten_bind_btTransform__serialize_p1:c4,_emscripten_bind_btStorageResult__get_m_distance_p0:IH,_emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0:i6,_emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0:Ice,_emscripten_bind_btIndexedMesh__get_m_numVertices_p0:ho,_emscripten_bind_btMultiSphereShape__setMargin_p1:wZ,_emscripten_bind_btBoxShape__isSoftBody_p0:j_e,_emscripten_bind_btDbvtProxy__isCompound_p1:yH,_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0:so,_emscripten_bind_btEmptyShape__isConvex_p0:am,_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1:zA,_emscripten_bind_btHingeConstraint__setAngularOnly_p1:nP,_emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9:KJ,_emscripten_bind_btCapsuleShapeX__getAabbSlow_p3:Vse,_emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0:pj,_emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3:v2,_emscripten_bind_btCapsuleShapeX__isPolyhedral_p0:woe,_emscripten_bind_btVector4__z_p0:BN,_emscripten_bind_btRigidBody__getUserPointer_p0:Ph,_emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1:g9,_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0:Zpe,_emscripten_bind_btDbvtBroadphase__set_m_paircache_p1:nS,_emscripten_bind_btHinge2Constraint__setDamping_p2:SO,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1:j4,_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0:__e,_emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0:Va,_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2:r_e,_emscripten_bind_btConvexHullShape__getBoundingSphere_p2:As,_emscripten_bind_btContactConstraint__getUserConstraintId_p0:s5,_emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3:pU,_emscripten_bind_btConeTwistConstraint__get_m_objectType_p0:pM,_emscripten_bind_btMultiSphereShape__getMarginNV_p0:uX,_emscripten_bind_btRaycastVehicle__rayCast_p1:nG,_emscripten_bind_btConvexHullShape__isConcave_p0:Sr,_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0:Xo,_emscripten_bind_btSimpleBroadphase____destroy___p0:jp,_emscripten_bind_btCapsuleShape__btCapsuleShape_p2:L_,_emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1:q$,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1:k8,_emscripten_bind_btConvexHullShape__getLocalScaling_p0:Ir,_emscripten_bind_btVector4__x_p0:IN,_emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0:oI,_emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1:zR,_emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1:CR,_emscripten_bind_btMultiSphereShape__isConvex2d_p0:aZ,_emscripten_bind_btCylinderShape__getAngularMotionDisc_p0:mH,_emscripten_bind_btRigidBody__isActive_p0:Bm,_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0:HF,_emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1:wQ,_emscripten_bind_btRaycastVehicle__getRightAxis_p0:DU,_emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2:VW,_emscripten_bind_btDispatcherInfo__set_m_timeStep_p1:o_,_emscripten_bind_btGhostObject__getNumOverlappingObjects_p0:Yae,_emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0:mse,_emscripten_bind_btUniversalConstraint__set_m_objectType_p1:ab,_emscripten_bind_btContactConstraint__getInfo2_p1:N7,_emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0:pie,_emscripten_bind_btPairCachingGhostObject__getIslandTag_p0:KK,_emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6:a2,_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0:n0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0:b3,_emscripten_bind_btRigidBody__setContactProcessingThreshold_p1:mh,_emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1:DK,_emscripten_bind_btRigidBody__getAngularDamping_p0:Ih,_emscripten_bind_btConcaveShape__getUserPointer_p0:Ale,_emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3:Qa,_memset:vBe,_emscripten_bind_btHinge2Constraint__getAngle_p1:kL,_emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0:vW,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0:t3,_emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0:HB,_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1:NS,_emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6:pr,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2:oL,_emscripten_bind_btTypedConstraint__isEnabled_p0:Ig,_emscripten_bind_btVector4__cross_p1:mN,_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0:gf,_emscripten_bind_btCapsuleShapeZ__isConvex_p0:Fae,_emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0:Rj,_emscripten_bind_btPairCachingGhostObject__serialize_p2:J$,_emscripten_bind_btCylinderShapeX__isInfinite_p0:PG,_emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0:ph,_emscripten_bind_btGhostObject__setFriction_p1:zae,_emscripten_bind_btCylinderShape__serializeSingleShape_p1:hH,_emscripten_bind_btWheelInfo__set_m_skidInfo_p1:oV,_emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1:gU,_emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1:mc,_emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0:b1,_emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1:db,_emscripten_bind_btBroadphaseInterface__destroyProxy_p2:pp,_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2:jie,_emscripten_bind_btConeShapeX__getShapeType_p0:VA,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2:HI,_emscripten_bind_btTriangleMesh__getPremadeAabb_p2:mF,_emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1:c1,_emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0:Ete,_emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0:YH,_emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2:GV,_emscripten_bind_btTypedConstraint__setParam_p2:vC,_emscripten_bind_btTypedConstraint__setParam_p3:xC,_emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1:AR,_emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1:Qg,_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0:hV,_emscripten_bind_btCompoundShape____destroy___p0:vd,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0:rie,_emscripten_bind_btHashString__get_m_string_p0:lbe,_emscripten_bind_btQuadWord__btQuadWord_p0:gH,_emscripten_bind_btTransform__setRotation_p1:F4,_emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1:oS,_emscripten_bind_btRigidBody__get_m_frictionSolverType_p0:Xf,_emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3:r9,_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0:iT,_emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1:ov,_emscripten_bind_btBroadphaseProxy____destroy___p0:M_e,_emscripten_bind_btDbvtProxy__isInfinite_p1:DH,_emscripten_bind_btCompoundShape__getUpdateRevision_p0:xl,_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0:XJ,_emscripten_bind_btVector3__deSerialize_p1:ek,_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1:fK,_emscripten_bind_btHashString__getHash_p0:ube,_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2:u2,_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0:s0,_emscripten_bind_btCapsuleShape__isConvex_p0:M_,_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0:Oz,_emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0:JM,_emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2:Vl,_emscripten_bind_btRigidBody__forceActivationState_p1:xh,_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1:HA,_emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2:Hc,_emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0:kP,_emscripten_bind_btConeShapeX__isPolyhedral_p0:kw,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1:Yie,_emscripten_bind_btVector3__absolute_p0:sk,_emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1:Rg,_emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0:eD,_emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3:HQ,_emscripten_bind_btHingeConstraint__setLimit_p4:SP,_emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1:I1,_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0:GQ,_emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3:fZ,_emscripten_bind_btVector4__deSerializeDouble_p1:yE,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2:UO,_emscripten_bind_btDefaultMotionState__get_m_userPointer_p0:tR,_emscripten_bind_btSliderConstraint__getAncorInB_p0:K6,_emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2:$_,_emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0:Cne,_emscripten_bind_btTransform__getOrigin_p0:Y1,_emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0:EB,_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1:bW,_emscripten_bind_btTypedObject__get_m_objectType_p0:uo,_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0:Vx,_emscripten_bind_btCompoundShape__getAabb_p3:md,_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0:NF,_emscripten_bind_btRigidBody__getDeactivationTime_p0:Am,_emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0:Xs,_emscripten_bind_btVector3__length_p0:MO,_emscripten_bind_btConstraintSolver__prepareSolve_p2:vU,_emscripten_bind_btVector4__deSerialize_p1:eN,_emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4:W8,_emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0:Yy,_emscripten_bind_btContactConstraint__getInfo1_p1:E7,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0:foe,_emscripten_bind_btSliderConstraint__getConstraintType_p0:m9,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0:c3,_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0:yl,_emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1:uw,_emscripten_bind_btConvexInternalShape__getBoundingSphere_p2:A$,_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1:oH,_emscripten_bind_btIDebugDraw__drawCylinder_p5:cy,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0:qq,_emscripten_bind_btQuadWord__op_comp_p1:bz,_emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0:P1,_emscripten_bind_btCylinderShape____destroy___p0:cH,_emscripten_bind_btConvexHullShape__isConvex_p0:cr,_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0:UM,_emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5:MD,_emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1:fL,_emscripten_bind_btTypedConstraint__getUid_p0:Gg,_emscripten_bind_btTriangleIndexVertexArray__setScaling_p1:V_e,_emscripten_bind_btRigidBody__setWorldTransform_p1:_g,_emscripten_bind_btGhostObject__serialize_p2:Bpe,_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1:kre,_emscripten_bind_btQuadWord__setY_p1:xz,_emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0:vne,_emscripten_bind_btUniformScalingShape____destroy___p0:ZW,_emscripten_bind_btPairCachingGhostObject__setFriction_p1:XK,_emscripten_bind_btConeTwistConstraint__getBFrame_p0:RT,_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0:wm,_emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6:GM,_emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1:VJ,_emscripten_bind_btConvexShape__getBoundingSphere_p2:Rq,_emscripten_bind_btConvexShape__getUserPointer_p0:vQ,_emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0:vS,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1:aie,_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0:rR,_emscripten_bind_btIDebugDraw__drawTriangle_p8:ny,_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0:Tl,_emscripten_bind_btConeShapeZ__getMarginNV_p0:gw,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2:bce,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5:hce,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4:mce,_emscripten_bind_btCapsuleShapeX__isConcave_p0:Uoe,_emscripten_bind_btEmptyShape__btEmptyShape_p0:ah,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0:Qk,_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0:Mee,_emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1:aS,_emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0:X6,_emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0:Zx,_emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3:GE,_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Cre,_emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0:La,_emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1:TT,_emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0:die,_emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1:Pte,_emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1:US,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0:Uq,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1:E3,_emscripten_bind_btUniversalConstraint__getAngle1_p0:bu,_emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1:i_e,_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1:lv,_emscripten_bind_btQuaternion__setY_p1:uae,_emscripten_bind_btAngularLimit__isLimit_p0:dp,_emscripten_bind_btSphereShape__getAabbNonVirtual_p3:Bce,_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0:F_,_emscripten_bind_btStaticPlaneShape____destroy___p0:s2,_emscripten_bind_btBoxShape__getContactBreakingThreshold_p1:Ire,_emscripten_bind_btConeShapeX__isNonMoving_p0:AA,_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0:uQ,_emscripten_bind_btIDebugDraw__drawSpherePatch_p10:yy,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2:dj,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3:cj,_emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1:Zte,_emscripten_bind_btUniformScalingShape__getMargin_p0:QW,_emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0:VX,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0:Zoe,_emscripten_bind_btConcaveShape__getAngularMotionDisc_p0:rde,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0:Q0,_emscripten_bind_btTransform__inverse_p0:s4,_emscripten_bind_btCylinderShapeX__isConvex2d_p0:RG,_emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1:c2,_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1:Xne,_emscripten_bind_btBroadphaseInterface__rayTest_p4:Ka,_emscripten_bind_btBroadphaseInterface__rayTest_p3:Ja,_emscripten_bind_btQuaternion__setZ_p1:mae,_emscripten_bind_btBU_Simplex1to4__setUserPointer_p1:SV,_emscripten_bind_btQuaternion__setW_p1:cae,_emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8:iB,_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0:Nm,_emscripten_bind_btRigidBody__applyImpulse_p2:zh,_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1:npe,_emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1:Bh,_emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1:W6,_emscripten_bind_btTriangleCallback__processTriangle_p3:sT,_emscripten_bind_btDynamicsWorld__contactPairTest_p3:zc,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1:J2,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2:Iie,_emscripten_bind_btStaticPlaneShape__setLocalScaling_p1:i2,_emscripten_bind_btDynamicsWorld__removeAction_p1:yb,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1:Yoe,_emscripten_bind_btQuaternion__setX_p1:bae,_emscripten_bind_btManifoldResult__getPersistentManifold_p0:aX,_emscripten_bind_btDispatcher__needsResponse_p2:dY,_emscripten_bind_btCapsuleShapeX__getName_p0:hse,_emscripten_bind_btConvexShape__isInfinite_p0:yQ,_emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0:iv,_emscripten_bind_btSimpleBroadphase__printStats_p0:Bl,_emscripten_bind_btCollisionWorld__serialize_p1:lJ,_emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1:FQ,_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0:IA,_emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1:tA,_emscripten_bind_btPolyhedralConvexShape__isConvex_p0:zC,_emscripten_bind_btGeneric6DofConstraint__setParam_p2:G2,_emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3:yD,_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1:zW,_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12:a_e,_emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1:rT,_emscripten_bind_btBU_Simplex1to4____destroy___p0:NE,_emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1:YI,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1:Zq,_emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1:GJ,_emscripten_bind_btMultiSphereShape__isSoftBody_p0:pZ,_emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0:jR,_emscripten_bind_btCompoundShape__getBoundingSphere_p2:Td,_emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0:Gee,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0:v4,_emscripten_bind_btConstraintSetting__get_m_damping_p0:Jc,_emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1:o1,_emscripten_bind_btMatrix3x3__getRow_p1:vn,_emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0:Pie,_emscripten_bind_btConeShape__isConvex_p0:SI,_emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0:o_e,_emscripten_bind_btVector4__distance_p1:gN,_emscripten_bind_btMatrix3x3__op_set_p1:Ln,_emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0:df,_emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3:_c,_emscripten_bind_btCollisionObject__getDeactivationTime_p0:Vo,_emscripten_bind_btCollisionShape__setMargin_p1:E2,_emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0:XF,_emscripten_bind_btSphereShape__btSphereShape_p1:jce,_emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1:lR,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1:zQ,_emscripten_bind_btUniformScalingShape__isNonMoving_p0:eW,_emscripten_bind_btPersistentManifold__refreshContactPoints_p2:Ul,_emscripten_bind_btVector3__setZero_p0:xO,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1:Bde,_emscripten_bind_btPolyhedralConvexShape__serialize_p2:GS,_emscripten_bind_btTriangleMesh__preallocateIndices_p1:DF,_emscripten_bind_btConvexTriangleMeshShape__getVertex_p2:na,_emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1:bne,_emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0:f9,_emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3:use,_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1:gse,_emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1:SM,_emscripten_bind_btCollisionObject__setCollisionShape_p1:Hs,_emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1:AI,_emscripten_bind_btCylinderShape__getUserPointer_p0:Bz,_emscripten_bind_btTransform__btTransform_p1:L4,_emscripten_bind_btTransform__btTransform_p0:O4,_emscripten_bind_btTransform__btTransform_p2:U4,_emscripten_bind_btVector3__normalize_p0:ak,_emscripten_bind_btConvexHullShape__getPoints_p0:Mr,_emscripten_bind_btDiscreteDynamicsWorld__serialize_p1:mM,_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0:lie,_emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0:lQ,_emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0:xu,_emscripten_bind_CProfileNode__Get_Total_Calls_p0:s3,_emscripten_bind_btVector3__btVector3_p3:gk,_emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3:Xw,_emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0:RZ,_emscripten_bind_btCollisionWorld__contactPairTest_p3:MJ,_emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1:u_,_emscripten_bind_btManifoldResult__refreshContactPoints_p0:XX,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4:k3,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3:G4,_emscripten_bind_btCapsuleShapeX__isCompound_p0:Toe,_emscripten_bind_btOverlappingPairCache__findPair_p2:g2,_emscripten_bind_btBU_Simplex1to4__isInfinite_p0:DV,_emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0:tV,_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0:Z0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1:q4,_emscripten_bind_btGhostObject__getHitFraction_p0:ule,_emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10:Ej,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1:ooe,_emscripten_bind_btCompoundShape__setUserPointer_p1:ed,_emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0:nj,_emscripten_bind_btBoxShape____destroy___p0:Lre,_emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0:Br,_emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3:yF,_emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3:UW,_emscripten_bind_btTypedConstraint__getAppliedImpulse_p0:Zg,_emscripten_bind_CProfileNode__Call_p0:D3,_emscripten_bind_btQuaternion__length_p0:tpe,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1:ZQ,_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0:wae,_emscripten_bind_btPairCachingGhostObject__rayTest_p3:j$,_emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0:wne,_emscripten_bind_btConvexInternalShape__isInfinite_p0:rK,_emscripten_bind_btEmptyShape__setMargin_p1:Ym,_emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0:r0,_emscripten_bind_btHinge2Constraint__setLowerLimit_p1:rU,_emscripten_bind_btContinuousDynamicsWorld__clearForces_p0:kR,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1:lj,_emscripten_bind_btConvexShape__getAngularMotionDisc_p0:Iq,_emscripten_bind_btVector4__minAxis_p0:tN,_emscripten_bind_btConeShapeZ__getUserPointer_p0:Dw,_emscripten_bind_btCollisionShape__isPolyhedral_p0:R0,_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0:Qee,_emscripten_bind_btCylinderShape__serialize_p2:qz,_emscripten_bind_btDynamicsWorld__setDebugDrawer_p1:Nc,_emscripten_bind_btDiscreteDynamicsWorld__addAction_p1:cM,_emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0:ZT,_emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1:rS,_emscripten_bind_btUniversalConstraint__getConstraintType_p0:ou,_emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2:LZ,_emscripten_bind_btBoxShape__setLocalScaling_p1:Fre,_emscripten_bind_btTransform__serializeFloat_p1:u4,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1:C3,_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0:MY,_emscripten_bind_CProfileNode__Get_Parent_p0:o3,_emscripten_bind_btConvexShape__isCompound_p0:CQ,_emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0:kk,_emscripten_bind_btTriangleInfo____destroy___p0:LO,_emscripten_bind_btSliderConstraint__getUserConstraintId_p0:a9,_emscripten_bind_btContinuousDynamicsWorld__contactTest_p2:YR,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0:_ie,_emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0:JP,_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0:Nd,_emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1:qL,_emscripten_bind_btDynamicsWorld__getBroadphase_p0:jc,_emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2:pse,_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0:qc,_emscripten_bind_btConvexHullShape__getNumEdges_p0:kr,_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0:AX,_emscripten_bind_btRigidBody__upcast_p1:Sf,_emscripten_bind_btDispatcherInfo____destroy___p0:N_,_emscripten_bind_btSerializer__getSerializationFlags_p0:AO,_emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0:q2,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2:qoe,_emscripten_bind_btTransform__inverseTimes_p1:w4,_emscripten_bind_btPoint2PointConstraint__updateRHS_p1:vee,_emscripten_bind_btVector3__w_p0:wk,_emscripten_bind_bt32BitAxisSweep3__quantize_p3:kde,_emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1:Xc,_emscripten_bind_btCompoundShape__getUserPointer_p0:od,_emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1:_E,_emscripten_bind_btCapsuleShape__isSoftBody_p0:A_,_emscripten_bind_btWheelInfo__get_m_brake_p0:rV,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2:mG,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1:Kte,_emscripten_bind_btTypedConstraint__getInfo2_p1:PC,_emscripten_bind_btSimpleBroadphase__createProxy_p8:Il,_emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0:nQ,_emscripten_bind_btCompoundShape__getMargin_p0:gd,_emscripten_bind_btConeShape__getLocalScaling_p0:oB,_emscripten_bind_btPairCachingGhostObject__isActive_p0:v$,_emscripten_bind_btConeShape__isConcave_p0:DB,_emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1:yj,_emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0:Ane,_emscripten_bind_btCollisionObject__setActivationState_p1:bs,_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0:tM,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0:ise,_emscripten_bind_btConvexHullShape__getPlane_p3:Bs,_emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4:L1,_emscripten_bind_btManifoldResult____destroy___p0:WX,_emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5:xU,_emscripten_bind_btPoint2PointConstraint__buildJacobian_p0:fee,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0:Mde,_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0:NI,_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0:H5,_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1:FS,_emscripten_bind_btHinge2Constraint__set_m_objectType_p1:lO,_emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0:Hg,_emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2:tre,_emscripten_bind_btHingeConstraint__setUseFrameOffset_p1:GD,_emscripten_bind_btGhostObject__forceActivationState_p1:Gpe,_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0:AU,_emscripten_bind_btTypedConstraint__getObjectType_p0:Og,_emscripten_bind_CProfileNode__Get_Sub_Node_p1:O3,_emscripten_bind_btQuaternion__angle_p1:iae,_emscripten_bind_btGhostObject__setCollisionShape_p1:Epe,_emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0:EA,_emscripten_bind_btBvhTriangleMeshShape__getName_p0:y8,_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0:Jf,_emscripten_bind_btVector3__op_comp_p1:ZN,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0:_3,_emscripten_bind_btVector3__getY_p0:UN,_emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1:H7,_emscripten_bind_btConvexInternalShape__getName_p0:MK,_emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3:va,_emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0:Rf,_emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0:G5,_emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0:S9,_emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:kE,_emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0:One,_emscripten_bind_btBvhTriangleMeshShape__isConcave_p0:$3,_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0:Zo,_emscripten_bind_btUniversalConstraint__updateRHS_p1:Lu,_emscripten_bind_btRigidBody__applyDamping_p1:Kg,_emscripten_bind_btConvexInternalShape__isNonMoving_p0:sK,_emscripten_bind_btStaticPlaneShape__isConcave_p0:P0,_emscripten_bind_btVector4__deSerializeFloat_p1:ZE,_emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6:FW,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0:gie,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0:moe,_emscripten_bind_btHinge2Constraint__calculateTransforms_p2:tU,_emscripten_bind_btCollisionWorld__btCollisionWorld_p3:OJ,_emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4:pT,_emscripten_bind_btCapsuleShapeZ____destroy___p0:vpe,_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0:rpe,_emscripten_bind_btDynamicsWorld____destroy___p0:Uc,_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4:Yp,_emscripten_bind_btNodeOverlapCallback__processNode_p2:Zl,_emscripten_bind_btConvexShape__getLocalScaling_p0:uq,_emscripten_bind_btPairCachingGhostObject__getInternalType_p0:x$,_emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0:iee,_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0:aO,_emscripten_bind_btMatrix3x3__deSerializeFloat_p1:yn,_emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1:Qte,_emscripten_bind_btConeShapeX__setLocalScaling_p1:jA,_emscripten_bind_btUniversalConstraint__isEnabled_p0:_u,_emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1:M8,_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0:r7,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0:$4,_emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:QS,_emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1:N6,_emscripten_bind_btAxisSweep3__testAabbOverlap_p2:ex,_emscripten_bind_btCapsuleShapeX__isConvex2d_p0:koe,_emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0:Ix,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0:uoe,_emscripten_bind_bt32BitAxisSweep3____destroy___p0:Cce,_emscripten_bind_btVector3__triple_p2:zN,_emscripten_bind_ConcreteContactResultCallback__needsCollision_p1:Fj,_emscripten_bind_btSimpleBroadphaseProxy__getUid_p0:av,_emscripten_bind_btConeShapeX__serialize_p2:hA,_emscripten_bind_btCollisionDispatcher__releaseManifold_p1:Nv,_emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0:mw,_emscripten_bind_btBU_Simplex1to4__isNonMoving_p0:PV,_emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0:vu,_emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3:bee,_emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2:OE,_emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1:vse,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0:Jp,_emscripten_bind_btVector3__angle_p1:pk,_emscripten_bind_btCylinderShape__getLocalScalingNV_p0:Az,_emscripten_bind_btConeShape__isInfinite_p0:yI,_emscripten_bind_btIndexedMesh__get_m_vertexStride_p0:yo,_emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0:da,_emscripten_bind_btHinge2Constraint__getAnchor2_p0:ML,_emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1:Wne,_emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2:UQ,_emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1:_7,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0:y1,_emscripten_bind_btCompoundShape__calculateLocalInertia_p2:Ql,_emscripten_bind_btSliderConstraint__getDbgDrawSize_p0:O6,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2:QM,_emscripten_bind_btRigidBody__setMotionState_p1:_h,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1:ZM,_emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0:cne,_emscripten_bind_CProfileNode__Get_Sibling_p0:l3,_emscripten_bind_btHingeConstraint__enableAngularMotor_p3:hD,_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0:_R,_emscripten_bind_btStaticPlaneShape__getName_p0:t2,_emscripten_bind_btGhostObject__getUserPointer_p0:ele,_emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1:Bee,_emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1:Ly,_emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0:Vd,_emscripten_bind_btConeShape__getAngularMotionDisc_p0:IV,_emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7:z2,_emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Aq,_emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0:mE,_emscripten_bind_btHingeConstraint__isEnabled_p0:VD,_emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0:Z2,_emscripten_bind_btSerializer__serializeName_p1:EO,_emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0:$n,_emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0:Jl,_emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1:SS,_emscripten_bind_btConcaveShape__processAllTriangles_p3:qle,_emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0:pne,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1:W7,_emscripten_bind_btRigidBody__isKinematicObject_p0:Oh,_emscripten_bind_btCapsuleShapeX__getHalfHeight_p0:Foe,_emscripten_bind_btVector4__rotate_p2:xN,_emscripten_bind_btMatrix3x3__serialize_p1:nn,_emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0:Q3,_emscripten_bind_btDbvtBroadphase__get_m_cid_p0:gS,_emscripten_bind_btContactConstraint__getUid_p0:C5,_emscripten_bind_btVector3__setInterpolate3_p3:WN,_emscripten_bind_btConstraintSolver__allSolved_p3:SU,_emscripten_bind_btMatrix3x3__btMatrix3x3_p9:Cn,_emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0:hne,_emscripten_bind_btTriangleMesh____destroy___p0:AF,_emscripten_bind_btMatrix3x3__btMatrix3x3_p1:gn,_emscripten_bind_btMatrix3x3__btMatrix3x3_p0:fn,_emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0:ere,_emscripten_bind_btBvhSubtreeInfo____destroy___p0:Die,_emscripten_bind_btVector3__op_add_p1:XN,_emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1:G8,_emscripten_bind_btHinge2Constraint__getAngle2_p0:CL,_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9:J7,_emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0:n8,_emscripten_bind_btContactConstraint__setUserConstraintType_p1:y5,_emscripten_bind_btHingeConstraint__getAngularOnly_p0:aP,_emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0:Ise,_emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0:QV,_emscripten_bind_btGhostObject__getCollisionShape_p0:Ype,_emscripten_bind_btCollisionObject__setWorldTransform_p1:Ys,_emscripten_bind_btConeShapeZ__setMargin_p1:_A,_emscripten_bind_btCapsuleShape__serialize_p2:U_,_emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0:tu,_emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1:Rh,_emscripten_bind_btTransform__getRotation_p0:o4,_emscripten_bind_btStridingMeshInterface__getScaling_p0:S7,_emscripten_bind_btGhostObject__setHitFraction_p1:jpe,_emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:FV,_emscripten_bind_btPersistentManifold__addManifoldPoint_p1:zl,_emscripten_bind_btSphereShape__getMargin_p0:Wce,_emscripten_bind_btEmptyShape__serializeSingleShape_p1:eh,_emscripten_bind_btQuaternion__slerp_p2:eae,_emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1:mU,_emscripten_bind_btPersistentManifold__getObjectType_p0:pl,_emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:MW,_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1:no,_emscripten_bind_bt32BitAxisSweep3__resetPool_p1:pce,_emscripten_bind_btHingeConstraint__testLimit_p2:wD,_emscripten_bind_btRigidBody__setLinearFactor_p1:lg,_emscripten_bind_btDynamicsWorld__setBroadphase_p1:Xd,_emscripten_bind_btPairCachingGhostObject__getActivationState_p0:c$,_emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2:hK,_emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0:b_,_emscripten_bind_btEmptyShape__isPolyhedral_p0:sm,_emscripten_bind_btPoint2PointConstraint__isEnabled_p0:Pee,_emscripten_bind_btConeShape__getUserPointer_p0:vI,_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1:Pq,_emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2:yR,_emscripten_bind_btMatrix3x3__scaled_p1:dn,_emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1:QI,_emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0:p0,_emscripten_bind_btCylinderShapeX____destroy___p0:xW,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1:W4,_emscripten_bind_btContactConstraint__isEnabled_p0:l5,_emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0:OY,_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1:LW,_emscripten_bind_btCylinderShapeX__isConvex_p0:DG,_emscripten_bind_btIDebugDraw__drawArc_p9:oy,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1:BM,_emscripten_bind_btSliderConstraint__getAncorInA_p0:q8,_emscripten_bind_btHingeConstraint__getUpperLimit_p0:ID,_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0:Ed,_emscripten_bind_btConvexShape__setLocalScaling_p1:yq,_emscripten_bind_btConeShape__getConeUpIndex_p0:TB,_emscripten_bind_btHinge2Constraint____destroy___p0:JL,_emscripten_bind_btCapsuleShapeZ__setMargin_p1:Cpe,_emscripten_bind_btAngularLimit__getLow_p0:Ip,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0:Nne,_emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1:wB,_emscripten_bind_btMultiSphereShape__getSpherePosition_p1:nZ,_emscripten_bind_btRigidBody__internalGetPushVelocity_p0:Uf,_emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0:ZS,_emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1:Yv,_emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1:_2,_emscripten_bind_btConcaveShape__isConvex2d_p0:Rle,_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0:bE,_emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1:_1,_emscripten_bind_btConvexShape__isConvex2d_p0:MQ,_emscripten_bind_btSerializer__setSerializationFlags_p1:DO,_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1:$ne,_emscripten_bind_btCylinderShapeZ__isNonMoving_p0:$ee,_emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0:Gd,_emscripten_bind_btPersistentManifold__replaceContactPoint_p2:Xl,_emscripten_bind_btManifoldPoint__get_m_index1_p0:N5,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0:Soe,_emscripten_bind_btBoxShape__getPlane_p3:jre,_emscripten_bind_btAxisSweep3__rayTest_p3:hx,_emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0:ZO,_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0:X_e,_emscripten_bind_btAxisSweep3__rayTest_p4:fx,_emscripten_bind_btAxisSweep3__rayTest_p5:gx,_emscripten_bind_btConvexInternalShape__isPolyhedral_p0:iK,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0:jU,_emscripten_bind_btRigidBody__getInternalType_p0:Nf,_emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2:ipe,_emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0:cQ,_emscripten_bind_btTypedObject__set_m_objectType_p1:mo,_emscripten_bind_btConvexInternalShape__getShapeType_p0:UK,_emscripten_bind_btCollisionWorld__getBroadphase_p0:XY,_emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0:rD,_emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0:Vk,_emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1:nle,_emscripten_bind_btManifoldPoint__set_m_lifeTime_p1:C7,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0:_O,_emscripten_bind_btCollisionShape__getAngularMotionDisc_p0:O2,_emscripten_bind_btCompoundShape__recalculateLocalAabb_p0:yd,_emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0:mP,_emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1:vM,_emscripten_bind_btWheelInfo__get_m_skidInfo_p0:$B,_emscripten_bind_btConeTwistConstraint__getInfo2_p1:mT,_emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1:QA,_emscripten_bind_btManifoldPoint__btManifoldPoint_p0:See,_emscripten_bind_btBoxShape__serialize_p2:Bre,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0:Xk,_emscripten_bind_btContactConstraint__get_m_objectType_p0:a5,_emscripten_bind_btBroadphaseProxy__isConcave_p1:ane,_emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1:BW,_emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3:xM,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1:P3,_emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1:q6,_emscripten_bind_btWheelInfo__get_m_rollInfluence_p0:zB,_emscripten_bind_btRaycastVehicle__getForwardVector_p0:_G,_emscripten_bind_btCollisionWorld__updateSingleAabb_p1:wJ,_emscripten_bind_btAxisSweep3__setAabb_p4:Cx,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1:gne,_emscripten_bind_btCapsuleShape__setUserPointer_p1:f_,_emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1:Ru,_emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1:yne,_emscripten_bind_btConcaveShape__serializeSingleShape_p1:ode,_emscripten_bind_btConvexHullShape__getNumVertices_p0:Rr,_emscripten_bind_btRigidBody__translate_p1:bf,_emscripten_bind_btRigidBody__getActivationState_p0:Vm,_emscripten_bind_btPersistentManifold__set_m_index1a_p1:sl,_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1:mB,_emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0:Wx,_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1:Y_,_emscripten_bind_btAxisSweep3__createProxy_p8:Tx,_emscripten_bind_btUniversalConstraint__getAxis_p1:Du,_emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0:$8,_emscripten_bind_btSliderConstraint__calculateTransforms_p2:n9,_emscripten_bind_btDbvtProxy__getUid_p0:zH,_emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0:kJ,_emscripten_bind_btCompoundShape__getChildTransform_p1:rd,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0:_oe,_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0:Ez,_emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1:XP,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0:voe,_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0:sQ,_emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0:uM,_emscripten_bind_btStridingMeshInterface__preallocateIndices_p1:K7,_emscripten_bind_btRigidBody__mergesSimulationIslands_p0:bh,_emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1:xS,_emscripten_bind_btTriangleMesh__getNumSubParts_p0:FF,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0:K4,_emscripten_bind_btTriangleMesh__getUse4componentVertices_p0:NA,_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0:s7,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0:Tde,_emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1:z1,_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0:KY,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0:sO,_emscripten_bind_btSphereShape__setUnscaledRadius_p1:Kde,_emscripten_bind_btVector4__setInterpolate3_p3:jE,_emscripten_bind_btIndexedMesh__set_m_numTriangles_p1:Co,_emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0:Jz,_emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0:jD,_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1:yK,_emscripten_bind_btSphereShape____destroy___p0:fbe,_emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0:ZI,_emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0:Oie,_emscripten_bind_btSliderConstraint__getLowerLinLimit_p0:v9,_emscripten_bind_btCapsuleShapeZ__serialize_p2:_pe,_emscripten_bind_btDynamicsWorld__addCollisionObject_p1:Fc,_emscripten_bind_btDynamicsWorld__addCollisionObject_p2:Rc,_emscripten_bind_btDynamicsWorld__addCollisionObject_p3:Ic,_emscripten_bind_btStaticPlaneShape__getShapeType_p0:w0,_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1:kv,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2:qre,_emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0:mZ,_emscripten_bind_btManifoldPoint__getLifeTime_p0:K5,_emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5:nm,_emscripten_bind_btTransform__op_set_p1:B4,_emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1:gV,_emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0:Ma,_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1:nE,_emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0:K3,_emscripten_bind_btCollisionShape__isConvex2d_p0:N0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1:XO,_emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0:EE,_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0:bb,_emscripten_bind_btJacobianEntry__getRelativeVelocity_p4:PY,_emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0:ude,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1:qF,_emscripten_bind_btUniformScalingShape__getName_p0:WW,_emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2:Gz,_emscripten_bind_btContinuousDynamicsWorld__addAction_p1:RR,_emscripten_bind_btBoxShape__setUserPointer_p1:E_e,_emscripten_bind_btCollisionObject__setCollisionFlags_p1:Ss,_emscripten_bind_btConeShapeZ__isSoftBody_p0:Aw,_emscripten_bind_btConstraintSetting____destroy___p0:Ob,_emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0:Zbe,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1:g4,_emscripten_bind_btOptimizedBvh____destroy___p0:uC,_emscripten_bind_btRigidBody__getOrientation_p0:ih,_emscripten_bind_btUniversalConstraint__getAngle2_p0:du,_emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6:MX,_emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1:u5,_emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1:Ky,_emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0:Vee,_emscripten_bind_btAxisSweep3__getNumHandles_p0:Jv,_emscripten_bind_btRigidBody__setCcdMotionThreshold_p1:sf,_emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1:hu,_emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0:Od,_emscripten_bind_btDbvtProxy__isConcave_p1:PH,_emscripten_bind_btVector4__triple_p2:XE,_emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2:Vte,_emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0:h2,_emscripten_bind_btQuaternion__getAxis_p0:_ae,_emscripten_bind_btVector3__getZ_p0:GN,_emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1:NV,_emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1:A7,_emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1:VL,_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1:BI,_emscripten_bind_btIndexedMesh__set_m_numVertices_p1:xo,_emscripten_bind_btHashInt__btHashInt_p1:NJ,_emscripten_bind_btConstraintSetting__get_m_tau_p0:tb,_emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1:l8,_emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0:lde,_emscripten_bind_btCapsuleShape__getHalfHeight_p0:y_,_emscripten_bind_btSliderConstraint__getLinDepth_p0:H6,_emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1:c_e,_emscripten_bind_btHashString__set_m_hash_p1:dbe,_emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0:Qn,_emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1:Id,_emscripten_bind_btConeTwistConstraint__getInfo1_p1:uT,_emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4:d_e,_emscripten_bind_btConeShapeZ__getMargin_p0:iA,_emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0:ma,_emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1:Gp,_emscripten_bind_btSerializer__getUniquePointer_p1:RO,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1:r3,_emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1:XW,_emscripten_bind_btConvexInternalShape__isConcave_p0:LK,_emscripten_bind_btVector4__getW_p0:YE,_emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0:Nl,_emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1:Qr,_emscripten_bind_btVector3__serialize_p1:kN,_emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3:Abe,_emscripten_bind_btCollisionObject__isKinematicObject_p0:Ts,_emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1:_6,_emscripten_bind_btSliderConstraint__getUid_p0:y6,_emscripten_bind_btDynamicsWorld__serialize_p1:Cc,_emscripten_bind_btConeShapeZ__serialize_p2:zw,_emscripten_bind_btRaycastVehicle__getUpAxis_p0:EU,_emscripten_bind_btCylinderShapeZ__getRadius_p0:gte,_emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1:No,_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0:hr,_emscripten_bind_btCylinderShape__btCylinderShape_p1:fj,_emscripten_bind_btSimpleDynamicsWorld____destroy___p0:DX,_emscripten_bind_btIDebugDraw__drawPlane_p4:my,_emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1:K$,_emscripten_bind_btRaycastVehicle__setUserConstraintType_p1:RU,_memcpy:yBe,_emscripten_bind_btCapsuleShape__serializeSingleShape_p1:sr,_emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0:L$,_emscripten_bind_btWheelInfo__get_m_steering_p0:WB,_emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1:yZ,_emscripten_bind_btRigidBody__hasContactResponse_p0:Cf,_emscripten_bind_btGhostObject__isKinematicObject_p0:xle,_emscripten_bind_btBroadphasePair__btBroadphasePair_p2:fR,_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0:f$,_emscripten_bind_btPersistentManifold__getBody1_p0:_l,_emscripten_bind_btUniversalConstraint__getAnchor2_p0:mu,_emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6:Ese,_emscripten_bind_btSphereShape__isConcave_p0:ebe,_emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0:jC,_emscripten_bind_btRigidBody__getBroadphaseHandle_p0:Dh,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1:Z4,_emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1:KP,_emscripten_bind_btAxisSweep3____destroy___p0:Dx,_emscripten_bind_btSliderConstraint__getDampingLimLin_p0:j6,_emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1:tq,_emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1:aR,_emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1:vL,_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0:h1,_emscripten_bind_btBvhTriangleMeshShape__serialize_p2:N3,_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0:MB,_emscripten_bind_btDbvtProxy__set_m_uniqueId_p1:GH,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0:iie,_emscripten_bind_btCylinderShapeX__isConcave_p0:VG,_emscripten_bind_btConeShapeX__getAabbNonVirtual_p3:CA,_emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4:ka,_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0:bM,_emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0:aJ,_emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1:Au,_emscripten_bind_btCapsuleShape__isPolyhedral_p0:C_,_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0:Xae,_emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1:J_,_emscripten_bind_btConvexTriangleMeshShape__isConvex_p0:aa,_emscripten_bind_btConvexShape__getMarginNonVirtual_p0:wq,_emscripten_bind_btRotationalLimitMotor__set_m_damping_p1:iw,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0:$F,_emscripten_bind_btSimpleBroadphase__getAabb_p3:Fl,_emscripten_bind_btSliderConstraint__getRigidBodyB_p0:r8,_emscripten_bind_btPersistentManifold__validContactDistance_p1:rl,_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0:fie,_emscripten_bind_btManifoldPoint__set_m_localPointB_p1:Q7,_emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0:Lg,_emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0:Wee,_emscripten_bind_btBroadphaseProxy__isConvex_p1:_ne,_emscripten_bind_btGhostObject__setActivationState_p1:lle,_emscripten_bind_btCapsuleShapeZ__getMarginNV_p0:Aae,_emscripten_bind_btTranslationalLimitMotor__isLimited_p1:qJ,_emscripten_bind_btDbvtBroadphase__rayTest_p3:Ty,_emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1:IM,_emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0:LF,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0:ioe,_emscripten_bind_btDbvtProxy__set_stage_p1:kH,_emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1:w6,_emscripten_bind_btConvexShape__isPolyhedral_p0:gQ,_emscripten_bind_btStridingMeshInterface__serialize_p2:eee,_emscripten_bind_btBvhTriangleMeshShape__isConvex_p0:J3,_emscripten_bind_btCollisionObject__btCollisionObject_p0:zs,_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9:pee,_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8:aee,_emscripten_bind_btGeneric6DofConstraint__getObjectType_p0:i1,_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0:X2,_emscripten_bind_btRaycastVehicle__resetSuspension_p0:FU,_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0:Roe,_emscripten_bind_btConeShapeX__isInfinite_p0:DA,_emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0:eX,_emscripten_bind_btConeShape__getLocalScalingNV_p0:gI,_emscripten_bind_btRigidBody__applyGravity_p0:Kh,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1:Bie,_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1:SZ,_emscripten_bind_btCylinderShapeZ__getUserPointer_p0:Kee,_emscripten_bind_btRigidBody__getContactProcessingThreshold_p0:Yf,_emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0:c9,_emscripten_bind_btConstraintSetting__set_m_damping_p1:eb,_emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0:Iee,_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0:Cu,_emscripten_bind_btTypedConstraint__get_m_objectType_p0:Fg,_emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3:$d,_emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0:pa,_emscripten_bind_btSliderConstraint__getInfo2_p1:Q8,_emscripten_bind_btEmptyShape__getUserPointer_p0:lm,_emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0:U6,_emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0:Cs,_emscripten_bind_btTriangleMesh__addTriangle_p4:cR,_emscripten_bind_btConeShapeX__getMargin_p0:qA,_emscripten_bind_btSphereShape__getLocalScaling_p0:Rce,_emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6:zE,_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0:ra,_emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1:qg,_emscripten_bind_btConeShapeZ__getLocalScaling_p0:Hw,_emscripten_bind_btCompoundShape__addChildShape_p2:fd,_emscripten_bind_btVector3__setZ_p1:vk,_emscripten_bind_btConeTwistConstraint__getParam_p1:cT,_emscripten_bind_btConeTwistConstraint__getParam_p2:bT,_emscripten_bind_btAxisSweep3__quantize_p3:cx,_emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1:Jy,_emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3:cte,_emscripten_bind_btConvexShape__isConcave_p0:Eq,_emscripten_bind_btConvexHullShape__setMargin_p1:eo,_emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0:mQ,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0:Wq,_emscripten_bind_btCapsuleShape__getMarginNV_p0:x_,_emscripten_bind_btCollisionWorld__debugDrawObject_p3:bJ,_emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0:Zu,_emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0:pQ,_emscripten_bind_btQuaternion____destroy___p0:$ae,_emscripten_bind_btManifoldPoint__set_m_localPointA_p1:q7,_emscripten_bind_btSliderConstraint__setDampingLimAng_p1:J6,_emscripten_bind_btTriangleMesh__addTriangle_p3:dR,_emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1:mde,_emscripten_bind_btConeShapeZ__setLocalScaling_p1:Kw,_emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7:Xb,_emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1:WF,_emscripten_bind_btUniversalConstraint__getParam_p1:Zb,_emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0:KW,_emscripten_bind_btConeShape__getMargin_p0:gB,_emscripten_bind_btMatrix3x3__getEulerZYX_p3:Un,_emscripten_bind_btWheelInfo__get_m_clientInfo_p0:JB,_emscripten_bind_btMatrix3x3__getEulerZYX_p4:Wn,_emscripten_bind_btTriangleIndexVertexArray____destroy___p0:A_e,_emscripten_bind_btHashString__portableStringCompare_p2:mbe,_emscripten_bind_btCollisionShape__isSoftBody_p0:k0,_emscripten_bind_btCapsuleShapeZ__isNonMoving_p0:Bae,_emscripten_bind_btSliderConstraint__isEnabled_p0:d8,_emscripten_bind_btConcaveShape__setMargin_p1:ide,_emscripten_bind_btCollisionWorld__getDispatcher_p0:GY,_emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0:ade,_emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1:zv,_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0:rQ,_emscripten_bind_btUniformScalingShape__getLocalScaling_p0:kW,_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9:D_e,_emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0:m0,_emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0:FI,_emscripten_bind_btContactConstraint__getContactManifold_p0:o5,_emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1:F_e,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0:Zk,_emscripten_bind_btBU_Simplex1to4__isConvex_p0:TV,_emscripten_bind_btMultiSphereShape__getName_p0:CZ,_emscripten_bind_btStaticPlaneShape__processAllTriangles_p3:$0,_emscripten_bind_btBU_Simplex1to4__getIndex_p1:JV,_emscripten_bind_CProfileNode__Get_Child_p0:d3,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1:Nie,_emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1:Ote,_emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6:kI,_emscripten_bind_btConvexHullShape__serialize_p2:Yr,_emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8:GX,_emscripten_bind_btManifoldPoint____destroy___p0:j7,_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1:Yw,_emscripten_bind_btQuantizedBvh____destroy___p0:Vbe,_emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0:Lee,_emscripten_bind_btRigidBody__getMotionState_p0:_f,_emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1:Jx,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0:X9,_emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0:Po,_emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0:zd,_emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0:xs,_emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1:dee,_emscripten_bind_btAxisSweep3__getAabb_p3:yx,_emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0:mne,_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2:VI,_emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1:Tce,_emscripten_bind_btCollisionDispatcher__setNearCallback_p1:hv,_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1:hZ,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4:B3,_emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3:RC,_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4:gX,_emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1:A5,_emscripten_bind_btGhostObject__getIslandTag_p0:qae,_emscripten_bind_btCollisionWorld__removeCollisionObject_p1:FJ,_emscripten_bind_btCompoundShape__removeChildShape_p1:ec,_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1:EW,_emscripten_bind_btContactConstraint__getUserConstraintType_p0:M5,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0:f4,_emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0:Kc,_emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2:H2,_emscripten_bind_btAngularLimit__getHigh_p0:Fp,_emscripten_bind_btPairCachingGhostObject__getRestitution_p0:u$,_emscripten_bind_btMatrix3x3__determinant_p0:Dn,_emscripten_bind_btRigidBody__getTotalForce_p0:Pm,_emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1:Xj,_emscripten_bind_btCylinderShape__isConvex_p0:Rz,_emscripten_bind_CProfileNode__CProfileNode_p2:L3,_emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1:d9,_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1:bv,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1:O9,_emscripten_bind_btManifoldResult__getBody0Internal_p0:pX,_emscripten_bind_btConeShapeX__isCompound_p0:Vw,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0:i3,_emscripten_bind_btHingeConstraint__btHingeConstraint_p3:TP,_emscripten_bind_btBoxShape__calculateLocalInertia_p2:cre,_emscripten_bind_btSphereShape__getRadius_p0:Yde,_emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0:_q,_emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1:yu,_emscripten_bind_btHingeConstraint__getHingeAngle_p0:DD,_emscripten_bind_btHingeConstraint__getHingeAngle_p2:PD,_emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1:OS,_emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0:_D,_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2:yX,_emscripten_bind_btOptimizedBvh__quantize_p3:iC,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1:x4,_emscripten_bind_btAngularLimit__test_p1:Rp,_emscripten_bind_btContactConstraint__solveConstraintObsolete_p3:G7,_emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0:iX,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0:W9,_emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1:wI,_emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3:em,_emscripten_bind_btDynamicsWorld__setGravity_p1:fc,_emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1:bO,_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0:rX,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0:oz,_emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2:PZ,_emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1:Fo,_emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1:u8,_emscripten_bind_btCollisionShape__getUserPointer_p0:V0,_emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1:lw,_emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1:cie,_emscripten_bind_btUniversalConstraint__setParam_p3:jb,_emscripten_bind_btUniversalConstraint__setParam_p2:Hb,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1:p1,_emscripten_bind_btManifoldResult__setPersistentManifold_p1:dX,_emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1:qI,_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0:C0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0:D4,_emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0:kc,_emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0:Cle,_emscripten_bind_btJacobianEntry__btJacobianEntry_p0:SY,_emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0:bV,_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2:Sa,_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1:Ca,_emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1:rA,_emscripten_bind_btSliderConstraint__getAppliedImpulse_p0:Z6,_emscripten_bind_btSimpleDynamicsWorld__serialize_p1:Oj,_emscripten_bind_btConvexInternalShape__getAabbSlow_p3:I$,_emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1:xie,_emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1:mpe,_emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1:Gx,_emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0:Jne,_emscripten_bind_btClock__op_set_p1:Q1,_emscripten_bind_btStaticPlaneShape__isNonMoving_p0:x0,_emscripten_bind_btPolyhedralConvexShape__getMargin_p0:WS,_emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0:WH,_emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2:w_e,_emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3:b_e,_emscripten_bind_btConvexHullShape__getVertex_p2:Vr,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0:Hq,_emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1:DR,_emscripten_bind_btHashString____destroy___p0:Lbe,_emscripten_bind_btBU_Simplex1to4__isConvex2d_p0:MV,_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1:Npe,_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2:kpe,_emscripten_bind_btRaycastVehicle__updateFriction_p1:lG,_emscripten_bind_btUniformScalingShape__isPolyhedral_p0:QG,_emscripten_bind_btTypedObject__btTypedObject_p1:_a,_emscripten_bind_btDbvtBroadphase__aabbTest_p3:Mv,_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1:Qz,_emscripten_bind_btCollisionShape__isConvex_p0:I0,_emscripten_bind_btGeneric6DofConstraint__getInfo2_p1:T1,_emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1:_s,_emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2:Rse,_emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0:y2,_emscripten_bind_btJacobianEntry__btJacobianEntry_p5:vY,_emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0:ore,_emscripten_bind_btCapsuleShapeZ__getAabb_p3:bpe,_emscripten_bind_btCylinderShapeX__getUserPointer_p0:wG,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3:uce,_emscripten_bind_btContactConstraint__getAppliedImpulse_p0:T5,_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1:uW,_memmove:TBe,_emscripten_bind_btCollisionDispatcher__clearManifold_p1:Uv,_emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2:jX,_emscripten_bind_btIndexedMesh__get_m_vertexType_p0:So,_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0:rM,_emscripten_bind_btManifoldPoint__get_m_localPointA_p0:m7,_emscripten_bind_btMatrix3x3__op_get_p1:jn,_emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3:WR,_emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2:ZX,_emscripten_bind_btTypedConstraint__getUserConstraintId_p0:Ag,_emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0:Ebe,_emscripten_bind_btBU_Simplex1to4__getMargin_p0:AE,_emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0:oa,_emscripten_bind_CProfileNode__CleanupMemory_p0:T3,_emscripten_bind_btRigidBody__getLinearFactor_p0:pf,_emscripten_bind_btQuadWord__btQuadWord_p3:CH,_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0:w7,_emscripten_bind_btBU_Simplex1to4__isInside_p2:HV,_emscripten_bind_btConvexHullShape____destroy___p0:ro,_emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1:bK,_emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0:U5,_emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0:BB,_emscripten_bind_btConcaveShape__serialize_p2:Zle,_emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1:YM,_emscripten_bind_btTypedObject__getObjectType_p0:bo,_emscripten_bind_btRigidBody__get_m_contactSolverType_p0:ff,_emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1:qte,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1:H9,_emscripten_bind_btCollisionShape__serialize_p2:P2,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0:XU,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1:tie,_emscripten_bind_btConcaveShape__isPolyhedral_p0:Dle,_emscripten_bind_btConeShape__calculateTemporalAabb_p6:EV,_emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1:Ls,_emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0:_0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0:bG,_emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1:x9,_emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1:b9,_emscripten_bind_btBU_Simplex1to4__getVertex_p2:qV,_emscripten_bind_btCylinderShape__isInfinite_p0:Iz,_emscripten_bind_bt32BitAxisSweep3__getAabb_p3:lce,_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3:Wie,_emscripten_bind_btCollisionObject__serialize_p2:Gs,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6:ose,_emscripten_bind_btVector4__safeNormalize_p0:CN,_emscripten_bind_btCapsuleShapeX__getUpAxis_p0:Poe,_emscripten_bind_btTriangleMesh__findOrAddVertex_p2:dF,_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2:Gie,_emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3:WZ,_emscripten_bind_btHinge2Constraint__get_m_objectType_p0:fO,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3:Jre,_emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0:mq,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0:rO,_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0:y7,_emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1:a0,_emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1:Une,_emscripten_bind_btBvhTriangleMeshShape____destroy___p0:I8,_emscripten_bind_btManifoldPoint__get_m_partId1_p0:B5,_emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0:Ro,_emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1:wh,_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1:vte,_emscripten_bind_btCylinderShape__isConvex2d_p0:Nz,_emscripten_bind_btDynamicsWorld__getSolverInfo_p0:Hd,_emscripten_bind_btPairCachingGhostObject____destroy___p0:$$,_emscripten_bind_btGeneric6DofConstraint____destroy___p0:O1,_emscripten_bind_btCylinderShape__isConcave_p0:AH,_emscripten_bind_btRigidBody__setRestitution_p1:kh,_emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1:xte,_emscripten_bind_btConvexTriangleMeshShape__getPlane_p3:Xa,_emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:aA,_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0:BG,_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1:$H,_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0:oR,_emscripten_bind_btPoint2PointConstraint__enableFeedback_p1:Aee,_emscripten_bind_btCylinderShapeZ__isConvex2d_p0:tte,_emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:ese,_emscripten_bind_btVector3__getX_p0:LN,_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0:tj,_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0:t$,_emscripten_bind_btStridingMeshInterface__setScaling_p1:nee,_emscripten_bind_btCapsuleShapeX__getShapeType_p0:Goe,_emscripten_bind_btUniformScalingShape__isSoftBody_p0:iW,_emscripten_bind_btDynamicsWorld__addVehicle_p1:Rb,_emscripten_bind_btGhostObject__hasAnisotropicFriction_p0:yle,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0:hoe,_emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2:Fx,_emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0:JH,_emscripten_bind_btCylinderShapeZ____destroy___p0:Ite,_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0:XM,_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0:Loe,_emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0:E8,_emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6:wpe,_emscripten_bind_btUniformScalingShape__getChildShape_p0:YG,_emscripten_bind_btTriangleMesh__setScaling_p1:vF,_emscripten_bind_btWheelInfo__set_m_rollInfluence_p1:pV,_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0:sX,_emscripten_bind_btVector4__setValue_p4:KE,_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2:Gte,_emscripten_bind_btBU_Simplex1to4__serialize_p2:aE,_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0:hte,_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0:Dee,_emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0:Nre,_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1:fne,_emscripten_bind_btCompoundShape__isPolyhedral_p0:id,_emscripten_bind_btContactConstraint__getObjectType_p0:h5,_emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1:HM,_emscripten_bind_btSerializer__getCurrentBufferSize_p0:BO,_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0:Rne,_emscripten_bind_btTypedConstraint__setEnabled_p1:Ug,_emscripten_bind_btCylinderShape__getLocalScaling_p0:Yz,_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1:p7,_emscripten_bind_btDbvtProxy__isConvex2d_p1:wH,_emscripten_bind_btTriangleInfoMap____destroy___p0:sde,_emscripten_bind_btRigidBody__getAngularVelocity_p0:Mh,_emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0:g6,_emscripten_bind_btGhostObject__getActivationState_p0:Jpe,_emscripten_bind_btStaticPlaneShape__isInfinite_p0:y0,_emscripten_bind_btCapsuleShapeX__isSoftBody_p0:Ooe,_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1:a7,_emscripten_bind_btQuaternion__dot_p1:yae,_emscripten_bind_btBoxShape__getMarginNonVirtual_p0:Ore,_emscripten_bind_btDynamicsWorld__rayTestSingle_p6:Sb,_emscripten_bind_btMatrix3x3__transpose_p0:I_,_emscripten_bind_btCollisionWorld__contactTest_p2:gJ,_emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2:gpe,_emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1:bS,_emscripten_bind_btVector3__fuzzyZero_p0:$N,_emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2:RK,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0:Qq,_emscripten_bind_btQuaternion__setMax_p1:Hse,_emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1:Lx,_emscripten_bind_btContactConstraint__getConstraintType_p0:c5,_emscripten_bind_btCylinderShape__getRadius_p0:Kz,_emscripten_bind_btConeShapeX__setMargin_p1:JA,_emscripten_bind_btRigidBody__setFlags_p1:Im,_emscripten_bind_btDbvtProxy__set_m_aabbMax_p1:Dj,_emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2:Ea,_emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0:GL,_emscripten_bind_btClock__reset_p0:t4,_emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2:qW,_emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1:lU,_emscripten_bind_btOptimizedBvh__deSerializeFloat_p1:mC,_emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2:ap,_emscripten_bind_btBoxShape__getConvexPolyhedron_p0:Z_e,_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1:fse,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0:sie,_emscripten_bind_btDynamicsWorld__contactTest_p2:Vc,_emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0:jP,_emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1:Dne,_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0:EF,_emscripten_bind_btRaycastVehicle__applyEngineForce_p2:PU,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1:tO,_emscripten_bind_btBroadphaseInterface__setAabb_p4:ep,_emscripten_bind_btConvexShape__isSoftBody_p0:TQ,_emscripten_bind_btUniformScalingShape__setLocalScaling_p1:HW,_emscripten_bind_btConvexShape__isConvex_p0:SQ,_emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1:NQ,_emscripten_bind_btBroadphaseProxy__getUid_p0:Hne,_emscripten_bind_btMultiSphereShape__isPolyhedral_p0:$X,_emscripten_bind_btSphereShape__getName_p0:Ece,_emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4:z8,_emscripten_bind_btHinge2Constraint__getAnchor_p0:hL,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6:bc,_emscripten_bind_btGhostObject__activate_p1:zpe,_emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0:DW,_emscripten_bind_btQuaternion__z_p0:Sae,_emscripten_bind_btBoxShape__getShapeType_p0:Q_e,_emscripten_bind_btVector4__getY_p0:pN,_emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3:p_e,_emscripten_bind_btVector4__getX_p0:vE,_emscripten_bind_btBroadphasePair__btBroadphasePair_p1:hR,_emscripten_bind_btBroadphasePair__btBroadphasePair_p0:mR,_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0:Qre,_emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1:gT,_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0:nq,_emscripten_bind_btBroadphasePair__get_m_algorithm_p0:GF,__GLOBAL__I_a:aBe,_emscripten_bind_btConvexHullShape__getEdge_p3:Fr,_emscripten_bind_btCompoundShape__getChildShape_p1:nd,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2:toe,_emscripten_bind_btEmptyShape__getAngularMotionDisc_p0:$m,_emscripten_bind_btCylinderShapeZ__getName_p0:yte,_emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1:nw,_emscripten_bind_btVector3__isZero_p0:YN,_emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0:S$,_emscripten_bind_btConeShape__btConeShape_p2:aB,_emscripten_bind_btVector3__minAxis_p0:ik,_emscripten_bind_btIndexedMesh__get_m_vertexBase_p0:fo,_emscripten_bind_btSliderConstraint__setDampingLimLin_p1:I9,_emscripten_bind_btSphereShape__isCompound_p0:Xde,_emscripten_bind_btContinuousDynamicsWorld__setGravity_p1:FR,_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0:Sie,_emscripten_bind_btHinge2Constraint__getAxis_p1:QL,_emscripten_bind_btCollisionWorld__setBroadphase_p1:UY,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1:nO,_emscripten_bind_btCapsuleShapeX__isNonMoving_p0:Noe,_emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0:Ld,_emscripten_bind_btRaycastVehicle__updateAction_p2:cG,_emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1:X7,_emscripten_bind_btWheelInfo__set_m_brake_p1:XB,_emscripten_bind_btSphereShape__localGetSupportingVertex_p1:Ace,_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1:VC,_emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0:G3,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0:h4,_emscripten_bind_btCylinderShapeZ__getShapeType_p0:Hte,_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0:Upe,_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0:nK,_emscripten_bind_btConeShapeX____destroy___p0:eF,_emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0:nu,_emscripten_bind_btHashPtr____destroy___p0:V$,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1:XR,_emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1:Zc,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1:Jk,_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0:_V,_emscripten_bind_btQuaternion__op_sub_p1:Wse,_emscripten_bind_btHingeConstraint__get_m_objectType_p0:mD,_emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1:$M,_emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1:ss,_emscripten_bind_btIDebugDraw__getDebugMode_p0:dy,_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2:vD,_emscripten_bind_btVector4__absolute_p0:dN,_emscripten_bind_btStorageResult__setShapeIdentifiersA_p2:xj,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0:Vne,_emscripten_bind_btStorageResult__set_m_distance_p1:RH,_emscripten_bind_btPersistentManifold__set_m_companionIdA_p1:Sl,_emscripten_bind_btTypedConstraint__getConstraintType_p0:Vg,_emscripten_bind_btConvexShape__calculateLocalInertia_p2:dq,_emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1:xF,_emscripten_bind_btVector4__getZ_p0:ME,_emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3:z_,_emscripten_bind_btVector4__serializeDouble_p1:qE,_emscripten_bind_btRigidBody__setActivationState_p1:vf,_emscripten_bind_btTransform__invXform_p1:V4,_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0:zne,_emscripten_bind_btUniversalConstraint__setUserConstraintType_p1:gu,_emscripten_bind_btCollisionObject__getFriction_p0:Io,_emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1:zu,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0:M4,_emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0:Hj,_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0:IK,_malloc:hBe,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0:XG,_emscripten_bind_btDispatcher__getNewManifold_p2:cY,_emscripten_bind_btPolyhedralConvexShape__getName_p0:VS,_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3:fM,_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1:hM,_emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0:P$,_emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1:lre,_emscripten_bind_btRigidBody__setSleepingThresholds_p2:jf,_emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0:UF,_emscripten_bind_btMultiSphereShape__getSphereRadius_p1:eZ,_emscripten_bind_btConvexHullShape__serializeSingleShape_p1:Rs,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3:QR,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2:ZR,_emscripten_bind_btWheelInfo__get_m_engineForce_p0:GB,_emscripten_bind_btUniformScalingShape__getShapeType_p0:_z,_emscripten_bind_btDefaultMotionState__setWorldTransform_p1:TR,_emscripten_bind_btQuaternion__getZ_p0:Gse,_emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3:jj,_emscripten_bind_btBoxShape__serializeSingleShape_p1:zre,_emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1:tT,_emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3:RS,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3:Yd,_emscripten_bind_btConvexInternalShape__serialize_p2:gK,_emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0:la,_emscripten_bind_btSliderConstraint__getSolveLinLimit_p0:J8,_emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1:H3,_emscripten_bind_btVector3__rotate_p2:vO,_emscripten_bind_btPolyhedralConvexShape__getShapeType_p0:JC,_emscripten_bind_btContactConstraint__setParam_p2:R7,_emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1:bZ,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2:qd,_emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1:pc,_emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1:G$,_emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4:zp,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1:HO,_emscripten_bind_btHingeConstraint__set_m_objectType_p1:lD,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1:Qd,_emscripten_bind_btCylinderShapeX__getName_p0:cW,_emscripten_bind_btDispatcher__releaseManifold_p1:hY,_emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1:Jg,_emscripten_bind_btDbvtBroadphase__optimize_p0:Vy,_emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1:Sne,_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3:eY,_emscripten_bind_btRaycastVehicle__setPitchControl_p1:NU,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1:vde,_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4:tY,_emscripten_bind_btCollisionObject__setUserPointer_p1:jo,_emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0:g$,_emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0:WJ,_emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2:IC,_emscripten_bind_btConeTwistConstraint__setEnabled_p1:_M,_emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1:Px,_emscripten_bind_btCylinderShapeZ__setMargin_p1:Lte,_emscripten_bind_btVector3__normalized_p0:hk,_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3:pJ,_emscripten_bind_btRigidBody__getLinearDamping_p0:hg,_emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1:cg,_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0:Gne,_emscripten_bind_btBU_Simplex1to4__getShapeType_p0:hE,_emscripten_bind_btCollisionObject__setHitFraction_p1:Jo,_emscripten_bind_btSliderConstraint__serialize_p2:_9,_emscripten_bind_btAngularLimit__getCorrection_p0:ga,_emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7:Aj,_emscripten_bind_btBroadphaseProxy__isNonMoving_p1:rne,_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1:Z_,_emscripten_bind_btCylinderShape__getBoundingSphere_p2:uH,_emscripten_bind_btDynamicsWorld__getWorldType_p0:Ab,_emscripten_bind_btVector3__op_div_p1:tk,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3:qM,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2:DM,_emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1:aj,_emscripten_bind_btBvhTriangleMeshShape__getAabb_p3:x8,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0:G9,_emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0:dS,_emscripten_bind_btMultiSphereShape__setLocalScaling_p1:vZ,_emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1:JQ,_emscripten_bind_btSliderConstraint__setUseFrameOffset_p1:b8,_emscripten_bind_btHingeConstraint__setDbgDrawSize_p1:JD,_emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0:__,_emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0:Ep,_emscripten_bind_btIDebugDraw__drawTransform_p2:by,_emscripten_bind_btConeTwistConstraint__getTwistAngle_p0:vT,_emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1:tr,_emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0:X$,_emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1:Jh,_emscripten_bind_btStackAlloc__getAvailableMemory_p0:_b,_emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0:C1,_emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2:OQ,_emscripten_bind_btBvhTriangleMeshShape__getMargin_p0:D8,_emscripten_bind_btHeightfieldTerrainShape__isConvex_p0:qZ,_emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3:Rbe,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0:Wz,_emscripten_bind_btTriangleInfo__get_m_flags_p0:Lk,_emscripten_bind_btConcaveShape__getName_p0:Jle,_emscripten_bind_btContactConstraint__getRigidBodyB_p0:Z9,_emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1:$u,_emscripten_bind_btOptimizedBvh__refitPartial_p3:sC,_emscripten_bind_btConcaveShape__getAabb_p3:$le,_emscripten_bind_btCollisionShape__isInfinite_p0:B0,_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1:ute,_emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1:Gy,_emscripten_bind_btConvexInternalShape__getMargin_p0:FK,_emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0:hF,_emscripten_bind_btCompoundShape__isConvex_p0:vl,_emscripten_bind_btSliderConstraint__setDampingDirLin_p1:b6,_emscripten_bind_btCapsuleShape__getMargin_p0:K_,_emscripten_bind_btAngularLimit____destroy___p0:Tp,_emscripten_bind_btUniversalConstraint__getInfo2_p1:Jb,_emscripten_bind_btMatrix3x3__getIdentity_p0:Fn,_free:SBe,_emscripten_bind_btConeShapeX__getName_p0:sF,_emscripten_bind_btTransform__setBasis_p1:r4,_emscripten_bind_btCapsuleShape__isConcave_p0:R_,_emscripten_bind_btHingeConstraint__enableMotor_p1:XD,_emscripten_bind_btCollisionObject__setIslandTag_p1:Yo,_emscripten_bind_btSliderConstraint__setDampingDirAng_p1:Y8,_emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1:Pse,_emscripten_bind_btGhostObject__setCcdMotionThreshold_p1:Qae,_emscripten_bind_btConcaveShape__getLocalScaling_p0:Qle,_emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1:eP,_emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1:Ok,_emscripten_bind_btQuaternion__setEulerZYX_p3:sae,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0:loe,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0:$k,_emscripten_bind_btHashInt__getUid1_p0:NY,_emscripten_bind_btCapsuleShapeZ__isConvex2d_p0:Vae,_emscripten_bind_btVector3__maxAxis_p0:xk,_emscripten_bind_btSliderConstraint__needsFeedback_p0:t6,_emscripten_bind_btIDebugDraw__drawSpherePatch_p9:Sy,_emscripten_bind_btVector3__op_mul_p1:QN,_emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1:Hr,_emscripten_bind_btRigidBody__setMassProps_p2:nh,_emscripten_bind_btHeightfieldTerrainShape__getMargin_p0:RQ,_emscripten_bind_btHingeConstraint__setUserConstraintId_p1:ED,_emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1:Us,_emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1:W0,_emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0:j3,_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0:pv,_emscripten_bind_btConvexHullShape__getName_p0:Or,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2:SG,_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0:Tee,_emscripten_bind_btBU_Simplex1to4__setMargin_p1:IE,_emscripten_bind_btRaycastVehicle__getWheelInfo_p1:wU,_emscripten_bind_btRigidBody__setAngularVelocity_p1:Xh,_emscripten_bind_btRigidBody__serialize_p2:Kf,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1:xne,_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0:g3,_emscripten_bind_btPolyhedralConvexShape__setMargin_p1:HS,_emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6:ey,_emscripten_bind_btCapsuleShapeX__getRadius_p0:Aoe,_emscripten_bind_btQuaternion__op_div_p1:dae,_emscripten_bind_btCylinderShapeZ__setLocalScaling_p1:Mte,_emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0:cd,_emscripten_bind_btHingeConstraint__setMotorTarget_p2:MP,_emscripten_bind_btConeShapeX__getAabbSlow_p3:rF,_emscripten_bind_btMultiSphereShape____destroy___p0:IZ,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1:Hz,_emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3:pC,_emscripten_bind_btConvexShape__getAabbSlow_p3:Vq,_emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3:Cte,_emscripten_bind_btCylinderShapeZ__isCompound_p0:Hee,_emscripten_bind_btPoint2PointConstraint__getObjectType_p0:xee,_emscripten_bind_btCylinderShapeX__isSoftBody_p0:IG,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0:n7,_emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0:w9,_emscripten_bind_btUniformScalingShape__getAabb_p3:jW,_emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0:OX,_emscripten_bind_btHeightfieldTerrainShape__isCompound_p0:jZ,_emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1:Ra,_emscripten_bind_btCapsuleShapeZ__isConcave_p0:kae,_emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3:ac,_emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0:qx,_emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Ure,_emscripten_bind_btConeShapeX__getMarginNonVirtual_p0:$A,_emscripten_bind_btConeShapeZ__btConeShapeZ_p2:Qw,_emscripten_bind_btVector4__maxAxis4_p0:sN,_emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1:aK,_emscripten_bind_btVector4__absolute4_p0:hN,_emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1:Ds,_emscripten_bind_btSerializer__findNameForPointer_p1:PO,_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0:Pv,_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7:wv,_emscripten_bind_btPairCachingGhostObject__activate_p1:_$,_emscripten_bind_btPairCachingGhostObject__activate_p0:n$,_emscripten_bind_btMatrix3x3__op_sub_p1:rn,_emscripten_bind_btGhostObject__getRestitution_p0:$pe,_emscripten_bind_btHinge2Constraint__getAngle1_p0:yL,_emscripten_bind_btSphereShape__serialize_p2:Fce,_emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0:gv,_emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2:bte,_emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2:T2,_emscripten_bind_btRigidBody__setBroadphaseHandle_p1:Af,_emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1:E5,_emscripten_bind_btCapsuleShapeX__getUserPointer_p0:Eoe,_emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0:Nle,_emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1:Wy,_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0:B1,_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2:V1,_emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1:IJ,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1:J5,_emscripten_bind_btPersistentManifold__btPersistentManifold_p5:Wl,_emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1:QH,_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0:j5,_emscripten_bind_btCylinderShapeZ__getMarginNV_p0:qee,_emscripten_bind_btTriangleMesh__addIndexedMesh_p1:cF,_emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1:g1,_emscripten_bind_btTriangleMesh__addIndexedMesh_p2:uF,_emscripten_bind_btSliderConstraint__setFrames_p2:$9,_emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0:iz,_emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0:l_,_emscripten_bind_btSimpleDynamicsWorld__removeAction_p1:TX,_emscripten_bind_btContactConstraint__setContactManifold_p1:O7,_emscripten_bind_btSphereShape__setUserPointer_p1:Zde,_emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1:Pu,_emscripten_bind_btCapsuleShapeZ__getUpAxis_p0:Mae,_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0:zj,_emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1:sE,_emscripten_bind_btPolyhedralConvexShape__getPlane_p3:$S,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0:o7,_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0:VH,_emscripten_bind_btSimpleDynamicsWorld__clearForces_p0:Gj,_emscripten_bind_btPoint2PointConstraint__setPivotB_p1:ate,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0:az,_emscripten_bind_btSerializer__finalizeChunk_p4:VO,_emscripten_bind_btGeneric6DofConstraint__setEnabled_p1:z0,_emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1:T9,_emscripten_bind_btCylinderShapeX__getLocalScaling_p0:oW,_emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1:m_e,_emscripten_bind_btStackAlloc__endBlock_p1:rb,_emscripten_bind_btCylinderShape__setLocalScaling_p1:_H,_emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1:C$,_emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1:fde,_emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1:hd,_emscripten_bind_btMatrix3x3__adjoint_p0:In,_emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0:Uee,_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0:W3,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0:U3,_emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1:jH,_emscripten_bind_btVector4__normalized_p0:yN,_emscripten_bind_btSliderConstraint__getObjectType_p0:n6,_emscripten_bind_btRigidBody__setGravity_p1:rg,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0:Moe,_emscripten_bind_btDynamicsWorld__removeConstraint_p1:Pc,_emscripten_bind_btPersistentManifold__clearUserCache_p1:$p,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5:V3,_emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6:B8,_emscripten_bind_btDbvtProxy__btDbvtProxy_p5:Tj,_emscripten_bind_btCollisionShape__setLocalScaling_p1:R2,_emscripten_bind_btUniversalConstraint__getObjectType_p0:ju,_emscripten_bind_btSphereShape__getAabbSlow_p3:vbe,_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0:Fw,_emscripten_bind_btConvexShape__getName_p0:Cq,_emscripten_bind_btRotationalLimitMotor__testLimitValue_p1:ZP,_emscripten_bind_btCollisionWorld__getDispatchInfo_p0:WY,_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0:Vp,_emscripten_bind_btBoxShape__getAngularMotionDisc_p0:Wre,_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0:OK,_emscripten_bind_btDispatcher__getInternalManifoldPool_p0:uY,_emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0:x5,_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0:d$,_emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0:po,_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0:RW,_emscripten_bind_btHinge2Constraint__getUserConstraintId_p0:hO,_emscripten_bind_btQuaternion__setRotation_p2:oae,_emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2:ch,_emscripten_bind_btCylinderShapeX__isPolyhedral_p0:xG,_emscripten_bind_btEmptyShape__getShapeType_p0:mm,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0:Y4,_emscripten_bind_btManifoldResult__getBody1Internal_p0:lX,_emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1:T7,_emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0:wS,_emscripten_bind_btQuadWord__op_set_p1:Xz,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0:yoe,_emscripten_bind_btPersistentManifold__getNumContacts_p0:il,_emscripten_bind_btUniversalConstraint__get_m_objectType_p0:mb,_emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0:YP,_emscripten_bind_btGeneric6DofConstraint__setAxis_p2:$1,_emscripten_bind_btWheelInfo__getSuspensionRestLength_p0:eV,_emscripten_bind_btSphereShape__getAngularMotionDisc_p0:Sbe,_emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0:oP,_emscripten_bind_btHashPtr__getPointer_p0:EK,_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0:uO,_emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1:ZK,_emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3:pq,_emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2:A8,_emscripten_bind_btConeShape____destroy___p0:AV,_emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1:kce,_emscripten_bind_btConeTwistConstraint__setMotorTarget_p1:XT,_emscripten_bind_btConvexShape__serialize_p2:bq,_emscripten_bind_btContactConstraint__setDbgDrawSize_p1:S5,_emscripten_bind_btQuaternion__setEuler_p3:Jse,_emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0:bde,_emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1:P_e,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3:doe,_emscripten_bind_btPairCachingGhostObject__isStaticObject_p0:l$,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1:zO,_emscripten_bind_btBoxShape__getEdge_p3:Pre,_emscripten_bind_btVector4__serializeFloat_p1:nN,_emscripten_bind_btMultiSphereShape__setUserPointer_p1:bX,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3:Hoe,_emscripten_bind_CProfileNode__Get_Name_p0:a3,_emscripten_bind_bt32BitAxisSweep3__aabbTest_p3:vce,_emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2:p2,_emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0:Qy,_emscripten_bind_btSliderConstraint____destroy___p0:K9,_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2:z$,_emscripten_bind_btUniversalConstraint__getAnchor_p0:au,_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1:W$,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1:UU,_emscripten_bind_btRotationalLimitMotor__isLimited_p0:dw,_emscripten_bind_btBvhTriangleMeshShape__setMargin_p1:w8,_emscripten_bind_btHingeConstraint__updateRHS_p1:BD,_emscripten_bind_btIndexedMesh__set_m_indexType_p1:go,_emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1:LX,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0:h3,_emscripten_bind_btManifoldPoint__get_m_distance1_p0:f7,_emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0:D6,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1:S4,_emscripten_bind_btClock__getTimeMicroseconds_p0:_4,_emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:xpe,_llvm_uadd_with_overflow_i64:MBe,_emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0:V6,_emscripten_bind_btCylinderShapeX__getMargin_p0:CW,_emscripten_bind_btContactConstraint__enableFeedback_p1:r5,_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0:MG,_emscripten_bind_btPoint2PointConstraint__setPivotA_p1:ste,_emscripten_bind_btConeTwistConstraint__setParam_p3:dT,_emscripten_bind_btConeShapeX__calculateTemporalAabb_p6:oF,_emscripten_bind_btHinge2Constraint__updateRHS_p1:aL,_emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0:_5,_emscripten_bind_btMultiSphereShape__isConvex_p0:_Z,_emscripten_bind_btRigidBody__setDamping_p2:Ef,_emscripten_bind_btQuaternion__x_p0:Cae,_emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6:bA,_emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1:aI,_emscripten_bind_btPersistentManifold__getContactPoint_p1:ll,_emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0:wse,_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1:Fte,_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1:m8,_emscripten_bind_btMotionState__getWorldTransform_p1:Aie,_emscripten_bind_btRigidBody__activate_p0:tf,_emscripten_bind_btRigidBody__activate_p1:nf,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0:fH,_emscripten_bind_btCompoundShape__setLocalScaling_p1:ud,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0:Hk,_emscripten_bind_btCollisionObject__setCompanionId_p1:zo,_emscripten_bind_btConeTwistConstraint__set_m_objectType_p1:nM,_emscripten_bind_btDynamicsWorld__getNumConstraints_p0:Ac,_emscripten_bind_btGhostObject__rayTest_p3:kle,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0:A3,_emscripten_bind_btBoxShape__isConcave_p0:q_e,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1:TM,_emscripten_bind_btPolyhedralConvexShape__isCompound_p0:qC,_emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4:YX,_emscripten_bind_btSliderConstraint__setUserConstraintType_p1:P9,_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1:tD,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3:PM,_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0:kl,_emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6:Za,_emscripten_bind_btStaticPlaneShape__serialize_p2:J0,_emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1:e_e,_emscripten_bind_btContinuousDynamicsWorld__rayTest_p3:HR,_emscripten_bind_btSliderConstraint__getParam_p1:j8,_emscripten_bind_btSliderConstraint__getParam_p2:X8,_emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0:IS,_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11:s_e,_emscripten_bind_btGeneric6DofConstraint__getAngle_p1:f1,_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1:n1,_emscripten_bind_btCollisionObject__getActivationState_p0:ds,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1:kG,_emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2:IW,_emscripten_bind_btStaticPlaneShape__isCompound_p0:f0,_emscripten_bind_btBoxShape__isInfinite_p0:G_e,_emscripten_bind_btContinuousDynamicsWorld__removeAction_p1:OI,_emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0:FE,_emscripten_bind_btSliderConstraint__getUpperLinLimit_p0:x6,_emscripten_bind_btConeShapeX__setUserPointer_p1:Ew,_emscripten_bind_btJacobianEntry__get_m_aJ_p0:IY,_emscripten_bind_btDynamicsWorld__addRigidBody_p3:yc,_emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0:iQ,_emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1:k$,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3:IX,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2:RX,_emscripten_bind_btBoxShape__calculateTemporalAabb_p6:Zre,_emscripten_bind_btCylinderShapeZ__isConcave_p0:zte,_emscripten_bind_btSimpleBroadphase__setAabb_p4:Ml,_emscripten_bind_btManifoldPoint__get_m_localPointB_p0:u7,_emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2:xce,_emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1:e_,_emscripten_bind_btGhostObject__setDeactivationTime_p1:hle,_emscripten_bind_btQuaternion__getIdentity_p0:rae,_emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0:lne,_emscripten_bind_btCylinderShapeX__setMargin_p1:AW,_emscripten_bind_btCollisionShape__getBoundingSphere_p2:k2,_emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1:z3,_emscripten_bind_btDbvtBroadphase__get_m_prediction_p0:MS,_emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0:yie,_emscripten_bind_btDispatcher__findAlgorithm_p3:lY,_emscripten_bind_btDispatcher__findAlgorithm_p2:pY,_emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1:u0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1:zk,_emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3:mK,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1:kq,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0:QU,_emscripten_bind_btRigidBody__getCompanionId_p0:yf,_emscripten_bind_btCollisionWorld__rayTest_p3:uJ,_emscripten_bind_btConvexTriangleMeshShape__setMargin_p1:Na,_emscripten_bind_btCollisionWorld__addCollisionObject_p1:mJ,_emscripten_bind_btCollisionWorld__addCollisionObject_p3:fJ,_emscripten_bind_btCollisionWorld__addCollisionObject_p2:hJ,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0:Yte,_emscripten_bind_btCapsuleShapeZ__getRadius_p0:Dae,_emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0:Nh,_emscripten_bind_btRigidBody__hasAnisotropicFriction_p0:wf,_emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2:C2,_emscripten_bind_btConcaveShape__calculateLocalInertia_p2:Xle,_emscripten_bind_btBoxShape__getPlaneEquation_p2:yre,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7:zie,_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0:Nae,_emscripten_bind_btBU_Simplex1to4__getMarginNV_p0:xV,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0:Q4,_emscripten_bind_btStaticPlaneShape__getMargin_p0:r2,_emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1:jJ,_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1:QZ,_emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1:aq,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1:Koe,_emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0:cc,_emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0:a1,_emscripten_bind_btGhostObject__getFriction_p0:Lae,_emscripten_bind_btConvexInternalShape__setMargin_p1:T$,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1:Eie,_emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6:Ute,_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0:U0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0:aoe,_emscripten_bind_btConvexTriangleMeshShape__getMargin_p0:Ba,_emscripten_bind_btSimpleBroadphase__aabbTest_p3:Rl,_emscripten_bind_btHinge2Constraint__setUpperLimit_p1:$O,_emscripten_bind_btConvexHullShape__isConvex2d_p0:gr,_emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0:Zd,_emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0:dL,_emscripten_bind_btVector4__angle_p1:bN,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4:wE,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3:PE,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2:DE,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1:TE,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0:pE,_emscripten_bind_btVector3__setMin_p1:EN,_emscripten_bind_btSliderConstraint__setLowerLinLimit_p1:f6,_emscripten_bind_btCylinderShape__getShapeType_p0:FH,_emscripten_bind_btMotionState__setWorldTransform_p1:wie,_emscripten_bind_btHingeConstraint__getUid_p0:qD,_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4:Z$,_emscripten_bind_btUniformScalingShape__isConvex_p0:JG,_emscripten_bind_btQuantizedBvh__setQuantizationValues_p2:_be,_emscripten_bind_btQuantizedBvh__setQuantizationValues_p3:rbe,_emscripten_bind_btQuantizedBvh__serialize_p3:Dbe,_emscripten_bind_btQuantizedBvh__serialize_p2:Tbe,_emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:oo,_emscripten_bind_btHeightfieldTerrainShape__getName_p0:PQ,_emscripten_bind_btQuadWord__btQuadWord_p4:SH,_emscripten_bind_btQuantizedBvh__isQuantized_p0:obe,_emscripten_bind_btQuaternion__nearest_p1:Nse,_emscripten_bind_btConeShapeZ__getShapeType_p0:Bw,_emscripten_bind_btHinge2Constraint__setLimit_p3:_U,_emscripten_bind_btUniversalConstraint__getUserConstraintId_p0:ub,_emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0:CC,_emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1:Xpe,_emscripten_bind_btSliderConstraint__getDampingLimAng_p0:Q6,_emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1:Ng,_emscripten_bind_btCompoundShape__isInfinite_p0:_d,_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1:Lj,_emscripten_bind_btConeShapeX__getLocalScalingNV_p0:xA,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0:L9,_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0:sx,_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0:F6,_emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1:BX,_emscripten_bind_btVector3__serializeFloat_p1:Ck,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0:Dde,_emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1:NX,_emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3:G1,_emscripten_bind_btAxisSweep3__printStats_p0:Mx,_emscripten_bind_btSphereShape__isSoftBody_p0:_ce,_emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1:a_,_emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1:rI,_emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1:GR,_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1:Dte,_emscripten_bind_btVector3__dot_p1:Pk,_emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1:tv,_emscripten_bind_btHashString__equals_p1:bbe,_emscripten_bind_btUniversalConstraint__buildJacobian_p0:zb,_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1:Uce,_emscripten_bind_btContactConstraint__set_m_objectType_p1:q9,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0:U9,_emscripten_bind_btAngularLimit__getSoftness_p0:up,_emscripten_bind_btRigidBody__applyCentralForce_p1:fh,_emscripten_bind_btQuaternion__farthest_p1:Yse,_emscripten_bind_btPersistentManifold__removeContactPoint_p1:Hl,_emscripten_bind_btJacobianEntry__set_m_Adiag_p1:DY,_emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1:KA,_emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1:dV,_emscripten_bind_btConvexHullShape__getMargin_p0:Jr,_emscripten_bind_btMultiSphereShape__getLocalScaling_p0:AZ,_emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0:pre,_emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1:XS,_emscripten_bind_btIDebugDraw__setDebugMode_p1:Cy,_emscripten_bind_btPairCachingGhostObject__setCompanionId_p1:HK,_emscripten_bind_btVector4__normalize_p0:cN,_emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1:iu,_emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1:pu,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0:eie,_emscripten_bind_btPoint2PointConstraint__getUid_p0:v7,_emscripten_bind_btSliderConstraint__testAngLimits_p0:e9,_emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2:m2,_emscripten_bind_btBoxShape__isConvex_p0:U_e,_emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5:Obe,_emscripten_bind_btPersistentManifold__get_m_companionIdB_p0:fl,_emscripten_bind_btUniformScalingShape__isConcave_p0:nz,_emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0:pI,_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0:JY,_emscripten_bind_bt32BitAxisSweep3__getHandle_p1:jde,_emscripten_bind_CProfileNode__Reset_p0:v3,_emscripten_bind_btSphereShape__calculateLocalInertia_p2:wce,_emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0:jte,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0:Sde,_emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0:gde,_emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0:sv,_emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2:zbe,_emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1:pde,_emscripten_bind_btBoxShape__localGetSupportingVertex_p1:ure,_emscripten_bind_btCylinderShape__getMargin_p0:aH,_emscripten_bind_btQuaternion__w_p0:fae,_emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0:Qce,_emscripten_bind_btIDebugDraw__draw3dText_p2:ty,_emscripten_bind_btMatrix3x3__setIdentity_p0:On,_emscripten_bind_btHingeConstraint____destroy___p0:vP,_emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1:QQ,_emscripten_bind_btCollisionWorld__setDebugDrawer_p1:SJ,_emscripten_bind_btTriangleMesh__getScaling_p0:kA,_emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1:F5,_emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0:Wd,_emscripten_bind_btCapsuleShape__isConvex2d_p0:w_,_emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0:NC,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1:YF,_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0:vp,_emscripten_bind_btCylinderShape__getMarginNonVirtual_p0:dH,_emscripten_bind_btCompoundShape__isConvex2d_p0:Rd,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0:yde,_emscripten_bind_btHinge2Constraint__isEnabled_p0:cL,_emscripten_bind_btSliderConstraint__getDampingDirLin_p0:k6,_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0:aY,_emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0:e8,_emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1:Wj,_emscripten_bind_btMultiSphereShape__getSphereCount_p0:tZ,_emscripten_bind_btDbvtBroadphase__rayTest_p5:Py,_emscripten_bind_btDbvtBroadphase__rayTest_p4:Dy,_emscripten_bind_btHinge2Constraint__setStiffness_p2:RL,_emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2:Mne,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1:Cde,_emscripten_bind_btCylinderShapeX__isNonMoving_p0:AG,_emscripten_bind_btConvexInternalShape__getMarginNV_p0:tK,_emscripten_bind_btConeShapeX__isSoftBody_p0:RA,_emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0:ij,_emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0:YS,_emscripten_bind_btHingeConstraint__getInfo2Internal_p5:FD,_emscripten_bind_btVector3__serializeDouble_p1:qN,_emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1:Ik,_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0:jv,_emscripten_bind_btVehicleRaycaster__castRay_p3:Uw,_emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3:rC,_emscripten_bind_btManifoldPoint__get_m_index0_p0:k5,_emscripten_bind_btTriangleInfoMap__deSerialize_p1:Fde,_emscripten_bind_btDynamicsWorld__convexSweepTest_p4:Oc,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1:zoe,_emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0:yS,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1:jq,_emscripten_bind_btHingeConstraint__getRigidBodyA_p0:pD,_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12:N1,_emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1:g_e,_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0:FG,_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1:Qp,_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0:Zp,_emscripten_bind_btCapsuleShape__getLocalScaling_p0:G_,_emscripten_bind_btRaycastVehicle__getNumWheels_p0:TU,_emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6:ez,_emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0:KQ,_emscripten_bind_btConcaveShape__getMargin_p0:tde,_emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1:Lne,_emscripten_bind_btBU_Simplex1to4__getAabb_p3:oE,_emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1:n_e,_emscripten_bind_btManifoldPoint__get_m_partId0_p0:I5,_emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1:L5,_emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1:uu,_emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2:LJ,_emscripten_bind_btCylinderShapeZ__getAabbSlow_p3:kte,_emscripten_bind_btHingeConstraint__getUseFrameOffset_p0:KD,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0:ZU,_emscripten_bind_btDynamicsWorld__convexSweepTest_p5:Lc,_emscripten_bind_btCylinderShape__isSoftBody_p0:kz,_emscripten_bind_btCylinderShape__setMargin_p1:mj,_emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0:fb,_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0:sR,_emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2:lF,_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1:_W,_emscripten_bind_btVector3__op_sub_p1:HN,_emscripten_bind_btIndexedMesh__get_m_indexType_p0:To,_emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2:V8,_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1:YV,_emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1:ST,_emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0:dQ,_emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2:f_e,_emscripten_bind_btCapsuleShapeX__isInfinite_p0:Voe,_emscripten_bind_btCylinderShapeZ__isConvex_p0:Yee,_emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1:cv,_emscripten_bind_btSliderConstraint__getAngularPos_p0:p8,_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8:sre,_emscripten_bind_btConvexInternalShape__isSoftBody_p0:kK,_emscripten_bind_btMultiSphereShape__getBoundingSphere_p2:VZ,_emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1:b7,_emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2:HX,_emscripten_bind_btConvexHullShape__isPolyhedral_p0:br,_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1:zV,_emscripten_bind_btSphereShape__getAabb_p3:Lce,_emscripten_bind_btCollisionObject__setFriction_p1:Eo,_emscripten_bind_btConvexHullShape__getMarginNV_p0:fr,_emscripten_bind_btCylinderShapeZ__isPolyhedral_p0:Zee,_emscripten_bind_btBU_Simplex1to4__isConcave_p0:fE,_emscripten_bind_btConvexShape__calculateTemporalAabb_p6:Fq,_emscripten_bind_btIDebugDraw__drawContactPoint_p5:ry,_emscripten_bind_btConeShapeZ__isPolyhedral_p0:Cw,_emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1:ZB,_emscripten_bind_btContactConstraint__getUserConstraintPtr_p0:f5,_emscripten_bind_btContactConstraint__buildJacobian_p0:t5,_emscripten_bind_btRaycastVehicle__updateVehicle_p1:dG,_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1:KH,_emscripten_bind_btClock____destroy___p0:i4,_emscripten_bind_btClock__btClock_p1:l4,_emscripten_bind_btClock__btClock_p0:p4,_emscripten_bind_btTriangleMesh__getNumTriangles_p0:UA,_emscripten_bind_btHingeConstraint__getRigidBodyB_p0:aD,_emscripten_bind_btCylinderShape__setUserPointer_p1:Dz,_emscripten_bind_btManifoldPoint__get_m_lifeTime_p0:z5,_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0:ba,_emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2:eq,_emscripten_bind_btBroadphaseProxy__isCompound_p1:ine,_emscripten_bind_btConvexInternalShape__getLocalScaling_p0:CK,_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6:B_e,_emscripten_bind_btRigidBody__setUserPointer_p1:fm,_emscripten_bind_btGhostObject__getBroadphaseHandle_p0:Kpe,_emscripten_bind_btUniformScalingShape__isCompound_p0:qG,_emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0:fX,_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0:I_e,_emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1:O$,_emscripten_bind_btQuadWord__z_p0:yz,_emscripten_bind_btSerializer__allocate_p2:OO,_emscripten_bind_btConvexShape__getAabbNonVirtual_p3:fq,_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5:CX,_emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:gbe,_emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3:ree,_emscripten_bind_btGhostObject__getDeactivationTime_p0:Uae,_emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1:kee,_emscripten_bind_btManifoldResult__btManifoldResult_p2:KX,_emscripten_bind_btManifoldResult__btManifoldResult_p0:JX,_emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0:h6,_emscripten_bind_btDbvtProxy__isPolyhedral_p1:vH,_emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1:wo,_emscripten_bind_btVector4__setMin_p1:gE,_emscripten_bind_btManifoldPoint__set_m_index1_p1:i7,_emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1:Eee,_emscripten_bind_btPoint2PointConstraint__getConstraintType_p0:wee,_emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0:Hm,_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0:K0,_emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1:z7,_emscripten_bind_btOverlapCallback__processOverlap_p1:q0,_emscripten_bind_btConeShape__calculateLocalInertia_p2:nB,_emscripten_bind_btStackAlloc__destroy_p0:Gb,_emscripten_bind_btConeShapeX__getAngularMotionDisc_p0:nF,_emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2:oJ,_emscripten_bind_btBroadphasePair__set_m_pProxy0_p1:kF,_emscripten_bind_btPairCachingGhostObject__setActivationState_p1:i0,_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0:ej,_emscripten_bind_btSliderConstraint__testLinLimits_p0:y9,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1:N8,_emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1:c6,_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0:QJ,_emscripten_bind_btConeShapeX__getHeight_p0:vA,_emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0:ile,_emscripten_bind_btMatrix3x3__cofac_p4:Sn,_emscripten_bind_btDbvtBroadphase__setAabb_p4:wy,_emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1:nX,_emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0:BC,_emscripten_bind_btGhostObject__mergesSimulationIslands_p0:Zae,_emscripten_bind_btConeTwistConstraint__setParam_p2:lT,_emscripten_bind_btPersistentManifold____destroy___p0:jl,_emscripten_bind_btBoxShape__getBoundingSphere_p2:Gre,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0:H4,_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0:vh,_emscripten_bind_btCollisionShape__isCompound_p0:F0,_emscripten_bind_btVector4__minAxis4_p0:xE,_emscripten_bind_btBroadphasePair__set_m_pProxy1_p1:OF,_emscripten_bind_btQuadWord__setMin_p1:pz,_emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1:Xn,_emscripten_bind_btDbvtBroadphase__createProxy_p8:By,_emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2:Mpe,_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0:Mb,_emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3:Vj,_emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0:f2,_emscripten_bind_btQuaternion__inverse_p0:tae,_emscripten_bind_btRigidBody__internalGetExtensionPointer_p0:lh,_emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1:uK,_emscripten_bind_btDynamicsWorld__objectQuerySingle_p8:Eb,_emscripten_bind_btCollisionObject__isStaticObject_p0:$o,_emscripten_bind_btCapsuleShape__getBoundingSphere_p2:rr,_emscripten_bind_btStorageResult__setShapeIdentifiersB_p2:vj,_emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2:Mce,_emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0:oQ,_emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0:lc,_emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0:c8,_emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2:qS,_emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0:jL,_emscripten_bind_btGeneric6DofConstraint__getParam_p2:x1,_emscripten_bind_btVector3__setX_p1:Sk,_emscripten_bind_btSphereShape__getBoundingSphere_p2:Cbe,_emscripten_bind_btGeneric6DofConstraint__getParam_p1:v1,_emscripten_bind_btActionInterface__updateAction_p2:rk,_emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0:jQ,_emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0:EZ,_emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1:Q2,_emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0:xg,_emscripten_bind_btQuantizedBvh__buildInternal_p0:Mbe,_emscripten_bind_btConvexShape__getMargin_p0:Mq,_emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1:Nee,_emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1:Fee,_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0:eR,_emscripten_bind_btConeShape__setMargin_p1:SB,_emscripten_bind_btStackAlloc__create_p1:Ub,_emscripten_bind_btRigidBody__getAnisotropicFriction_p0:lf,_emscripten_bind_btBU_Simplex1to4__isSoftBody_p0:dE,_emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4:hT,_emscripten_bind_btCollisionShape__calculateLocalInertia_p2:D2,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6:y_e,_emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0:_I,_emscripten_bind_btQuaternion__length2_p0:hae,_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0:Hf,_emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1:h$,_emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4:to,_emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0:fte,_emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1:e1,_emscripten_bind_btRaycastVehicle__getForwardAxis_p0:IU,_emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0:v5,_emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1:My,_emscripten_bind_btStaticPlaneShape__getUserPointer_p0:v0,_emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0:Bd,_emscripten_bind_btSimpleDynamicsWorld__contactTest_p2:$j,_emscripten_bind_btGhostObject__internalGetExtensionPointer_p0:fle,_emscripten_bind_btStridingMeshInterface__getNumSubParts_p0:see,_emscripten_bind_btVector3__getSkewSymmetricMatrix_p3:NN,_emscripten_bind_btGhostObject__setBroadphaseHandle_p1:vle,_emscripten_bind_ConcreteContactResultCallback____destroy___p0:wj,_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0:HJ,_emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0:bse,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0:boe,_emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1:XH,_emscripten_bind_btHingeConstraint__setFrames_p2:WP,_emscripten_bind_btBroadphaseAabbCallback__process_p1:bR,_emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1:MZ,_emscripten_bind_btCylinderShape__getAabb_p3:rH,_emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2:kie,_emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0:Qc,_emscripten_bind_btRaycastVehicle__getUserConstraintId_p0:bU,_emscripten_bind_btEmptyShape__isInfinite_p0:pm,_emscripten_bind_btAngularLimit__getSign_p0:bp,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1:Z7,_emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1:d1,_emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3:rJ,_emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1:lK,_emscripten_bind_btVector3__cross_p1:dk,_emscripten_bind_btCylinderShapeZ__serialize_p2:mte,_emscripten_bind_btCylinderShapeZ__isSoftBody_p0:ite,_emscripten_bind_btMultiSphereShape__serialize_p2:qX,_emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0:Ele,_emscripten_bind_btVector4__length_p0:nk,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3:I3,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2:R3,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1:rz,_emscripten_bind_btCollisionShape__isNonMoving_p0:E0,_emscripten_bind_btConvexShape__localGetSupportingVertex_p1:cq,_emscripten_bind_btConvexTriangleMeshShape____destroy___p0:Ua,_emscripten_bind_btRigidBody__setIslandTag_p1:Mm,_emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0:Mre,_emscripten_bind_btPolyhedralConvexShape__isInfinite_p0:HC,_emscripten_bind_btTriangleMesh__unLockVertexBase_p1:wF,_emscripten_bind_btQuaternion__setMin_p1:Ose,_emscripten_bind_btConeShapeZ__getHeight_p0:yw,_emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1:Vpe,_emscripten_bind_btAngularLimit__getRelaxationFactor_p0:hp,_emscripten_bind_btSphereShape__isInfinite_p0:ece,_emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0:d7,_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0:h8,_emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0:DZ,_emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1:TL,_emscripten_bind_btBoxShape__getNumVertices_p0:hre,_emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0:Mg,_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0:Y3,_emscripten_bind_btBU_Simplex1to4__getName_p0:tE,_emscripten_bind_btStorageResult__addContactPoint_p3:Sj,_emscripten_bind_btHingeConstraint__getSolveLimit_p0:_P,_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0:YY,_emscripten_bind_btConvexTriangleMeshShape__serialize_p2:Ia,_emscripten_bind_btDispatcher__getNumManifolds_p0:rY,_emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0:Vce,_emscripten_bind_btSliderConstraint__getInfo1_p1:Z8,_emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0:bj,_emscripten_bind_btGhostObject____destroy___p0:jle,_emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0:$Q,_emscripten_bind_btConvexShape__serializeSingleShape_p1:Bq,_emscripten_bind_btCapsuleShapeX____destroy___p0:Ase,_emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Fse,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0:nie,_emscripten_bind_btUniformScalingShape__isInfinite_p0:KG,_emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6:Vs,_emscripten_bind_btBoxShape__getAabb_p3:Rre,_emscripten_bind_btHingeConstraint__setParam_p2:dP,_emscripten_bind_btUniversalConstraint__isLimited_p1:lu,_emscripten_bind_btCapsuleShapeX__getAabb_p3:Sse,_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1:Xce,_emscripten_bind_btHinge2Constraint__getObjectType_p0:LL,_emscripten_bind_btManifoldPoint__setDistance_p1:Q5,_emscripten_bind_btGhostObject__checkCollideWith_p1:Ope,_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1:lpe,_emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3:ire,_emscripten_bind_btMatrix3x3__setRotation_p1:En,_emscripten_bind_btVector4__btVector4_p0:PN,_emscripten_bind_btManifoldPoint__set_m_partId0_p1:X5,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1:J_e,_emscripten_bind_btVector4__btVector4_p4:wN,_emscripten_bind_btGhostObject__getCollisionFlags_p0:ble,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1:f3,_emscripten_bind_btGeneric6DofConstraint__updateRHS_p1:j2,_emscripten_bind_btContactConstraint__serialize_p2:F7,_emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4:Lie,_emscripten_bind_btMultiSphereShape__isNonMoving_p0:sZ,_emscripten_bind_btHinge2Constraint__enableSpring_p2:wL,_emscripten_bind_btCapsuleShapeX__setLocalScaling_p1:Cse,_emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0:Pde,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0:u3,_emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0:iY,_emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0:Kx,_emscripten_bind_btHinge2Constraint__getInfo2_p1:nL,_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4:Wte,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1:S3,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0:eO,_emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1:im,_emscripten_bind_btQuantizedBvh__deSerializeFloat_p1:Nbe,_emscripten_bind_btConvexTriangleMeshShape__isConcave_p0:fa,_emscripten_bind_btRigidBody__setAngularFactor_p1:og,_emscripten_bind_btAngularLimit__btAngularLimit_p0:Xp,_emscripten_bind_btCapsuleShapeZ__setUserPointer_p1:xae,_emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1:Ha,_emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1:Up,_emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5:Gde,_emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1:E6,_emscripten_bind_btContinuousDynamicsWorld__serialize_p1:VR,_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2:Ape,_emscripten_bind_btSphereShape__getMarginNonVirtual_p0:Zce,_emscripten_bind_btCollisionDispatcher__needsResponse_p2:Ev,_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1:yse,_emscripten_bind_btPoint2PointConstraint__getParam_p2:Cee,_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1:eA,_emscripten_bind_btCollisionObject__getInternalType_p0:ls,_emscripten_bind_btPoint2PointConstraint__getParam_p1:gee,_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0:dI,_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1:ZA,_emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1:h_e,_emscripten_bind_btUniformScalingShape__setMargin_p1:YW,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2:Yre,_emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0:sa,_emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1:Rpe,_emscripten_bind_btOptimizedBvh__setQuantizationValues_p2:gg,_emscripten_bind_btOptimizedBvh__setQuantizationValues_p3:Cg,_emscripten_bind_btMatrix3x3__setValue_p9:Pn,_emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1:hde,_emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1:KM,_emscripten_bind_btMatrix3x3__op_mul_p1:Mn,runPostSets:$i,stackAlloc:ki,stackSave:Oi,stackRestore:Li,setThrew:Ui,setTempRet0:zi,setTempRet1:Hi,setTempRet2:ji,setTempRet3:Xi,setTempRet4:Zi,setTempRet5:Qi,setTempRet6:qi,setTempRet7:Yi,setTempRet8:Ji,setTempRet9:Ki,dynCall_viiiii:PBe,dynCall_iiiiiif:QBe,dynCall_vif:mVe,dynCall_viifii:NVe,dynCall_viiiifffffif:nEe,dynCall_vi:MEe,dynCall_iiiiiffii:jEe,dynCall_vii:cNe,dynCall_viiifii:BNe,dynCall_ifffffffff:eke,dynCall_viiiif:yke,dynCall_viiiiffffii:Wke,dynCall_ii:pOe,dynCall_iiiiiiifif:FOe,dynCall_vifffi:JOe,dynCall_ifiii:gLe,dynCall_viifi:LLe,dynCall_viiiiiiiii:oUe,dynCall_viiiiiiff:PUe,dynCall_iiiifiii:QUe,dynCall_iiiiiiiiiiiiii:mGe,dynCall_viffff:NGe,dynCall_viffiii:nWe,dynCall_iiiiiiiiiiii:MWe,dynCall_fififii:jWe,dynCall_fiiiiiiiiiii:cze,dynCall_fiifii:Bze,dynCall_ifff:eHe,dynCall_viiff:yHe,dynCall_iifi:WHe,dynCall_iiii:pje,dynCall_viiiifffffi:Fje,dynCall_fif:Jje,dynCall_iiiiff:gXe,dynCall_viff:LXe,dynCall_vifi:oZe,dynCall_viiiiif:PZe,dynCall_vifff:QZe,dynCall_viiiiii:mQe,dynCall_fiiff:NQe,dynCall_iiif:nqe,dynCall_iiiiiiii:Mqe,dynCall_viiiiiiii:jqe,dynCall_viffffff:cYe,dynCall_fiii:BYe,dynCall_iiiiiiiiii:eJe,dynCall_fiif:yJe,dynCall_fiiiiiiiiii:WJe,dynCall_ifii:pKe,dynCall_fiffiiiiiii:FKe,dynCall_iiiiiiiiiiiii:JKe,dynCall_fiiiii:g$e,dynCall_iif:L$e,dynCall_if:o0e,dynCall_vifffff:P0e,dynCall_viiiiiiiif:Q0e,dynCall_vifii:m2e,dynCall_fi:N2e,dynCall_viiiiiiiiii:n1e,dynCall_iii:M1e,dynCall_iiiiii:j1e,dynCall_iiiiiii:c4e,dynCall_viiiiiiif:B4e,dynCall_fii:e3e,dynCall_vifffffffff:y3e,dynCall_fiiiiiiii:W3e,dynCall_iifif:p8e,dynCall_iffff:F8e,dynCall_viiiiffffiif:J8e,dynCall_iiiiif:g6e,dynCall_iiff:L6e,dynCall_viiif:o9e,dynCall_i:P9e,dynCall_viiiifii:Q9e,dynCall_iiiifffiii:m5e,dynCall_viii:N5e,dynCall_iff:n7e,dynCall_v:M7e,dynCall_iiiiiiiii:j7e,dynCall_iiiii:bet,dynCall_viif:Vet,dynCall_iiiif:ttt,dynCall_fiiifii:vtt,dynCall_viiii:ztt}}({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array},{abort:abort,assert:assert,asmPrintInt:asmPrintInt,asmPrintFloat:asmPrintFloat,min:Math_min,jsCall:jsCall,invoke_viiiii:invoke_viiiii,invoke_iiiiiif:invoke_iiiiiif,invoke_vif:invoke_vif,invoke_viifii:invoke_viifii,invoke_viiiifffffif:invoke_viiiifffffif,invoke_vi:invoke_vi,invoke_iiiiiffii:invoke_iiiiiffii,invoke_vii:invoke_vii,invoke_viiifii:invoke_viiifii,invoke_ifffffffff:invoke_ifffffffff,invoke_viiiif:invoke_viiiif,invoke_viiiiffffii:invoke_viiiiffffii,invoke_ii:invoke_ii,invoke_iiiiiiifif:invoke_iiiiiiifif,invoke_vifffi:invoke_vifffi,invoke_ifiii:invoke_ifiii,invoke_viifi:invoke_viifi,invoke_viiiiiiiii:invoke_viiiiiiiii,invoke_viiiiiiff:invoke_viiiiiiff,invoke_iiiifiii:invoke_iiiifiii,invoke_iiiiiiiiiiiiii:invoke_iiiiiiiiiiiiii,invoke_viffff:invoke_viffff,invoke_viffiii:invoke_viffiii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_fififii:invoke_fififii,invoke_fiiiiiiiiiii:invoke_fiiiiiiiiiii,invoke_fiifii:invoke_fiifii,invoke_ifff:invoke_ifff,invoke_viiff:invoke_viiff,invoke_iifi:invoke_iifi,invoke_iiii:invoke_iiii,invoke_viiiifffffi:invoke_viiiifffffi,invoke_fif:invoke_fif,invoke_iiiiff:invoke_iiiiff,invoke_viff:invoke_viff,invoke_vifi:invoke_vifi,invoke_viiiiif:invoke_viiiiif,invoke_vifff:invoke_vifff,invoke_viiiiii:invoke_viiiiii,invoke_fiiff:invoke_fiiff,invoke_iiif:invoke_iiif,invoke_iiiiiiii:invoke_iiiiiiii,invoke_viiiiiiii:invoke_viiiiiiii,invoke_viffffff:invoke_viffffff,invoke_fiii:invoke_fiii,invoke_iiiiiiiiii:invoke_iiiiiiiiii,invoke_fiif:invoke_fiif,invoke_fiiiiiiiiii:invoke_fiiiiiiiiii,invoke_ifii:invoke_ifii,invoke_fiffiiiiiii:invoke_fiffiiiiiii,invoke_iiiiiiiiiiiii:invoke_iiiiiiiiiiiii,invoke_fiiiii:invoke_fiiiii,invoke_iif:invoke_iif,invoke_if:invoke_if,invoke_vifffff:invoke_vifffff,invoke_viiiiiiiif:invoke_viiiiiiiif,invoke_vifii:invoke_vifii,invoke_fi:invoke_fi,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_iii:invoke_iii,invoke_iiiiii:invoke_iiiiii,invoke_iiiiiii:invoke_iiiiiii,invoke_viiiiiiif:invoke_viiiiiiif,invoke_fii:invoke_fii,invoke_vifffffffff:invoke_vifffffffff,invoke_fiiiiiiii:invoke_fiiiiiiii,invoke_iifif:invoke_iifif,invoke_iffff:invoke_iffff,invoke_viiiiffffiif:invoke_viiiiffffiif,invoke_iiiiif:invoke_iiiiif,invoke_iiff:invoke_iiff,invoke_viiif:invoke_viiif,invoke_i:invoke_i,invoke_viiiifii:invoke_viiiifii,invoke_iiiifffiii:invoke_iiiifffiii,invoke_viii:invoke_viii,invoke_iff:invoke_iff,invoke_v:invoke_v,invoke_iiiiiiiii:invoke_iiiiiiiii,invoke_iiiii:invoke_iiiii,invoke_viif:invoke_viif,invoke_iiiif:invoke_iiiif,invoke_fiiifii:invoke_fiiifii,invoke_viiii:invoke_viiii,_llvm_lifetime_end:_llvm_lifetime_end,_cosf:_cosf,_fabsf:_fabsf,_sysconf:_sysconf,___cxa_throw:___cxa_throw,_atexit:_atexit,_abort:_abort,_fprintf:_fprintf,_llvm_eh_exception:_llvm_eh_exception,_printf:_printf,_acosf:_acosf,_fflush:_fflush,_sqrtf:_sqrtf,_write:_write,___setErrNo:___setErrNo,_fwrite:_fwrite,_send:_send,_llvm_pow_f32:_llvm_pow_f32,_llvm_umul_with_overflow_i32:_llvm_umul_with_overflow_i32,_exit:_exit,_atan2f:_atan2f,___cxa_pure_virtual:___cxa_pure_virtual,_llvm_bswap_i16:_llvm_bswap_i16,__formatString:__formatString,__reallyNegative:__reallyNegative,_time:_time,_asinf:_asinf,___cxa_does_inherit:___cxa_does_inherit,___cxa_guard_acquire:___cxa_guard_acquire,__ZSt9terminatev:__ZSt9terminatev,_gettimeofday:_gettimeofday,___cxa_find_matching_catch:___cxa_find_matching_catch,_sinf:_sinf,__ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback:__ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback,___assert_func:___assert_func,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,_pwrite:_pwrite,___cxa_call_unexpected:___cxa_call_unexpected,_sbrk:_sbrk,___cxa_guard_abort:___cxa_guard_abort,___cxa_allocate_exception:___cxa_allocate_exception,___errno_location:___errno_location,___gxx_personality_v0:___gxx_personality_v0,__ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback:__ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback,_llvm_lifetime_start:_llvm_lifetime_start,___cxa_is_number_type:___cxa_is_number_type,_llvm_bswap_i32:_llvm_bswap_i32,_fmod:_fmod,___cxa_guard_release:___cxa_guard_release,__exit:__exit,___resumeException:___resumeException,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT,NaN:NaN,Infinity:1/0,__ZTVN10__cxxabiv117__class_type_infoE:__ZTVN10__cxxabiv117__class_type_infoE,__ZTVN10__cxxabiv120__si_class_type_infoE:__ZTVN10__cxxabiv120__si_class_type_infoE,___dso_handle:___dso_handle},buffer),_emscripten_bind_btConeShapeX__setConeUpIndex_p1=Module._emscripten_bind_btConeShapeX__setConeUpIndex_p1=asm._emscripten_bind_btConeShapeX__setConeUpIndex_p1,_emscripten_bind_btDbvtProxy__get_stage_p0=Module._emscripten_bind_btDbvtProxy__get_stage_p0=asm._emscripten_bind_btDbvtProxy__get_stage_p0,_emscripten_bind_btContinuousDynamicsWorld____destroy___p0=Module._emscripten_bind_btContinuousDynamicsWorld____destroy___p0=asm._emscripten_bind_btContinuousDynamicsWorld____destroy___p0,_emscripten_bind_btBoxShape__getNumPlanes_p0=Module._emscripten_bind_btBoxShape__getNumPlanes_p0=asm._emscripten_bind_btBoxShape__getNumPlanes_p0,_emscripten_bind_btHeightfieldTerrainShape____destroy___p0=Module._emscripten_bind_btHeightfieldTerrainShape____destroy___p0=asm._emscripten_bind_btHeightfieldTerrainShape____destroy___p0,_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1=Module._emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1=asm._emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3,_emscripten_bind_btGhostObject__upcast_p1=Module._emscripten_bind_btGhostObject__upcast_p1=asm._emscripten_bind_btGhostObject__upcast_p1,_emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0,_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0=Module._emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0=asm._emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0,_emscripten_bind_btGeneric6DofConstraint__isEnabled_p0=Module._emscripten_bind_btGeneric6DofConstraint__isEnabled_p0=asm._emscripten_bind_btGeneric6DofConstraint__isEnabled_p0,_emscripten_bind_btBroadphaseProxy__isPolyhedral_p1=Module._emscripten_bind_btBroadphaseProxy__isPolyhedral_p1=asm._emscripten_bind_btBroadphaseProxy__isPolyhedral_p1,_emscripten_bind_btHinge2Constraint__buildJacobian_p0=Module._emscripten_bind_btHinge2Constraint__buildJacobian_p0=asm._emscripten_bind_btHinge2Constraint__buildJacobian_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0,_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9=Module._emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9=asm._emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9,_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8=Module._emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8=asm._emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8,_emscripten_bind_btIDebugDraw__drawLine_p3=Module._emscripten_bind_btIDebugDraw__drawLine_p3=asm._emscripten_bind_btIDebugDraw__drawLine_p3,_emscripten_bind_btCollisionObject__mergesSimulationIslands_p0=Module._emscripten_bind_btCollisionObject__mergesSimulationIslands_p0=asm._emscripten_bind_btCollisionObject__mergesSimulationIslands_p0,_emscripten_bind_btIDebugDraw__drawLine_p4=Module._emscripten_bind_btIDebugDraw__drawLine_p4=asm._emscripten_bind_btIDebugDraw__drawLine_p4,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1,_emscripten_bind_btConeShape__getAabbSlow_p3=Module._emscripten_bind_btConeShape__getAabbSlow_p3=asm._emscripten_bind_btConeShape__getAabbSlow_p3,_emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2=Module._emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2=asm._emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2,_emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8=Module._emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8=asm._emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1,_emscripten_bind_btRigidBody____destroy___p0=Module._emscripten_bind_btRigidBody____destroy___p0=asm._emscripten_bind_btRigidBody____destroy___p0,_emscripten_bind_btSimpleBroadphase__destroyProxy_p2=Module._emscripten_bind_btSimpleBroadphase__destroyProxy_p2=asm._emscripten_bind_btSimpleBroadphase__destroyProxy_p2,_emscripten_bind_btBroadphaseInterface__createProxy_p8=Module._emscripten_bind_btBroadphaseInterface__createProxy_p8=asm._emscripten_bind_btBroadphaseInterface__createProxy_p8,_emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btContactSolverInfo____destroy___p0=Module._emscripten_bind_btContactSolverInfo____destroy___p0=asm._emscripten_bind_btContactSolverInfo____destroy___p0,_emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1=Module._emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1=asm._emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1,_emscripten_bind_btCapsuleShape__getRadius_p0=Module._emscripten_bind_btCapsuleShape__getRadius_p0=asm._emscripten_bind_btCapsuleShape__getRadius_p0,_emscripten_bind_btConeShapeZ__serializeSingleShape_p1=Module._emscripten_bind_btConeShapeZ__serializeSingleShape_p1=asm._emscripten_bind_btConeShapeZ__serializeSingleShape_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1,_emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0=Module._emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0=asm._emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0,_emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0=Module._emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0=asm._emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0,_emscripten_bind_btVector4__fuzzyZero_p0=Module._emscripten_bind_btVector4__fuzzyZero_p0=asm._emscripten_bind_btVector4__fuzzyZero_p0,_emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0=Module._emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0=asm._emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0,_emscripten_bind_btSphereShape__calculateTemporalAabb_p6=Module._emscripten_bind_btSphereShape__calculateTemporalAabb_p6=asm._emscripten_bind_btSphereShape__calculateTemporalAabb_p6,_emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2=Module._emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2=asm._emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2,_emscripten_bind_btIDebugDraw__drawCapsule_p5=Module._emscripten_bind_btIDebugDraw__drawCapsule_p5=asm._emscripten_bind_btIDebugDraw__drawCapsule_p5,_emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1=Module._emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1=asm._emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1,_emscripten_bind_btPersistentManifold__get_m_index1a_p0=Module._emscripten_bind_btPersistentManifold__get_m_index1a_p0=asm._emscripten_bind_btPersistentManifold__get_m_index1a_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4,_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1=Module._emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1=asm._emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1,_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3=Module._emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3=asm._emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3,_emscripten_bind_btAxisSweep3__unQuantize_p3=Module._emscripten_bind_btAxisSweep3__unQuantize_p3=asm._emscripten_bind_btAxisSweep3__unQuantize_p3,_emscripten_bind_btCapsuleShape__getUpAxis_p0=Module._emscripten_bind_btCapsuleShape__getUpAxis_p0=asm._emscripten_bind_btCapsuleShape__getUpAxis_p0,_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5=Module._emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5=asm._emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5,_emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2=Module._emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2=asm._emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2,_emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1=Module._emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1=asm._emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1,_emscripten_bind_btConeShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConeShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConeShape__calculateSerializeBufferSize_p0,_emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1,_emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2=Module._emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2=asm._emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2,_emscripten_bind_btHingeConstraint__getBFrame_p0=Module._emscripten_bind_btHingeConstraint__getBFrame_p0=asm._emscripten_bind_btHingeConstraint__getBFrame_p0,_emscripten_bind_btHingeConstraint__buildJacobian_p0=Module._emscripten_bind_btHingeConstraint__buildJacobian_p0=asm._emscripten_bind_btHingeConstraint__buildJacobian_p0,_emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1,_emscripten_bind_btCompoundShape__isNonMoving_p0=Module._emscripten_bind_btCompoundShape__isNonMoving_p0=asm._emscripten_bind_btCompoundShape__isNonMoving_p0,_emscripten_bind_btUniformScalingShape__setUserPointer_p1=Module._emscripten_bind_btUniformScalingShape__setUserPointer_p1=asm._emscripten_bind_btUniformScalingShape__setUserPointer_p1,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1,_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0=Module._emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0=asm._emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0,_emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1,_emscripten_bind_btConeTwistConstraint__setDamping_p1=Module._emscripten_bind_btConeTwistConstraint__setDamping_p1=asm._emscripten_bind_btConeTwistConstraint__setDamping_p1,_emscripten_bind_btHeightfieldTerrainShape__setMargin_p1=Module._emscripten_bind_btHeightfieldTerrainShape__setMargin_p1=asm._emscripten_bind_btHeightfieldTerrainShape__setMargin_p1,_emscripten_bind_btDynamicsWorld__getDispatcher_p0=Module._emscripten_bind_btDynamicsWorld__getDispatcher_p0=asm._emscripten_bind_btDynamicsWorld__getDispatcher_p0,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1,_emscripten_bind_btCylinderShape__isNonMoving_p0=Module._emscripten_bind_btCylinderShape__isNonMoving_p0=asm._emscripten_bind_btCylinderShape__isNonMoving_p0,_emscripten_bind_btCollisionObject__getRestitution_p0=Module._emscripten_bind_btCollisionObject__getRestitution_p0=asm._emscripten_bind_btCollisionObject__getRestitution_p0,_emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0=Module._emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0=asm._emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0,_emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1=Module._emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1=asm._emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1,_emscripten_bind_btPoint2PointConstraint__getInfo2_p1=Module._emscripten_bind_btPoint2PointConstraint__getInfo2_p1=asm._emscripten_bind_btPoint2PointConstraint__getInfo2_p1,_emscripten_bind_btConeTwistConstraint__setFixThresh_p1=Module._emscripten_bind_btConeTwistConstraint__setFixThresh_p1=asm._emscripten_bind_btConeTwistConstraint__setFixThresh_p1,_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0,_emscripten_bind_btGhostObject__setCompanionId_p1=Module._emscripten_bind_btGhostObject__setCompanionId_p1=asm._emscripten_bind_btGhostObject__setCompanionId_p1,_emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0=Module._emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0=asm._emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0,_emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4=Module._emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4=asm._emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4,_emscripten_bind_btQuaternion__normalized_p0=Module._emscripten_bind_btQuaternion__normalized_p0=asm._emscripten_bind_btQuaternion__normalized_p0,_emscripten_bind_btCompoundShape__getLocalScaling_p0=Module._emscripten_bind_btCompoundShape__getLocalScaling_p0=asm._emscripten_bind_btCompoundShape__getLocalScaling_p0,_emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1=Module._emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1=asm._emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1,_emscripten_bind_btPairCachingGhostObject__getCompanionId_p0=Module._emscripten_bind_btPairCachingGhostObject__getCompanionId_p0=asm._emscripten_bind_btPairCachingGhostObject__getCompanionId_p0,_emscripten_bind_btTypedConstraint__getRigidBodyA_p0=Module._emscripten_bind_btTypedConstraint__getRigidBodyA_p0=asm._emscripten_bind_btTypedConstraint__getRigidBodyA_p0,_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0=Module._emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0=asm._emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0,_emscripten_bind_btConvexHullShape__isInfinite_p0=Module._emscripten_bind_btConvexHullShape__isInfinite_p0=asm._emscripten_bind_btConvexHullShape__isInfinite_p0,_emscripten_bind_btRaycastVehicle__debugDraw_p1=Module._emscripten_bind_btRaycastVehicle__debugDraw_p1=asm._emscripten_bind_btRaycastVehicle__debugDraw_p1,_emscripten_bind_btEmptyShape__isCompound_p0=Module._emscripten_bind_btEmptyShape__isCompound_p0=asm._emscripten_bind_btEmptyShape__isCompound_p0,_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btTriangleMesh__addIndex_p1=Module._emscripten_bind_btTriangleMesh__addIndex_p1=asm._emscripten_bind_btTriangleMesh__addIndex_p1,_emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5=Module._emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5=asm._emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5,_emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3=Module._emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3=asm._emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3,_emscripten_bind_btConeShape__isNonMoving_p0=Module._emscripten_bind_btConeShape__isNonMoving_p0=asm._emscripten_bind_btConeShape__isNonMoving_p0,_emscripten_bind_btTypedConstraint__getUserConstraintType_p0=Module._emscripten_bind_btTypedConstraint__getUserConstraintType_p0=asm._emscripten_bind_btTypedConstraint__getUserConstraintType_p0,_emscripten_bind_btMatrix3x3__deSerializeDouble_p1=Module._emscripten_bind_btMatrix3x3__deSerializeDouble_p1=asm._emscripten_bind_btMatrix3x3__deSerializeDouble_p1,_emscripten_bind_btVector3__y_p0=Module._emscripten_bind_btVector3__y_p0=asm._emscripten_bind_btVector3__y_p0,_emscripten_bind_btDynamicsWorld__removeVehicle_p1=Module._emscripten_bind_btDynamicsWorld__removeVehicle_p1=asm._emscripten_bind_btDynamicsWorld__removeVehicle_p1,_emscripten_bind_btCylinderShape__getAabbSlow_p3=Module._emscripten_bind_btCylinderShape__getAabbSlow_p3=asm._emscripten_bind_btCylinderShape__getAabbSlow_p3,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0=Module._emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0=asm._emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0,_emscripten_bind_btBoxShape__getMarginNV_p0=Module._emscripten_bind_btBoxShape__getMarginNV_p0=asm._emscripten_bind_btBoxShape__getMarginNV_p0,_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0=Module._emscripten_bind_btRigidBody__getCenterOfMassTransform_p0=asm._emscripten_bind_btRigidBody__getCenterOfMassTransform_p0,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0,_emscripten_bind_btBU_Simplex1to4__isCompound_p0=Module._emscripten_bind_btBU_Simplex1to4__isCompound_p0=asm._emscripten_bind_btBU_Simplex1to4__isCompound_p0,_emscripten_bind_btPoint2PointConstraint__getInfo1_p1=Module._emscripten_bind_btPoint2PointConstraint__getInfo1_p1=asm._emscripten_bind_btPoint2PointConstraint__getInfo1_p1,_emscripten_bind_btTransform__deSerialize_p1=Module._emscripten_bind_btTransform__deSerialize_p1=asm._emscripten_bind_btTransform__deSerialize_p1,_emscripten_bind_btBoxShape__btBoxShape_p1=Module._emscripten_bind_btBoxShape__btBoxShape_p1=asm._emscripten_bind_btBoxShape__btBoxShape_p1,_emscripten_bind_btHeightfieldTerrainShape__getAabb_p3=Module._emscripten_bind_btHeightfieldTerrainShape__getAabb_p3=asm._emscripten_bind_btHeightfieldTerrainShape__getAabb_p3,_emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1,_emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0,_emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1=Module._emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1=asm._emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1,_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1,_emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0,_emscripten_bind_btRaycastVehicle__getSteeringValue_p1=Module._emscripten_bind_btRaycastVehicle__getSteeringValue_p1=asm._emscripten_bind_btRaycastVehicle__getSteeringValue_p1,_emscripten_bind_btRigidBody__internalSetExtensionPointer_p1=Module._emscripten_bind_btRigidBody__internalSetExtensionPointer_p1=asm._emscripten_bind_btRigidBody__internalSetExtensionPointer_p1,_emscripten_bind_btHingeConstraint__needsFeedback_p0=Module._emscripten_bind_btHingeConstraint__needsFeedback_p0=asm._emscripten_bind_btHingeConstraint__needsFeedback_p0,_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0=Module._emscripten_bind_btHingeConstraint__getFrameOffsetA_p0=asm._emscripten_bind_btHingeConstraint__getFrameOffsetA_p0,_emscripten_bind_btSimpleDynamicsWorld__addAction_p1=Module._emscripten_bind_btSimpleDynamicsWorld__addAction_p1=asm._emscripten_bind_btSimpleDynamicsWorld__addAction_p1,_emscripten_bind_btTransform__getOpenGLMatrix_p1=Module._emscripten_bind_btTransform__getOpenGLMatrix_p1=asm._emscripten_bind_btTransform__getOpenGLMatrix_p1,_emscripten_bind_btRigidBody__internalApplyPushImpulse_p3=Module._emscripten_bind_btRigidBody__internalApplyPushImpulse_p3=asm._emscripten_bind_btRigidBody__internalApplyPushImpulse_p3,_emscripten_bind_btPersistentManifold__getCacheEntry_p1=Module._emscripten_bind_btPersistentManifold__getCacheEntry_p1=asm._emscripten_bind_btPersistentManifold__getCacheEntry_p1,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1,_emscripten_bind_btRigidBody__applyForce_p2=Module._emscripten_bind_btRigidBody__applyForce_p2=asm._emscripten_bind_btRigidBody__applyForce_p2,_emscripten_bind_btConvexHullShape__addPoint_p1=Module._emscripten_bind_btConvexHullShape__addPoint_p1=asm._emscripten_bind_btConvexHullShape__addPoint_p1,_emscripten_bind_btIDebugDraw__drawTriangle_p5=Module._emscripten_bind_btIDebugDraw__drawTriangle_p5=asm._emscripten_bind_btIDebugDraw__drawTriangle_p5,_emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btDynamicsWorld__getPairCache_p0=Module._emscripten_bind_btDynamicsWorld__getPairCache_p0=asm._emscripten_bind_btDynamicsWorld__getPairCache_p0,_emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7=Module._emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7=asm._emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7,_emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0=Module._emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0=asm._emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0,_emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0,_emscripten_bind_btBroadphaseInterface__aabbTest_p3=Module._emscripten_bind_btBroadphaseInterface__aabbTest_p3=asm._emscripten_bind_btBroadphaseInterface__aabbTest_p3,_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1=Module._emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1=asm._emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1,_emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0=Module._emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0=asm._emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0,_emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0=Module._emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0=asm._emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0,_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0=Module._emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0=asm._emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0,_emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2=Module._emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2=asm._emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2,_emscripten_bind_btRaycastVehicle__setBrake_p2=Module._emscripten_bind_btRaycastVehicle__setBrake_p2=asm._emscripten_bind_btRaycastVehicle__setBrake_p2,_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0=Module._emscripten_bind_btCollisionObject__getBroadphaseHandle_p0=asm._emscripten_bind_btCollisionObject__getBroadphaseHandle_p0,_emscripten_bind_btCylinderShape__calculateTemporalAabb_p6=Module._emscripten_bind_btCylinderShape__calculateTemporalAabb_p6=asm._emscripten_bind_btCylinderShape__calculateTemporalAabb_p6,_emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0=Module._emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0=asm._emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0,_emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1=Module._emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1=asm._emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1,_emscripten_bind_btIndexedMesh__set_m_vertexBase_p1=Module._emscripten_bind_btIndexedMesh__set_m_vertexBase_p1=asm._emscripten_bind_btIndexedMesh__set_m_vertexBase_p1,_emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0,_emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0=Module._emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0=asm._emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0,_emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1=Module._emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1=asm._emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1,_emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1=Module._emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1=asm._emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1,_emscripten_bind_btVector3__x_p0=Module._emscripten_bind_btVector3__x_p0=asm._emscripten_bind_btVector3__x_p0,_emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1=Module._emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1=asm._emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1,_emscripten_bind_btSimpleBroadphase__aabbOverlap_p2=Module._emscripten_bind_btSimpleBroadphase__aabbOverlap_p2=asm._emscripten_bind_btSimpleBroadphase__aabbOverlap_p2,_emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btGhostObject__getRootCollisionShape_p0=Module._emscripten_bind_btGhostObject__getRootCollisionShape_p0=asm._emscripten_bind_btGhostObject__getRootCollisionShape_p0,_emscripten_bind_btSerializer__finishSerialization_p0=Module._emscripten_bind_btSerializer__finishSerialization_p0=asm._emscripten_bind_btSerializer__finishSerialization_p0,_emscripten_bind_btConeShapeZ__setUserPointer_p1=Module._emscripten_bind_btConeShapeZ__setUserPointer_p1=asm._emscripten_bind_btConeShapeZ__setUserPointer_p1,_emscripten_bind_btRaycastVehicle__updateWheelTransform_p1=Module._emscripten_bind_btRaycastVehicle__updateWheelTransform_p1=asm._emscripten_bind_btRaycastVehicle__updateWheelTransform_p1,_emscripten_bind_btDbvtBroadphase__get_m_gid_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_gid_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_gid_p0,_emscripten_bind_btHeightfieldTerrainShape__isConcave_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isConcave_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isConcave_p0,_emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1=Module._emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1=asm._emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1,_emscripten_bind_btTriangleInfoMap__serialize_p2=Module._emscripten_bind_btTriangleInfoMap__serialize_p2=asm._emscripten_bind_btTriangleInfoMap__serialize_p2,_emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0=Module._emscripten_bind_btCapsuleShapeX__getLocalScaling_p0=asm._emscripten_bind_btCapsuleShapeX__getLocalScaling_p0,_emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2=Module._emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2=asm._emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2,_emscripten_bind_btVector4__distance2_p1=Module._emscripten_bind_btVector4__distance2_p1=asm._emscripten_bind_btVector4__distance2_p1,_emscripten_bind_btSliderConstraint__setParam_p2=Module._emscripten_bind_btSliderConstraint__setParam_p2=asm._emscripten_bind_btSliderConstraint__setParam_p2,_emscripten_bind_btSliderConstraint__setParam_p3=Module._emscripten_bind_btSliderConstraint__setParam_p3=asm._emscripten_bind_btSliderConstraint__setParam_p3,_emscripten_bind_btConeShapeX__getMarginNV_p0=Module._emscripten_bind_btConeShapeX__getMarginNV_p0=asm._emscripten_bind_btConeShapeX__getMarginNV_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1,_emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0=Module._emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0=asm._emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0,_emscripten_bind_btConvexShape__isNonMoving_p0=Module._emscripten_bind_btConvexShape__isNonMoving_p0=asm._emscripten_bind_btConvexShape__isNonMoving_p0,_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0=Module._emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0=asm._emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0,_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btQuaternion__setValue_p3=Module._emscripten_bind_btQuaternion__setValue_p3=asm._emscripten_bind_btQuaternion__setValue_p3,_emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1=Module._emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1=asm._emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1,_emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btHinge2Constraint__getInfo1_p1=Module._emscripten_bind_btHinge2Constraint__getInfo1_p1=asm._emscripten_bind_btHinge2Constraint__getInfo1_p1,_emscripten_bind_btConeShape__serialize_p2=Module._emscripten_bind_btConeShape__serialize_p2=asm._emscripten_bind_btConeShape__serialize_p2,_emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1=Module._emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1=asm._emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1,_emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0=Module._emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0=asm._emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0,_emscripten_bind_btCapsuleShape__getAabb_p3=Module._emscripten_bind_btCapsuleShape__getAabb_p3=asm._emscripten_bind_btCapsuleShape__getAabb_p3,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1,_emscripten_bind_btTransform__op_mul_p1=Module._emscripten_bind_btTransform__op_mul_p1=asm._emscripten_bind_btTransform__op_mul_p1,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1=Module._emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1=asm._emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1,_emscripten_bind_btRigidBody__removeConstraintRef_p1=Module._emscripten_bind_btRigidBody__removeConstraintRef_p1=asm._emscripten_bind_btRigidBody__removeConstraintRef_p1,_emscripten_bind_btRigidBody__predictIntegratedTransform_p2=Module._emscripten_bind_btRigidBody__predictIntegratedTransform_p2=asm._emscripten_bind_btRigidBody__predictIntegratedTransform_p2,_emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0=Module._emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0=asm._emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0,_emscripten_bind_btConeShape__setConeUpIndex_p1=Module._emscripten_bind_btConeShape__setConeUpIndex_p1=asm._emscripten_bind_btConeShape__setConeUpIndex_p1,_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11=Module._emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11=asm._emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11,_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12=Module._emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12=asm._emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12,_emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1,_emscripten_bind_btCollisionObject__getCompanionId_p0=Module._emscripten_bind_btCollisionObject__getCompanionId_p0=asm._emscripten_bind_btCollisionObject__getCompanionId_p0,_emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1=Module._emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1=asm._emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1,_emscripten_bind_btConeShapeZ__isConvex2d_p0=Module._emscripten_bind_btConeShapeZ__isConvex2d_p0=asm._emscripten_bind_btConeShapeZ__isConvex2d_p0,_emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4=Module._emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4=asm._emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4,_emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1=Module._emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1=asm._emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1,_emscripten_bind_btCollisionObject__getCollisionFlags_p0=Module._emscripten_bind_btCollisionObject__getCollisionFlags_p0=asm._emscripten_bind_btCollisionObject__getCollisionFlags_p0,_emscripten_bind_btHinge2Constraint__getUid_p0=Module._emscripten_bind_btHinge2Constraint__getUid_p0=asm._emscripten_bind_btHinge2Constraint__getUid_p0,_emscripten_bind_btRigidBody__internalWritebackVelocity_p0=Module._emscripten_bind_btRigidBody__internalWritebackVelocity_p0=asm._emscripten_bind_btRigidBody__internalWritebackVelocity_p0,_emscripten_bind_btRigidBody__internalWritebackVelocity_p1=Module._emscripten_bind_btRigidBody__internalWritebackVelocity_p1=asm._emscripten_bind_btRigidBody__internalWritebackVelocity_p1,_emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3=Module._emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3=asm._emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3,_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0=Module._emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0=asm._emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0,_emscripten_bind_btAxisSweep3__updateHandle_p4=Module._emscripten_bind_btAxisSweep3__updateHandle_p4=asm._emscripten_bind_btAxisSweep3__updateHandle_p4,_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5=Module._emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5=asm._emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5,_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4=Module._emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4=asm._emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4,_emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0,_emscripten_bind_btTypedConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btTypedConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btTypedConstraint__setupSolverConstraint_p4,_emscripten_bind_btStaticPlaneShape__isPolyhedral_p0=Module._emscripten_bind_btStaticPlaneShape__isPolyhedral_p0=asm._emscripten_bind_btStaticPlaneShape__isPolyhedral_p0,_emscripten_bind_btGhostObject__internalSetExtensionPointer_p1=Module._emscripten_bind_btGhostObject__internalSetExtensionPointer_p1=asm._emscripten_bind_btGhostObject__internalSetExtensionPointer_p1,_emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0=Module._emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0=asm._emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0,_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0=Module._emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0=asm._emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0,_emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0=Module._emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0=asm._emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0,_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0=Module._emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0=asm._emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1,_emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btCollisionWorld__convexSweepTest_p5=Module._emscripten_bind_btCollisionWorld__convexSweepTest_p5=asm._emscripten_bind_btCollisionWorld__convexSweepTest_p5,_emscripten_bind_btCollisionWorld__convexSweepTest_p4=Module._emscripten_bind_btCollisionWorld__convexSweepTest_p4=asm._emscripten_bind_btCollisionWorld__convexSweepTest_p4,_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0=Module._emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0=asm._emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0,_emscripten_bind_btContactConstraint__getParam_p2=Module._emscripten_bind_btContactConstraint__getParam_p2=asm._emscripten_bind_btContactConstraint__getParam_p2,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0,_emscripten_bind_btDefaultVehicleRaycaster____destroy___p0=Module._emscripten_bind_btDefaultVehicleRaycaster____destroy___p0=asm._emscripten_bind_btDefaultVehicleRaycaster____destroy___p0,_emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3=Module._emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3=asm._emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3,_emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1=Module._emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1=asm._emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1,_emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5=Module._emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5=asm._emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5,_emscripten_bind_btCapsuleShapeX__serialize_p2=Module._emscripten_bind_btCapsuleShapeX__serialize_p2=asm._emscripten_bind_btCapsuleShapeX__serialize_p2,_emscripten_bind_btSliderConstraint__getSolveAngLimit_p0=Module._emscripten_bind_btSliderConstraint__getSolveAngLimit_p0=asm._emscripten_bind_btSliderConstraint__getSolveAngLimit_p0,_emscripten_bind_btUniversalConstraint__setUserConstraintId_p1=Module._emscripten_bind_btUniversalConstraint__setUserConstraintId_p1=asm._emscripten_bind_btUniversalConstraint__setUserConstraintId_p1,_emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2,_emscripten_bind_btCompoundShape__getShapeType_p0=Module._emscripten_bind_btCompoundShape__getShapeType_p0=asm._emscripten_bind_btCompoundShape__getShapeType_p0,_emscripten_bind_btBoxShape__isInside_p2=Module._emscripten_bind_btBoxShape__isInside_p2=asm._emscripten_bind_btBoxShape__isInside_p2,_emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5=Module._emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5=asm._emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5,_emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0,_emscripten_bind_bt32BitAxisSweep3__removeHandle_p2=Module._emscripten_bind_bt32BitAxisSweep3__removeHandle_p2=asm._emscripten_bind_bt32BitAxisSweep3__removeHandle_p2,_emscripten_bind_btBoxShape__getName_p0=Module._emscripten_bind_btBoxShape__getName_p0=asm._emscripten_bind_btBoxShape__getName_p0,_emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0=Module._emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0=asm._emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0=Module._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0=asm._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0,_emscripten_bind_btCompoundShape__isCompound_p0=Module._emscripten_bind_btCompoundShape__isCompound_p0=asm._emscripten_bind_btCompoundShape__isCompound_p0,_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0=Module._emscripten_bind_btConvexHullShape__getUnscaledPoints_p0=asm._emscripten_bind_btConvexHullShape__getUnscaledPoints_p0,_emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0,_emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0,_emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1=Module._emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1=asm._emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1,_emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0=Module._emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0=asm._emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0,_emscripten_bind_btSimpleDynamicsWorld__rayTest_p3=Module._emscripten_bind_btSimpleDynamicsWorld__rayTest_p3=asm._emscripten_bind_btSimpleDynamicsWorld__rayTest_p3,_emscripten_bind_btVector4__furthestAxis_p0=Module._emscripten_bind_btVector4__furthestAxis_p0=asm._emscripten_bind_btVector4__furthestAxis_p0,_emscripten_bind_btEmptyShape__processAllTriangles_p3=Module._emscripten_bind_btEmptyShape__processAllTriangles_p3=asm._emscripten_bind_btEmptyShape__processAllTriangles_p3,_emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1=Module._emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1=asm._emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1,_emscripten_bind_btCollisionObject__isActive_p0=Module._emscripten_bind_btCollisionObject__isActive_p0=asm._emscripten_bind_btCollisionObject__isActive_p0,_emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1=Module._emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1=asm._emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1,_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0,_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9=Module._emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9=asm._emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9,_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8=Module._emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8=asm._emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8,_emscripten_bind_btConeTwistConstraint____destroy___p0=Module._emscripten_bind_btConeTwistConstraint____destroy___p0=asm._emscripten_bind_btConeTwistConstraint____destroy___p0,_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0,_emscripten_bind_btConeShapeZ__setConeUpIndex_p1=Module._emscripten_bind_btConeShapeZ__setConeUpIndex_p1=asm._emscripten_bind_btConeShapeZ__setConeUpIndex_p1,_emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4,_emscripten_bind_btConeTwistConstraint__updateRHS_p1=Module._emscripten_bind_btConeTwistConstraint__updateRHS_p1=asm._emscripten_bind_btConeTwistConstraint__updateRHS_p1,_emscripten_bind_btCollisionDispatcher____destroy___p0=Module._emscripten_bind_btCollisionDispatcher____destroy___p0=asm._emscripten_bind_btCollisionDispatcher____destroy___p0,_emscripten_bind_btTransform__setOrigin_p1=Module._emscripten_bind_btTransform__setOrigin_p1=asm._emscripten_bind_btTransform__setOrigin_p1,_emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0=Module._emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0=asm._emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0,_emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0=Module._emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0=asm._emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0,_emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1=Module._emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1=asm._emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1,_emscripten_bind_btRaycastVehicle____destroy___p0=Module._emscripten_bind_btRaycastVehicle____destroy___p0=asm._emscripten_bind_btRaycastVehicle____destroy___p0,_emscripten_bind_btWheelInfo__set_m_engineForce_p1=Module._emscripten_bind_btWheelInfo__set_m_engineForce_p1=asm._emscripten_bind_btWheelInfo__set_m_engineForce_p1,_emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0=Module._emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0=asm._emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0,_emscripten_bind_btVector3__setMax_p1=Module._emscripten_bind_btVector3__setMax_p1=asm._emscripten_bind_btVector3__setMax_p1,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btConeTwistConstraint__enableFeedback_p1=Module._emscripten_bind_btConeTwistConstraint__enableFeedback_p1=asm._emscripten_bind_btConeTwistConstraint__enableFeedback_p1,_emscripten_bind_btJacobianEntry__getDiagonal_p0=Module._emscripten_bind_btJacobianEntry__getDiagonal_p0=asm._emscripten_bind_btJacobianEntry__getDiagonal_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1,_emscripten_bind_btEmptyShape__calculateTemporalAabb_p6=Module._emscripten_bind_btEmptyShape__calculateTemporalAabb_p6=asm._emscripten_bind_btEmptyShape__calculateTemporalAabb_p6,_emscripten_bind_btAxisSweep3__btAxisSweep3_p5=Module._emscripten_bind_btAxisSweep3__btAxisSweep3_p5=asm._emscripten_bind_btAxisSweep3__btAxisSweep3_p5,_emscripten_bind_btAxisSweep3__btAxisSweep3_p4=Module._emscripten_bind_btAxisSweep3__btAxisSweep3_p4=asm._emscripten_bind_btAxisSweep3__btAxisSweep3_p4,_emscripten_bind_btAxisSweep3__btAxisSweep3_p3=Module._emscripten_bind_btAxisSweep3__btAxisSweep3_p3=asm._emscripten_bind_btAxisSweep3__btAxisSweep3_p3,_emscripten_bind_btAxisSweep3__btAxisSweep3_p2=Module._emscripten_bind_btAxisSweep3__btAxisSweep3_p2=asm._emscripten_bind_btAxisSweep3__btAxisSweep3_p2,_emscripten_bind_btRigidBody__internalGetAngularVelocity_p1=Module._emscripten_bind_btRigidBody__internalGetAngularVelocity_p1=asm._emscripten_bind_btRigidBody__internalGetAngularVelocity_p1,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3,_emscripten_bind_btPersistentManifold__set_m_companionIdB_p1=Module._emscripten_bind_btPersistentManifold__set_m_companionIdB_p1=asm._emscripten_bind_btPersistentManifold__set_m_companionIdB_p1,_emscripten_bind_btConeTwistConstraint__setAngularOnly_p1=Module._emscripten_bind_btConeTwistConstraint__setAngularOnly_p1=asm._emscripten_bind_btConeTwistConstraint__setAngularOnly_p1,_emscripten_bind_btVector4__length2_p0=Module._emscripten_bind_btVector4__length2_p0=asm._emscripten_bind_btVector4__length2_p0,_emscripten_bind_btStorageResult__set_m_closestPointInB_p1=Module._emscripten_bind_btStorageResult__set_m_closestPointInB_p1=asm._emscripten_bind_btStorageResult__set_m_closestPointInB_p1,_emscripten_bind_btIDebugDraw__reportErrorWarning_p1=Module._emscripten_bind_btIDebugDraw__reportErrorWarning_p1=asm._emscripten_bind_btIDebugDraw__reportErrorWarning_p1,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1=Module._emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1=asm._emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1,_emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1=Module._emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1=asm._emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0=Module._emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0=asm._emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1=Module._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1=asm._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1,_emscripten_bind_btMultiSphereShape__isCompound_p0=Module._emscripten_bind_btMultiSphereShape__isCompound_p0=asm._emscripten_bind_btMultiSphereShape__isCompound_p0,_emscripten_bind_btRigidBody__setCenterOfMassTransform_p1=Module._emscripten_bind_btRigidBody__setCenterOfMassTransform_p1=asm._emscripten_bind_btRigidBody__setCenterOfMassTransform_p1,_emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1,_emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1,_emscripten_bind_btUniversalConstraint__setFrames_p2=Module._emscripten_bind_btUniversalConstraint__setFrames_p2=asm._emscripten_bind_btUniversalConstraint__setFrames_p2,_emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1=Module._emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1=asm._emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1,_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2=Module._emscripten_bind_btGhostPairCallback__addOverlappingPair_p2=asm._emscripten_bind_btGhostPairCallback__addOverlappingPair_p2,_emscripten_bind_btUniversalConstraint__getInfo1_p1=Module._emscripten_bind_btUniversalConstraint__getInfo1_p1=asm._emscripten_bind_btUniversalConstraint__getInfo1_p1,_emscripten_bind_btEmptyShape__isSoftBody_p0=Module._emscripten_bind_btEmptyShape__isSoftBody_p0=asm._emscripten_bind_btEmptyShape__isSoftBody_p0,_emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0,_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0=Module._emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0=asm._emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0,_emscripten_bind_btConvexShape__getShapeType_p0=Module._emscripten_bind_btConvexShape__getShapeType_p0=asm._emscripten_bind_btConvexShape__getShapeType_p0,_emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0=Module._emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0=asm._emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0,_emscripten_bind_btHinge2Constraint__getAxis2_p0=Module._emscripten_bind_btHinge2Constraint__getAxis2_p0=asm._emscripten_bind_btHinge2Constraint__getAxis2_p0,_emscripten_bind_btTypedConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btTypedConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btTypedConstraint__setDbgDrawSize_p1,_emscripten_bind_btIndexedMesh____destroy___p0=Module._emscripten_bind_btIndexedMesh____destroy___p0=asm._emscripten_bind_btIndexedMesh____destroy___p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2,_emscripten_bind_btAngularLimit__getBiasFactor_p0=Module._emscripten_bind_btAngularLimit__getBiasFactor_p0=asm._emscripten_bind_btAngularLimit__getBiasFactor_p0,_emscripten_bind_btConvexHullShape__setUserPointer_p1=Module._emscripten_bind_btConvexHullShape__setUserPointer_p1=asm._emscripten_bind_btConvexHullShape__setUserPointer_p1,_emscripten_bind_btDefaultMotionState____destroy___p0=Module._emscripten_bind_btDefaultMotionState____destroy___p0=asm._emscripten_bind_btDefaultMotionState____destroy___p0,_emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3=Module._emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3=asm._emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3,_emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0=Module._emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0=asm._emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0,_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0=Module._emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0=asm._emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0,_emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0,_emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1=Module._emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1=asm._emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1,_emscripten_bind_CProfileNode__Get_Total_Time_p0=Module._emscripten_bind_CProfileNode__Get_Total_Time_p0=asm._emscripten_bind_CProfileNode__Get_Total_Time_p0,_emscripten_bind_btRigidBody__proceedToTransform_p1=Module._emscripten_bind_btRigidBody__proceedToTransform_p1=asm._emscripten_bind_btRigidBody__proceedToTransform_p1,_emscripten_bind_btHinge2Constraint__getParam_p2=Module._emscripten_bind_btHinge2Constraint__getParam_p2=asm._emscripten_bind_btHinge2Constraint__getParam_p2,_emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1,_emscripten_bind_btCompoundShape__isConcave_p0=Module._emscripten_bind_btCompoundShape__isConcave_p0=asm._emscripten_bind_btCompoundShape__isConcave_p0,_emscripten_bind_btHinge2Constraint__getParam_p1=Module._emscripten_bind_btHinge2Constraint__getParam_p1=asm._emscripten_bind_btHinge2Constraint__getParam_p1,_emscripten_bind_btConeShape__isPolyhedral_p0=Module._emscripten_bind_btConeShape__isPolyhedral_p0=asm._emscripten_bind_btConeShape__isPolyhedral_p0,_emscripten_bind_btGhostObject__setCollisionFlags_p1=Module._emscripten_bind_btGhostObject__setCollisionFlags_p1=asm._emscripten_bind_btGhostObject__setCollisionFlags_p1,_emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1,_emscripten_bind_btConeShapeZ__getRadius_p0=Module._emscripten_bind_btConeShapeZ__getRadius_p0=asm._emscripten_bind_btConeShapeZ__getRadius_p0,_emscripten_bind_btConvexInternalShape__getAabb_p3=Module._emscripten_bind_btConvexInternalShape__getAabb_p3=asm._emscripten_bind_btConvexInternalShape__getAabb_p3,_emscripten_bind_btRigidBody__getIslandTag_p0=Module._emscripten_bind_btRigidBody__getIslandTag_p0=asm._emscripten_bind_btRigidBody__getIslandTag_p0,_emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0=Module._emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0=asm._emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1,_emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1,_emscripten_bind_btCompoundShape__setMargin_p1=Module._emscripten_bind_btCompoundShape__setMargin_p1=asm._emscripten_bind_btCompoundShape__setMargin_p1,_emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1,_emscripten_bind_btConvexHullShape__getUserPointer_p0=Module._emscripten_bind_btConvexHullShape__getUserPointer_p0=asm._emscripten_bind_btConvexHullShape__getUserPointer_p0,_emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0=Module._emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0=asm._emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0,_emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0=Module._emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0=asm._emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0,_emscripten_bind_btDynamicsWorld__removeCharacter_p1=Module._emscripten_bind_btDynamicsWorld__removeCharacter_p1=asm._emscripten_bind_btDynamicsWorld__removeCharacter_p1,_emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0,_emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0=Module._emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0=asm._emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0,_emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0=Module._emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0=asm._emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0,_emscripten_bind_btVector3__setW_p1=Module._emscripten_bind_btVector3__setW_p1=asm._emscripten_bind_btVector3__setW_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0,_emscripten_bind_btDynamicsWorld__getGravity_p0=Module._emscripten_bind_btDynamicsWorld__getGravity_p0=asm._emscripten_bind_btDynamicsWorld__getGravity_p0,_emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1=Module._emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1=asm._emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1,_emscripten_bind_btBoxShape__getMargin_p0=Module._emscripten_bind_btBoxShape__getMargin_p0=asm._emscripten_bind_btBoxShape__getMargin_p0,_emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1,_emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1=Module._emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1=asm._emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1,_emscripten_bind_btPoint2PointConstraint__set_m_setting_p1=Module._emscripten_bind_btPoint2PointConstraint__set_m_setting_p1=asm._emscripten_bind_btPoint2PointConstraint__set_m_setting_p1,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0,_emscripten_bind_btSphereShape__isConvex_p0=Module._emscripten_bind_btSphereShape__isConvex_p0=asm._emscripten_bind_btSphereShape__isConvex_p0,_emscripten_bind_btConeTwistConstraint__needsFeedback_p0=Module._emscripten_bind_btConeTwistConstraint__needsFeedback_p0=asm._emscripten_bind_btConeTwistConstraint__needsFeedback_p0,_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0=Module._emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0=asm._emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0,_emscripten_bind_btRigidBody__internalApplyImpulse_p3=Module._emscripten_bind_btRigidBody__internalApplyImpulse_p3=asm._emscripten_bind_btRigidBody__internalApplyImpulse_p3,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1,_emscripten_bind_btContactConstraint__setEnabled_p1=Module._emscripten_bind_btContactConstraint__setEnabled_p1=asm._emscripten_bind_btContactConstraint__setEnabled_p1,_emscripten_bind_btConvexInternalShape__getUserPointer_p0=Module._emscripten_bind_btConvexInternalShape__getUserPointer_p0=asm._emscripten_bind_btConvexInternalShape__getUserPointer_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2,_emscripten_bind_btQuadWord__getZ_p0=Module._emscripten_bind_btQuadWord__getZ_p0=asm._emscripten_bind_btQuadWord__getZ_p0,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0=Module._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0=asm._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0,_emscripten_bind_btRigidBody__isStaticObject_p0=Module._emscripten_bind_btRigidBody__isStaticObject_p0=asm._emscripten_bind_btRigidBody__isStaticObject_p0,_emscripten_bind_bt32BitAxisSweep3__setAabb_p4=Module._emscripten_bind_bt32BitAxisSweep3__setAabb_p4=asm._emscripten_bind_bt32BitAxisSweep3__setAabb_p4,_emscripten_bind_btOptimizedBvh__refit_p3=Module._emscripten_bind_btOptimizedBvh__refit_p3=asm._emscripten_bind_btOptimizedBvh__refit_p3,_emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1,_emscripten_bind_btTypedConstraint__getParam_p2=Module._emscripten_bind_btTypedConstraint__getParam_p2=asm._emscripten_bind_btTypedConstraint__getParam_p2,_emscripten_bind_btTypedConstraint__getParam_p1=Module._emscripten_bind_btTypedConstraint__getParam_p1=asm._emscripten_bind_btTypedConstraint__getParam_p1,_emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3=Module._emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3=asm._emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3,_emscripten_bind_btQuaternion__getAngle_p0=Module._emscripten_bind_btQuaternion__getAngle_p0=asm._emscripten_bind_btQuaternion__getAngle_p0,_emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1,_emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1=Module._emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1=asm._emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1,_emscripten_bind_btEmptyShape__serialize_p2=Module._emscripten_bind_btEmptyShape__serialize_p2=asm._emscripten_bind_btEmptyShape__serialize_p2,_emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6=Module._emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6=asm._emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6,_emscripten_bind_btBroadphaseInterface__rayTest_p5=Module._emscripten_bind_btBroadphaseInterface__rayTest_p5=asm._emscripten_bind_btBroadphaseInterface__rayTest_p5,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1,_emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1,_emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1=Module._emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1=asm._emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0,_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5=Module._emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5=asm._emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5,_emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2,_emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0,_emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0=Module._emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0=asm._emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0,_emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0=Module._emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0=asm._emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0,_emscripten_bind_btCollisionObject__setBroadphaseHandle_p1=Module._emscripten_bind_btCollisionObject__setBroadphaseHandle_p1=asm._emscripten_bind_btCollisionObject__setBroadphaseHandle_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1,_emscripten_bind_btConeShape__isSoftBody_p0=Module._emscripten_bind_btConeShape__isSoftBody_p0=asm._emscripten_bind_btConeShape__isSoftBody_p0,_emscripten_bind_btConvexTriangleMeshShape__isInside_p2=Module._emscripten_bind_btConvexTriangleMeshShape__isInside_p2=asm._emscripten_bind_btConvexTriangleMeshShape__isInside_p2,_emscripten_bind_btVector3__deSerializeFloat_p1=Module._emscripten_bind_btVector3__deSerializeFloat_p1=asm._emscripten_bind_btVector3__deSerializeFloat_p1,_emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0=Module._emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0=asm._emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0,_emscripten_bind_btPairCachingGhostObject__getUserPointer_p0=Module._emscripten_bind_btPairCachingGhostObject__getUserPointer_p0=asm._emscripten_bind_btPairCachingGhostObject__getUserPointer_p0,_emscripten_bind_btOptimizedBvh__serialize_p3=Module._emscripten_bind_btOptimizedBvh__serialize_p3=asm._emscripten_bind_btOptimizedBvh__serialize_p3,_emscripten_bind_btOptimizedBvh__serialize_p2=Module._emscripten_bind_btOptimizedBvh__serialize_p2=asm._emscripten_bind_btOptimizedBvh__serialize_p2,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btUniformScalingShape__getBoundingSphere_p2=Module._emscripten_bind_btUniformScalingShape__getBoundingSphere_p2=asm._emscripten_bind_btUniformScalingShape__getBoundingSphere_p2,_emscripten_bind_btQuadWord__getY_p0=Module._emscripten_bind_btQuadWord__getY_p0=asm._emscripten_bind_btQuadWord__getY_p0,_emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0=Module._emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0=asm._emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0,_emscripten_bind_btUniversalConstraint__getAngle_p1=Module._emscripten_bind_btUniversalConstraint__getAngle_p1=asm._emscripten_bind_btUniversalConstraint__getAngle_p1,_emscripten_bind_btSliderConstraint__buildJacobian_p0=Module._emscripten_bind_btSliderConstraint__buildJacobian_p0=asm._emscripten_bind_btSliderConstraint__buildJacobian_p0,_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0=Module._emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0=asm._emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0,_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1=Module._emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1=asm._emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1,_emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0=Module._emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0=asm._emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0,_emscripten_bind_btBoxShape__isPolyhedral_p0=Module._emscripten_bind_btBoxShape__isPolyhedral_p0=asm._emscripten_bind_btBoxShape__isPolyhedral_p0,_emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1,_emscripten_bind_btVector4__maxAxis_p0=Module._emscripten_bind_btVector4__maxAxis_p0=asm._emscripten_bind_btVector4__maxAxis_p0,_emscripten_bind_btRigidBody__checkCollideWith_p1=Module._emscripten_bind_btRigidBody__checkCollideWith_p1=asm._emscripten_bind_btRigidBody__checkCollideWith_p1,_emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1,_emscripten_bind_btHinge2Constraint__getAxis1_p0=Module._emscripten_bind_btHinge2Constraint__getAxis1_p0=asm._emscripten_bind_btHinge2Constraint__getAxis1_p0,_emscripten_bind_btCapsuleShapeX__setUserPointer_p1=Module._emscripten_bind_btCapsuleShapeX__setUserPointer_p1=asm._emscripten_bind_btCapsuleShapeX__setUserPointer_p1,_emscripten_bind_btQuadWord__getX_p0=Module._emscripten_bind_btQuadWord__getX_p0=asm._emscripten_bind_btQuadWord__getX_p0,_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1,_emscripten_bind_btCapsuleShape__isInfinite_p0=Module._emscripten_bind_btCapsuleShape__isInfinite_p0=asm._emscripten_bind_btCapsuleShape__isInfinite_p0,_emscripten_bind_btCompoundShape__getNumChildShapes_p0=Module._emscripten_bind_btCompoundShape__getNumChildShapes_p0=asm._emscripten_bind_btCompoundShape__getNumChildShapes_p0,_emscripten_bind_btOptimizedBvh__buildInternal_p0=Module._emscripten_bind_btOptimizedBvh__buildInternal_p0=asm._emscripten_bind_btOptimizedBvh__buildInternal_p0,_emscripten_bind_btUniversalConstraint__setAxis_p2=Module._emscripten_bind_btUniversalConstraint__setAxis_p2=asm._emscripten_bind_btUniversalConstraint__setAxis_p2,_emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1=Module._emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1=asm._emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1,_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1=Module._emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1=asm._emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1,_emscripten_bind_btManifoldPoint__btManifoldPoint_p4=Module._emscripten_bind_btManifoldPoint__btManifoldPoint_p4=asm._emscripten_bind_btManifoldPoint__btManifoldPoint_p4,_emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0,_emscripten_bind_btDbvtBroadphase__set_m_cid_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_cid_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_cid_p1,_emscripten_bind_btDbvtProxy__isSoftBody_p1=Module._emscripten_bind_btDbvtProxy__isSoftBody_p1=asm._emscripten_bind_btDbvtProxy__isSoftBody_p1,_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11=Module._emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11=asm._emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11,_emscripten_bind_btPersistentManifold__set_m_objectType_p1=Module._emscripten_bind_btPersistentManifold__set_m_objectType_p1=asm._emscripten_bind_btPersistentManifold__set_m_objectType_p1,_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0=Module._emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0=asm._emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1=Module._emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1=asm._emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2=Module._emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2=asm._emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3=Module._emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3=asm._emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3,_emscripten_bind_btHinge2Constraint__enableFeedback_p1=Module._emscripten_bind_btHinge2Constraint__enableFeedback_p1=asm._emscripten_bind_btHinge2Constraint__enableFeedback_p1,_emscripten_bind_btIDebugDraw__drawAabb_p3=Module._emscripten_bind_btIDebugDraw__drawAabb_p3=asm._emscripten_bind_btIDebugDraw__drawAabb_p3,_emscripten_bind_btGeneric6DofConstraint__isLimited_p1=Module._emscripten_bind_btGeneric6DofConstraint__isLimited_p1=asm._emscripten_bind_btGeneric6DofConstraint__isLimited_p1,_emscripten_bind_btGeneric6DofConstraint__setLimit_p3=Module._emscripten_bind_btGeneric6DofConstraint__setLimit_p3=asm._emscripten_bind_btGeneric6DofConstraint__setLimit_p3,_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1=Module._emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1=asm._emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1,_emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1,_emscripten_bind_btContactConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btContactConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btContactConstraint__getDbgDrawSize_p0,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2=Module._emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2=asm._emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2,_emscripten_bind_btSliderConstraint__setUserConstraintId_p1=Module._emscripten_bind_btSliderConstraint__setUserConstraintId_p1=asm._emscripten_bind_btSliderConstraint__setUserConstraintId_p1,_emscripten_bind_btDiscreteDynamicsWorld____destroy___p0=Module._emscripten_bind_btDiscreteDynamicsWorld____destroy___p0=asm._emscripten_bind_btDiscreteDynamicsWorld____destroy___p0,_emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btCylinderShape__getName_p0=Module._emscripten_bind_btCylinderShape__getName_p0=asm._emscripten_bind_btCylinderShape__getName_p0,_emscripten_bind_btTypedConstraint__setUserConstraintType_p1=Module._emscripten_bind_btTypedConstraint__setUserConstraintType_p1=asm._emscripten_bind_btTypedConstraint__setUserConstraintType_p1,_emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0=Module._emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0=asm._emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0,_emscripten_bind_btVector3__op_set_p1=Module._emscripten_bind_btVector3__op_set_p1=asm._emscripten_bind_btVector3__op_set_p1,_emscripten_bind_btVector3__deSerializeDouble_p1=Module._emscripten_bind_btVector3__deSerializeDouble_p1=asm._emscripten_bind_btVector3__deSerializeDouble_p1,_emscripten_bind_btAxisSweep3__getHandle_p1=Module._emscripten_bind_btAxisSweep3__getHandle_p1=asm._emscripten_bind_btAxisSweep3__getHandle_p1,_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0=Module._emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0=asm._emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0,_emscripten_bind_btRigidBody__checkCollideWithOverride_p1=Module._emscripten_bind_btRigidBody__checkCollideWithOverride_p1=asm._emscripten_bind_btRigidBody__checkCollideWithOverride_p1,_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0=Module._emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0=asm._emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0,_emscripten_bind_btUniversalConstraint__calculateTransforms_p2=Module._emscripten_bind_btUniversalConstraint__calculateTransforms_p2=asm._emscripten_bind_btUniversalConstraint__calculateTransforms_p2,_emscripten_bind_btUniversalConstraint__calculateTransforms_p0=Module._emscripten_bind_btUniversalConstraint__calculateTransforms_p0=asm._emscripten_bind_btUniversalConstraint__calculateTransforms_p0,_emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2=Module._emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2=asm._emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2,_emscripten_bind_btConeTwistConstraint__buildJacobian_p0=Module._emscripten_bind_btConeTwistConstraint__buildJacobian_p0=asm._emscripten_bind_btConeTwistConstraint__buildJacobian_p0,_emscripten_bind_btRigidBody__addConstraintRef_p1=Module._emscripten_bind_btRigidBody__addConstraintRef_p1=asm._emscripten_bind_btRigidBody__addConstraintRef_p1,_emscripten_bind_btConeShape__localGetSupportingVertex_p1=Module._emscripten_bind_btConeShape__localGetSupportingVertex_p1=asm._emscripten_bind_btConeShape__localGetSupportingVertex_p1,_emscripten_bind_btConeShape__getRadius_p0=Module._emscripten_bind_btConeShape__getRadius_p0=asm._emscripten_bind_btConeShape__getRadius_p0,_emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3=Module._emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3=asm._emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3,_emscripten_bind_btDynamicsWorld__rayTest_p3=Module._emscripten_bind_btDynamicsWorld__rayTest_p3=asm._emscripten_bind_btDynamicsWorld__rayTest_p3,_emscripten_bind_btQuaternion__normalize_p0=Module._emscripten_bind_btQuaternion__normalize_p0=asm._emscripten_bind_btQuaternion__normalize_p0,_emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0=Module._emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0=asm._emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0,_emscripten_bind_btMatrix3x3__transposeTimes_p1=Module._emscripten_bind_btMatrix3x3__transposeTimes_p1=asm._emscripten_bind_btMatrix3x3__transposeTimes_p1,_emscripten_bind_btConcaveShape__isSoftBody_p0=Module._emscripten_bind_btConcaveShape__isSoftBody_p0=asm._emscripten_bind_btConcaveShape__isSoftBody_p0,_emscripten_bind_btConvexTriangleMeshShape__getAabb_p3=Module._emscripten_bind_btConvexTriangleMeshShape__getAabb_p3=asm._emscripten_bind_btConvexTriangleMeshShape__getAabb_p3,_emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3=Module._emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3=asm._emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3,_emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2=Module._emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2=asm._emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2,_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0=Module._emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0=asm._emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0,_emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6=Module._emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6=asm._emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6,_emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0,_emscripten_bind_btCollisionDispatcher__needsCollision_p2=Module._emscripten_bind_btCollisionDispatcher__needsCollision_p2=asm._emscripten_bind_btCollisionDispatcher__needsCollision_p2,_emscripten_bind_btVector4__serialize_p1=Module._emscripten_bind_btVector4__serialize_p1=asm._emscripten_bind_btVector4__serialize_p1,_emscripten_bind_btHingeConstraint__btHingeConstraint_p4=Module._emscripten_bind_btHingeConstraint__btHingeConstraint_p4=asm._emscripten_bind_btHingeConstraint__btHingeConstraint_p4,_emscripten_bind_btHingeConstraint__btHingeConstraint_p7=Module._emscripten_bind_btHingeConstraint__btHingeConstraint_p7=asm._emscripten_bind_btHingeConstraint__btHingeConstraint_p7,_emscripten_bind_btHingeConstraint__btHingeConstraint_p6=Module._emscripten_bind_btHingeConstraint__btHingeConstraint_p6=asm._emscripten_bind_btHingeConstraint__btHingeConstraint_p6,_emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0,_emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1=Module._emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1=asm._emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1,_emscripten_bind_btBoxShape__getLocalScaling_p0=Module._emscripten_bind_btBoxShape__getLocalScaling_p0=asm._emscripten_bind_btBoxShape__getLocalScaling_p0,_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0=Module._emscripten_bind_btUniversalConstraint__getRigidBodyA_p0=asm._emscripten_bind_btUniversalConstraint__getRigidBodyA_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0,_emscripten_bind_btPersistentManifold__setBodies_p2=Module._emscripten_bind_btPersistentManifold__setBodies_p2=asm._emscripten_bind_btPersistentManifold__setBodies_p2,_emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0=Module._emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0=asm._emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0,_emscripten_bind_btUniversalConstraint__getUid_p0=Module._emscripten_bind_btUniversalConstraint__getUid_p0=asm._emscripten_bind_btUniversalConstraint__getUid_p0,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1,_emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1=Module._emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1=asm._emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1,_emscripten_bind_btCollisionShape__isConcave_p0=Module._emscripten_bind_btCollisionShape__isConcave_p0=asm._emscripten_bind_btCollisionShape__isConcave_p0,_emscripten_bind_btHingeConstraint__setEnabled_p1=Module._emscripten_bind_btHingeConstraint__setEnabled_p1=asm._emscripten_bind_btHingeConstraint__setEnabled_p1,_emscripten_bind_btSliderConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btSliderConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btSliderConstraint__setupSolverConstraint_p4,_emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2=Module._emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2=asm._emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2,_emscripten_bind_btRigidBody__integrateVelocities_p1=Module._emscripten_bind_btRigidBody__integrateVelocities_p1=asm._emscripten_bind_btRigidBody__integrateVelocities_p1,_emscripten_bind_btRigidBody__internalGetInvMass_p0=Module._emscripten_bind_btRigidBody__internalGetInvMass_p0=asm._emscripten_bind_btRigidBody__internalGetInvMass_p0,_emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1=Module._emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1=asm._emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1,_emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1=Module._emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1=asm._emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1,_emscripten_bind_btTypedConstraint____destroy___p0=Module._emscripten_bind_btTypedConstraint____destroy___p0=asm._emscripten_bind_btTypedConstraint____destroy___p0,_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1=Module._emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1=asm._emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1,_emscripten_bind_btHingeConstraint__getLowerLimit_p0=Module._emscripten_bind_btHingeConstraint__getLowerLimit_p0=asm._emscripten_bind_btHingeConstraint__getLowerLimit_p0,_emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1=Module._emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1=asm._emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1,_emscripten_bind_btQuaternion__getX_p0=Module._emscripten_bind_btQuaternion__getX_p0=asm._emscripten_bind_btQuaternion__getX_p0,_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0=Module._emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0=asm._emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0,_emscripten_bind_btConeTwistConstraint__isEnabled_p0=Module._emscripten_bind_btConeTwistConstraint__isEnabled_p0=asm._emscripten_bind_btConeTwistConstraint__isEnabled_p0,_strlen=Module._strlen=asm._strlen,_emscripten_bind_btWheelInfo__get_m_deltaRotation_p0=Module._emscripten_bind_btWheelInfo__get_m_deltaRotation_p0=asm._emscripten_bind_btWheelInfo__get_m_deltaRotation_p0,_emscripten_bind_btQuaternion__getY_p0=Module._emscripten_bind_btQuaternion__getY_p0=asm._emscripten_bind_btQuaternion__getY_p0,_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3=Module._emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3=asm._emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3,_emscripten_bind_btDynamicsWorld__setConstraintSolver_p1=Module._emscripten_bind_btDynamicsWorld__setConstraintSolver_p1=asm._emscripten_bind_btDynamicsWorld__setConstraintSolver_p1,_emscripten_bind_btUniformScalingShape__getUserPointer_p0=Module._emscripten_bind_btUniformScalingShape__getUserPointer_p0=asm._emscripten_bind_btUniformScalingShape__getUserPointer_p0,_emscripten_bind_btHashString__get_m_hash_p0=Module._emscripten_bind_btHashString__get_m_hash_p0=asm._emscripten_bind_btHashString__get_m_hash_p0,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btHingeConstraint__getInfo1_p1=Module._emscripten_bind_btHingeConstraint__getInfo1_p1=asm._emscripten_bind_btHingeConstraint__getInfo1_p1,_emscripten_bind_btConeShapeZ__isConcave_p0=Module._emscripten_bind_btConeShapeZ__isConcave_p0=asm._emscripten_bind_btConeShapeZ__isConcave_p0,_emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1,_emscripten_bind_btDbvtBroadphase__collide_p1=Module._emscripten_bind_btDbvtBroadphase__collide_p1=asm._emscripten_bind_btDbvtBroadphase__collide_p1,_emscripten_bind_btTriangleInfo__set_m_flags_p1=Module._emscripten_bind_btTriangleInfo__set_m_flags_p1=asm._emscripten_bind_btTriangleInfo__set_m_flags_p1,_emscripten_bind_btBU_Simplex1to4__addVertex_p1=Module._emscripten_bind_btBU_Simplex1to4__addVertex_p1=asm._emscripten_bind_btBU_Simplex1to4__addVertex_p1,_emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1,_emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0,_emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0,_emscripten_bind_btCollisionDispatcher__getNearCallback_p0=Module._emscripten_bind_btCollisionDispatcher__getNearCallback_p0=asm._emscripten_bind_btCollisionDispatcher__getNearCallback_p0,_emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btWheelInfo____destroy___p0=Module._emscripten_bind_btWheelInfo____destroy___p0=asm._emscripten_bind_btWheelInfo____destroy___p0,_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0=Module._emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0=asm._emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0,_emscripten_bind_btUniformScalingShape__serializeSingleShape_p1=Module._emscripten_bind_btUniformScalingShape__serializeSingleShape_p1=asm._emscripten_bind_btUniformScalingShape__serializeSingleShape_p1,_emscripten_bind_btConeShapeX__getConeUpIndex_p0=Module._emscripten_bind_btConeShapeX__getConeUpIndex_p0=asm._emscripten_bind_btConeShapeX__getConeUpIndex_p0,_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0,_emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0,_emscripten_bind_btUniversalConstraint__getAxis1_p0=Module._emscripten_bind_btUniversalConstraint__getAxis1_p0=asm._emscripten_bind_btUniversalConstraint__getAxis1_p0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0,_emscripten_bind_btDispatcherInfo__get_m_stepCount_p0=Module._emscripten_bind_btDispatcherInfo__get_m_stepCount_p0=asm._emscripten_bind_btDispatcherInfo__get_m_stepCount_p0,_emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3=Module._emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3=asm._emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3,_emscripten_bind_btQuadWord__w_p0=Module._emscripten_bind_btQuadWord__w_p0=asm._emscripten_bind_btQuadWord__w_p0,_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0,_emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1=Module._emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1=asm._emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1,_emscripten_bind_btConeTwistConstraint__getConstraintType_p0=Module._emscripten_bind_btConeTwistConstraint__getConstraintType_p0=asm._emscripten_bind_btConeTwistConstraint__getConstraintType_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1,_emscripten_bind_btCompoundShape__getChildList_p0=Module._emscripten_bind_btCompoundShape__getChildList_p0=asm._emscripten_bind_btCompoundShape__getChildList_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1=Module._emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1=asm._emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1,_emscripten_bind_btGhostObject__isActive_p0=Module._emscripten_bind_btGhostObject__isActive_p0=asm._emscripten_bind_btGhostObject__isActive_p0,_emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0=Module._emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0=asm._emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0,_emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1=Module._emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1=asm._emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1,_emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3=Module._emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3=asm._emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3,_emscripten_bind_btGhostObject__getContactProcessingThreshold_p0=Module._emscripten_bind_btGhostObject__getContactProcessingThreshold_p0=asm._emscripten_bind_btGhostObject__getContactProcessingThreshold_p0,_emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1=Module._emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1=asm._emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1,_emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3=Module._emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3=asm._emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3,_emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btGhostObject__setAnisotropicFriction_p1=Module._emscripten_bind_btGhostObject__setAnisotropicFriction_p1=asm._emscripten_bind_btGhostObject__setAnisotropicFriction_p1,_emscripten_bind_btManifoldPoint__getDistance_p0=Module._emscripten_bind_btManifoldPoint__getDistance_p0=asm._emscripten_bind_btManifoldPoint__getDistance_p0,_emscripten_bind_btHashInt__getHash_p0=Module._emscripten_bind_btHashInt__getHash_p0=asm._emscripten_bind_btHashInt__getHash_p0,_emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6,_emscripten_bind_CProfileSample____destroy___p0=Module._emscripten_bind_CProfileSample____destroy___p0=asm._emscripten_bind_CProfileSample____destroy___p0,_emscripten_bind_btHinge2Constraint__calcAnchorPos_p0=Module._emscripten_bind_btHinge2Constraint__calcAnchorPos_p0=asm._emscripten_bind_btHinge2Constraint__calcAnchorPos_p0,_emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1=Module._emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1=asm._emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1,_emscripten_bind_btPoint2PointConstraint__serialize_p2=Module._emscripten_bind_btPoint2PointConstraint__serialize_p2=asm._emscripten_bind_btPoint2PointConstraint__serialize_p2,_emscripten_bind_btUniversalConstraint__getParam_p2=Module._emscripten_bind_btUniversalConstraint__getParam_p2=asm._emscripten_bind_btUniversalConstraint__getParam_p2,_emscripten_bind_btConeShapeZ__getConeUpIndex_p0=Module._emscripten_bind_btConeShapeZ__getConeUpIndex_p0=asm._emscripten_bind_btConeShapeZ__getConeUpIndex_p0,_emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0=Module._emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0=asm._emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0,_emscripten_bind_btConstraintSetting__btConstraintSetting_p0=Module._emscripten_bind_btConstraintSetting__btConstraintSetting_p0=asm._emscripten_bind_btConstraintSetting__btConstraintSetting_p0,_emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0,_emscripten_bind_btGeneric6DofConstraint__setParam_p3=Module._emscripten_bind_btGeneric6DofConstraint__setParam_p3=asm._emscripten_bind_btGeneric6DofConstraint__setParam_p3,_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0=Module._emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0=asm._emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0,_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0=Module._emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0=asm._emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0,_emscripten_bind_btCapsuleShapeZ__isInfinite_p0=Module._emscripten_bind_btCapsuleShapeZ__isInfinite_p0=asm._emscripten_bind_btCapsuleShapeZ__isInfinite_p0,_emscripten_bind_btDbvtProxy__get_m_uniqueId_p0=Module._emscripten_bind_btDbvtProxy__get_m_uniqueId_p0=asm._emscripten_bind_btDbvtProxy__get_m_uniqueId_p0,_emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0,_emscripten_bind_btBroadphaseInterface__resetPool_p1=Module._emscripten_bind_btBroadphaseInterface__resetPool_p1=asm._emscripten_bind_btBroadphaseInterface__resetPool_p1,_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11=Module._emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11=asm._emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11,_emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1,_emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0=Module._emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0=asm._emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0,_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12=Module._emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12=asm._emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12,_emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0=Module._emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0=asm._emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0,_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1=Module._emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1=asm._emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1,_emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0,_emscripten_bind_btContactConstraint__setUserConstraintId_p1=Module._emscripten_bind_btContactConstraint__setUserConstraintId_p1=asm._emscripten_bind_btContactConstraint__setUserConstraintId_p1,_emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1=Module._emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1=asm._emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1,_emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1=Module._emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1=asm._emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1,_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0=Module._emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0=asm._emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1=Module._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1=asm._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1,_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btQuadWord__setValue_p4=Module._emscripten_bind_btQuadWord__setValue_p4=asm._emscripten_bind_btQuadWord__setValue_p4,_emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1,_emscripten_bind_btQuadWord__y_p0=Module._emscripten_bind_btQuadWord__y_p0=asm._emscripten_bind_btQuadWord__y_p0,_emscripten_bind_btQuadWord__setValue_p3=Module._emscripten_bind_btQuadWord__setValue_p3=asm._emscripten_bind_btQuadWord__setValue_p3,_emscripten_bind_btRigidBody__getInvMass_p0=Module._emscripten_bind_btRigidBody__getInvMass_p0=asm._emscripten_bind_btRigidBody__getInvMass_p0,_emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1,_emscripten_bind_btCollisionObject__getUserPointer_p0=Module._emscripten_bind_btCollisionObject__getUserPointer_p0=asm._emscripten_bind_btCollisionObject__getUserPointer_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0,_emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1=Module._emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1=asm._emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1,_emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0=Module._emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0=asm._emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0,_emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0=Module._emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0=asm._emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0,_emscripten_bind_btWheelInfo__get_m_rotation_p0=Module._emscripten_bind_btWheelInfo__get_m_rotation_p0=asm._emscripten_bind_btWheelInfo__get_m_rotation_p0,_emscripten_bind_btQuantizedBvh__unQuantize_p1=Module._emscripten_bind_btQuantizedBvh__unQuantize_p1=asm._emscripten_bind_btQuantizedBvh__unQuantize_p1,_emscripten_bind_btUniversalConstraint__getAxis2_p0=Module._emscripten_bind_btUniversalConstraint__getAxis2_p0=asm._emscripten_bind_btUniversalConstraint__getAxis2_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0,_emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0,_emscripten_bind_btTypedConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btTypedConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btTypedConstraint__getDbgDrawSize_p0,_emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0=Module._emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0=asm._emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0,_emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0=Module._emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0=asm._emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0,_emscripten_bind_btQuantizedBvh__quantize_p3=Module._emscripten_bind_btQuantizedBvh__quantize_p3=asm._emscripten_bind_btQuantizedBvh__quantize_p3,_emscripten_bind_btDynamicsWorld__removeCollisionObject_p1=Module._emscripten_bind_btDynamicsWorld__removeCollisionObject_p1=asm._emscripten_bind_btDynamicsWorld__removeCollisionObject_p1,_emscripten_bind_btVector4__closestAxis4_p0=Module._emscripten_bind_btVector4__closestAxis4_p0=asm._emscripten_bind_btVector4__closestAxis4_p0,_emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1,_emscripten_bind_btGhostObject__getAnisotropicFriction_p0=Module._emscripten_bind_btGhostObject__getAnisotropicFriction_p0=asm._emscripten_bind_btGhostObject__getAnisotropicFriction_p0,_emscripten_bind_btCollisionObject__forceActivationState_p1=Module._emscripten_bind_btCollisionObject__forceActivationState_p1=asm._emscripten_bind_btCollisionObject__forceActivationState_p1,_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0,_emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1=Module._emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1=asm._emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1,_emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0,_emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0=Module._emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0=asm._emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0,_emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btConvexHullShape__isNonMoving_p0=Module._emscripten_bind_btConvexHullShape__isNonMoving_p0=asm._emscripten_bind_btConvexHullShape__isNonMoving_p0,_emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1,_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0=Module._emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0=asm._emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0,_emscripten_bind_btConvexHullShape__isInside_p2=Module._emscripten_bind_btConvexHullShape__isInside_p2=asm._emscripten_bind_btConvexHullShape__isInside_p2,_emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5=Module._emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5=asm._emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5,_emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1=Module._emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1=asm._emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1,_emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0=Module._emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0=asm._emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0,_emscripten_bind_btSphereShape__serializeSingleShape_p1=Module._emscripten_bind_btSphereShape__serializeSingleShape_p1=asm._emscripten_bind_btSphereShape__serializeSingleShape_p1,_emscripten_bind_btCylinderShapeX__serializeSingleShape_p1=Module._emscripten_bind_btCylinderShapeX__serializeSingleShape_p1=asm._emscripten_bind_btCylinderShapeX__serializeSingleShape_p1,_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0=Module._emscripten_bind_btHinge2Constraint__getRigidBodyA_p0=asm._emscripten_bind_btHinge2Constraint__getRigidBodyA_p0,_emscripten_bind_btCollisionObject__setRestitution_p1=Module._emscripten_bind_btCollisionObject__setRestitution_p1=asm._emscripten_bind_btCollisionObject__setRestitution_p1,_emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2,_emscripten_bind_btHashString__set_m_string_p1=Module._emscripten_bind_btHashString__set_m_string_p1=asm._emscripten_bind_btHashString__set_m_string_p1,_emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0,_emscripten_bind_btConvexHullShape__isSoftBody_p0=Module._emscripten_bind_btConvexHullShape__isSoftBody_p0=asm._emscripten_bind_btConvexHullShape__isSoftBody_p0,_emscripten_bind_btRigidBody__getLinearVelocity_p0=Module._emscripten_bind_btRigidBody__getLinearVelocity_p0=asm._emscripten_bind_btRigidBody__getLinearVelocity_p0,_emscripten_bind_btRigidBody__applyTorque_p1=Module._emscripten_bind_btRigidBody__applyTorque_p1=asm._emscripten_bind_btRigidBody__applyTorque_p1,_emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1,_emscripten_bind_btConvexShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConvexShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConvexShape__getContactBreakingThreshold_p1,_emscripten_bind_btIndexedMesh__set_m_vertexType_p1=Module._emscripten_bind_btIndexedMesh__set_m_vertexType_p1=asm._emscripten_bind_btIndexedMesh__set_m_vertexType_p1,_emscripten_bind_btCollisionObject__hasContactResponse_p0=Module._emscripten_bind_btCollisionObject__hasContactResponse_p0=asm._emscripten_bind_btCollisionObject__hasContactResponse_p0,_emscripten_bind_btPolyhedralConvexShape__getEdge_p3=Module._emscripten_bind_btPolyhedralConvexShape__getEdge_p3=asm._emscripten_bind_btPolyhedralConvexShape__getEdge_p3,_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9=Module._emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9=asm._emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9,_emscripten_bind_btCapsuleShape__setLocalScaling_p1=Module._emscripten_bind_btCapsuleShape__setLocalScaling_p1=asm._emscripten_bind_btCapsuleShape__setLocalScaling_p1,_emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2,_emscripten_bind_btPolyhedralConvexShape__getVertex_p2=Module._emscripten_bind_btPolyhedralConvexShape__getVertex_p2=asm._emscripten_bind_btPolyhedralConvexShape__getVertex_p2,_emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0=Module._emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0=asm._emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0,_emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0=Module._emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0=asm._emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0,_emscripten_bind_btGhostObject__setUserPointer_p1=Module._emscripten_bind_btGhostObject__setUserPointer_p1=asm._emscripten_bind_btGhostObject__setUserPointer_p1,_emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0,_emscripten_bind_btGeneric6DofConstraint__setFrames_p2=Module._emscripten_bind_btGeneric6DofConstraint__setFrames_p2=asm._emscripten_bind_btGeneric6DofConstraint__setFrames_p2,_emscripten_bind_btUniversalConstraint__setUpperLimit_p2=Module._emscripten_bind_btUniversalConstraint__setUpperLimit_p2=asm._emscripten_bind_btUniversalConstraint__setUpperLimit_p2,_emscripten_bind_btConvexHullShape__getScaledPoint_p1=Module._emscripten_bind_btConvexHullShape__getScaledPoint_p1=asm._emscripten_bind_btConvexHullShape__getScaledPoint_p1,_emscripten_bind_btConeShapeX__getUserPointer_p0=Module._emscripten_bind_btConeShapeX__getUserPointer_p0=asm._emscripten_bind_btConeShapeX__getUserPointer_p0,_emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1=Module._emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1=asm._emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1=Module._emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1=asm._emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1,_emscripten_bind_btSliderConstraint__set_m_objectType_p1=Module._emscripten_bind_btSliderConstraint__set_m_objectType_p1=asm._emscripten_bind_btSliderConstraint__set_m_objectType_p1,_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getGravity_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getGravity_p0,_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0=Module._emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0=asm._emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0,_emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1=Module._emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1=asm._emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1,_emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0,_emscripten_bind_btConeShapeZ__getBoundingSphere_p2=Module._emscripten_bind_btConeShapeZ__getBoundingSphere_p2=asm._emscripten_bind_btConeShapeZ__getBoundingSphere_p2,_emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4=Module._emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4=asm._emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4,_emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0,_emscripten_bind_btConeShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConeShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConeShape__setImplicitShapeDimensions_p1,_emscripten_bind_btBroadphaseRayCallback__process_p1=Module._emscripten_bind_btBroadphaseRayCallback__process_p1=asm._emscripten_bind_btBroadphaseRayCallback__process_p1,_emscripten_bind_btSimpleBroadphase__rayTest_p5=Module._emscripten_bind_btSimpleBroadphase__rayTest_p5=asm._emscripten_bind_btSimpleBroadphase__rayTest_p5,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btRigidBody__applyTorqueImpulse_p1=Module._emscripten_bind_btRigidBody__applyTorqueImpulse_p1=asm._emscripten_bind_btRigidBody__applyTorqueImpulse_p1,_emscripten_bind_btMultiSphereShape__isInfinite_p0=Module._emscripten_bind_btMultiSphereShape__isInfinite_p0=asm._emscripten_bind_btMultiSphereShape__isInfinite_p0,_emscripten_bind_btContactConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btContactConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btContactConstraint__setupSolverConstraint_p4,_emscripten_bind_btVector3__closestAxis_p0=Module._emscripten_bind_btVector3__closestAxis_p0=asm._emscripten_bind_btVector3__closestAxis_p0,_emscripten_bind_btSimpleBroadphase__rayTest_p3=Module._emscripten_bind_btSimpleBroadphase__rayTest_p3=asm._emscripten_bind_btSimpleBroadphase__rayTest_p3,_emscripten_bind_btMultiSphereShape__getAabbSlow_p3=Module._emscripten_bind_btMultiSphereShape__getAabbSlow_p3=asm._emscripten_bind_btMultiSphereShape__getAabbSlow_p3,_emscripten_bind_btRigidBody__applyCentralImpulse_p1=Module._emscripten_bind_btRigidBody__applyCentralImpulse_p1=asm._emscripten_bind_btRigidBody__applyCentralImpulse_p1,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1,_emscripten_bind_btWheelInfo__set_m_frictionSlip_p1=Module._emscripten_bind_btWheelInfo__set_m_frictionSlip_p1=asm._emscripten_bind_btWheelInfo__set_m_frictionSlip_p1,_emscripten_bind_btRigidBody__updateDeactivation_p1=Module._emscripten_bind_btRigidBody__updateDeactivation_p1=asm._emscripten_bind_btRigidBody__updateDeactivation_p1,_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0,_emscripten_bind_btConeTwistConstraint__getObjectType_p0=Module._emscripten_bind_btConeTwistConstraint__getObjectType_p0=asm._emscripten_bind_btConeTwistConstraint__getObjectType_p0,_emscripten_bind_btDbvtProxy__isConvex_p1=Module._emscripten_bind_btDbvtProxy__isConvex_p1=asm._emscripten_bind_btDbvtProxy__isConvex_p1,_emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btCapsuleShapeZ__getUserPointer_p0=Module._emscripten_bind_btCapsuleShapeZ__getUserPointer_p0=asm._emscripten_bind_btCapsuleShapeZ__getUserPointer_p0,_emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0=Module._emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0=asm._emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0,_emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0=Module._emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0=asm._emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0,_emscripten_bind_btGeneric6DofConstraint__getUid_p0=Module._emscripten_bind_btGeneric6DofConstraint__getUid_p0=asm._emscripten_bind_btGeneric6DofConstraint__getUid_p0,_emscripten_bind_btWheelInfo__set_m_clientInfo_p1=Module._emscripten_bind_btWheelInfo__set_m_clientInfo_p1=asm._emscripten_bind_btWheelInfo__set_m_clientInfo_p1,_emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1=Module._emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1=asm._emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1,_emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5=Module._emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5=asm._emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5,_emscripten_bind_btCapsuleShapeZ__isSoftBody_p0=Module._emscripten_bind_btCapsuleShapeZ__isSoftBody_p0=asm._emscripten_bind_btCapsuleShapeZ__isSoftBody_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0,_emscripten_bind_btQuaternion__op_mul_p1=Module._emscripten_bind_btQuaternion__op_mul_p1=asm._emscripten_bind_btQuaternion__op_mul_p1,_emscripten_bind_btSphereShape__getMarginNV_p0=Module._emscripten_bind_btSphereShape__getMarginNV_p0=asm._emscripten_bind_btSphereShape__getMarginNV_p0,_emscripten_bind_btBoxShape__isNonMoving_p0=Module._emscripten_bind_btBoxShape__isNonMoving_p0=asm._emscripten_bind_btBoxShape__isNonMoving_p0,_emscripten_bind_btUniversalConstraint__setLimit_p3=Module._emscripten_bind_btUniversalConstraint__setLimit_p3=asm._emscripten_bind_btUniversalConstraint__setLimit_p3,_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0,_emscripten_bind_btAngularLimit__getError_p0=Module._emscripten_bind_btAngularLimit__getError_p0=asm._emscripten_bind_btAngularLimit__getError_p0,_emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2=Module._emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2=asm._emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2,_emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1=Module._emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1=asm._emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1,_emscripten_bind_btTypedConstraint__serialize_p2=Module._emscripten_bind_btTypedConstraint__serialize_p2=asm._emscripten_bind_btTypedConstraint__serialize_p2,_emscripten_bind_btDbvtBroadphase__resetPool_p1=Module._emscripten_bind_btDbvtBroadphase__resetPool_p1=asm._emscripten_bind_btDbvtBroadphase__resetPool_p1,_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0=Module._emscripten_bind_btSliderConstraint__getFrameOffsetB_p0=asm._emscripten_bind_btSliderConstraint__getFrameOffsetB_p0,_emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3=Module._emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3=asm._emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3,_emscripten_bind_btMatrix3x3__inverse_p0=Module._emscripten_bind_btMatrix3x3__inverse_p0=asm._emscripten_bind_btMatrix3x3__inverse_p0,_emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2=Module._emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2=asm._emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2,_emscripten_bind_btRigidBody__getFriction_p0=Module._emscripten_bind_btRigidBody__getFriction_p0=asm._emscripten_bind_btRigidBody__getFriction_p0,_emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1=Module._emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1=asm._emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1,_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0,_emscripten_bind_btDynamicsWorld__addAction_p1=Module._emscripten_bind_btDynamicsWorld__addAction_p1=asm._emscripten_bind_btDynamicsWorld__addAction_p1,_emscripten_bind_CProfileSample__CProfileSample_p1=Module._emscripten_bind_CProfileSample__CProfileSample_p1=asm._emscripten_bind_CProfileSample__CProfileSample_p1,_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8=Module._emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8=asm._emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8,_emscripten_bind_btRigidBody__getHitFraction_p0=Module._emscripten_bind_btRigidBody__getHitFraction_p0=asm._emscripten_bind_btRigidBody__getHitFraction_p0,_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2=Module._emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2=asm._emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2,_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1=Module._emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1=asm._emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1,_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0=Module._emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0=asm._emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0,_emscripten_bind_btDbvtBroadphase__set_m_gid_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_gid_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_gid_p1,_emscripten_bind_btEmptyShape__getLocalScaling_p0=Module._emscripten_bind_btEmptyShape__getLocalScaling_p0=asm._emscripten_bind_btEmptyShape__getLocalScaling_p0,_emscripten_bind_btHingeConstraint__serialize_p2=Module._emscripten_bind_btHingeConstraint__serialize_p2=asm._emscripten_bind_btHingeConstraint__serialize_p2,_emscripten_bind_btBoxShape__getNumEdges_p0=Module._emscripten_bind_btBoxShape__getNumEdges_p0=asm._emscripten_bind_btBoxShape__getNumEdges_p0,_emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1,_emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1=Module._emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1=asm._emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1,_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0=Module._emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0=asm._emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0,_emscripten_bind_btConcaveShape__isConcave_p0=Module._emscripten_bind_btConcaveShape__isConcave_p0=asm._emscripten_bind_btConcaveShape__isConcave_p0,_emscripten_bind_btHingeConstraint__getInfo2_p1=Module._emscripten_bind_btHingeConstraint__getInfo2_p1=asm._emscripten_bind_btHingeConstraint__getInfo2_p1,_emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0,_emscripten_bind_btMatrix3x3__getRotation_p1=Module._emscripten_bind_btMatrix3x3__getRotation_p1=asm._emscripten_bind_btMatrix3x3__getRotation_p1,_emscripten_bind_btConeShapeZ__isInfinite_p0=Module._emscripten_bind_btConeShapeZ__isInfinite_p0=asm._emscripten_bind_btConeShapeZ__isInfinite_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getName_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getName_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getName_p0,_emscripten_bind_btCylinderShapeX__setUserPointer_p1=Module._emscripten_bind_btCylinderShapeX__setUserPointer_p1=asm._emscripten_bind_btCylinderShapeX__setUserPointer_p1,_emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6,_emscripten_bind_btCapsuleShapeX__isConvex_p0=Module._emscripten_bind_btCapsuleShapeX__isConvex_p0=asm._emscripten_bind_btCapsuleShapeX__isConvex_p0,_emscripten_bind_btCylinderShapeX__getUpAxis_p0=Module._emscripten_bind_btCylinderShapeX__getUpAxis_p0=asm._emscripten_bind_btCylinderShapeX__getUpAxis_p0,_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0=Module._emscripten_bind_btDynamicsWorld__getDebugDrawer_p0=asm._emscripten_bind_btDynamicsWorld__getDebugDrawer_p0,_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1=Module._emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1=asm._emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1,_emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1,_emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1,_emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0,_emscripten_bind_btConvexInternalShape__isCompound_p0=Module._emscripten_bind_btConvexInternalShape__isCompound_p0=asm._emscripten_bind_btConvexInternalShape__isCompound_p0,_emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2=Module._emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2=asm._emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2,_emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1=Module._emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1=asm._emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1,_emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2,_emscripten_bind_btRaycastVehicle__getUserConstraintType_p0=Module._emscripten_bind_btRaycastVehicle__getUserConstraintType_p0=asm._emscripten_bind_btRaycastVehicle__getUserConstraintType_p0,_emscripten_bind_btTriangleMesh__setPremadeAabb_p2=Module._emscripten_bind_btTriangleMesh__setPremadeAabb_p2=asm._emscripten_bind_btTriangleMesh__setPremadeAabb_p2,_emscripten_bind_btCollisionObject__checkCollideWith_p1=Module._emscripten_bind_btCollisionObject__checkCollideWith_p1=asm._emscripten_bind_btCollisionObject__checkCollideWith_p1,_emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0=Module._emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0=asm._emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0,_emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0=Module._emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0=asm._emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0,_emscripten_bind_btConstraintSetting__set_m_tau_p1=Module._emscripten_bind_btConstraintSetting__set_m_tau_p1=asm._emscripten_bind_btConstraintSetting__set_m_tau_p1,_emscripten_bind_btHinge2Constraint__needsFeedback_p0=Module._emscripten_bind_btHinge2Constraint__needsFeedback_p0=asm._emscripten_bind_btHinge2Constraint__needsFeedback_p0,_emscripten_bind_btRigidBody__setCompanionId_p1=Module._emscripten_bind_btRigidBody__setCompanionId_p1=asm._emscripten_bind_btRigidBody__setCompanionId_p1,_emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0,_emscripten_bind_btOptimizedBvh__build_p4=Module._emscripten_bind_btOptimizedBvh__build_p4=asm._emscripten_bind_btOptimizedBvh__build_p4,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1,_emscripten_bind_btConeShapeX__isConvex_p0=Module._emscripten_bind_btConeShapeX__isConvex_p0=asm._emscripten_bind_btConeShapeX__isConvex_p0,_emscripten_bind_btRigidBody__getTotalTorque_p0=Module._emscripten_bind_btRigidBody__getTotalTorque_p0=asm._emscripten_bind_btRigidBody__getTotalTorque_p0,_emscripten_bind_btCollisionDispatcher__getNumManifolds_p0=Module._emscripten_bind_btCollisionDispatcher__getNumManifolds_p0=asm._emscripten_bind_btCollisionDispatcher__getNumManifolds_p0,_emscripten_bind_btHingeConstraint__setParam_p3=Module._emscripten_bind_btHingeConstraint__setParam_p3=asm._emscripten_bind_btHingeConstraint__setParam_p3,_emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1=Module._emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1=asm._emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1,_emscripten_bind_btSliderConstraint__setLowerAngLimit_p1=Module._emscripten_bind_btSliderConstraint__setLowerAngLimit_p1=asm._emscripten_bind_btSliderConstraint__setLowerAngLimit_p1,_emscripten_bind_btHashPtr__getHash_p0=Module._emscripten_bind_btHashPtr__getHash_p0=asm._emscripten_bind_btHashPtr__getHash_p0,_emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btIndexedMesh__btIndexedMesh_p0=Module._emscripten_bind_btIndexedMesh__btIndexedMesh_p0=asm._emscripten_bind_btIndexedMesh__btIndexedMesh_p0,_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btCapsuleShapeZ__getShapeType_p0=Module._emscripten_bind_btCapsuleShapeZ__getShapeType_p0=asm._emscripten_bind_btCapsuleShapeZ__getShapeType_p0,_emscripten_bind_btPoint2PointConstraint__setEnabled_p1=Module._emscripten_bind_btPoint2PointConstraint__setEnabled_p1=asm._emscripten_bind_btPoint2PointConstraint__setEnabled_p1,_emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1,_emscripten_bind_btCapsuleShape__isNonMoving_p0=Module._emscripten_bind_btCapsuleShape__isNonMoving_p0=asm._emscripten_bind_btCapsuleShape__isNonMoving_p0,_emscripten_bind_btIDebugDraw__drawSphere_p3=Module._emscripten_bind_btIDebugDraw__drawSphere_p3=asm._emscripten_bind_btIDebugDraw__drawSphere_p3,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2,_emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0=Module._emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0=asm._emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0,_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1=Module._emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1=asm._emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1,_emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4=Module._emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4=asm._emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4,_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0,_emscripten_bind_btCylinderShape__isCompound_p0=Module._emscripten_bind_btCylinderShape__isCompound_p0=asm._emscripten_bind_btCylinderShape__isCompound_p0,_emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btCylinderShapeX__setLocalScaling_p1=Module._emscripten_bind_btCylinderShapeX__setLocalScaling_p1=asm._emscripten_bind_btCylinderShapeX__setLocalScaling_p1,_emscripten_bind_btConvexInternalShape__setLocalScaling_p1=Module._emscripten_bind_btConvexInternalShape__setLocalScaling_p1=asm._emscripten_bind_btConvexInternalShape__setLocalScaling_p1,_emscripten_bind_btHingeConstraint__getAFrame_p0=Module._emscripten_bind_btHingeConstraint__getAFrame_p0=asm._emscripten_bind_btHingeConstraint__getAFrame_p0,_emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0=Module._emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0=asm._emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0,_emscripten_bind_btRigidBody__btRigidBody_p4=Module._emscripten_bind_btRigidBody__btRigidBody_p4=asm._emscripten_bind_btRigidBody__btRigidBody_p4,_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2=Module._emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2=asm._emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2,_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3=Module._emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3=asm._emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3,_emscripten_bind_bt32BitAxisSweep3__updateHandle_p4=Module._emscripten_bind_bt32BitAxisSweep3__updateHandle_p4=asm._emscripten_bind_bt32BitAxisSweep3__updateHandle_p4,_emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0,_emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1,_emscripten_bind_btWheelInfo__set_m_deltaRotation_p1=Module._emscripten_bind_btWheelInfo__set_m_deltaRotation_p1=asm._emscripten_bind_btWheelInfo__set_m_deltaRotation_p1,_emscripten_bind_bt32BitAxisSweep3__addHandle_p7=Module._emscripten_bind_bt32BitAxisSweep3__addHandle_p7=asm._emscripten_bind_bt32BitAxisSweep3__addHandle_p7,_emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3=Module._emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3=asm._emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3,_emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3=Module._emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3=asm._emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0,_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0,_emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0,_emscripten_bind_btTypedConstraint__buildJacobian_p0=Module._emscripten_bind_btTypedConstraint__buildJacobian_p0=asm._emscripten_bind_btTypedConstraint__buildJacobian_p0,_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btStaticPlaneShape__setUserPointer_p1=Module._emscripten_bind_btStaticPlaneShape__setUserPointer_p1=asm._emscripten_bind_btStaticPlaneShape__setUserPointer_p1,_emscripten_bind_btVector4__y_p0=Module._emscripten_bind_btVector4__y_p0=asm._emscripten_bind_btVector4__y_p0,_emscripten_bind_btHinge2Constraint__getUserConstraintType_p0=Module._emscripten_bind_btHinge2Constraint__getUserConstraintType_p0=asm._emscripten_bind_btHinge2Constraint__getUserConstraintType_p0,_emscripten_bind_btCapsuleShape__setMargin_p1=Module._emscripten_bind_btCapsuleShape__setMargin_p1=asm._emscripten_bind_btCapsuleShape__setMargin_p1,_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0=Module._emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0=asm._emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0,_emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1=Module._emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1=asm._emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1,_emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0,_emscripten_bind_btConeShapeZ__calculateLocalInertia_p2=Module._emscripten_bind_btConeShapeZ__calculateLocalInertia_p2=asm._emscripten_bind_btConeShapeZ__calculateLocalInertia_p2,_emscripten_bind_btConvexHullShape__getAabbSlow_p3=Module._emscripten_bind_btConvexHullShape__getAabbSlow_p3=asm._emscripten_bind_btConvexHullShape__getAabbSlow_p3,_emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btIndexedMesh__set_m_vertexStride_p1=Module._emscripten_bind_btIndexedMesh__set_m_vertexStride_p1=asm._emscripten_bind_btIndexedMesh__set_m_vertexStride_p1,_emscripten_bind_btCollisionWorld__updateAabbs_p0=Module._emscripten_bind_btCollisionWorld__updateAabbs_p0=asm._emscripten_bind_btCollisionWorld__updateAabbs_p0,_emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1,_emscripten_bind_btDbvtBroadphase__printStats_p0=Module._emscripten_bind_btDbvtBroadphase__printStats_p0=asm._emscripten_bind_btDbvtBroadphase__printStats_p0,_emscripten_bind_btPersistentManifold__getBody0_p0=Module._emscripten_bind_btPersistentManifold__getBody0_p0=asm._emscripten_bind_btPersistentManifold__getBody0_p0,_emscripten_bind_btConeShape__getShapeType_p0=Module._emscripten_bind_btConeShape__getShapeType_p0=asm._emscripten_bind_btConeShape__getShapeType_p0,_emscripten_bind_btEmptyShape__isNonMoving_p0=Module._emscripten_bind_btEmptyShape__isNonMoving_p0=asm._emscripten_bind_btEmptyShape__isNonMoving_p0,_emscripten_bind_btQuadWord__setW_p1=Module._emscripten_bind_btQuadWord__setW_p1=asm._emscripten_bind_btQuadWord__setW_p1,_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0,_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0=Module._emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0=asm._emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0,_emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1=Module._emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1=asm._emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1,_emscripten_bind_btAxisSweep3__aabbTest_p3=Module._emscripten_bind_btAxisSweep3__aabbTest_p3=asm._emscripten_bind_btAxisSweep3__aabbTest_p3,_emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1=Module._emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1=asm._emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1,_emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1=Module._emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1=asm._emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1,_emscripten_bind_btGhostObject__serializeSingleObject_p1=Module._emscripten_bind_btGhostObject__serializeSingleObject_p1=asm._emscripten_bind_btGhostObject__serializeSingleObject_p1,_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0=Module._emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0=asm._emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0,_emscripten_bind_btGhostObject__setRestitution_p1=Module._emscripten_bind_btGhostObject__setRestitution_p1=asm._emscripten_bind_btGhostObject__setRestitution_p1,_emscripten_bind_btContactConstraint__getRigidBodyA_p0=Module._emscripten_bind_btContactConstraint__getRigidBodyA_p0=asm._emscripten_bind_btContactConstraint__getRigidBodyA_p0,_emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0=Module._emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0=asm._emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0,_emscripten_bind_btConcaveShape__isNonMoving_p0=Module._emscripten_bind_btConcaveShape__isNonMoving_p0=asm._emscripten_bind_btConcaveShape__isNonMoving_p0,_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0,_emscripten_bind_btCapsuleShapeX__getMarginNV_p0=Module._emscripten_bind_btCapsuleShapeX__getMarginNV_p0=asm._emscripten_bind_btCapsuleShapeX__getMarginNV_p0,_emscripten_bind_btPersistentManifold__get_m_companionIdA_p0=Module._emscripten_bind_btPersistentManifold__get_m_companionIdA_p0=asm._emscripten_bind_btPersistentManifold__get_m_companionIdA_p0,_emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1=Module._emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1=asm._emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1,_emscripten_bind_btWheelInfo__updateWheel_p2=Module._emscripten_bind_btWheelInfo__updateWheel_p2=asm._emscripten_bind_btWheelInfo__updateWheel_p2,_emscripten_bind_btDynamicsWorld__addConstraint_p2=Module._emscripten_bind_btDynamicsWorld__addConstraint_p2=asm._emscripten_bind_btDynamicsWorld__addConstraint_p2,_emscripten_bind_btDynamicsWorld__addConstraint_p1=Module._emscripten_bind_btDynamicsWorld__addConstraint_p1=asm._emscripten_bind_btDynamicsWorld__addConstraint_p1,_emscripten_bind_btRigidBody__getTurnVelocity_p0=Module._emscripten_bind_btRigidBody__getTurnVelocity_p0=asm._emscripten_bind_btRigidBody__getTurnVelocity_p0,_emscripten_bind_btTypedConstraint__setUserConstraintId_p1=Module._emscripten_bind_btTypedConstraint__setUserConstraintId_p1=asm._emscripten_bind_btTypedConstraint__setUserConstraintId_p1,_emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0=Module._emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0=asm._emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0,_emscripten_bind_btCylinderShape__getUpAxis_p0=Module._emscripten_bind_btCylinderShape__getUpAxis_p0=asm._emscripten_bind_btCylinderShape__getUpAxis_p0,_emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1=Module._emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1=asm._emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1,_emscripten_bind_btDbvtBroadphase__getAabb_p3=Module._emscripten_bind_btDbvtBroadphase__getAabb_p3=asm._emscripten_bind_btDbvtBroadphase__getAabb_p3,_emscripten_bind_btSphereShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btSphereShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btSphereShape__getContactBreakingThreshold_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0,_emscripten_bind_btBroadphaseInterface__printStats_p0=Module._emscripten_bind_btBroadphaseInterface__printStats_p0=asm._emscripten_bind_btBroadphaseInterface__printStats_p0,_emscripten_bind_btHashInt__setUid1_p1=Module._emscripten_bind_btHashInt__setUid1_p1=asm._emscripten_bind_btHashInt__setUid1_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btRigidBody__setCollisionFlags_p1=Module._emscripten_bind_btRigidBody__setCollisionFlags_p1=asm._emscripten_bind_btRigidBody__setCollisionFlags_p1,_emscripten_bind_btGhostObject__hasContactResponse_p0=Module._emscripten_bind_btGhostObject__hasContactResponse_p0=asm._emscripten_bind_btGhostObject__hasContactResponse_p0,_emscripten_bind_btDefaultVehicleRaycaster__castRay_p3=Module._emscripten_bind_btDefaultVehicleRaycaster__castRay_p3=asm._emscripten_bind_btDefaultVehicleRaycaster__castRay_p3,_emscripten_bind_btSliderConstraint__getUseFrameOffset_p0=Module._emscripten_bind_btSliderConstraint__getUseFrameOffset_p0=asm._emscripten_bind_btSliderConstraint__getUseFrameOffset_p0,_emscripten_bind_btCollisionObject__getIslandTag_p0=Module._emscripten_bind_btCollisionObject__getIslandTag_p0=asm._emscripten_bind_btCollisionObject__getIslandTag_p0,_emscripten_bind_btCollisionShape__calculateTemporalAabb_p6=Module._emscripten_bind_btCollisionShape__calculateTemporalAabb_p6=asm._emscripten_bind_btCollisionShape__calculateTemporalAabb_p6,_emscripten_bind_btTranslationalLimitMotor____destroy___p0=Module._emscripten_bind_btTranslationalLimitMotor____destroy___p0=asm._emscripten_bind_btTranslationalLimitMotor____destroy___p0,_emscripten_bind_btConcaveShape__isConvex_p0=Module._emscripten_bind_btConcaveShape__isConvex_p0=asm._emscripten_bind_btConcaveShape__isConvex_p0,_emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1,_emscripten_bind_btIDebugDraw__drawCone_p5=Module._emscripten_bind_btIDebugDraw__drawCone_p5=asm._emscripten_bind_btIDebugDraw__drawCone_p5,_emscripten_bind_btSphereShape__isNonMoving_p0=Module._emscripten_bind_btSphereShape__isNonMoving_p0=asm._emscripten_bind_btSphereShape__isNonMoving_p0,_emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1=Module._emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1=asm._emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0,_emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1,_emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1=Module._emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1=asm._emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1,_emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0,_emscripten_bind_btBoxShape__getAabbNonVirtual_p3=Module._emscripten_bind_btBoxShape__getAabbNonVirtual_p3=asm._emscripten_bind_btBoxShape__getAabbNonVirtual_p3,_emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5=Module._emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5=asm._emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5,_emscripten_bind_btCollisionShape__getAabb_p3=Module._emscripten_bind_btCollisionShape__getAabb_p3=asm._emscripten_bind_btCollisionShape__getAabb_p3,_emscripten_bind_btCapsuleShape____destroy___p0=Module._emscripten_bind_btCapsuleShape____destroy___p0=asm._emscripten_bind_btCapsuleShape____destroy___p0,_emscripten_bind_btDynamicsWorld__removeRigidBody_p1=Module._emscripten_bind_btDynamicsWorld__removeRigidBody_p1=asm._emscripten_bind_btDynamicsWorld__removeRigidBody_p1,_emscripten_bind_btHashInt__equals_p1=Module._emscripten_bind_btHashInt__equals_p1=asm._emscripten_bind_btHashInt__equals_p1,_emscripten_bind_btCapsuleShape__isCompound_p0=Module._emscripten_bind_btCapsuleShape__isCompound_p0=asm._emscripten_bind_btCapsuleShape__isCompound_p0,_emscripten_bind_btTransform__setIdentity_p0=Module._emscripten_bind_btTransform__setIdentity_p0=asm._emscripten_bind_btTransform__setIdentity_p0,_emscripten_bind_btRigidBody__getCollisionFlags_p0=Module._emscripten_bind_btRigidBody__getCollisionFlags_p0=asm._emscripten_bind_btRigidBody__getCollisionFlags_p0,_emscripten_bind_btRigidBody__getRootCollisionShape_p0=Module._emscripten_bind_btRigidBody__getRootCollisionShape_p0=asm._emscripten_bind_btRigidBody__getRootCollisionShape_p0,_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1=Module._emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1=asm._emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1,_emscripten_bind_btRigidBody__setLinearVelocity_p1=Module._emscripten_bind_btRigidBody__setLinearVelocity_p1=asm._emscripten_bind_btRigidBody__setLinearVelocity_p1,_emscripten_bind_btTransform__getBasis_p0=Module._emscripten_bind_btTransform__getBasis_p0=asm._emscripten_bind_btTransform__getBasis_p0,_emscripten_bind_btMatrix3x3__setEulerZYX_p3=Module._emscripten_bind_btMatrix3x3__setEulerZYX_p3=asm._emscripten_bind_btMatrix3x3__setEulerZYX_p3,_emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0,_emscripten_bind_btTriangleMesh__preallocateVertices_p1=Module._emscripten_bind_btTriangleMesh__preallocateVertices_p1=asm._emscripten_bind_btTriangleMesh__preallocateVertices_p1,_emscripten_bind_btManifoldPoint__set_m_index0_p1=Module._emscripten_bind_btManifoldPoint__set_m_index0_p1=asm._emscripten_bind_btManifoldPoint__set_m_index0_p1,_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0,_emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0,_emscripten_bind_btDbvtProxy__set_m_aabbMin_p1=Module._emscripten_bind_btDbvtProxy__set_m_aabbMin_p1=asm._emscripten_bind_btDbvtProxy__set_m_aabbMin_p1,_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0=Module._emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0=asm._emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0,_emscripten_bind_btVector3__distance2_p1=Module._emscripten_bind_btVector3__distance2_p1=asm._emscripten_bind_btVector3__distance2_p1,_emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0=Module._emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0=asm._emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0,_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0=Module._emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0=asm._emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0,_emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1=Module._emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1=asm._emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1,_emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0=Module._emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0=asm._emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0,_emscripten_bind_btConeShapeX__getBoundingSphere_p2=Module._emscripten_bind_btConeShapeX__getBoundingSphere_p2=asm._emscripten_bind_btConeShapeX__getBoundingSphere_p2,_emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2=Module._emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2=asm._emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2,_emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0=Module._emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0=asm._emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0,_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1,_emscripten_bind_btAngularLimit__set_p5=Module._emscripten_bind_btAngularLimit__set_p5=asm._emscripten_bind_btAngularLimit__set_p5,_emscripten_bind_btAngularLimit__set_p4=Module._emscripten_bind_btAngularLimit__set_p4=asm._emscripten_bind_btAngularLimit__set_p4,_emscripten_bind_btAngularLimit__set_p3=Module._emscripten_bind_btAngularLimit__set_p3=asm._emscripten_bind_btAngularLimit__set_p3,_emscripten_bind_btAngularLimit__set_p2=Module._emscripten_bind_btAngularLimit__set_p2=asm._emscripten_bind_btAngularLimit__set_p2,_emscripten_bind_btBroadphaseProxy__isConvex2d_p1=Module._emscripten_bind_btBroadphaseProxy__isConvex2d_p1=asm._emscripten_bind_btBroadphaseProxy__isConvex2d_p1,_emscripten_bind_btQuantizedBvh__setTraversalMode_p1=Module._emscripten_bind_btQuantizedBvh__setTraversalMode_p1=asm._emscripten_bind_btQuantizedBvh__setTraversalMode_p1,_emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0,_emscripten_bind_btCollisionWorld____destroy___p0=Module._emscripten_bind_btCollisionWorld____destroy___p0=asm._emscripten_bind_btCollisionWorld____destroy___p0,_emscripten_bind_btTriangleIndexVertexArray__serialize_p2=Module._emscripten_bind_btTriangleIndexVertexArray__serialize_p2=asm._emscripten_bind_btTriangleIndexVertexArray__serialize_p2,_emscripten_bind_btEmptyShape__isConvex2d_p0=Module._emscripten_bind_btEmptyShape__isConvex2d_p0=asm._emscripten_bind_btEmptyShape__isConvex2d_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0,_emscripten_bind_btCompoundShape__calculateTemporalAabb_p6=Module._emscripten_bind_btCompoundShape__calculateTemporalAabb_p6=asm._emscripten_bind_btCompoundShape__calculateTemporalAabb_p6,_emscripten_bind_btClock__getTimeMilliseconds_p0=Module._emscripten_bind_btClock__getTimeMilliseconds_p0=asm._emscripten_bind_btClock__getTimeMilliseconds_p0,_emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0=Module._emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0=asm._emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0,_emscripten_bind_btRigidBody__getBroadphaseProxy_p0=Module._emscripten_bind_btRigidBody__getBroadphaseProxy_p0=asm._emscripten_bind_btRigidBody__getBroadphaseProxy_p0,_emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1=Module._emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1=asm._emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1,_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0=Module._emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0=asm._emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0,_emscripten_bind_btRigidBody__clearForces_p0=Module._emscripten_bind_btRigidBody__clearForces_p0=asm._emscripten_bind_btRigidBody__clearForces_p0,_emscripten_bind_btRigidBody__getCollisionShape_p0=Module._emscripten_bind_btRigidBody__getCollisionShape_p0=asm._emscripten_bind_btRigidBody__getCollisionShape_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1,_emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0=Module._emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0=asm._emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0,_emscripten_bind_btSliderConstraint__getDampingDirAng_p0=Module._emscripten_bind_btSliderConstraint__getDampingDirAng_p0=asm._emscripten_bind_btSliderConstraint__getDampingDirAng_p0,_emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1=Module._emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1=asm._emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2=Module._emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2=asm._emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2,_emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7=Module._emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7=asm._emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7,_emscripten_bind_btUniversalConstraint____destroy___p0=Module._emscripten_bind_btUniversalConstraint____destroy___p0=asm._emscripten_bind_btUniversalConstraint____destroy___p0,_emscripten_bind_btCylinderShapeZ__setUserPointer_p1=Module._emscripten_bind_btCylinderShapeZ__setUserPointer_p1=asm._emscripten_bind_btCylinderShapeZ__setUserPointer_p1,_emscripten_bind_btHingeConstraint__getUserConstraintId_p0=Module._emscripten_bind_btHingeConstraint__getUserConstraintId_p0=asm._emscripten_bind_btHingeConstraint__getUserConstraintId_p0,_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0=Module._emscripten_bind_btHingeConstraint__getFrameOffsetB_p0=asm._emscripten_bind_btHingeConstraint__getFrameOffsetB_p0,_emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btPoint2PointConstraint__needsFeedback_p0=Module._emscripten_bind_btPoint2PointConstraint__needsFeedback_p0=asm._emscripten_bind_btPoint2PointConstraint__needsFeedback_p0,_emscripten_bind_btUniformScalingShape__getAabbSlow_p3=Module._emscripten_bind_btUniformScalingShape__getAabbSlow_p3=asm._emscripten_bind_btUniformScalingShape__getAabbSlow_p3,_emscripten_bind_btSphereShape__getUserPointer_p0=Module._emscripten_bind_btSphereShape__getUserPointer_p0=asm._emscripten_bind_btSphereShape__getUserPointer_p0,_emscripten_bind_btRaycastVehicle__updateSuspension_p1=Module._emscripten_bind_btRaycastVehicle__updateSuspension_p1=asm._emscripten_bind_btRaycastVehicle__updateSuspension_p1,_emscripten_bind_btCylinderShapeX__getShapeType_p0=Module._emscripten_bind_btCylinderShapeX__getShapeType_p0=asm._emscripten_bind_btCylinderShapeX__getShapeType_p0,_emscripten_bind_btSliderConstraint__getUpperAngLimit_p0=Module._emscripten_bind_btSliderConstraint__getUpperAngLimit_p0=asm._emscripten_bind_btSliderConstraint__getUpperAngLimit_p0,_emscripten_bind_btManifoldResult__addContactPoint_p3=Module._emscripten_bind_btManifoldResult__addContactPoint_p3=asm._emscripten_bind_btManifoldResult__addContactPoint_p3,_emscripten_bind_bt32BitAxisSweep3__rayTest_p5=Module._emscripten_bind_bt32BitAxisSweep3__rayTest_p5=asm._emscripten_bind_bt32BitAxisSweep3__rayTest_p5,_emscripten_bind_bt32BitAxisSweep3__rayTest_p4=Module._emscripten_bind_bt32BitAxisSweep3__rayTest_p4=asm._emscripten_bind_bt32BitAxisSweep3__rayTest_p4,_emscripten_bind_btHingeConstraint__getLimitSign_p0=Module._emscripten_bind_btHingeConstraint__getLimitSign_p0=asm._emscripten_bind_btHingeConstraint__getLimitSign_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2,_emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0,_emscripten_bind_btWheelInfo__btWheelInfo_p1=Module._emscripten_bind_btWheelInfo__btWheelInfo_p1=asm._emscripten_bind_btWheelInfo__btWheelInfo_p1,_emscripten_bind_btMultiSphereShape__isConcave_p0=Module._emscripten_bind_btMultiSphereShape__isConcave_p0=asm._emscripten_bind_btMultiSphereShape__isConcave_p0,_emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0=Module._emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0=asm._emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0,_emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0=Module._emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0=asm._emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0,_emscripten_bind_btCapsuleShape__getName_p0=Module._emscripten_bind_btCapsuleShape__getName_p0=asm._emscripten_bind_btCapsuleShape__getName_p0,_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0=Module._emscripten_bind_btCapsuleShape__getLocalScalingNV_p0=asm._emscripten_bind_btCapsuleShape__getLocalScalingNV_p0,_emscripten_bind_btMatrix3x3__getEulerYPR_p3=Module._emscripten_bind_btMatrix3x3__getEulerYPR_p3=asm._emscripten_bind_btMatrix3x3__getEulerYPR_p3,_emscripten_bind_btRaycastVehicle__setUserConstraintId_p1=Module._emscripten_bind_btRaycastVehicle__setUserConstraintId_p1=asm._emscripten_bind_btRaycastVehicle__setUserConstraintId_p1,_emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0=Module._emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0=asm._emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0,_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0,_emscripten_bind_btWheelInfo__get_m_worldTransform_p0=Module._emscripten_bind_btWheelInfo__get_m_worldTransform_p0=asm._emscripten_bind_btWheelInfo__get_m_worldTransform_p0,_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0=Module._emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0=asm._emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0,_emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0=Module._emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0=asm._emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0,_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0=Module._emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0=asm._emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0,_emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btCompoundShape__getAngularMotionDisc_p0=Module._emscripten_bind_btCompoundShape__getAngularMotionDisc_p0=asm._emscripten_bind_btCompoundShape__getAngularMotionDisc_p0,_emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1,_emscripten_bind_btRaycastVehicle__updateWheelTransform_p2=Module._emscripten_bind_btRaycastVehicle__updateWheelTransform_p2=asm._emscripten_bind_btRaycastVehicle__updateWheelTransform_p2,_emscripten_bind_btSliderConstraint__setUpperLinLimit_p1=Module._emscripten_bind_btSliderConstraint__setUpperLinLimit_p1=asm._emscripten_bind_btSliderConstraint__setUpperLinLimit_p1,_emscripten_bind_btCollisionWorld__rayTestSingle_p6=Module._emscripten_bind_btCollisionWorld__rayTestSingle_p6=asm._emscripten_bind_btCollisionWorld__rayTestSingle_p6,_emscripten_bind_btSliderConstraint__get_m_objectType_p0=Module._emscripten_bind_btSliderConstraint__get_m_objectType_p0=asm._emscripten_bind_btSliderConstraint__get_m_objectType_p0,_emscripten_bind_btMatrix3x3__serializeFloat_p1=Module._emscripten_bind_btMatrix3x3__serializeFloat_p1=asm._emscripten_bind_btMatrix3x3__serializeFloat_p1,_emscripten_bind_btSliderConstraint__getLowerAngLimit_p0=Module._emscripten_bind_btSliderConstraint__getLowerAngLimit_p0=asm._emscripten_bind_btSliderConstraint__getLowerAngLimit_p0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0,_emscripten_bind_btConeShapeZ__isNonMoving_p0=Module._emscripten_bind_btConeShapeZ__isNonMoving_p0=asm._emscripten_bind_btConeShapeZ__isNonMoving_p0,_emscripten_bind_btSliderConstraint__btSliderConstraint_p3=Module._emscripten_bind_btSliderConstraint__btSliderConstraint_p3=asm._emscripten_bind_btSliderConstraint__btSliderConstraint_p3,_emscripten_bind_btConeTwistConstraint__getTwistSpan_p0=Module._emscripten_bind_btConeTwistConstraint__getTwistSpan_p0=asm._emscripten_bind_btConeTwistConstraint__getTwistSpan_p0,_emscripten_bind_btRigidBody__set_m_frictionSolverType_p1=Module._emscripten_bind_btRigidBody__set_m_frictionSolverType_p1=asm._emscripten_bind_btRigidBody__set_m_frictionSolverType_p1,_emscripten_bind_btConvexHullShape__calculateLocalInertia_p2=Module._emscripten_bind_btConvexHullShape__calculateLocalInertia_p2=asm._emscripten_bind_btConvexHullShape__calculateLocalInertia_p2,_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2=Module._emscripten_bind_btCollisionDispatcher__findAlgorithm_p2=asm._emscripten_bind_btCollisionDispatcher__findAlgorithm_p2,_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3=Module._emscripten_bind_btCollisionDispatcher__findAlgorithm_p3=asm._emscripten_bind_btCollisionDispatcher__findAlgorithm_p3,_emscripten_bind_btEmptyShape__setUserPointer_p1=Module._emscripten_bind_btEmptyShape__setUserPointer_p1=asm._emscripten_bind_btEmptyShape__setUserPointer_p1,_emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0,_emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1,_emscripten_bind_btDynamicsWorld__stepSimulation_p3=Module._emscripten_bind_btDynamicsWorld__stepSimulation_p3=asm._emscripten_bind_btDynamicsWorld__stepSimulation_p3,_emscripten_bind_btDynamicsWorld__stepSimulation_p2=Module._emscripten_bind_btDynamicsWorld__stepSimulation_p2=asm._emscripten_bind_btDynamicsWorld__stepSimulation_p2,_emscripten_bind_btDynamicsWorld__stepSimulation_p1=Module._emscripten_bind_btDynamicsWorld__stepSimulation_p1=asm._emscripten_bind_btDynamicsWorld__stepSimulation_p1,_emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1,_emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0=Module._emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0=asm._emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0,_emscripten_bind_btOptimizedBvh__serializeInPlace_p3=Module._emscripten_bind_btOptimizedBvh__serializeInPlace_p3=asm._emscripten_bind_btOptimizedBvh__serializeInPlace_p3,_emscripten_bind_btBoxShape__getLocalScalingNV_p0=Module._emscripten_bind_btBoxShape__getLocalScalingNV_p0=asm._emscripten_bind_btBoxShape__getLocalScalingNV_p0,_emscripten_bind_btContactConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btContactConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btContactConstraint__setUserConstraintPtr_p1,_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0=Module._emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0=asm._emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0,_emscripten_bind_btHingeConstraint__getUserConstraintType_p0=Module._emscripten_bind_btHingeConstraint__getUserConstraintType_p0=asm._emscripten_bind_btHingeConstraint__getUserConstraintType_p0,_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0=Module._emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0=asm._emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0,_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9=Module._emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9=asm._emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9,_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0=Module._emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0=asm._emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0,_emscripten_bind_btIDebugDraw__drawArc_p10=Module._emscripten_bind_btIDebugDraw__drawArc_p10=asm._emscripten_bind_btIDebugDraw__drawArc_p10,_emscripten_bind_btEmptyShape__getMargin_p0=Module._emscripten_bind_btEmptyShape__getMargin_p0=asm._emscripten_bind_btEmptyShape__getMargin_p0,_emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1=Module._emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1=asm._emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1,_emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1,_emscripten_bind_btCapsuleShapeZ__isCompound_p0=Module._emscripten_bind_btCapsuleShapeZ__isCompound_p0=asm._emscripten_bind_btCapsuleShapeZ__isCompound_p0,_emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1=Module._emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1=asm._emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1,_emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1,_emscripten_bind_btUniversalConstraint__setEnabled_p1=Module._emscripten_bind_btUniversalConstraint__setEnabled_p1=asm._emscripten_bind_btUniversalConstraint__setEnabled_p1,_emscripten_bind_btBoxShape__getAabbSlow_p3=Module._emscripten_bind_btBoxShape__getAabbSlow_p3=asm._emscripten_bind_btBoxShape__getAabbSlow_p3,_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2=Module._emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2=asm._emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2,_emscripten_bind_btVector4__setW_p1=Module._emscripten_bind_btVector4__setW_p1=asm._emscripten_bind_btVector4__setW_p1,_emscripten_bind_btVector4__setZero_p0=Module._emscripten_bind_btVector4__setZero_p0=asm._emscripten_bind_btVector4__setZero_p0,_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0=Module._emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0=asm._emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0,_emscripten_bind_btConeShape__getAabbNonVirtual_p3=Module._emscripten_bind_btConeShape__getAabbNonVirtual_p3=asm._emscripten_bind_btConeShape__getAabbNonVirtual_p3,_emscripten_bind_btBroadphasePair____destroy___p0=Module._emscripten_bind_btBroadphasePair____destroy___p0=asm._emscripten_bind_btBroadphasePair____destroy___p0,_emscripten_bind_btConeShapeZ__getAabbSlow_p3=Module._emscripten_bind_btConeShapeZ__getAabbSlow_p3=asm._emscripten_bind_btConeShapeZ__getAabbSlow_p3,_emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0,_emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3=Module._emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3=asm._emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3,_emscripten_bind_btConvexInternalShape__isConvex_p0=Module._emscripten_bind_btConvexInternalShape__isConvex_p0=asm._emscripten_bind_btConvexInternalShape__isConvex_p0,_emscripten_bind_btConeTwistConstraint__enableMotor_p1=Module._emscripten_bind_btConeTwistConstraint__enableMotor_p1=asm._emscripten_bind_btConeTwistConstraint__enableMotor_p1,_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2,_emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1,_emscripten_bind_btCylinderShape__getAabbNonVirtual_p3=Module._emscripten_bind_btCylinderShape__getAabbNonVirtual_p3=asm._emscripten_bind_btCylinderShape__getAabbNonVirtual_p3,_emscripten_bind_btHingeConstraint__getParam_p1=Module._emscripten_bind_btHingeConstraint__getParam_p1=asm._emscripten_bind_btHingeConstraint__getParam_p1,_emscripten_bind_btHingeConstraint__getParam_p2=Module._emscripten_bind_btHingeConstraint__getParam_p2=asm._emscripten_bind_btHingeConstraint__getParam_p2,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0,_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0=Module._emscripten_bind_btConeShapeZ__getLocalScalingNV_p0=asm._emscripten_bind_btConeShapeZ__getLocalScalingNV_p0,_emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0=Module._emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0=asm._emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0,_emscripten_bind_btConeTwistConstraint__serialize_p2=Module._emscripten_bind_btConeTwistConstraint__serialize_p2=asm._emscripten_bind_btConeTwistConstraint__serialize_p2,_emscripten_bind_btSliderConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btSliderConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btSliderConstraint__setDbgDrawSize_p1,_emscripten_bind_btOptimizedBvh__unQuantize_p1=Module._emscripten_bind_btOptimizedBvh__unQuantize_p1=asm._emscripten_bind_btOptimizedBvh__unQuantize_p1,_emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0,_emscripten_bind_btCapsuleShapeZ__getName_p0=Module._emscripten_bind_btCapsuleShapeZ__getName_p0=asm._emscripten_bind_btCapsuleShapeZ__getName_p0,_emscripten_bind_btCapsuleShape__getAabbSlow_p3=Module._emscripten_bind_btCapsuleShape__getAabbSlow_p3=asm._emscripten_bind_btCapsuleShape__getAabbSlow_p3,_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0,_emscripten_bind_btAxisSweep3__removeHandle_p2=Module._emscripten_bind_btAxisSweep3__removeHandle_p2=asm._emscripten_bind_btAxisSweep3__removeHandle_p2,_emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0,_emscripten_bind_btCollisionShape__getMargin_p0=Module._emscripten_bind_btCollisionShape__getMargin_p0=asm._emscripten_bind_btCollisionShape__getMargin_p0,_emscripten_bind_btIndexedMesh__get_m_numTriangles_p0=Module._emscripten_bind_btIndexedMesh__get_m_numTriangles_p0=asm._emscripten_bind_btIndexedMesh__get_m_numTriangles_p0,_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1=Module._emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1=asm._emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1,_emscripten_bind_btRigidBody__getConstraintRef_p1=Module._emscripten_bind_btRigidBody__getConstraintRef_p1=asm._emscripten_bind_btRigidBody__getConstraintRef_p1,_emscripten_bind_btConvexInternalShape__serializeSingleShape_p1=Module._emscripten_bind_btConvexInternalShape__serializeSingleShape_p1=asm._emscripten_bind_btConvexInternalShape__serializeSingleShape_p1,_emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2,_emscripten_bind_btConvexHullShape__isCompound_p0=Module._emscripten_bind_btConvexHullShape__isCompound_p0=asm._emscripten_bind_btConvexHullShape__isCompound_p0,_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0=Module._emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0=asm._emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0,_emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1=Module._emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1=asm._emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1,_emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1=Module._emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1=asm._emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1,_emscripten_bind_btUniformScalingShape__serialize_p2=Module._emscripten_bind_btUniformScalingShape__serialize_p2=asm._emscripten_bind_btUniformScalingShape__serialize_p2,_emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1=Module._emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1=asm._emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1,_emscripten_bind_btJacobianEntry____destroy___p0=Module._emscripten_bind_btJacobianEntry____destroy___p0=asm._emscripten_bind_btJacobianEntry____destroy___p0,_emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1,_emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0,_emscripten_bind_btCollisionShape__getShapeType_p0=Module._emscripten_bind_btCollisionShape__getShapeType_p0=asm._emscripten_bind_btCollisionShape__getShapeType_p0,_emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0,_emscripten_bind_btBU_Simplex1to4__getEdge_p3=Module._emscripten_bind_btBU_Simplex1to4__getEdge_p3=asm._emscripten_bind_btBU_Simplex1to4__getEdge_p3,_emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1=Module._emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1=asm._emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1,_emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0=Module._emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0=asm._emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0,_emscripten_bind_btQuaternion__setValue_p4=Module._emscripten_bind_btQuaternion__setValue_p4=asm._emscripten_bind_btQuaternion__setValue_p4,_emscripten_bind_btCollisionShape__serializeSingleShape_p1=Module._emscripten_bind_btCollisionShape__serializeSingleShape_p1=asm._emscripten_bind_btCollisionShape__serializeSingleShape_p1,_emscripten_bind_btRigidBody__set_m_contactSolverType_p1=Module._emscripten_bind_btRigidBody__set_m_contactSolverType_p1=asm._emscripten_bind_btRigidBody__set_m_contactSolverType_p1,_emscripten_bind_btContactConstraint__needsFeedback_p0=Module._emscripten_bind_btContactConstraint__needsFeedback_p0=asm._emscripten_bind_btContactConstraint__needsFeedback_p0,_emscripten_bind_btAngularLimit__fit_p1=Module._emscripten_bind_btAngularLimit__fit_p1=asm._emscripten_bind_btAngularLimit__fit_p1,_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0,_emscripten_bind_btDispatcher__clearManifold_p1=Module._emscripten_bind_btDispatcher__clearManifold_p1=asm._emscripten_bind_btDispatcher__clearManifold_p1,_emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1=Module._emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1=asm._emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1,_emscripten_bind_btDbvtProxy__set_leaf_p1=Module._emscripten_bind_btDbvtProxy__set_leaf_p1=asm._emscripten_bind_btDbvtProxy__set_leaf_p1,_emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1,_emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0=Module._emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0=asm._emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0,_emscripten_bind_btCompoundShape__getName_p0=Module._emscripten_bind_btCompoundShape__getName_p0=asm._emscripten_bind_btCompoundShape__getName_p0,_emscripten_bind_btCollisionObject__getCollisionShape_p0=Module._emscripten_bind_btCollisionObject__getCollisionShape_p0=asm._emscripten_bind_btCollisionObject__getCollisionShape_p0,_emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0,_emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0=Module._emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0=asm._emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0,_emscripten_bind_btDynamicsWorld__debugDrawWorld_p0=Module._emscripten_bind_btDynamicsWorld__debugDrawWorld_p0=asm._emscripten_bind_btDynamicsWorld__debugDrawWorld_p0,_emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1=Module._emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1=asm._emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1,_emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btWheelInfo__set_m_rotation_p1=Module._emscripten_bind_btWheelInfo__set_m_rotation_p1=asm._emscripten_bind_btWheelInfo__set_m_rotation_p1,_emscripten_bind_btDbvtBroadphase__benchmark_p1=Module._emscripten_bind_btDbvtBroadphase__benchmark_p1=asm._emscripten_bind_btDbvtBroadphase__benchmark_p1,_emscripten_bind_btHinge2Constraint__serialize_p2=Module._emscripten_bind_btHinge2Constraint__serialize_p2=asm._emscripten_bind_btHinge2Constraint__serialize_p2,_emscripten_bind_btDefaultCollisionConfiguration____destroy___p0=Module._emscripten_bind_btDefaultCollisionConfiguration____destroy___p0=asm._emscripten_bind_btDefaultCollisionConfiguration____destroy___p0,_emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0=Module._emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0=asm._emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1=Module._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1=asm._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1,_emscripten_bind_btConeTwistConstraint__setLimit_p6=Module._emscripten_bind_btConeTwistConstraint__setLimit_p6=asm._emscripten_bind_btConeTwistConstraint__setLimit_p6,_emscripten_bind_btTypedConstraint__enableFeedback_p1=Module._emscripten_bind_btTypedConstraint__enableFeedback_p1=asm._emscripten_bind_btTypedConstraint__enableFeedback_p1,_emscripten_bind_btConeTwistConstraint__setLimit_p4=Module._emscripten_bind_btConeTwistConstraint__setLimit_p4=asm._emscripten_bind_btConeTwistConstraint__setLimit_p4,_emscripten_bind_btConeTwistConstraint__setLimit_p5=Module._emscripten_bind_btConeTwistConstraint__setLimit_p5=asm._emscripten_bind_btConeTwistConstraint__setLimit_p5,_emscripten_bind_btConeTwistConstraint__setLimit_p2=Module._emscripten_bind_btConeTwistConstraint__setLimit_p2=asm._emscripten_bind_btConeTwistConstraint__setLimit_p2,_emscripten_bind_btConeTwistConstraint__setLimit_p3=Module._emscripten_bind_btConeTwistConstraint__setLimit_p3=asm._emscripten_bind_btConeTwistConstraint__setLimit_p3,_emscripten_bind_btMultiSphereShape__getAabb_p3=Module._emscripten_bind_btMultiSphereShape__getAabb_p3=asm._emscripten_bind_btMultiSphereShape__getAabb_p3,_emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0,_emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1,_emscripten_bind_btAxisSweep3__destroyProxy_p2=Module._emscripten_bind_btAxisSweep3__destroyProxy_p2=asm._emscripten_bind_btAxisSweep3__destroyProxy_p2,_emscripten_bind_btManifoldPoint__set_m_partId1_p1=Module._emscripten_bind_btManifoldPoint__set_m_partId1_p1=asm._emscripten_bind_btManifoldPoint__set_m_partId1_p1,_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3=Module._emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3=asm._emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3,_emscripten_bind_btConvexHullShape__btConvexHullShape_p3=Module._emscripten_bind_btConvexHullShape__btConvexHullShape_p3=asm._emscripten_bind_btConvexHullShape__btConvexHullShape_p3,_emscripten_bind_btConvexHullShape__btConvexHullShape_p2=Module._emscripten_bind_btConvexHullShape__btConvexHullShape_p2=asm._emscripten_bind_btConvexHullShape__btConvexHullShape_p2,_emscripten_bind_btConvexHullShape__btConvexHullShape_p1=Module._emscripten_bind_btConvexHullShape__btConvexHullShape_p1=asm._emscripten_bind_btConvexHullShape__btConvexHullShape_p1,_emscripten_bind_btConvexHullShape__btConvexHullShape_p0=Module._emscripten_bind_btConvexHullShape__btConvexHullShape_p0=asm._emscripten_bind_btConvexHullShape__btConvexHullShape_p0,_emscripten_bind_btHashString__btHashString_p1=Module._emscripten_bind_btHashString__btHashString_p1=asm._emscripten_bind_btHashString__btHashString_p1,_emscripten_bind_btVector3__length2_p0=Module._emscripten_bind_btVector3__length2_p0=asm._emscripten_bind_btVector3__length2_p0,_emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0,_emscripten_bind_btPairCachingGhostObject__getHitFraction_p0=Module._emscripten_bind_btPairCachingGhostObject__getHitFraction_p0=asm._emscripten_bind_btPairCachingGhostObject__getHitFraction_p0,_emscripten_bind_btGhostObject__getOverlappingObject_p1=Module._emscripten_bind_btGhostObject__getOverlappingObject_p1=asm._emscripten_bind_btGhostObject__getOverlappingObject_p1,_emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7=Module._emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7=asm._emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7,_emscripten_bind_btDbvtProxy__get_leaf_p0=Module._emscripten_bind_btDbvtProxy__get_leaf_p0=asm._emscripten_bind_btDbvtProxy__get_leaf_p0,_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5=Module._emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5=asm._emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5,_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4=Module._emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4=asm._emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4,_emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btRigidBody__getWorldTransform_p0=Module._emscripten_bind_btRigidBody__getWorldTransform_p0=asm._emscripten_bind_btRigidBody__getWorldTransform_p0,_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0=Module._emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0=asm._emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0,_emscripten_bind_btQuantizedBvh__deSerializeDouble_p1=Module._emscripten_bind_btQuantizedBvh__deSerializeDouble_p1=asm._emscripten_bind_btQuantizedBvh__deSerializeDouble_p1,_emscripten_bind_btRigidBody__getCcdMotionThreshold_p0=Module._emscripten_bind_btRigidBody__getCcdMotionThreshold_p0=asm._emscripten_bind_btRigidBody__getCcdMotionThreshold_p0,_emscripten_bind_btStridingMeshInterface__preallocateVertices_p1=Module._emscripten_bind_btStridingMeshInterface__preallocateVertices_p1=asm._emscripten_bind_btStridingMeshInterface__preallocateVertices_p1,_emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0,_emscripten_bind_btSerializer__registerNameForPointer_p2=Module._emscripten_bind_btSerializer__registerNameForPointer_p2=asm._emscripten_bind_btSerializer__registerNameForPointer_p2,_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0=Module._emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0=asm._emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0,_emscripten_bind_btStaticPlaneShape__isConvex_p0=Module._emscripten_bind_btStaticPlaneShape__isConvex_p0=asm._emscripten_bind_btStaticPlaneShape__isConvex_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1,_emscripten_bind_btConeShapeX__calculateLocalInertia_p2=Module._emscripten_bind_btConeShapeX__calculateLocalInertia_p2=asm._emscripten_bind_btConeShapeX__calculateLocalInertia_p2,_emscripten_bind_btHingeConstraint__getObjectType_p0=Module._emscripten_bind_btHingeConstraint__getObjectType_p0=asm._emscripten_bind_btHingeConstraint__getObjectType_p0,_emscripten_bind_btBU_Simplex1to4__getUserPointer_p0=Module._emscripten_bind_btBU_Simplex1to4__getUserPointer_p0=asm._emscripten_bind_btBU_Simplex1to4__getUserPointer_p0,_emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1=Module._emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1=asm._emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1,_emscripten_bind_btRigidBody__getRestitution_p0=Module._emscripten_bind_btRigidBody__getRestitution_p0=asm._emscripten_bind_btRigidBody__getRestitution_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1,_emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2=Module._emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2=asm._emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2,_emscripten_bind_btHingeConstraint__getConstraintType_p0=Module._emscripten_bind_btHingeConstraint__getConstraintType_p0=asm._emscripten_bind_btHingeConstraint__getConstraintType_p0,_emscripten_bind_btRigidBody__getFlags_p0=Module._emscripten_bind_btRigidBody__getFlags_p0=asm._emscripten_bind_btRigidBody__getFlags_p0,_emscripten_bind_btConvexHullShape__setLocalScaling_p1=Module._emscripten_bind_btConvexHullShape__setLocalScaling_p1=asm._emscripten_bind_btConvexHullShape__setLocalScaling_p1,_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0=Module._emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0=asm._emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0,_emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0,_emscripten_bind_btDynamicsWorld__clearForces_p0=Module._emscripten_bind_btDynamicsWorld__clearForces_p0=asm._emscripten_bind_btDynamicsWorld__clearForces_p0,_emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2=Module._emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2=asm._emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2,_emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0=Module._emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0=asm._emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0,_emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1=Module._emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1=asm._emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1,_emscripten_bind_btRigidBody__computeImpulseDenominator_p2=Module._emscripten_bind_btRigidBody__computeImpulseDenominator_p2=asm._emscripten_bind_btRigidBody__computeImpulseDenominator_p2,_emscripten_bind_btDbvtBroadphase__set_m_prediction_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_prediction_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_prediction_p1,_emscripten_bind_btSerializer__getBufferPointer_p0=Module._emscripten_bind_btSerializer__getBufferPointer_p0=asm._emscripten_bind_btSerializer__getBufferPointer_p0,_emscripten_bind_btSerializer__startSerialization_p0=Module._emscripten_bind_btSerializer__startSerialization_p0=asm._emscripten_bind_btSerializer__startSerialization_p0,_emscripten_bind_btPolyhedralConvexShape__getAabb_p3=Module._emscripten_bind_btPolyhedralConvexShape__getAabb_p3=asm._emscripten_bind_btPolyhedralConvexShape__getAabb_p3,_emscripten_bind_btPairCachingGhostObject__forceActivationState_p1=Module._emscripten_bind_btPairCachingGhostObject__forceActivationState_p1=asm._emscripten_bind_btPairCachingGhostObject__forceActivationState_p1,_emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0,_emscripten_bind_btConvexTriangleMeshShape__getEdge_p3=Module._emscripten_bind_btConvexTriangleMeshShape__getEdge_p3=asm._emscripten_bind_btConvexTriangleMeshShape__getEdge_p3,_emscripten_bind_btBoxShape__getUserPointer_p0=Module._emscripten_bind_btBoxShape__getUserPointer_p0=asm._emscripten_bind_btBoxShape__getUserPointer_p0,_emscripten_bind_btHinge2Constraint__setEnabled_p1=Module._emscripten_bind_btHinge2Constraint__setEnabled_p1=asm._emscripten_bind_btHinge2Constraint__setEnabled_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0,_emscripten_bind_btRigidBody__getAabb_p2=Module._emscripten_bind_btRigidBody__getAabb_p2=asm._emscripten_bind_btRigidBody__getAabb_p2,_emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1=Module._emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1=asm._emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4,_emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1=Module._emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1=asm._emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1,_emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1,_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1=Module._emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1=asm._emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1,_emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0,_emscripten_bind_btConvexHullShape__recalcLocalAabb_p0=Module._emscripten_bind_btConvexHullShape__recalcLocalAabb_p0=asm._emscripten_bind_btConvexHullShape__recalcLocalAabb_p0,_emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0=Module._emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0=asm._emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0,_emscripten_bind_btPoint2PointConstraint__setParam_p2=Module._emscripten_bind_btPoint2PointConstraint__setParam_p2=asm._emscripten_bind_btPoint2PointConstraint__setParam_p2,_emscripten_bind_btPoint2PointConstraint__setParam_p3=Module._emscripten_bind_btPoint2PointConstraint__setParam_p3=asm._emscripten_bind_btPoint2PointConstraint__setParam_p3,_emscripten_bind_btSerializer__findPointer_p1=Module._emscripten_bind_btSerializer__findPointer_p1=asm._emscripten_bind_btSerializer__findPointer_p1,_emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0=Module._emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0=asm._emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0,_emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1=Module._emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1=asm._emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1,_emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btRigidBody__setDeactivationTime_p1=Module._emscripten_bind_btRigidBody__setDeactivationTime_p1=asm._emscripten_bind_btRigidBody__setDeactivationTime_p1,_emscripten_bind_btConeTwistConstraint__getFixThresh_p0=Module._emscripten_bind_btConeTwistConstraint__getFixThresh_p0=asm._emscripten_bind_btConeTwistConstraint__getFixThresh_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2,_emscripten_bind_btConeShape__setUserPointer_p1=Module._emscripten_bind_btConeShape__setUserPointer_p1=asm._emscripten_bind_btConeShape__setUserPointer_p1,_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2=Module._emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2=asm._emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2,_emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1=Module._emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1=asm._emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1,_emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1=Module._emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1=asm._emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1,_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4=Module._emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4=asm._emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4,_emscripten_bind_btTypedConstraint__getRigidBodyB_p0=Module._emscripten_bind_btTypedConstraint__getRigidBodyB_p0=asm._emscripten_bind_btTypedConstraint__getRigidBodyB_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3,_emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0=Module._emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0=asm._emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0,_emscripten_bind_btGhostObject__getInternalType_p0=Module._emscripten_bind_btGhostObject__getInternalType_p0=asm._emscripten_bind_btGhostObject__getInternalType_p0,_emscripten_bind_btConvexHullShape__getNumPlanes_p0=Module._emscripten_bind_btConvexHullShape__getNumPlanes_p0=asm._emscripten_bind_btConvexHullShape__getNumPlanes_p0,_emscripten_bind_btDynamicsWorld__getConstraint_p1=Module._emscripten_bind_btDynamicsWorld__getConstraint_p1=asm._emscripten_bind_btDynamicsWorld__getConstraint_p1,_emscripten_bind_btConvexShape__setMargin_p1=Module._emscripten_bind_btConvexShape__setMargin_p1=asm._emscripten_bind_btConvexShape__setMargin_p1,_emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1,_emscripten_bind_btGeneric6DofConstraint__getAxis_p1=Module._emscripten_bind_btGeneric6DofConstraint__getAxis_p1=asm._emscripten_bind_btGeneric6DofConstraint__getAxis_p1,_emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1=Module._emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1=asm._emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1,_emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1=Module._emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1=asm._emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1,_emscripten_bind_btVector4____destroy___p0=Module._emscripten_bind_btVector4____destroy___p0=asm._emscripten_bind_btVector4____destroy___p0,_emscripten_bind_btVector3__z_p0=Module._emscripten_bind_btVector3__z_p0=asm._emscripten_bind_btVector3__z_p0,_emscripten_bind_btGhostObject__setIslandTag_p1=Module._emscripten_bind_btGhostObject__setIslandTag_p1=asm._emscripten_bind_btGhostObject__setIslandTag_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0,_emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3=Module._emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3=asm._emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3,_emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0=Module._emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0=asm._emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2=Module._emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2=asm._emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2,_emscripten_bind_btSliderConstraint__getAngDepth_p0=Module._emscripten_bind_btSliderConstraint__getAngDepth_p0=asm._emscripten_bind_btSliderConstraint__getAngDepth_p0,_emscripten_bind_btCylinderShape__getMarginNV_p0=Module._emscripten_bind_btCylinderShape__getMarginNV_p0=asm._emscripten_bind_btCylinderShape__getMarginNV_p0,_emscripten_bind_btEmptyShape__isConcave_p0=Module._emscripten_bind_btEmptyShape__isConcave_p0=asm._emscripten_bind_btEmptyShape__isConcave_p0,_emscripten_bind_btTypedObject____destroy___p0=Module._emscripten_bind_btTypedObject____destroy___p0=asm._emscripten_bind_btTypedObject____destroy___p0,_emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btPairCachingGhostObject__setIslandTag_p1=Module._emscripten_bind_btPairCachingGhostObject__setIslandTag_p1=asm._emscripten_bind_btPairCachingGhostObject__setIslandTag_p1,_emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1=Module._emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1=asm._emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1,_emscripten_bind_btPolyhedralConvexShape__isInside_p2=Module._emscripten_bind_btPolyhedralConvexShape__isInside_p2=asm._emscripten_bind_btPolyhedralConvexShape__isInside_p2,_emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0=Module._emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0=asm._emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0,_emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0=Module._emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0=asm._emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0,_emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0=Module._emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0=asm._emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0,_emscripten_bind_btDbvtProxy__get_m_clientObject_p0=Module._emscripten_bind_btDbvtProxy__get_m_clientObject_p0=asm._emscripten_bind_btDbvtProxy__get_m_clientObject_p0,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1=Module._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1=asm._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1,_emscripten_bind_btCylinderShapeZ__getUpAxis_p0=Module._emscripten_bind_btCylinderShapeZ__getUpAxis_p0=asm._emscripten_bind_btCylinderShapeZ__getUpAxis_p0,_emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0,_emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1,_emscripten_bind_btSliderConstraint__getLinearPos_p0=Module._emscripten_bind_btSliderConstraint__getLinearPos_p0=asm._emscripten_bind_btSliderConstraint__getLinearPos_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0,_emscripten_bind_btQuadWord__setMax_p1=Module._emscripten_bind_btQuadWord__setMax_p1=asm._emscripten_bind_btQuadWord__setMax_p1,_emscripten_bind_btRigidBody__wantsSleeping_p0=Module._emscripten_bind_btRigidBody__wantsSleeping_p0=asm._emscripten_bind_btRigidBody__wantsSleeping_p0,_emscripten_bind_btOptimizedBvh__deSerializeDouble_p1=Module._emscripten_bind_btOptimizedBvh__deSerializeDouble_p1=asm._emscripten_bind_btOptimizedBvh__deSerializeDouble_p1,_emscripten_bind_btEmptyShape__setLocalScaling_p1=Module._emscripten_bind_btEmptyShape__setLocalScaling_p1=asm._emscripten_bind_btEmptyShape__setLocalScaling_p1,_emscripten_bind_btBroadphaseProxy__isInfinite_p1=Module._emscripten_bind_btBroadphaseProxy__isInfinite_p1=asm._emscripten_bind_btBroadphaseProxy__isInfinite_p1,_emscripten_bind_btCollisionAlgorithm__processCollision_p4=Module._emscripten_bind_btCollisionAlgorithm__processCollision_p4=asm._emscripten_bind_btCollisionAlgorithm__processCollision_p4,_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0=Module._emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0=asm._emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0,_emscripten_bind_btBU_Simplex1to4__getNumVertices_p0=Module._emscripten_bind_btBU_Simplex1to4__getNumVertices_p0=asm._emscripten_bind_btBU_Simplex1to4__getNumVertices_p0,_emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3=Module._emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3=asm._emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3,_emscripten_bind_btWheelInfo__get_m_frictionSlip_p0=Module._emscripten_bind_btWheelInfo__get_m_frictionSlip_p0=asm._emscripten_bind_btWheelInfo__get_m_frictionSlip_p0,_emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0=Module._emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0=asm._emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0,_emscripten_bind_btStackAlloc__beginBlock_p0=Module._emscripten_bind_btStackAlloc__beginBlock_p0=asm._emscripten_bind_btStackAlloc__beginBlock_p0,_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3=Module._emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3=asm._emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3,_emscripten_bind_btConeShape__isConvex2d_p0=Module._emscripten_bind_btConeShape__isConvex2d_p0=asm._emscripten_bind_btConeShape__isConvex2d_p0,_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0,_emscripten_bind_btHeightfieldTerrainShape__serialize_p2=Module._emscripten_bind_btHeightfieldTerrainShape__serialize_p2=asm._emscripten_bind_btHeightfieldTerrainShape__serialize_p2,_emscripten_bind_btCollisionDispatcher__getNewManifold_p2=Module._emscripten_bind_btCollisionDispatcher__getNewManifold_p2=asm._emscripten_bind_btCollisionDispatcher__getNewManifold_p2,_emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0=Module._emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0=asm._emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0,_emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2=Module._emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2=asm._emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2,_emscripten_bind_btUniversalConstraint__calcAnchorPos_p0=Module._emscripten_bind_btUniversalConstraint__calcAnchorPos_p0=asm._emscripten_bind_btUniversalConstraint__calcAnchorPos_p0,_emscripten_bind_btTransform__deSerializeDouble_p1=Module._emscripten_bind_btTransform__deSerializeDouble_p1=asm._emscripten_bind_btTransform__deSerializeDouble_p1,_emscripten_bind_btCylinderShapeX__getAabbSlow_p3=Module._emscripten_bind_btCylinderShapeX__getAabbSlow_p3=asm._emscripten_bind_btCylinderShapeX__getAabbSlow_p3,_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0=Module._emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0=asm._emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0,_emscripten_bind_btQuaternion__btQuaternion_p4=Module._emscripten_bind_btQuaternion__btQuaternion_p4=asm._emscripten_bind_btQuaternion__btQuaternion_p4,_emscripten_bind_btQuaternion__btQuaternion_p3=Module._emscripten_bind_btQuaternion__btQuaternion_p3=asm._emscripten_bind_btQuaternion__btQuaternion_p3,_emscripten_bind_btQuaternion__btQuaternion_p2=Module._emscripten_bind_btQuaternion__btQuaternion_p2=asm._emscripten_bind_btQuaternion__btQuaternion_p2,_emscripten_bind_btQuaternion__btQuaternion_p0=Module._emscripten_bind_btQuaternion__btQuaternion_p0=asm._emscripten_bind_btQuaternion__btQuaternion_p0,_emscripten_bind_btHinge2Constraint__setUserConstraintId_p1=Module._emscripten_bind_btHinge2Constraint__setUserConstraintId_p1=asm._emscripten_bind_btHinge2Constraint__setUserConstraintId_p1,_emscripten_bind_btUniversalConstraint__needsFeedback_p0=Module._emscripten_bind_btUniversalConstraint__needsFeedback_p0=asm._emscripten_bind_btUniversalConstraint__needsFeedback_p0,_emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1=Module._emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1=asm._emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1,_emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0,_emscripten_bind_btBroadphaseInterface__getAabb_p3=Module._emscripten_bind_btBroadphaseInterface__getAabb_p3=asm._emscripten_bind_btBroadphaseInterface__getAabb_p3,_emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2=Module._emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2=asm._emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1=Module._emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1=asm._emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0=Module._emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0=asm._emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0,_emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btRigidBody__getGravity_p0=Module._emscripten_bind_btRigidBody__getGravity_p0=asm._emscripten_bind_btRigidBody__getGravity_p0,_emscripten_bind_btRigidBody__getAngularFactor_p0=Module._emscripten_bind_btRigidBody__getAngularFactor_p0=asm._emscripten_bind_btRigidBody__getAngularFactor_p0,_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1=Module._emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1=asm._emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1,_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0=Module._emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0=asm._emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0,_emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0,_emscripten_bind_btSimpleDynamicsWorld__setGravity_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setGravity_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setGravity_p1,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1=Module._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1=asm._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1,_emscripten_bind_btSphereShape__isConvex2d_p0=Module._emscripten_bind_btSphereShape__isConvex2d_p0=asm._emscripten_bind_btSphereShape__isConvex2d_p0,_emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3=Module._emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3=asm._emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3,_emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0=Module._emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0=asm._emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0,_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btConvexHullShape__getAabb_p3=Module._emscripten_bind_btConvexHullShape__getAabb_p3=asm._emscripten_bind_btConvexHullShape__getAabb_p3,_emscripten_bind_btVector3__lerp_p2=Module._emscripten_bind_btVector3__lerp_p2=asm._emscripten_bind_btVector3__lerp_p2,_emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1,_emscripten_bind_btPairCachingGhostObject__upcast_p1=Module._emscripten_bind_btPairCachingGhostObject__upcast_p1=asm._emscripten_bind_btPairCachingGhostObject__upcast_p1,_emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1=Module._emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1=asm._emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0,_emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1=Module._emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1=asm._emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1,_emscripten_bind_btHingeConstraint__setAxis_p1=Module._emscripten_bind_btHingeConstraint__setAxis_p1=asm._emscripten_bind_btHingeConstraint__setAxis_p1,_emscripten_bind_btCompoundShape__serializeSingleShape_p1=Module._emscripten_bind_btCompoundShape__serializeSingleShape_p1=asm._emscripten_bind_btCompoundShape__serializeSingleShape_p1,_emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1=Module._emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1=asm._emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1,_emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btRigidBody__internalGetAngularFactor_p0=Module._emscripten_bind_btRigidBody__internalGetAngularFactor_p0=asm._emscripten_bind_btRigidBody__internalGetAngularFactor_p0,_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0=Module._emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0=asm._emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0,_emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0,_emscripten_bind_btManifoldPoint__set_m_distance1_p1=Module._emscripten_bind_btManifoldPoint__set_m_distance1_p1=asm._emscripten_bind_btManifoldPoint__set_m_distance1_p1,_emscripten_bind_btVector3__setValue_p3=Module._emscripten_bind_btVector3__setValue_p3=asm._emscripten_bind_btVector3__setValue_p3,_emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1=Module._emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1=asm._emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1,_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btMatrix3x3__op_add_p1=Module._emscripten_bind_btMatrix3x3__op_add_p1=asm._emscripten_bind_btMatrix3x3__op_add_p1,_emscripten_bind_btStaticPlaneShape__setMargin_p1=Module._emscripten_bind_btStaticPlaneShape__setMargin_p1=asm._emscripten_bind_btStaticPlaneShape__setMargin_p1,_emscripten_bind_btTransform____destroy___p0=Module._emscripten_bind_btTransform____destroy___p0=asm._emscripten_bind_btTransform____destroy___p0,_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0=Module._emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0=asm._emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0,_emscripten_bind_btRotationalLimitMotor__get_m_damping_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_damping_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_damping_p0,_emscripten_bind_btCollisionWorld__getPairCache_p0=Module._emscripten_bind_btCollisionWorld__getPairCache_p0=asm._emscripten_bind_btCollisionWorld__getPairCache_p0,_emscripten_bind_btHashInt____destroy___p0=Module._emscripten_bind_btHashInt____destroy___p0=asm._emscripten_bind_btHashInt____destroy___p0,_emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0=Module._emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0=asm._emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0,_emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1=Module._emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1=asm._emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1,_emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0,_emscripten_bind_btRigidBody__setHitFraction_p1=Module._emscripten_bind_btRigidBody__setHitFraction_p1=asm._emscripten_bind_btRigidBody__setHitFraction_p1,_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0=Module._emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0=asm._emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0,_emscripten_bind_btVector4__dot_p1=Module._emscripten_bind_btVector4__dot_p1=asm._emscripten_bind_btVector4__dot_p1,_emscripten_bind_btDbvtBroadphase__destroyProxy_p2=Module._emscripten_bind_btDbvtBroadphase__destroyProxy_p2=asm._emscripten_bind_btDbvtBroadphase__destroyProxy_p2,_emscripten_bind_btCollisionObject__serializeSingleObject_p1=Module._emscripten_bind_btCollisionObject__serializeSingleObject_p1=asm._emscripten_bind_btCollisionObject__serializeSingleObject_p1,_emscripten_bind_btDispatcherInfo__get_m_timeStep_p0=Module._emscripten_bind_btDispatcherInfo__get_m_timeStep_p0=asm._emscripten_bind_btDispatcherInfo__get_m_timeStep_p0,_emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0,_emscripten_bind_btTriangleMesh__btTriangleMesh_p0=Module._emscripten_bind_btTriangleMesh__btTriangleMesh_p0=asm._emscripten_bind_btTriangleMesh__btTriangleMesh_p0,_emscripten_bind_btJacobianEntry__get_m_bJ_p0=Module._emscripten_bind_btJacobianEntry__get_m_bJ_p0=asm._emscripten_bind_btJacobianEntry__get_m_bJ_p0,_emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0,_emscripten_bind_btRotationalLimitMotor____destroy___p0=Module._emscripten_bind_btRotationalLimitMotor____destroy___p0=asm._emscripten_bind_btRotationalLimitMotor____destroy___p0,_emscripten_bind_btGhostObject__convexSweepTest_p4=Module._emscripten_bind_btGhostObject__convexSweepTest_p4=asm._emscripten_bind_btGhostObject__convexSweepTest_p4,_emscripten_bind_btGhostObject__convexSweepTest_p5=Module._emscripten_bind_btGhostObject__convexSweepTest_p5=asm._emscripten_bind_btGhostObject__convexSweepTest_p5,_emscripten_bind_btPoint2PointConstraint____destroy___p0=Module._emscripten_bind_btPoint2PointConstraint____destroy___p0=asm._emscripten_bind_btPoint2PointConstraint____destroy___p0,_emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0=Module._emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0=asm._emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0,_emscripten_bind_btCapsuleShape__getUserPointer_p0=Module._emscripten_bind_btCapsuleShape__getUserPointer_p0=asm._emscripten_bind_btCapsuleShape__getUserPointer_p0,_emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1=Module._emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1=asm._emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1,_emscripten_bind_btConcaveShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConcaveShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConcaveShape__calculateTemporalAabb_p6,_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btEmptyShape__getAabb_p3=Module._emscripten_bind_btEmptyShape__getAabb_p3=asm._emscripten_bind_btEmptyShape__getAabb_p3,_emscripten_bind_btAxisSweep3__addHandle_p7=Module._emscripten_bind_btAxisSweep3__addHandle_p7=asm._emscripten_bind_btAxisSweep3__addHandle_p7,_emscripten_bind_btHinge2Constraint__setParam_p2=Module._emscripten_bind_btHinge2Constraint__setParam_p2=asm._emscripten_bind_btHinge2Constraint__setParam_p2,_emscripten_bind_btHinge2Constraint__setParam_p3=Module._emscripten_bind_btHinge2Constraint__setParam_p3=asm._emscripten_bind_btHinge2Constraint__setParam_p3,_emscripten_bind_btCapsuleShapeX__setMargin_p1=Module._emscripten_bind_btCapsuleShapeX__setMargin_p1=asm._emscripten_bind_btCapsuleShapeX__setMargin_p1,_emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3=Module._emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3=asm._emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3,_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5=Module._emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5=asm._emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0=Module._emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0=asm._emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0,_emscripten_bind_btCollisionObject__setAnisotropicFriction_p1=Module._emscripten_bind_btCollisionObject__setAnisotropicFriction_p1=asm._emscripten_bind_btCollisionObject__setAnisotropicFriction_p1,_emscripten_bind_btQuaternion__y_p0=Module._emscripten_bind_btQuaternion__y_p0=asm._emscripten_bind_btQuaternion__y_p0,_emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0=Module._emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0=asm._emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0,_emscripten_bind_btDynamicsWorld__updateAabbs_p0=Module._emscripten_bind_btDynamicsWorld__updateAabbs_p0=asm._emscripten_bind_btDynamicsWorld__updateAabbs_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0,_emscripten_bind_btContactConstraint__getParam_p1=Module._emscripten_bind_btContactConstraint__getParam_p1=asm._emscripten_bind_btContactConstraint__getParam_p1,_emscripten_bind_btJacobianEntry__set_m_bJ_p1=Module._emscripten_bind_btJacobianEntry__set_m_bJ_p1=asm._emscripten_bind_btJacobianEntry__set_m_bJ_p1,_emscripten_bind_btTypedConstraint__needsFeedback_p0=Module._emscripten_bind_btTypedConstraint__needsFeedback_p0=asm._emscripten_bind_btTypedConstraint__needsFeedback_p0,_emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0,_emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1=Module._emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1=asm._emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1,_emscripten_bind_btBoxShape__setMargin_p1=Module._emscripten_bind_btBoxShape__setMargin_p1=asm._emscripten_bind_btBoxShape__setMargin_p1,_emscripten_bind_btConeShapeZ__getAabb_p3=Module._emscripten_bind_btConeShapeZ__getAabb_p3=asm._emscripten_bind_btConeShapeZ__getAabb_p3,_emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1,_emscripten_bind_btBroadphasePair__set_m_algorithm_p1=Module._emscripten_bind_btBroadphasePair__set_m_algorithm_p1=asm._emscripten_bind_btBroadphasePair__set_m_algorithm_p1,_emscripten_bind_btVector3__distance_p1=Module._emscripten_bind_btVector3__distance_p1=asm._emscripten_bind_btVector3__distance_p1,_emscripten_bind_btConeShapeX__getAabb_p3=Module._emscripten_bind_btConeShapeX__getAabb_p3=asm._emscripten_bind_btConeShapeX__getAabb_p3,_emscripten_bind_btStaticPlaneShape__isConvex2d_p0=Module._emscripten_bind_btStaticPlaneShape__isConvex2d_p0=asm._emscripten_bind_btStaticPlaneShape__isConvex2d_p0,_emscripten_bind_btHashPtr__btHashPtr_p1=Module._emscripten_bind_btHashPtr__btHashPtr_p1=asm._emscripten_bind_btHashPtr__btHashPtr_p1,_emscripten_bind_btQuaternion__op_add_p1=Module._emscripten_bind_btQuaternion__op_add_p1=asm._emscripten_bind_btQuaternion__op_add_p1,_emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3,_emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0,_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0=Module._emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0=asm._emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0,_emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0=Module._emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0=asm._emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0,_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1=Module._emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1=asm._emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1,_emscripten_bind_btBroadphaseProxy__isSoftBody_p1=Module._emscripten_bind_btBroadphaseProxy__isSoftBody_p1=asm._emscripten_bind_btBroadphaseProxy__isSoftBody_p1,_emscripten_bind_btConeShape__getMarginNonVirtual_p0=Module._emscripten_bind_btConeShape__getMarginNonVirtual_p0=asm._emscripten_bind_btConeShape__getMarginNonVirtual_p0,_emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3=Module._emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3=asm._emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3,_emscripten_bind_btGhostObject__getWorldTransform_p0=Module._emscripten_bind_btGhostObject__getWorldTransform_p0=asm._emscripten_bind_btGhostObject__getWorldTransform_p0,_emscripten_bind_btHingeConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btHingeConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btHingeConstraint__getAppliedImpulse_p0,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1,_emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4=Module._emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4=asm._emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4,_emscripten_bind_btUniversalConstraint__setLowerLimit_p2=Module._emscripten_bind_btUniversalConstraint__setLowerLimit_p2=asm._emscripten_bind_btUniversalConstraint__setLowerLimit_p2,_emscripten_bind_btTransform__deSerializeFloat_p1=Module._emscripten_bind_btTransform__deSerializeFloat_p1=asm._emscripten_bind_btTransform__deSerializeFloat_p1,_emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0,_emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3,_emscripten_bind_btHinge2Constraint__setAxis_p2=Module._emscripten_bind_btHinge2Constraint__setAxis_p2=asm._emscripten_bind_btHinge2Constraint__setAxis_p2,_emscripten_bind_btConeTwistConstraint__getAFrame_p0=Module._emscripten_bind_btConeTwistConstraint__getAFrame_p0=asm._emscripten_bind_btConeTwistConstraint__getAFrame_p0,_emscripten_bind_btCylinderShapeX__getRadius_p0=Module._emscripten_bind_btCylinderShapeX__getRadius_p0=asm._emscripten_bind_btCylinderShapeX__getRadius_p0,_emscripten_bind_btStackAlloc__allocate_p1=Module._emscripten_bind_btStackAlloc__allocate_p1=asm._emscripten_bind_btStackAlloc__allocate_p1,_emscripten_bind_btDynamicsWorld__addRigidBody_p1=Module._emscripten_bind_btDynamicsWorld__addRigidBody_p1=asm._emscripten_bind_btDynamicsWorld__addRigidBody_p1,_emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0,_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0=Module._emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0=asm._emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0,_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btConeShape__serializeSingleShape_p1=Module._emscripten_bind_btConeShape__serializeSingleShape_p1=asm._emscripten_bind_btConeShape__serializeSingleShape_p1,_emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1=Module._emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1=asm._emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1,_emscripten_bind_btBoxShape__isConvex2d_p0=Module._emscripten_bind_btBoxShape__isConvex2d_p0=asm._emscripten_bind_btBoxShape__isConvex2d_p0,_emscripten_bind_btMatrix3x3__setEulerYPR_p3=Module._emscripten_bind_btMatrix3x3__setEulerYPR_p3=asm._emscripten_bind_btMatrix3x3__setEulerYPR_p3,_emscripten_bind_btRigidBody__setCollisionShape_p1=Module._emscripten_bind_btRigidBody__setCollisionShape_p1=asm._emscripten_bind_btRigidBody__setCollisionShape_p1,_emscripten_bind_btCollisionWorld__objectQuerySingle_p8=Module._emscripten_bind_btCollisionWorld__objectQuerySingle_p8=asm._emscripten_bind_btCollisionWorld__objectQuerySingle_p8,_emscripten_bind_btConcaveShape__isInfinite_p0=Module._emscripten_bind_btConcaveShape__isInfinite_p0=asm._emscripten_bind_btConcaveShape__isInfinite_p0,_emscripten_bind_btHinge2Constraint__setFrames_p2=Module._emscripten_bind_btHinge2Constraint__setFrames_p2=asm._emscripten_bind_btHinge2Constraint__setFrames_p2,_emscripten_bind_btHingeConstraint__setLimit_p3=Module._emscripten_bind_btHingeConstraint__setLimit_p3=asm._emscripten_bind_btHingeConstraint__setLimit_p3,_emscripten_bind_btHingeConstraint__setLimit_p2=Module._emscripten_bind_btHingeConstraint__setLimit_p2=asm._emscripten_bind_btHingeConstraint__setLimit_p2,_emscripten_bind_btMatrix3x3__tdoty_p1=Module._emscripten_bind_btMatrix3x3__tdoty_p1=asm._emscripten_bind_btMatrix3x3__tdoty_p1,_emscripten_bind_btConcaveShape__getShapeType_p0=Module._emscripten_bind_btConcaveShape__getShapeType_p0=asm._emscripten_bind_btConcaveShape__getShapeType_p0,_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0=Module._emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0=asm._emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0,_emscripten_bind_btHingeConstraint__setLimit_p5=Module._emscripten_bind_btHingeConstraint__setLimit_p5=asm._emscripten_bind_btHingeConstraint__setLimit_p5,_emscripten_bind_btCylinderShapeZ__getMargin_p0=Module._emscripten_bind_btCylinderShapeZ__getMargin_p0=asm._emscripten_bind_btCylinderShapeZ__getMargin_p0,_emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0,_emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1=Module._emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1=asm._emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1,_emscripten_bind_btCapsuleShape__calculateLocalInertia_p2=Module._emscripten_bind_btCapsuleShape__calculateLocalInertia_p2=asm._emscripten_bind_btCapsuleShape__calculateLocalInertia_p2,_emscripten_bind_btMultiSphereShape__serializeSingleShape_p1=Module._emscripten_bind_btMultiSphereShape__serializeSingleShape_p1=asm._emscripten_bind_btMultiSphereShape__serializeSingleShape_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1,_emscripten_bind_btPairCachingGhostObject__setRestitution_p1=Module._emscripten_bind_btPairCachingGhostObject__setRestitution_p1=asm._emscripten_bind_btPairCachingGhostObject__setRestitution_p1,_emscripten_bind_btDefaultMotionState__getWorldTransform_p1=Module._emscripten_bind_btDefaultMotionState__getWorldTransform_p1=asm._emscripten_bind_btDefaultMotionState__getWorldTransform_p1,_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0=Module._emscripten_bind_btDbvtProxy__get_m_aabbMax_p0=asm._emscripten_bind_btDbvtProxy__get_m_aabbMax_p0,_emscripten_bind_btVector3____destroy___p0=Module._emscripten_bind_btVector3____destroy___p0=asm._emscripten_bind_btVector3____destroy___p0,_emscripten_bind_btConeShapeX__getRadius_p0=Module._emscripten_bind_btConeShapeX__getRadius_p0=asm._emscripten_bind_btConeShapeX__getRadius_p0,_emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0=Module._emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0=asm._emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0,_emscripten_bind_bt32BitAxisSweep3__printStats_p0=Module._emscripten_bind_bt32BitAxisSweep3__printStats_p0=asm._emscripten_bind_bt32BitAxisSweep3__printStats_p0,_emscripten_bind_btMatrix3x3__tdotz_p1=Module._emscripten_bind_btMatrix3x3__tdotz_p1=asm._emscripten_bind_btMatrix3x3__tdotz_p1,_emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0=Module._emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0=asm._emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0,_emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0=Module._emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0=asm._emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0,_emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0,_emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0=Module._emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0=asm._emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0,_emscripten_bind_btDispatcherInfo__set_m_stepCount_p1=Module._emscripten_bind_btDispatcherInfo__set_m_stepCount_p1=asm._emscripten_bind_btDispatcherInfo__set_m_stepCount_p1,_emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1=Module._emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1=asm._emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1,_emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0=Module._emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0=asm._emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0,_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2=Module._emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2=asm._emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2,_emscripten_bind_btConvexHullShape__getShapeType_p0=Module._emscripten_bind_btConvexHullShape__getShapeType_p0=asm._emscripten_bind_btConvexHullShape__getShapeType_p0,_emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2=Module._emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2=asm._emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1,_emscripten_bind_btHingeConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btHingeConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btHingeConstraint__setupSolverConstraint_p4,_emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1=Module._emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1=asm._emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1,_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0,_emscripten_bind_CProfileNode__Return_p0=Module._emscripten_bind_CProfileNode__Return_p0=asm._emscripten_bind_CProfileNode__Return_p0,_emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4,_emscripten_bind_btGhostObject__setWorldTransform_p1=Module._emscripten_bind_btGhostObject__setWorldTransform_p1=asm._emscripten_bind_btGhostObject__setWorldTransform_p1,_emscripten_bind_btStaticPlaneShape__isSoftBody_p0=Module._emscripten_bind_btStaticPlaneShape__isSoftBody_p0=asm._emscripten_bind_btStaticPlaneShape__isSoftBody_p0,_emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0=Module._emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0=asm._emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0,_emscripten_bind_bt32BitAxisSweep3__createProxy_p8=Module._emscripten_bind_bt32BitAxisSweep3__createProxy_p8=asm._emscripten_bind_bt32BitAxisSweep3__createProxy_p8,_emscripten_bind_btVector4__getSkewSymmetricMatrix_p3=Module._emscripten_bind_btVector4__getSkewSymmetricMatrix_p3=asm._emscripten_bind_btVector4__getSkewSymmetricMatrix_p3,_emscripten_bind_btCapsuleShapeZ__getMargin_p0=Module._emscripten_bind_btCapsuleShapeZ__getMargin_p0=asm._emscripten_bind_btCapsuleShapeZ__getMargin_p0,_emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0=Module._emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0=asm._emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0,_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btGhostObject__isStaticObject_p0=Module._emscripten_bind_btGhostObject__isStaticObject_p0=asm._emscripten_bind_btGhostObject__isStaticObject_p0,_emscripten_bind_btHinge2Constraint__isLimited_p1=Module._emscripten_bind_btHinge2Constraint__isLimited_p1=asm._emscripten_bind_btHinge2Constraint__isLimited_p1,_emscripten_bind_btRaycastVehicle__addWheel_p7=Module._emscripten_bind_btRaycastVehicle__addWheel_p7=asm._emscripten_bind_btRaycastVehicle__addWheel_p7,_emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0=Module._emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0=asm._emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1,_emscripten_bind_btConcaveShape__setLocalScaling_p1=Module._emscripten_bind_btConcaveShape__setLocalScaling_p1=asm._emscripten_bind_btConcaveShape__setLocalScaling_p1,_emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1,_emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1,_emscripten_bind_btGhostObject__getCcdMotionThreshold_p0=Module._emscripten_bind_btGhostObject__getCcdMotionThreshold_p0=asm._emscripten_bind_btGhostObject__getCcdMotionThreshold_p0,_emscripten_bind_btDbvtProxy____destroy___p0=Module._emscripten_bind_btDbvtProxy____destroy___p0=asm._emscripten_bind_btDbvtProxy____destroy___p0,_emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0,_emscripten_bind_btDynamicsWorld__debugDrawObject_p3=Module._emscripten_bind_btDynamicsWorld__debugDrawObject_p3=asm._emscripten_bind_btDynamicsWorld__debugDrawObject_p3,_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0=Module._emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0=asm._emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0,_emscripten_bind_btMatrix3x3__tdotx_p1=Module._emscripten_bind_btMatrix3x3__tdotx_p1=asm._emscripten_bind_btMatrix3x3__tdotx_p1,_emscripten_bind_btTriangleInfo__btTriangleInfo_p0=Module._emscripten_bind_btTriangleInfo__btTriangleInfo_p0=asm._emscripten_bind_btTriangleInfo__btTriangleInfo_p0,_emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0=Module._emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0=asm._emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0,_emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1,_emscripten_bind_btConvexShape__getAabb_p3=Module._emscripten_bind_btConvexShape__getAabb_p3=asm._emscripten_bind_btConvexShape__getAabb_p3,_emscripten_bind_btConeShapeX__btConeShapeX_p2=Module._emscripten_bind_btConeShapeX__btConeShapeX_p2=asm._emscripten_bind_btConeShapeX__btConeShapeX_p2,_emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1=Module._emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1=asm._emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1,_emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btCompoundShape__serialize_p2=Module._emscripten_bind_btCompoundShape__serialize_p2=asm._emscripten_bind_btCompoundShape__serialize_p2,_emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1=Module._emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1=asm._emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1,_emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1=Module._emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1=asm._emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1,_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0,_emscripten_bind_btConcaveShape__setUserPointer_p1=Module._emscripten_bind_btConcaveShape__setUserPointer_p1=asm._emscripten_bind_btConcaveShape__setUserPointer_p1,_emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0=Module._emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0=asm._emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3=Module._emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3=asm._emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2=Module._emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2=asm._emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1,_emscripten_bind_btConeTwistConstraint__setFrames_p2=Module._emscripten_bind_btConeTwistConstraint__setFrames_p2=asm._emscripten_bind_btConeTwistConstraint__setFrames_p2,_emscripten_bind_btManifoldPoint__getAppliedImpulse_p0=Module._emscripten_bind_btManifoldPoint__getAppliedImpulse_p0=asm._emscripten_bind_btManifoldPoint__getAppliedImpulse_p0,_emscripten_bind_btUniformScalingShape__isConvex2d_p0=Module._emscripten_bind_btUniformScalingShape__isConvex2d_p0=asm._emscripten_bind_btUniformScalingShape__isConvex2d_p0,_emscripten_bind_btDefaultMotionState__set_m_userPointer_p1=Module._emscripten_bind_btDefaultMotionState__set_m_userPointer_p1=asm._emscripten_bind_btDefaultMotionState__set_m_userPointer_p1,_emscripten_bind_btWheelInfo__set_m_worldTransform_p1=Module._emscripten_bind_btWheelInfo__set_m_worldTransform_p1=asm._emscripten_bind_btWheelInfo__set_m_worldTransform_p1,_emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0=Module._emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0=asm._emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1,_emscripten_bind_btSimpleBroadphase__rayTest_p4=Module._emscripten_bind_btSimpleBroadphase__rayTest_p4=asm._emscripten_bind_btSimpleBroadphase__rayTest_p4,_emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0=Module._emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0=asm._emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0,_emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0,_emscripten_bind_btCollisionObject__setDeactivationTime_p1=Module._emscripten_bind_btCollisionObject__setDeactivationTime_p1=asm._emscripten_bind_btCollisionObject__setDeactivationTime_p1,_emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1=Module._emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1=asm._emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1,_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0,_emscripten_bind_btCollisionShape__setUserPointer_p1=Module._emscripten_bind_btCollisionShape__setUserPointer_p1=asm._emscripten_bind_btCollisionShape__setUserPointer_p1,_emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0=Module._emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0=asm._emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0,_emscripten_bind_btVector4__setX_p1=Module._emscripten_bind_btVector4__setX_p1=asm._emscripten_bind_btVector4__setX_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3,_emscripten_bind_btAngularLimit__getHalfRange_p0=Module._emscripten_bind_btAngularLimit__getHalfRange_p0=asm._emscripten_bind_btAngularLimit__getHalfRange_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1,_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0,_emscripten_bind_btCompoundShape__isSoftBody_p0=Module._emscripten_bind_btCompoundShape__isSoftBody_p0=asm._emscripten_bind_btCompoundShape__isSoftBody_p0,_emscripten_bind_btPolyhedralConvexShape__isConcave_p0=Module._emscripten_bind_btPolyhedralConvexShape__isConcave_p0=asm._emscripten_bind_btPolyhedralConvexShape__isConcave_p0,_emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0=Module._emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0=asm._emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0,_emscripten_bind_btRigidBody__btRigidBody_p3=Module._emscripten_bind_btRigidBody__btRigidBody_p3=asm._emscripten_bind_btRigidBody__btRigidBody_p3,_emscripten_bind_btRigidBody__btRigidBody_p1=Module._emscripten_bind_btRigidBody__btRigidBody_p1=asm._emscripten_bind_btRigidBody__btRigidBody_p1,_emscripten_bind_btConcaveShape__getBoundingSphere_p2=Module._emscripten_bind_btConcaveShape__getBoundingSphere_p2=asm._emscripten_bind_btConcaveShape__getBoundingSphere_p2,_emscripten_bind_btGhostObject__btGhostObject_p0=Module._emscripten_bind_btGhostObject__btGhostObject_p0=asm._emscripten_bind_btGhostObject__btGhostObject_p0,_emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0=Module._emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0=asm._emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0,_emscripten_bind_btRigidBody__isInWorld_p0=Module._emscripten_bind_btRigidBody__isInWorld_p0=asm._emscripten_bind_btRigidBody__isInWorld_p0,_emscripten_bind_btDynamicsWorld__updateSingleAabb_p1=Module._emscripten_bind_btDynamicsWorld__updateSingleAabb_p1=asm._emscripten_bind_btDynamicsWorld__updateSingleAabb_p1,_emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0,_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0,_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_paircache_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_paircache_p0,_emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1=Module._emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1=asm._emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1,_emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1,_emscripten_bind_btTriangleMesh__hasPremadeAabb_p0=Module._emscripten_bind_btTriangleMesh__hasPremadeAabb_p0=asm._emscripten_bind_btTriangleMesh__hasPremadeAabb_p0,_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btCollisionObject__getRootCollisionShape_p0=Module._emscripten_bind_btCollisionObject__getRootCollisionShape_p0=asm._emscripten_bind_btCollisionObject__getRootCollisionShape_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1,_emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1,_emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0=Module._emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0=asm._emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0,_emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0=Module._emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0=asm._emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0,_emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1=Module._emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1=asm._emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1,_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2=Module._emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2=asm._emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2,_emscripten_bind_btRigidBody__setFriction_p1=Module._emscripten_bind_btRigidBody__setFriction_p1=asm._emscripten_bind_btRigidBody__setFriction_p1,_emscripten_bind_btCylinderShapeX__getAabb_p3=Module._emscripten_bind_btCylinderShapeX__getAabb_p3=asm._emscripten_bind_btCylinderShapeX__getAabb_p3,_emscripten_bind_btVector4__closestAxis_p0=Module._emscripten_bind_btVector4__closestAxis_p0=asm._emscripten_bind_btVector4__closestAxis_p0,_emscripten_bind_btConeShape__setLocalScaling_p1=Module._emscripten_bind_btConeShape__setLocalScaling_p1=asm._emscripten_bind_btConeShape__setLocalScaling_p1,_emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1=Module._emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1=asm._emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1,_emscripten_bind_btVector4__w_p0=Module._emscripten_bind_btVector4__w_p0=asm._emscripten_bind_btVector4__w_p0,_emscripten_bind_btJacobianEntry__set_m_aJ_p1=Module._emscripten_bind_btJacobianEntry__set_m_aJ_p1=asm._emscripten_bind_btJacobianEntry__set_m_aJ_p1,_emscripten_bind_btVector4__setZ_p1=Module._emscripten_bind_btVector4__setZ_p1=asm._emscripten_bind_btVector4__setZ_p1,_emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3=Module._emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3=asm._emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3,_emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1=Module._emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1=asm._emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1,_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1=Module._emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1=asm._emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1,_emscripten_bind_btVector3__furthestAxis_p0=Module._emscripten_bind_btVector3__furthestAxis_p0=asm._emscripten_bind_btVector3__furthestAxis_p0,_emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0,_emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1=Module._emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1=asm._emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1,_emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1=Module._emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1=asm._emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1,_emscripten_bind_btUniversalConstraint__getUserConstraintType_p0=Module._emscripten_bind_btUniversalConstraint__getUserConstraintType_p0=asm._emscripten_bind_btUniversalConstraint__getUserConstraintType_p0,_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0=Module._emscripten_bind_btUniversalConstraint__getRigidBodyB_p0=asm._emscripten_bind_btUniversalConstraint__getRigidBodyB_p0,_emscripten_bind_btEmptyShape__calculateLocalInertia_p2=Module._emscripten_bind_btEmptyShape__calculateLocalInertia_p2=asm._emscripten_bind_btEmptyShape__calculateLocalInertia_p2,_emscripten_bind_btPairCachingGhostObject__setUserPointer_p1=Module._emscripten_bind_btPairCachingGhostObject__setUserPointer_p1=asm._emscripten_bind_btPairCachingGhostObject__setUserPointer_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btPersistentManifold__clearManifold_p0=Module._emscripten_bind_btPersistentManifold__clearManifold_p0=asm._emscripten_bind_btPersistentManifold__clearManifold_p0,_emscripten_bind_btVector3__safeNormalize_p0=Module._emscripten_bind_btVector3__safeNormalize_p0=asm._emscripten_bind_btVector3__safeNormalize_p0,_emscripten_bind_btConvexTriangleMeshShape__isCompound_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isCompound_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isCompound_p0,_emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0=Module._emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0=asm._emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0,_emscripten_bind_btVector4__isZero_p0=Module._emscripten_bind_btVector4__isZero_p0=asm._emscripten_bind_btVector4__isZero_p0,_emscripten_bind_btVector4__setY_p1=Module._emscripten_bind_btVector4__setY_p1=asm._emscripten_bind_btVector4__setY_p1,_emscripten_bind_btVector4__lerp_p2=Module._emscripten_bind_btVector4__lerp_p2=asm._emscripten_bind_btVector4__lerp_p2,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0=Module._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0=asm._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0,_emscripten_bind_btDispatcher__needsCollision_p2=Module._emscripten_bind_btDispatcher__needsCollision_p2=asm._emscripten_bind_btDispatcher__needsCollision_p2,_emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0=Module._emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0=asm._emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1,_emscripten_bind_btCylinderShapeX__getBoundingSphere_p2=Module._emscripten_bind_btCylinderShapeX__getBoundingSphere_p2=asm._emscripten_bind_btCylinderShapeX__getBoundingSphere_p2,_emscripten_bind_btRigidBody__getNumConstraintRefs_p0=Module._emscripten_bind_btRigidBody__getNumConstraintRefs_p0=asm._emscripten_bind_btRigidBody__getNumConstraintRefs_p0,_emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0,_emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1,_emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0=Module._emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0=asm._emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0,_emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1,_emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0=Module._emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0=asm._emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0,_emscripten_bind_btTypedConstraint__getInfo1_p1=Module._emscripten_bind_btTypedConstraint__getInfo1_p1=asm._emscripten_bind_btTypedConstraint__getInfo1_p1,_emscripten_bind_btQuaternion__getW_p0=Module._emscripten_bind_btQuaternion__getW_p0=asm._emscripten_bind_btQuaternion__getW_p0,_emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3=Module._emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3=asm._emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3,_emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2,_emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2=Module._emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2=asm._emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2,_emscripten_bind_btSphereShape__setMargin_p1=Module._emscripten_bind_btSphereShape__setMargin_p1=asm._emscripten_bind_btSphereShape__setMargin_p1,_emscripten_bind_btQuadWord____destroy___p0=Module._emscripten_bind_btQuadWord____destroy___p0=asm._emscripten_bind_btQuadWord____destroy___p0,_emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1=Module._emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1=asm._emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1,_emscripten_bind_btSphereShape__getLocalScalingNV_p0=Module._emscripten_bind_btSphereShape__getLocalScalingNV_p0=asm._emscripten_bind_btSphereShape__getLocalScalingNV_p0,_emscripten_bind_btConeShape__getAabb_p3=Module._emscripten_bind_btConeShape__getAabb_p3=asm._emscripten_bind_btConeShape__getAabb_p3,_emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0=Module._emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0=asm._emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0,_emscripten_bind_btBoxShape__getVertex_p2=Module._emscripten_bind_btBoxShape__getVertex_p2=asm._emscripten_bind_btBoxShape__getVertex_p2,_emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1=Module._emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1=asm._emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1,_emscripten_bind_btCylinderShapeX__isCompound_p0=Module._emscripten_bind_btCylinderShapeX__isCompound_p0=asm._emscripten_bind_btCylinderShapeX__isCompound_p0,_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1=Module._emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1=asm._emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1,_emscripten_bind_btGhostObject__activate_p0=Module._emscripten_bind_btGhostObject__activate_p0=asm._emscripten_bind_btGhostObject__activate_p0,_emscripten_bind_btCollisionWorld__debugDrawWorld_p0=Module._emscripten_bind_btCollisionWorld__debugDrawWorld_p0=asm._emscripten_bind_btCollisionWorld__debugDrawWorld_p0,_emscripten_bind_btDbvtProxy__set_m_clientObject_p1=Module._emscripten_bind_btDbvtProxy__set_m_clientObject_p1=asm._emscripten_bind_btDbvtProxy__set_m_clientObject_p1,_emscripten_bind_btSphereShape__getShapeType_p0=Module._emscripten_bind_btSphereShape__getShapeType_p0=asm._emscripten_bind_btSphereShape__getShapeType_p0,_emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1=Module._emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1=asm._emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1,_emscripten_bind_btCollisionObject__getHitFraction_p0=Module._emscripten_bind_btCollisionObject__getHitFraction_p0=asm._emscripten_bind_btCollisionObject__getHitFraction_p0,_emscripten_bind_btCompoundShape__updateChildTransform_p3=Module._emscripten_bind_btCompoundShape__updateChildTransform_p3=asm._emscripten_bind_btCompoundShape__updateChildTransform_p3,_emscripten_bind_btCompoundShape__updateChildTransform_p2=Module._emscripten_bind_btCompoundShape__updateChildTransform_p2=asm._emscripten_bind_btCompoundShape__updateChildTransform_p2,_emscripten_bind_btQuadWord__setZ_p1=Module._emscripten_bind_btQuadWord__setZ_p1=asm._emscripten_bind_btQuadWord__setZ_p1,_emscripten_bind_btTriangleMesh__btTriangleMesh_p2=Module._emscripten_bind_btTriangleMesh__btTriangleMesh_p2=asm._emscripten_bind_btTriangleMesh__btTriangleMesh_p2,_emscripten_bind_btTriangleMesh__btTriangleMesh_p1=Module._emscripten_bind_btTriangleMesh__btTriangleMesh_p1=asm._emscripten_bind_btTriangleMesh__btTriangleMesh_p1,_emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2=Module._emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2=asm._emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1,_emscripten_bind_btMatrix3x3__timesTranspose_p1=Module._emscripten_bind_btMatrix3x3__timesTranspose_p1=asm._emscripten_bind_btMatrix3x3__timesTranspose_p1,_emscripten_bind_btMatrix3x3__absolute_p0=Module._emscripten_bind_btMatrix3x3__absolute_p0=asm._emscripten_bind_btMatrix3x3__absolute_p0,_emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0,_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1=Module._emscripten_bind_btConeShapeX__localGetSupportingVertex_p1=asm._emscripten_bind_btConeShapeX__localGetSupportingVertex_p1,_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btRaycastVehicle__setSteeringValue_p2=Module._emscripten_bind_btRaycastVehicle__setSteeringValue_p2=asm._emscripten_bind_btRaycastVehicle__setSteeringValue_p2,_emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2,_emscripten_bind_btConeShape__getHeight_p0=Module._emscripten_bind_btConeShape__getHeight_p0=asm._emscripten_bind_btConeShape__getHeight_p0,_emscripten_bind_btBU_Simplex1to4__getPlane_p3=Module._emscripten_bind_btBU_Simplex1to4__getPlane_p3=asm._emscripten_bind_btBU_Simplex1to4__getPlane_p3,_emscripten_bind_btVector3__setY_p1=Module._emscripten_bind_btVector3__setY_p1=asm._emscripten_bind_btVector3__setY_p1,_emscripten_bind_bt32BitAxisSweep3__rayTest_p3=Module._emscripten_bind_bt32BitAxisSweep3__rayTest_p3=asm._emscripten_bind_bt32BitAxisSweep3__rayTest_p3,_emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1,_emscripten_bind_btConvexShape__setUserPointer_p1=Module._emscripten_bind_btConvexShape__setUserPointer_p1=asm._emscripten_bind_btConvexShape__setUserPointer_p1,_emscripten_bind_btConeShapeZ____destroy___p0=Module._emscripten_bind_btConeShapeZ____destroy___p0=asm._emscripten_bind_btConeShapeZ____destroy___p0,_emscripten_bind_btConeShapeX__serializeSingleShape_p1=Module._emscripten_bind_btConeShapeX__serializeSingleShape_p1=asm._emscripten_bind_btConeShapeX__serializeSingleShape_p1,_emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0=Module._emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0=asm._emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0,_emscripten_bind_btQuadWord__setX_p1=Module._emscripten_bind_btQuadWord__setX_p1=asm._emscripten_bind_btQuadWord__setX_p1,_emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0=Module._emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0=asm._emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0,_emscripten_bind_btPersistentManifold__btPersistentManifold_p0=Module._emscripten_bind_btPersistentManifold__btPersistentManifold_p0=asm._emscripten_bind_btPersistentManifold__btPersistentManifold_p0,_emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1,_emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0,_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1=Module._emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1=asm._emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1,_emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1=Module._emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1=asm._emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1,_emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0,_emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0=Module._emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0=asm._emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2=Module._emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2=asm._emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1=Module._emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1=asm._emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0=Module._emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0=asm._emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0,_emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0,_emscripten_bind_btAxisSweep3__resetPool_p1=Module._emscripten_bind_btAxisSweep3__resetPool_p1=asm._emscripten_bind_btAxisSweep3__resetPool_p1,_emscripten_bind_btOptimizedBvh__isQuantized_p0=Module._emscripten_bind_btOptimizedBvh__isQuantized_p0=asm._emscripten_bind_btOptimizedBvh__isQuantized_p0,_emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4=Module._emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4=asm._emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4,_emscripten_bind_btVector4__setMax_p1=Module._emscripten_bind_btVector4__setMax_p1=asm._emscripten_bind_btVector4__setMax_p1,_emscripten_bind_btConeShapeZ__getName_p0=Module._emscripten_bind_btConeShapeZ__getName_p0=asm._emscripten_bind_btConeShapeZ__getName_p0,_emscripten_bind_btActionInterface__debugDraw_p1=Module._emscripten_bind_btActionInterface__debugDraw_p1=asm._emscripten_bind_btActionInterface__debugDraw_p1,_emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0,_emscripten_bind_btTransform__mult_p2=Module._emscripten_bind_btTransform__mult_p2=asm._emscripten_bind_btTransform__mult_p2,_emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1=Module._emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1=asm._emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1,_emscripten_bind_btGhostObject__setContactProcessingThreshold_p1=Module._emscripten_bind_btGhostObject__setContactProcessingThreshold_p1=asm._emscripten_bind_btGhostObject__setContactProcessingThreshold_p1,_emscripten_bind_btVector3__btVector3_p0=Module._emscripten_bind_btVector3__btVector3_p0=asm._emscripten_bind_btVector3__btVector3_p0,_emscripten_bind_btConeShapeX__getLocalScaling_p0=Module._emscripten_bind_btConeShapeX__getLocalScaling_p0=asm._emscripten_bind_btConeShapeX__getLocalScaling_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2,_emscripten_bind_btBU_Simplex1to4__getNumEdges_p0=Module._emscripten_bind_btBU_Simplex1to4__getNumEdges_p0=asm._emscripten_bind_btBU_Simplex1to4__getNumEdges_p0,_emscripten_bind_btCollisionShape__getName_p0=Module._emscripten_bind_btCollisionShape__getName_p0=asm._emscripten_bind_btCollisionShape__getName_p0,_emscripten_bind_btSliderConstraint__getUserConstraintType_p0=Module._emscripten_bind_btSliderConstraint__getUserConstraintType_p0=asm._emscripten_bind_btSliderConstraint__getUserConstraintType_p0,_emscripten_bind_btCylinderShapeZ__getAabb_p3=Module._emscripten_bind_btCylinderShapeZ__getAabb_p3=asm._emscripten_bind_btCylinderShapeZ__getAabb_p3,_emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0=Module._emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0=asm._emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0,_emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0=Module._emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0=asm._emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0,_emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0=Module._emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0=asm._emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0,_emscripten_bind_btCylinderShapeX__getMarginNV_p0=Module._emscripten_bind_btCylinderShapeX__getMarginNV_p0=asm._emscripten_bind_btCylinderShapeX__getMarginNV_p0,_emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1=Module._emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1=asm._emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1,_emscripten_bind_btEmptyShape__getName_p0=Module._emscripten_bind_btEmptyShape__getName_p0=asm._emscripten_bind_btEmptyShape__getName_p0,_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2=Module._emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2=asm._emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2,_emscripten_bind_btHingeConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btHingeConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btHingeConstraint__getDbgDrawSize_p0,_emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1,_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1=Module._emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1=asm._emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1,_emscripten_bind_btDbvtBroadphase__get_m_pid_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_pid_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_pid_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1,_emscripten_bind_btRigidBody__getPushVelocity_p0=Module._emscripten_bind_btRigidBody__getPushVelocity_p0=asm._emscripten_bind_btRigidBody__getPushVelocity_p0,_emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0,_emscripten_bind_btConeShapeX__isConcave_p0=Module._emscripten_bind_btConeShapeX__isConcave_p0=asm._emscripten_bind_btConeShapeX__isConcave_p0,_emscripten_bind_btBoxShape__isCompound_p0=Module._emscripten_bind_btBoxShape__isCompound_p0=asm._emscripten_bind_btBoxShape__isCompound_p0,_emscripten_bind_btDbvtBroadphase__set_m_pid_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_pid_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_pid_p1,_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2=Module._emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2=asm._emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2,_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0=Module._emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0=asm._emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0,_emscripten_bind_btHashPtr__equals_p1=Module._emscripten_bind_btHashPtr__equals_p1=asm._emscripten_bind_btHashPtr__equals_p1,_emscripten_bind_btSimpleBroadphaseProxy____destroy___p0=Module._emscripten_bind_btSimpleBroadphaseProxy____destroy___p0=asm._emscripten_bind_btSimpleBroadphaseProxy____destroy___p0,_emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1=Module._emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1=asm._emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1,_emscripten_bind_btConvexInternalShape__isConvex2d_p0=Module._emscripten_bind_btConvexInternalShape__isConvex2d_p0=asm._emscripten_bind_btConvexInternalShape__isConvex2d_p0,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0,_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0=Module._emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0=asm._emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0,_emscripten_bind_btConeShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConeShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConeShape__getContactBreakingThreshold_p1,_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1=Module._emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1=asm._emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1,_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0=Module._emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0=asm._emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0,_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3=Module._emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3=asm._emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3,_emscripten_bind_btDbvtProxy__isNonMoving_p1=Module._emscripten_bind_btDbvtProxy__isNonMoving_p1=asm._emscripten_bind_btDbvtProxy__isNonMoving_p1,_emscripten_bind_btCollisionShape__getLocalScaling_p0=Module._emscripten_bind_btCollisionShape__getLocalScaling_p0=asm._emscripten_bind_btCollisionShape__getLocalScaling_p0,_emscripten_bind_btQuadWord__x_p0=Module._emscripten_bind_btQuadWord__x_p0=asm._emscripten_bind_btQuadWord__x_p0,_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0=Module._emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0=asm._emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0,_emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0,_emscripten_bind_btConstraintSolver__reset_p0=Module._emscripten_bind_btConstraintSolver__reset_p0=asm._emscripten_bind_btConstraintSolver__reset_p0,_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3=Module._emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3=asm._emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3,_emscripten_bind_btBvhTriangleMeshShape__refitTree_p2=Module._emscripten_bind_btBvhTriangleMeshShape__refitTree_p2=asm._emscripten_bind_btBvhTriangleMeshShape__refitTree_p2,_emscripten_bind_btCylinderShapeX__serialize_p2=Module._emscripten_bind_btCylinderShapeX__serialize_p2=asm._emscripten_bind_btCylinderShapeX__serialize_p2,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1,_emscripten_bind_bt32BitAxisSweep3__unQuantize_p3=Module._emscripten_bind_bt32BitAxisSweep3__unQuantize_p3=asm._emscripten_bind_bt32BitAxisSweep3__unQuantize_p3,_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0,_emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1=Module._emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1=asm._emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1,_emscripten_bind_btEmptyShape____destroy___p0=Module._emscripten_bind_btEmptyShape____destroy___p0=asm._emscripten_bind_btEmptyShape____destroy___p0,_emscripten_bind_btContactConstraint____destroy___p0=Module._emscripten_bind_btContactConstraint____destroy___p0=asm._emscripten_bind_btContactConstraint____destroy___p0,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1=Module._emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1=asm._emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1,_emscripten_bind_btTriangleMesh__getUse32bitIndices_p0=Module._emscripten_bind_btTriangleMesh__getUse32bitIndices_p0=asm._emscripten_bind_btTriangleMesh__getUse32bitIndices_p0,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0,_emscripten_bind_btDispatcherInfo__set_m_useEpa_p1=Module._emscripten_bind_btDispatcherInfo__set_m_useEpa_p1=asm._emscripten_bind_btDispatcherInfo__set_m_useEpa_p1,_emscripten_bind_btJacobianEntry__btJacobianEntry_p6=Module._emscripten_bind_btJacobianEntry__btJacobianEntry_p6=asm._emscripten_bind_btJacobianEntry__btJacobianEntry_p6,_emscripten_bind_btDispatcherInfo__get_m_useEpa_p0=Module._emscripten_bind_btDispatcherInfo__get_m_useEpa_p0=asm._emscripten_bind_btDispatcherInfo__get_m_useEpa_p0,_emscripten_bind_btConvexTriangleMeshShape__getName_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getName_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getName_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2,_emscripten_bind_btSliderConstraint__enableFeedback_p1=Module._emscripten_bind_btSliderConstraint__enableFeedback_p1=asm._emscripten_bind_btSliderConstraint__enableFeedback_p1,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0,_emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0=Module._emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0=asm._emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0,_emscripten_bind_btGeneric6DofConstraint__getInfo1_p1=Module._emscripten_bind_btGeneric6DofConstraint__getInfo1_p1=asm._emscripten_bind_btGeneric6DofConstraint__getInfo1_p1,_emscripten_bind_btJacobianEntry__btJacobianEntry_p4=Module._emscripten_bind_btJacobianEntry__btJacobianEntry_p4=asm._emscripten_bind_btJacobianEntry__btJacobianEntry_p4,_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0=Module._emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0=asm._emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0,_emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0=Module._emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0=asm._emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0,_emscripten_bind_btConeShapeZ__isCompound_p0=Module._emscripten_bind_btConeShapeZ__isCompound_p0=asm._emscripten_bind_btConeShapeZ__isCompound_p0,_emscripten_bind_btConeShape__getName_p0=Module._emscripten_bind_btConeShape__getName_p0=asm._emscripten_bind_btConeShape__getName_p0,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3=Module._emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3=asm._emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3,_emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0=Module._emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0=asm._emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0,_emscripten_bind_btMatrix3x3__deSerialize_p1=Module._emscripten_bind_btMatrix3x3__deSerialize_p1=asm._emscripten_bind_btMatrix3x3__deSerialize_p1,_emscripten_bind_btJacobianEntry__btJacobianEntry_p9=Module._emscripten_bind_btJacobianEntry__btJacobianEntry_p9=asm._emscripten_bind_btJacobianEntry__btJacobianEntry_p9,_emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0,_emscripten_bind_btTransform__setFromOpenGLMatrix_p1=Module._emscripten_bind_btTransform__setFromOpenGLMatrix_p1=asm._emscripten_bind_btTransform__setFromOpenGLMatrix_p1,_emscripten_bind_btRigidBody__updateInertiaTensor_p0=Module._emscripten_bind_btRigidBody__updateInertiaTensor_p0=asm._emscripten_bind_btRigidBody__updateInertiaTensor_p0,_emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btEmptyShape__getBoundingSphere_p2=Module._emscripten_bind_btEmptyShape__getBoundingSphere_p2=asm._emscripten_bind_btEmptyShape__getBoundingSphere_p2,_emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0=Module._emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0=asm._emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0,_emscripten_bind_btTypedConstraint__set_m_objectType_p1=Module._emscripten_bind_btTypedConstraint__set_m_objectType_p1=asm._emscripten_bind_btTypedConstraint__set_m_objectType_p1,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2=Module._emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2=asm._emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2,_emscripten_bind_btJacobianEntry__getNonDiagonal_p3=Module._emscripten_bind_btJacobianEntry__getNonDiagonal_p3=asm._emscripten_bind_btJacobianEntry__getNonDiagonal_p3,_emscripten_bind_btJacobianEntry__getNonDiagonal_p2=Module._emscripten_bind_btJacobianEntry__getNonDiagonal_p2=asm._emscripten_bind_btJacobianEntry__getNonDiagonal_p2,_emscripten_bind_btMultiSphereShape__getShapeType_p0=Module._emscripten_bind_btMultiSphereShape__getShapeType_p0=asm._emscripten_bind_btMultiSphereShape__getShapeType_p0,_emscripten_bind_btMultiSphereShape__getUserPointer_p0=Module._emscripten_bind_btMultiSphereShape__getUserPointer_p0=asm._emscripten_bind_btMultiSphereShape__getUserPointer_p0,_emscripten_bind_btRigidBody__setAnisotropicFriction_p1=Module._emscripten_bind_btRigidBody__setAnisotropicFriction_p1=asm._emscripten_bind_btRigidBody__setAnisotropicFriction_p1,_emscripten_bind_btStackAlloc__btStackAlloc_p1=Module._emscripten_bind_btStackAlloc__btStackAlloc_p1=asm._emscripten_bind_btStackAlloc__btStackAlloc_p1,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0=Module._emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0=asm._emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0,_emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1=Module._emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1=asm._emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1,_emscripten_bind_btConeTwistConstraint__getUid_p0=Module._emscripten_bind_btConeTwistConstraint__getUid_p0=asm._emscripten_bind_btConeTwistConstraint__getUid_p0,_emscripten_bind_btCylinderShapeZ__isInfinite_p0=Module._emscripten_bind_btCylinderShapeZ__isInfinite_p0=asm._emscripten_bind_btCylinderShapeZ__isInfinite_p0,_emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3=Module._emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3=asm._emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3,_emscripten_bind_btSliderConstraint__setEnabled_p1=Module._emscripten_bind_btSliderConstraint__setEnabled_p1=asm._emscripten_bind_btSliderConstraint__setEnabled_p1,_emscripten_bind_btSphereShape__setLocalScaling_p1=Module._emscripten_bind_btSphereShape__setLocalScaling_p1=asm._emscripten_bind_btSphereShape__setLocalScaling_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btPersistentManifold__get_m_objectType_p0=Module._emscripten_bind_btPersistentManifold__get_m_objectType_p0=asm._emscripten_bind_btPersistentManifold__get_m_objectType_p0,_emscripten_bind_btCapsuleShapeX__getMargin_p0=Module._emscripten_bind_btCapsuleShapeX__getMargin_p0=asm._emscripten_bind_btCapsuleShapeX__getMargin_p0,_emscripten_bind_btSliderConstraint__setUpperAngLimit_p1=Module._emscripten_bind_btSliderConstraint__setUpperAngLimit_p1=asm._emscripten_bind_btSliderConstraint__setUpperAngLimit_p1,_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1,_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1,_emscripten_bind_btBU_Simplex1to4__reset_p0=Module._emscripten_bind_btBU_Simplex1to4__reset_p0=asm._emscripten_bind_btBU_Simplex1to4__reset_p0,_emscripten_bind_btHingeConstraint__setUserConstraintType_p1=Module._emscripten_bind_btHingeConstraint__setUserConstraintType_p1=asm._emscripten_bind_btHingeConstraint__setUserConstraintType_p1,_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1=Module._emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1=asm._emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1,_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1=Module._emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1=asm._emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2=Module._emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2=asm._emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2,_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2=Module._emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2=asm._emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2,_emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1,_emscripten_bind_btConcaveShape__isCompound_p0=Module._emscripten_bind_btConcaveShape__isCompound_p0=asm._emscripten_bind_btConcaveShape__isCompound_p0,_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0=Module._emscripten_bind_btTriangleIndexVertexArray__getScaling_p0=asm._emscripten_bind_btTriangleIndexVertexArray__getScaling_p0,_emscripten_bind_btJacobianEntry__get_m_Adiag_p0=Module._emscripten_bind_btJacobianEntry__get_m_Adiag_p0=asm._emscripten_bind_btJacobianEntry__get_m_Adiag_p0,_emscripten_bind_btGhostPairCallback____destroy___p0=Module._emscripten_bind_btGhostPairCallback____destroy___p0=asm._emscripten_bind_btGhostPairCallback____destroy___p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1,_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1,_emscripten_bind_btHingeConstraint__enableFeedback_p1=Module._emscripten_bind_btHingeConstraint__enableFeedback_p1=asm._emscripten_bind_btHingeConstraint__enableFeedback_p1,_emscripten_bind_btUniversalConstraint__serialize_p2=Module._emscripten_bind_btUniversalConstraint__serialize_p2=asm._emscripten_bind_btUniversalConstraint__serialize_p2,_emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btStorageResult__get_m_closestPointInB_p0=Module._emscripten_bind_btStorageResult__get_m_closestPointInB_p0=asm._emscripten_bind_btStorageResult__get_m_closestPointInB_p0,_emscripten_bind_btCylinderShape__isPolyhedral_p0=Module._emscripten_bind_btCylinderShape__isPolyhedral_p0=asm._emscripten_bind_btCylinderShape__isPolyhedral_p0,_emscripten_bind_btConeShape__getMarginNV_p0=Module._emscripten_bind_btConeShape__getMarginNV_p0=asm._emscripten_bind_btConeShape__getMarginNV_p0,_emscripten_bind_btConeShape__getBoundingSphere_p2=Module._emscripten_bind_btConeShape__getBoundingSphere_p2=asm._emscripten_bind_btConeShape__getBoundingSphere_p2,_emscripten_bind_btHinge2Constraint__calculateTransforms_p0=Module._emscripten_bind_btHinge2Constraint__calculateTransforms_p0=asm._emscripten_bind_btHinge2Constraint__calculateTransforms_p0,_emscripten_bind_btGeneric6DofConstraint__serialize_p2=Module._emscripten_bind_btGeneric6DofConstraint__serialize_p2=asm._emscripten_bind_btGeneric6DofConstraint__serialize_p2,_emscripten_bind_btStackAlloc____destroy___p0=Module._emscripten_bind_btStackAlloc____destroy___p0=asm._emscripten_bind_btStackAlloc____destroy___p0,_emscripten_bind_btUniversalConstraint__enableFeedback_p1=Module._emscripten_bind_btUniversalConstraint__enableFeedback_p1=asm._emscripten_bind_btUniversalConstraint__enableFeedback_p1,_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0=Module._emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0=asm._emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2=Module._emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2=asm._emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1=Module._emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1=asm._emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1,_emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1=Module._emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1=asm._emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1,_emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0=Module._emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0=asm._emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0,_emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0=Module._emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0=asm._emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0,_emscripten_bind_btDbvtBroadphase____destroy___p0=Module._emscripten_bind_btDbvtBroadphase____destroy___p0=asm._emscripten_bind_btDbvtBroadphase____destroy___p0,_emscripten_bind_btTriangleMesh__serialize_p2=Module._emscripten_bind_btTriangleMesh__serialize_p2=asm._emscripten_bind_btTriangleMesh__serialize_p2,_emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1,_emscripten_bind_btHinge2Constraint__getConstraintType_p0=Module._emscripten_bind_btHinge2Constraint__getConstraintType_p0=asm._emscripten_bind_btHinge2Constraint__getConstraintType_p0,_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2,_emscripten_bind_btMultiSphereShape__getMargin_p0=Module._emscripten_bind_btMultiSphereShape__getMargin_p0=asm._emscripten_bind_btMultiSphereShape__getMargin_p0,_emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1=Module._emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1=asm._emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1,_emscripten_bind_btSliderConstraint__btSliderConstraint_p5=Module._emscripten_bind_btSliderConstraint__btSliderConstraint_p5=asm._emscripten_bind_btSliderConstraint__btSliderConstraint_p5,_emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0,_emscripten_bind_btDynamicsWorld__addCharacter_p1=Module._emscripten_bind_btDynamicsWorld__addCharacter_p1=asm._emscripten_bind_btDynamicsWorld__addCharacter_p1,_emscripten_bind_btCollisionObject__activate_p0=Module._emscripten_bind_btCollisionObject__activate_p0=asm._emscripten_bind_btCollisionObject__activate_p0,_emscripten_bind_btCollisionObject__activate_p1=Module._emscripten_bind_btCollisionObject__activate_p1=asm._emscripten_bind_btCollisionObject__activate_p1,_emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0=Module._emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0=asm._emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0,_emscripten_bind_btMatrix3x3__diagonalize_p3=Module._emscripten_bind_btMatrix3x3__diagonalize_p3=asm._emscripten_bind_btMatrix3x3__diagonalize_p3,_emscripten_bind_btCapsuleShape__getShapeType_p0=Module._emscripten_bind_btCapsuleShape__getShapeType_p0=asm._emscripten_bind_btCapsuleShape__getShapeType_p0,_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7=Module._emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7=asm._emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7,_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0=Module._emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0=asm._emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0,_emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0,_emscripten_bind_btConeShapeX__isConvex2d_p0=Module._emscripten_bind_btConeShapeX__isConvex2d_p0=asm._emscripten_bind_btConeShapeX__isConvex2d_p0,_emscripten_bind_btRaycastVehicle__getRigidBody_p0=Module._emscripten_bind_btRaycastVehicle__getRigidBody_p0=asm._emscripten_bind_btRaycastVehicle__getRigidBody_p0,_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0,_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0=Module._emscripten_bind_btDbvtProxy__get_m_aabbMin_p0=asm._emscripten_bind_btDbvtProxy__get_m_aabbMin_p0,_emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0=Module._emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0=asm._emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0,_emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0,_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0=Module._emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0=asm._emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0,_emscripten_bind_btSliderConstraint__getRigidBodyA_p0=Module._emscripten_bind_btSliderConstraint__getRigidBodyA_p0=asm._emscripten_bind_btSliderConstraint__getRigidBodyA_p0,_emscripten_bind_btStaticPlaneShape__getAabb_p3=Module._emscripten_bind_btStaticPlaneShape__getAabb_p3=asm._emscripten_bind_btStaticPlaneShape__getAabb_p3,_emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1,_emscripten_bind_CProfileNode____destroy___p0=Module._emscripten_bind_CProfileNode____destroy___p0=asm._emscripten_bind_CProfileNode____destroy___p0,_emscripten_bind_btConvexHullShape__getNumPoints_p0=Module._emscripten_bind_btConvexHullShape__getNumPoints_p0=asm._emscripten_bind_btConvexHullShape__getNumPoints_p0,_emscripten_bind_btConeShape__isCompound_p0=Module._emscripten_bind_btConeShape__isCompound_p0=asm._emscripten_bind_btConeShape__isCompound_p0,_emscripten_bind_btMatrix3x3__getColumn_p1=Module._emscripten_bind_btMatrix3x3__getColumn_p1=asm._emscripten_bind_btMatrix3x3__getColumn_p1,_emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0=Module._emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0=asm._emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0,_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0=Module._emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0=asm._emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0,_emscripten_bind_btIDebugDraw__drawBox_p4=Module._emscripten_bind_btIDebugDraw__drawBox_p4=asm._emscripten_bind_btIDebugDraw__drawBox_p4,_emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1,_emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1=Module._emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1=asm._emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1,_emscripten_bind_btIDebugDraw__drawBox_p3=Module._emscripten_bind_btIDebugDraw__drawBox_p3=asm._emscripten_bind_btIDebugDraw__drawBox_p3,_emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2=Module._emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2=asm._emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2,_emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0,_emscripten_bind_btConstraintSolver__solveGroup_p10=Module._emscripten_bind_btConstraintSolver__solveGroup_p10=asm._emscripten_bind_btConstraintSolver__solveGroup_p10,_emscripten_bind_btHinge2Constraint__setUserConstraintType_p1=Module._emscripten_bind_btHinge2Constraint__setUserConstraintType_p1=asm._emscripten_bind_btHinge2Constraint__setUserConstraintType_p1,_emscripten_bind_btMatrix3x3____destroy___p0=Module._emscripten_bind_btMatrix3x3____destroy___p0=asm._emscripten_bind_btMatrix3x3____destroy___p0,_emscripten_bind_btCollisionWorld__getDebugDrawer_p0=Module._emscripten_bind_btCollisionWorld__getDebugDrawer_p0=asm._emscripten_bind_btCollisionWorld__getDebugDrawer_p0,_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3=Module._emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3=asm._emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3,_emscripten_bind_btConeShapeZ__isConvex_p0=Module._emscripten_bind_btConeShapeZ__isConvex_p0=asm._emscripten_bind_btConeShapeZ__isConvex_p0,_emscripten_bind_btPairCachingGhostObject__getFriction_p0=Module._emscripten_bind_btPairCachingGhostObject__getFriction_p0=asm._emscripten_bind_btPairCachingGhostObject__getFriction_p0,_emscripten_bind_btRigidBody__serializeSingleObject_p1=Module._emscripten_bind_btRigidBody__serializeSingleObject_p1=asm._emscripten_bind_btRigidBody__serializeSingleObject_p1,_emscripten_bind_btOptimizedBvh__updateBvhNodes_p4=Module._emscripten_bind_btOptimizedBvh__updateBvhNodes_p4=asm._emscripten_bind_btOptimizedBvh__updateBvhNodes_p4,_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0=Module._emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0=asm._emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0,_emscripten_bind_btSphereShape__isPolyhedral_p0=Module._emscripten_bind_btSphereShape__isPolyhedral_p0=asm._emscripten_bind_btSphereShape__isPolyhedral_p0,_emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0=Module._emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0=asm._emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0,_emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4=Module._emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4=asm._emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4,_emscripten_bind_btRigidBody__saveKinematicState_p1=Module._emscripten_bind_btRigidBody__saveKinematicState_p1=asm._emscripten_bind_btRigidBody__saveKinematicState_p1,_emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btCollisionObject____destroy___p0=Module._emscripten_bind_btCollisionObject____destroy___p0=asm._emscripten_bind_btCollisionObject____destroy___p0,_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8=Module._emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8=asm._emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8,_emscripten_bind_btWheelInfo__set_m_steering_p1=Module._emscripten_bind_btWheelInfo__set_m_steering_p1=asm._emscripten_bind_btWheelInfo__set_m_steering_p1,_emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0=Module._emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0=asm._emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0,_emscripten_bind_btConvexInternalShape__setUserPointer_p1=Module._emscripten_bind_btConvexInternalShape__setUserPointer_p1=asm._emscripten_bind_btConvexInternalShape__setUserPointer_p1,_emscripten_bind_btGhostObject__getCompanionId_p0=Module._emscripten_bind_btGhostObject__getCompanionId_p0=asm._emscripten_bind_btGhostObject__getCompanionId_p0,_emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1,_emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0=Module._emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0=asm._emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0,_emscripten_bind_btTransform__getIdentity_p0=Module._emscripten_bind_btTransform__getIdentity_p0=asm._emscripten_bind_btTransform__getIdentity_p0,_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1=Module._emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1=asm._emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1,_emscripten_bind_btBvhTriangleMeshShape__isCompound_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isCompound_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isCompound_p0,_emscripten_bind_btCompoundShape__btCompoundShape_p1=Module._emscripten_bind_btCompoundShape__btCompoundShape_p1=asm._emscripten_bind_btCompoundShape__btCompoundShape_p1,_emscripten_bind_btCompoundShape__btCompoundShape_p0=Module._emscripten_bind_btCompoundShape__btCompoundShape_p0=asm._emscripten_bind_btCompoundShape__btCompoundShape_p0,_emscripten_bind_btPairCachingGhostObject__setHitFraction_p1=Module._emscripten_bind_btPairCachingGhostObject__setHitFraction_p1=asm._emscripten_bind_btPairCachingGhostObject__setHitFraction_p1,_emscripten_bind_btCollisionObject__getWorldTransform_p0=Module._emscripten_bind_btCollisionObject__getWorldTransform_p0=asm._emscripten_bind_btCollisionObject__getWorldTransform_p0,_emscripten_bind_btContactConstraint__setParam_p3=Module._emscripten_bind_btContactConstraint__setParam_p3=asm._emscripten_bind_btContactConstraint__setParam_p3,_emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0,_emscripten_bind_btCylinderShape__calculateLocalInertia_p2=Module._emscripten_bind_btCylinderShape__calculateLocalInertia_p2=asm._emscripten_bind_btCylinderShape__calculateLocalInertia_p2,_emscripten_bind_btTransform__serialize_p1=Module._emscripten_bind_btTransform__serialize_p1=asm._emscripten_bind_btTransform__serialize_p1,_emscripten_bind_btStorageResult__get_m_distance_p0=Module._emscripten_bind_btStorageResult__get_m_distance_p0=asm._emscripten_bind_btStorageResult__get_m_distance_p0,_emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0=Module._emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0=asm._emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0,_emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btIndexedMesh__get_m_numVertices_p0=Module._emscripten_bind_btIndexedMesh__get_m_numVertices_p0=asm._emscripten_bind_btIndexedMesh__get_m_numVertices_p0,_emscripten_bind_btMultiSphereShape__setMargin_p1=Module._emscripten_bind_btMultiSphereShape__setMargin_p1=asm._emscripten_bind_btMultiSphereShape__setMargin_p1,_emscripten_bind_btBoxShape__isSoftBody_p0=Module._emscripten_bind_btBoxShape__isSoftBody_p0=asm._emscripten_bind_btBoxShape__isSoftBody_p0,_emscripten_bind_btDbvtProxy__isCompound_p1=Module._emscripten_bind_btDbvtProxy__isCompound_p1=asm._emscripten_bind_btDbvtProxy__isCompound_p1,_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0,_emscripten_bind_btEmptyShape__isConvex_p0=Module._emscripten_bind_btEmptyShape__isConvex_p0=asm._emscripten_bind_btEmptyShape__isConvex_p0,_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btHingeConstraint__setAngularOnly_p1=Module._emscripten_bind_btHingeConstraint__setAngularOnly_p1=asm._emscripten_bind_btHingeConstraint__setAngularOnly_p1,_emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9=Module._emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9=asm._emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9,_emscripten_bind_btCapsuleShapeX__getAabbSlow_p3=Module._emscripten_bind_btCapsuleShapeX__getAabbSlow_p3=asm._emscripten_bind_btCapsuleShapeX__getAabbSlow_p3,_emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0,_emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3=Module._emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3=asm._emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3,_emscripten_bind_btCapsuleShapeX__isPolyhedral_p0=Module._emscripten_bind_btCapsuleShapeX__isPolyhedral_p0=asm._emscripten_bind_btCapsuleShapeX__isPolyhedral_p0,_emscripten_bind_btVector4__z_p0=Module._emscripten_bind_btVector4__z_p0=asm._emscripten_bind_btVector4__z_p0,_emscripten_bind_btRigidBody__getUserPointer_p0=Module._emscripten_bind_btRigidBody__getUserPointer_p0=asm._emscripten_bind_btRigidBody__getUserPointer_p0,_emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0=Module._emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0=asm._emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0,_emscripten_bind_btDbvtBroadphase__set_m_paircache_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_paircache_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_paircache_p1,_emscripten_bind_btHinge2Constraint__setDamping_p2=Module._emscripten_bind_btHinge2Constraint__setDamping_p2=asm._emscripten_bind_btHinge2Constraint__setDamping_p2,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1,_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0,_emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0=Module._emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0=asm._emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0,_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2,_emscripten_bind_btConvexHullShape__getBoundingSphere_p2=Module._emscripten_bind_btConvexHullShape__getBoundingSphere_p2=asm._emscripten_bind_btConvexHullShape__getBoundingSphere_p2,_emscripten_bind_btContactConstraint__getUserConstraintId_p0=Module._emscripten_bind_btContactConstraint__getUserConstraintId_p0=asm._emscripten_bind_btContactConstraint__getUserConstraintId_p0,_emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3=Module._emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3=asm._emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3,_emscripten_bind_btConeTwistConstraint__get_m_objectType_p0=Module._emscripten_bind_btConeTwistConstraint__get_m_objectType_p0=asm._emscripten_bind_btConeTwistConstraint__get_m_objectType_p0,_emscripten_bind_btMultiSphereShape__getMarginNV_p0=Module._emscripten_bind_btMultiSphereShape__getMarginNV_p0=asm._emscripten_bind_btMultiSphereShape__getMarginNV_p0,_emscripten_bind_btRaycastVehicle__rayCast_p1=Module._emscripten_bind_btRaycastVehicle__rayCast_p1=asm._emscripten_bind_btRaycastVehicle__rayCast_p1,_emscripten_bind_btConvexHullShape__isConcave_p0=Module._emscripten_bind_btConvexHullShape__isConcave_p0=asm._emscripten_bind_btConvexHullShape__isConcave_p0,_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0=Module._emscripten_bind_btCollisionObject__getAnisotropicFriction_p0=asm._emscripten_bind_btCollisionObject__getAnisotropicFriction_p0,_emscripten_bind_btSimpleBroadphase____destroy___p0=Module._emscripten_bind_btSimpleBroadphase____destroy___p0=asm._emscripten_bind_btSimpleBroadphase____destroy___p0,_emscripten_bind_btCapsuleShape__btCapsuleShape_p2=Module._emscripten_bind_btCapsuleShape__btCapsuleShape_p2=asm._emscripten_bind_btCapsuleShape__btCapsuleShape_p2,_emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1=Module._emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1=asm._emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1=Module._emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1=asm._emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1,_emscripten_bind_btConvexHullShape__getLocalScaling_p0=Module._emscripten_bind_btConvexHullShape__getLocalScaling_p0=asm._emscripten_bind_btConvexHullShape__getLocalScaling_p0,_emscripten_bind_btVector4__x_p0=Module._emscripten_bind_btVector4__x_p0=asm._emscripten_bind_btVector4__x_p0,_emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0,_emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1=Module._emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1=asm._emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1,_emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1=Module._emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1=asm._emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1,_emscripten_bind_btMultiSphereShape__isConvex2d_p0=Module._emscripten_bind_btMultiSphereShape__isConvex2d_p0=asm._emscripten_bind_btMultiSphereShape__isConvex2d_p0,_emscripten_bind_btCylinderShape__getAngularMotionDisc_p0=Module._emscripten_bind_btCylinderShape__getAngularMotionDisc_p0=asm._emscripten_bind_btCylinderShape__getAngularMotionDisc_p0,_emscripten_bind_btRigidBody__isActive_p0=Module._emscripten_bind_btRigidBody__isActive_p0=asm._emscripten_bind_btRigidBody__isActive_p0,_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0=Module._emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0=asm._emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0,_emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1=Module._emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1=asm._emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1,_emscripten_bind_btRaycastVehicle__getRightAxis_p0=Module._emscripten_bind_btRaycastVehicle__getRightAxis_p0=asm._emscripten_bind_btRaycastVehicle__getRightAxis_p0,_emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2=Module._emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2=asm._emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2,_emscripten_bind_btDispatcherInfo__set_m_timeStep_p1=Module._emscripten_bind_btDispatcherInfo__set_m_timeStep_p1=asm._emscripten_bind_btDispatcherInfo__set_m_timeStep_p1,_emscripten_bind_btGhostObject__getNumOverlappingObjects_p0=Module._emscripten_bind_btGhostObject__getNumOverlappingObjects_p0=asm._emscripten_bind_btGhostObject__getNumOverlappingObjects_p0,_emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0,_emscripten_bind_btUniversalConstraint__set_m_objectType_p1=Module._emscripten_bind_btUniversalConstraint__set_m_objectType_p1=asm._emscripten_bind_btUniversalConstraint__set_m_objectType_p1,_emscripten_bind_btContactConstraint__getInfo2_p1=Module._emscripten_bind_btContactConstraint__getInfo2_p1=asm._emscripten_bind_btContactConstraint__getInfo2_p1,_emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0=Module._emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0=asm._emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0,_emscripten_bind_btPairCachingGhostObject__getIslandTag_p0=Module._emscripten_bind_btPairCachingGhostObject__getIslandTag_p0=asm._emscripten_bind_btPairCachingGhostObject__getIslandTag_p0,_emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6=Module._emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6=asm._emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6,_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0=Module._emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0=asm._emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0,_emscripten_bind_btRigidBody__setContactProcessingThreshold_p1=Module._emscripten_bind_btRigidBody__setContactProcessingThreshold_p1=asm._emscripten_bind_btRigidBody__setContactProcessingThreshold_p1,_emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1,_emscripten_bind_btRigidBody__getAngularDamping_p0=Module._emscripten_bind_btRigidBody__getAngularDamping_p0=asm._emscripten_bind_btRigidBody__getAngularDamping_p0,_emscripten_bind_btConcaveShape__getUserPointer_p0=Module._emscripten_bind_btConcaveShape__getUserPointer_p0=asm._emscripten_bind_btConcaveShape__getUserPointer_p0,_emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3=Module._emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3=asm._emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3,_memset=Module._memset=asm._memset,_emscripten_bind_btHinge2Constraint__getAngle_p1=Module._emscripten_bind_btHinge2Constraint__getAngle_p1=asm._emscripten_bind_btHinge2Constraint__getAngle_p1,_emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0=Module._emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0=asm._emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0,_emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0=Module._emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0=asm._emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0,_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6=Module._emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6=asm._emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2,_emscripten_bind_btTypedConstraint__isEnabled_p0=Module._emscripten_bind_btTypedConstraint__isEnabled_p0=asm._emscripten_bind_btTypedConstraint__isEnabled_p0,_emscripten_bind_btVector4__cross_p1=Module._emscripten_bind_btVector4__cross_p1=asm._emscripten_bind_btVector4__cross_p1,_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0=Module._emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0=asm._emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0,_emscripten_bind_btCapsuleShapeZ__isConvex_p0=Module._emscripten_bind_btCapsuleShapeZ__isConvex_p0=asm._emscripten_bind_btCapsuleShapeZ__isConvex_p0,_emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0=Module._emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0=asm._emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0,_emscripten_bind_btPairCachingGhostObject__serialize_p2=Module._emscripten_bind_btPairCachingGhostObject__serialize_p2=asm._emscripten_bind_btPairCachingGhostObject__serialize_p2,_emscripten_bind_btCylinderShapeX__isInfinite_p0=Module._emscripten_bind_btCylinderShapeX__isInfinite_p0=asm._emscripten_bind_btCylinderShapeX__isInfinite_p0,_emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0=Module._emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0=asm._emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0,_emscripten_bind_btGhostObject__setFriction_p1=Module._emscripten_bind_btGhostObject__setFriction_p1=asm._emscripten_bind_btGhostObject__setFriction_p1,_emscripten_bind_btCylinderShape__serializeSingleShape_p1=Module._emscripten_bind_btCylinderShape__serializeSingleShape_p1=asm._emscripten_bind_btCylinderShape__serializeSingleShape_p1,_emscripten_bind_btWheelInfo__set_m_skidInfo_p1=Module._emscripten_bind_btWheelInfo__set_m_skidInfo_p1=asm._emscripten_bind_btWheelInfo__set_m_skidInfo_p1,_emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1=Module._emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1=asm._emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1=Module._emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1=asm._emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1,_emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0=Module._emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0=asm._emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0,_emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1=Module._emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1=asm._emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1,_emscripten_bind_btBroadphaseInterface__destroyProxy_p2=Module._emscripten_bind_btBroadphaseInterface__destroyProxy_p2=asm._emscripten_bind_btBroadphaseInterface__destroyProxy_p2,_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2,_emscripten_bind_btConeShapeX__getShapeType_p0=Module._emscripten_bind_btConeShapeX__getShapeType_p0=asm._emscripten_bind_btConeShapeX__getShapeType_p0,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2=Module._emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2=asm._emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2,_emscripten_bind_btTriangleMesh__getPremadeAabb_p2=Module._emscripten_bind_btTriangleMesh__getPremadeAabb_p2=asm._emscripten_bind_btTriangleMesh__getPremadeAabb_p2,_emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0=Module._emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0=asm._emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0,_emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0=Module._emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0=asm._emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0,_emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2=Module._emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2=asm._emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2,_emscripten_bind_btTypedConstraint__setParam_p2=Module._emscripten_bind_btTypedConstraint__setParam_p2=asm._emscripten_bind_btTypedConstraint__setParam_p2,_emscripten_bind_btTypedConstraint__setParam_p3=Module._emscripten_bind_btTypedConstraint__setParam_p3=asm._emscripten_bind_btTypedConstraint__setParam_p3,_emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1=Module._emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1=asm._emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1,_emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1,_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0=Module._emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0=asm._emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0,_emscripten_bind_btCompoundShape____destroy___p0=Module._emscripten_bind_btCompoundShape____destroy___p0=asm._emscripten_bind_btCompoundShape____destroy___p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0,_emscripten_bind_btHashString__get_m_string_p0=Module._emscripten_bind_btHashString__get_m_string_p0=asm._emscripten_bind_btHashString__get_m_string_p0,_emscripten_bind_btQuadWord__btQuadWord_p0=Module._emscripten_bind_btQuadWord__btQuadWord_p0=asm._emscripten_bind_btQuadWord__btQuadWord_p0,_emscripten_bind_btTransform__setRotation_p1=Module._emscripten_bind_btTransform__setRotation_p1=asm._emscripten_bind_btTransform__setRotation_p1,_emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1,_emscripten_bind_btRigidBody__get_m_frictionSolverType_p0=Module._emscripten_bind_btRigidBody__get_m_frictionSolverType_p0=asm._emscripten_bind_btRigidBody__get_m_frictionSolverType_p0,_emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3,_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0,_emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1,_emscripten_bind_btBroadphaseProxy____destroy___p0=Module._emscripten_bind_btBroadphaseProxy____destroy___p0=asm._emscripten_bind_btBroadphaseProxy____destroy___p0,_emscripten_bind_btDbvtProxy__isInfinite_p1=Module._emscripten_bind_btDbvtProxy__isInfinite_p1=asm._emscripten_bind_btDbvtProxy__isInfinite_p1,_emscripten_bind_btCompoundShape__getUpdateRevision_p0=Module._emscripten_bind_btCompoundShape__getUpdateRevision_p0=asm._emscripten_bind_btCompoundShape__getUpdateRevision_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0,_emscripten_bind_btVector3__deSerialize_p1=Module._emscripten_bind_btVector3__deSerialize_p1=asm._emscripten_bind_btVector3__deSerialize_p1,_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1=Module._emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1=asm._emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1,_emscripten_bind_btHashString__getHash_p0=Module._emscripten_bind_btHashString__getHash_p0=asm._emscripten_bind_btHashString__getHash_p0,_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2=Module._emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2=asm._emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2,_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0=Module._emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0=asm._emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0,_emscripten_bind_btCapsuleShape__isConvex_p0=Module._emscripten_bind_btCapsuleShape__isConvex_p0=asm._emscripten_bind_btCapsuleShape__isConvex_p0,_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0,_emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0,_emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2=Module._emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2=asm._emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2,_emscripten_bind_btRigidBody__forceActivationState_p1=Module._emscripten_bind_btRigidBody__forceActivationState_p1=asm._emscripten_bind_btRigidBody__forceActivationState_p1,_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2=Module._emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2=asm._emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2,_emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0,_emscripten_bind_btConeShapeX__isPolyhedral_p0=Module._emscripten_bind_btConeShapeX__isPolyhedral_p0=asm._emscripten_bind_btConeShapeX__isPolyhedral_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1,_emscripten_bind_btVector3__absolute_p0=Module._emscripten_bind_btVector3__absolute_p0=asm._emscripten_bind_btVector3__absolute_p0,_emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0=Module._emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0=asm._emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3=Module._emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3=asm._emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3,_emscripten_bind_btHingeConstraint__setLimit_p4=Module._emscripten_bind_btHingeConstraint__setLimit_p4=asm._emscripten_bind_btHingeConstraint__setLimit_p4,_emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0,_emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3=Module._emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3=asm._emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3,_emscripten_bind_btVector4__deSerializeDouble_p1=Module._emscripten_bind_btVector4__deSerializeDouble_p1=asm._emscripten_bind_btVector4__deSerializeDouble_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2,_emscripten_bind_btDefaultMotionState__get_m_userPointer_p0=Module._emscripten_bind_btDefaultMotionState__get_m_userPointer_p0=asm._emscripten_bind_btDefaultMotionState__get_m_userPointer_p0,_emscripten_bind_btSliderConstraint__getAncorInB_p0=Module._emscripten_bind_btSliderConstraint__getAncorInB_p0=asm._emscripten_bind_btSliderConstraint__getAncorInB_p0,_emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0,_emscripten_bind_btTransform__getOrigin_p0=Module._emscripten_bind_btTransform__getOrigin_p0=asm._emscripten_bind_btTransform__getOrigin_p0,_emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0=Module._emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0=asm._emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0,_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btTypedObject__get_m_objectType_p0=Module._emscripten_bind_btTypedObject__get_m_objectType_p0=asm._emscripten_bind_btTypedObject__get_m_objectType_p0,_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0,_emscripten_bind_btCompoundShape__getAabb_p3=Module._emscripten_bind_btCompoundShape__getAabb_p3=asm._emscripten_bind_btCompoundShape__getAabb_p3,_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0=Module._emscripten_bind_btBroadphasePair__get_m_pProxy1_p0=asm._emscripten_bind_btBroadphasePair__get_m_pProxy1_p0,_emscripten_bind_btRigidBody__getDeactivationTime_p0=Module._emscripten_bind_btRigidBody__getDeactivationTime_p0=asm._emscripten_bind_btRigidBody__getDeactivationTime_p0,_emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0,_emscripten_bind_btVector3__length_p0=Module._emscripten_bind_btVector3__length_p0=asm._emscripten_bind_btVector3__length_p0,_emscripten_bind_btConstraintSolver__prepareSolve_p2=Module._emscripten_bind_btConstraintSolver__prepareSolve_p2=asm._emscripten_bind_btConstraintSolver__prepareSolve_p2,_emscripten_bind_btVector4__deSerialize_p1=Module._emscripten_bind_btVector4__deSerialize_p1=asm._emscripten_bind_btVector4__deSerialize_p1,_emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4=Module._emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4=asm._emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4,_emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0,_emscripten_bind_btContactConstraint__getInfo1_p1=Module._emscripten_bind_btContactConstraint__getInfo1_p1=asm._emscripten_bind_btContactConstraint__getInfo1_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0,_emscripten_bind_btSliderConstraint__getConstraintType_p0=Module._emscripten_bind_btSliderConstraint__getConstraintType_p0=asm._emscripten_bind_btSliderConstraint__getConstraintType_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0,_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0=Module._emscripten_bind_btCompoundShape__getDynamicAabbTree_p0=asm._emscripten_bind_btCompoundShape__getDynamicAabbTree_p0,_emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1,_emscripten_bind_btConvexInternalShape__getBoundingSphere_p2=Module._emscripten_bind_btConvexInternalShape__getBoundingSphere_p2=asm._emscripten_bind_btConvexInternalShape__getBoundingSphere_p2,_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btIDebugDraw__drawCylinder_p5=Module._emscripten_bind_btIDebugDraw__drawCylinder_p5=asm._emscripten_bind_btIDebugDraw__drawCylinder_p5,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0,_emscripten_bind_btQuadWord__op_comp_p1=Module._emscripten_bind_btQuadWord__op_comp_p1=asm._emscripten_bind_btQuadWord__op_comp_p1,_emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btCylinderShape____destroy___p0=Module._emscripten_bind_btCylinderShape____destroy___p0=asm._emscripten_bind_btCylinderShape____destroy___p0,_emscripten_bind_btConvexHullShape__isConvex_p0=Module._emscripten_bind_btConvexHullShape__isConvex_p0=asm._emscripten_bind_btConvexHullShape__isConvex_p0,_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0,_emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5=Module._emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5=asm._emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5,_emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1=Module._emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1=asm._emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1,_emscripten_bind_btTypedConstraint__getUid_p0=Module._emscripten_bind_btTypedConstraint__getUid_p0=asm._emscripten_bind_btTypedConstraint__getUid_p0,_emscripten_bind_btTriangleIndexVertexArray__setScaling_p1=Module._emscripten_bind_btTriangleIndexVertexArray__setScaling_p1=asm._emscripten_bind_btTriangleIndexVertexArray__setScaling_p1,_emscripten_bind_btRigidBody__setWorldTransform_p1=Module._emscripten_bind_btRigidBody__setWorldTransform_p1=asm._emscripten_bind_btRigidBody__setWorldTransform_p1,_emscripten_bind_btGhostObject__serialize_p2=Module._emscripten_bind_btGhostObject__serialize_p2=asm._emscripten_bind_btGhostObject__serialize_p2,_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btQuadWord__setY_p1=Module._emscripten_bind_btQuadWord__setY_p1=asm._emscripten_bind_btQuadWord__setY_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0,_emscripten_bind_btUniformScalingShape____destroy___p0=Module._emscripten_bind_btUniformScalingShape____destroy___p0=asm._emscripten_bind_btUniformScalingShape____destroy___p0,_emscripten_bind_btPairCachingGhostObject__setFriction_p1=Module._emscripten_bind_btPairCachingGhostObject__setFriction_p1=asm._emscripten_bind_btPairCachingGhostObject__setFriction_p1,_emscripten_bind_btConeTwistConstraint__getBFrame_p0=Module._emscripten_bind_btConeTwistConstraint__getBFrame_p0=asm._emscripten_bind_btConeTwistConstraint__getBFrame_p0,_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0=Module._emscripten_bind_btRigidBody__getCenterOfMassPosition_p0=asm._emscripten_bind_btRigidBody__getCenterOfMassPosition_p0,_emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6=Module._emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6=asm._emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6,_emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1,_emscripten_bind_btConvexShape__getBoundingSphere_p2=Module._emscripten_bind_btConvexShape__getBoundingSphere_p2=asm._emscripten_bind_btConvexShape__getBoundingSphere_p2,_emscripten_bind_btConvexShape__getUserPointer_p0=Module._emscripten_bind_btConvexShape__getUserPointer_p0=asm._emscripten_bind_btConvexShape__getUserPointer_p0,_emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0,_emscripten_bind_btIDebugDraw__drawTriangle_p8=Module._emscripten_bind_btIDebugDraw__drawTriangle_p8=asm._emscripten_bind_btIDebugDraw__drawTriangle_p8,_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0=Module._emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0=asm._emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0,_emscripten_bind_btConeShapeZ__getMarginNV_p0=Module._emscripten_bind_btConeShapeZ__getMarginNV_p0=asm._emscripten_bind_btConeShapeZ__getMarginNV_p0,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2=Module._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2=asm._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5=Module._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5=asm._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4=Module._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4=asm._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4,_emscripten_bind_btCapsuleShapeX__isConcave_p0=Module._emscripten_bind_btCapsuleShapeX__isConcave_p0=asm._emscripten_bind_btCapsuleShapeX__isConcave_p0,_emscripten_bind_btEmptyShape__btEmptyShape_p0=Module._emscripten_bind_btEmptyShape__btEmptyShape_p0=asm._emscripten_bind_btEmptyShape__btEmptyShape_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0,_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0=Module._emscripten_bind_btPoint2PointConstraint__getPivotInA_p0=asm._emscripten_bind_btPoint2PointConstraint__getPivotInA_p0,_emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1,_emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0=Module._emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0=asm._emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0,_emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0,_emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3=Module._emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3=asm._emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3,_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0,_emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0,_emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1=Module._emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1=asm._emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1,_emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1=Module._emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1=asm._emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1,_emscripten_bind_btUniversalConstraint__getAngle1_p0=Module._emscripten_bind_btUniversalConstraint__getAngle1_p0=asm._emscripten_bind_btUniversalConstraint__getAngle1_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1,_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1,_emscripten_bind_btQuaternion__setY_p1=Module._emscripten_bind_btQuaternion__setY_p1=asm._emscripten_bind_btQuaternion__setY_p1,_emscripten_bind_btAngularLimit__isLimit_p0=Module._emscripten_bind_btAngularLimit__isLimit_p0=asm._emscripten_bind_btAngularLimit__isLimit_p0,_emscripten_bind_btSphereShape__getAabbNonVirtual_p3=Module._emscripten_bind_btSphereShape__getAabbNonVirtual_p3=asm._emscripten_bind_btSphereShape__getAabbNonVirtual_p3,_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0,_emscripten_bind_btStaticPlaneShape____destroy___p0=Module._emscripten_bind_btStaticPlaneShape____destroy___p0=asm._emscripten_bind_btStaticPlaneShape____destroy___p0,_emscripten_bind_btBoxShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btBoxShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btBoxShape__getContactBreakingThreshold_p1,_emscripten_bind_btConeShapeX__isNonMoving_p0=Module._emscripten_bind_btConeShapeX__isNonMoving_p0=asm._emscripten_bind_btConeShapeX__isNonMoving_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0,_emscripten_bind_btIDebugDraw__drawSpherePatch_p10=Module._emscripten_bind_btIDebugDraw__drawSpherePatch_p10=asm._emscripten_bind_btIDebugDraw__drawSpherePatch_p10,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2=Module._emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2=asm._emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3=Module._emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3=asm._emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3,_emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1=Module._emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1=asm._emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1,_emscripten_bind_btUniformScalingShape__getMargin_p0=Module._emscripten_bind_btUniformScalingShape__getMargin_p0=asm._emscripten_bind_btUniformScalingShape__getMargin_p0,_emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0,_emscripten_bind_btConcaveShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConcaveShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConcaveShape__getAngularMotionDisc_p0,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0=Module._emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0=asm._emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0,_emscripten_bind_btTransform__inverse_p0=Module._emscripten_bind_btTransform__inverse_p0=asm._emscripten_bind_btTransform__inverse_p0,_emscripten_bind_btCylinderShapeX__isConvex2d_p0=Module._emscripten_bind_btCylinderShapeX__isConvex2d_p0=asm._emscripten_bind_btCylinderShapeX__isConvex2d_p0,_emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1=Module._emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1=asm._emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1,_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1,_emscripten_bind_btBroadphaseInterface__rayTest_p4=Module._emscripten_bind_btBroadphaseInterface__rayTest_p4=asm._emscripten_bind_btBroadphaseInterface__rayTest_p4,_emscripten_bind_btBroadphaseInterface__rayTest_p3=Module._emscripten_bind_btBroadphaseInterface__rayTest_p3=asm._emscripten_bind_btBroadphaseInterface__rayTest_p3,_emscripten_bind_btQuaternion__setZ_p1=Module._emscripten_bind_btQuaternion__setZ_p1=asm._emscripten_bind_btQuaternion__setZ_p1,_emscripten_bind_btBU_Simplex1to4__setUserPointer_p1=Module._emscripten_bind_btBU_Simplex1to4__setUserPointer_p1=asm._emscripten_bind_btBU_Simplex1to4__setUserPointer_p1,_emscripten_bind_btQuaternion__setW_p1=Module._emscripten_bind_btQuaternion__setW_p1=asm._emscripten_bind_btQuaternion__setW_p1,_emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8=Module._emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8=asm._emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8,_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0=Module._emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0=asm._emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0,_emscripten_bind_btRigidBody__applyImpulse_p2=Module._emscripten_bind_btRigidBody__applyImpulse_p2=asm._emscripten_bind_btRigidBody__applyImpulse_p2,_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1=Module._emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1=asm._emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1,_emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1=Module._emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1=asm._emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1,_emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1=Module._emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1=asm._emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1,_emscripten_bind_btTriangleCallback__processTriangle_p3=Module._emscripten_bind_btTriangleCallback__processTriangle_p3=asm._emscripten_bind_btTriangleCallback__processTriangle_p3,_emscripten_bind_btDynamicsWorld__contactPairTest_p3=Module._emscripten_bind_btDynamicsWorld__contactPairTest_p3=asm._emscripten_bind_btDynamicsWorld__contactPairTest_p3,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1=Module._emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1=asm._emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2,_emscripten_bind_btStaticPlaneShape__setLocalScaling_p1=Module._emscripten_bind_btStaticPlaneShape__setLocalScaling_p1=asm._emscripten_bind_btStaticPlaneShape__setLocalScaling_p1,_emscripten_bind_btDynamicsWorld__removeAction_p1=Module._emscripten_bind_btDynamicsWorld__removeAction_p1=asm._emscripten_bind_btDynamicsWorld__removeAction_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1,_emscripten_bind_btQuaternion__setX_p1=Module._emscripten_bind_btQuaternion__setX_p1=asm._emscripten_bind_btQuaternion__setX_p1,_emscripten_bind_btManifoldResult__getPersistentManifold_p0=Module._emscripten_bind_btManifoldResult__getPersistentManifold_p0=asm._emscripten_bind_btManifoldResult__getPersistentManifold_p0,_emscripten_bind_btDispatcher__needsResponse_p2=Module._emscripten_bind_btDispatcher__needsResponse_p2=asm._emscripten_bind_btDispatcher__needsResponse_p2,_emscripten_bind_btCapsuleShapeX__getName_p0=Module._emscripten_bind_btCapsuleShapeX__getName_p0=asm._emscripten_bind_btCapsuleShapeX__getName_p0,_emscripten_bind_btConvexShape__isInfinite_p0=Module._emscripten_bind_btConvexShape__isInfinite_p0=asm._emscripten_bind_btConvexShape__isInfinite_p0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0,_emscripten_bind_btSimpleBroadphase__printStats_p0=Module._emscripten_bind_btSimpleBroadphase__printStats_p0=asm._emscripten_bind_btSimpleBroadphase__printStats_p0,_emscripten_bind_btCollisionWorld__serialize_p1=Module._emscripten_bind_btCollisionWorld__serialize_p1=asm._emscripten_bind_btCollisionWorld__serialize_p1,_emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1,_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0,_emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1=Module._emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1=asm._emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1,_emscripten_bind_btPolyhedralConvexShape__isConvex_p0=Module._emscripten_bind_btPolyhedralConvexShape__isConvex_p0=asm._emscripten_bind_btPolyhedralConvexShape__isConvex_p0,_emscripten_bind_btGeneric6DofConstraint__setParam_p2=Module._emscripten_bind_btGeneric6DofConstraint__setParam_p2=asm._emscripten_bind_btGeneric6DofConstraint__setParam_p2,_emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3,_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12=Module._emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12=asm._emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12,_emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1,_emscripten_bind_btBU_Simplex1to4____destroy___p0=Module._emscripten_bind_btBU_Simplex1to4____destroy___p0=asm._emscripten_bind_btBU_Simplex1to4____destroy___p0,_emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1=Module._emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1=asm._emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1,_emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1,_emscripten_bind_btMultiSphereShape__isSoftBody_p0=Module._emscripten_bind_btMultiSphereShape__isSoftBody_p0=asm._emscripten_bind_btMultiSphereShape__isSoftBody_p0,_emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0,_emscripten_bind_btCompoundShape__getBoundingSphere_p2=Module._emscripten_bind_btCompoundShape__getBoundingSphere_p2=asm._emscripten_bind_btCompoundShape__getBoundingSphere_p2,_emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0=Module._emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0=asm._emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0,_emscripten_bind_btConstraintSetting__get_m_damping_p0=Module._emscripten_bind_btConstraintSetting__get_m_damping_p0=asm._emscripten_bind_btConstraintSetting__get_m_damping_p0,_emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1,_emscripten_bind_btMatrix3x3__getRow_p1=Module._emscripten_bind_btMatrix3x3__getRow_p1=asm._emscripten_bind_btMatrix3x3__getRow_p1,_emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0=Module._emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0=asm._emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0,_emscripten_bind_btConeShape__isConvex_p0=Module._emscripten_bind_btConeShape__isConvex_p0=asm._emscripten_bind_btConeShape__isConvex_p0,_emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btVector4__distance_p1=Module._emscripten_bind_btVector4__distance_p1=asm._emscripten_bind_btVector4__distance_p1,_emscripten_bind_btMatrix3x3__op_set_p1=Module._emscripten_bind_btMatrix3x3__op_set_p1=asm._emscripten_bind_btMatrix3x3__op_set_p1,_emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0=Module._emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0=asm._emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3=Module._emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3=asm._emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3,_emscripten_bind_btCollisionObject__getDeactivationTime_p0=Module._emscripten_bind_btCollisionObject__getDeactivationTime_p0=asm._emscripten_bind_btCollisionObject__getDeactivationTime_p0,_emscripten_bind_btCollisionShape__setMargin_p1=Module._emscripten_bind_btCollisionShape__setMargin_p1=asm._emscripten_bind_btCollisionShape__setMargin_p1,_emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0=Module._emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0=asm._emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0,_emscripten_bind_btSphereShape__btSphereShape_p1=Module._emscripten_bind_btSphereShape__btSphereShape_p1=asm._emscripten_bind_btSphereShape__btSphereShape_p1,_emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btUniformScalingShape__isNonMoving_p0=Module._emscripten_bind_btUniformScalingShape__isNonMoving_p0=asm._emscripten_bind_btUniformScalingShape__isNonMoving_p0,_emscripten_bind_btPersistentManifold__refreshContactPoints_p2=Module._emscripten_bind_btPersistentManifold__refreshContactPoints_p2=asm._emscripten_bind_btPersistentManifold__refreshContactPoints_p2,_emscripten_bind_btVector3__setZero_p0=Module._emscripten_bind_btVector3__setZero_p0=asm._emscripten_bind_btVector3__setZero_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1,_emscripten_bind_btPolyhedralConvexShape__serialize_p2=Module._emscripten_bind_btPolyhedralConvexShape__serialize_p2=asm._emscripten_bind_btPolyhedralConvexShape__serialize_p2,_emscripten_bind_btTriangleMesh__preallocateIndices_p1=Module._emscripten_bind_btTriangleMesh__preallocateIndices_p1=asm._emscripten_bind_btTriangleMesh__preallocateIndices_p1,_emscripten_bind_btConvexTriangleMeshShape__getVertex_p2=Module._emscripten_bind_btConvexTriangleMeshShape__getVertex_p2=asm._emscripten_bind_btConvexTriangleMeshShape__getVertex_p2,_emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1,_emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0=Module._emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0=asm._emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0,_emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3=Module._emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3=asm._emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3,_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1,_emscripten_bind_btCollisionObject__setCollisionShape_p1=Module._emscripten_bind_btCollisionObject__setCollisionShape_p1=asm._emscripten_bind_btCollisionObject__setCollisionShape_p1,_emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1=Module._emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1=asm._emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1,_emscripten_bind_btCylinderShape__getUserPointer_p0=Module._emscripten_bind_btCylinderShape__getUserPointer_p0=asm._emscripten_bind_btCylinderShape__getUserPointer_p0,_emscripten_bind_btTransform__btTransform_p1=Module._emscripten_bind_btTransform__btTransform_p1=asm._emscripten_bind_btTransform__btTransform_p1,_emscripten_bind_btTransform__btTransform_p0=Module._emscripten_bind_btTransform__btTransform_p0=asm._emscripten_bind_btTransform__btTransform_p0,_emscripten_bind_btTransform__btTransform_p2=Module._emscripten_bind_btTransform__btTransform_p2=asm._emscripten_bind_btTransform__btTransform_p2,_emscripten_bind_btVector3__normalize_p0=Module._emscripten_bind_btVector3__normalize_p0=asm._emscripten_bind_btVector3__normalize_p0,_emscripten_bind_btConvexHullShape__getPoints_p0=Module._emscripten_bind_btConvexHullShape__getPoints_p0=asm._emscripten_bind_btConvexHullShape__getPoints_p0,_emscripten_bind_btDiscreteDynamicsWorld__serialize_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__serialize_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__serialize_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0,_emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0,_emscripten_bind_CProfileNode__Get_Total_Calls_p0=Module._emscripten_bind_CProfileNode__Get_Total_Calls_p0=asm._emscripten_bind_CProfileNode__Get_Total_Calls_p0,_emscripten_bind_btVector3__btVector3_p3=Module._emscripten_bind_btVector3__btVector3_p3=asm._emscripten_bind_btVector3__btVector3_p3,_emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3=Module._emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3=asm._emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3,_emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0=Module._emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0=asm._emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0,_emscripten_bind_btCollisionWorld__contactPairTest_p3=Module._emscripten_bind_btCollisionWorld__contactPairTest_p3=asm._emscripten_bind_btCollisionWorld__contactPairTest_p3,_emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1=Module._emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1=asm._emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1,_emscripten_bind_btManifoldResult__refreshContactPoints_p0=Module._emscripten_bind_btManifoldResult__refreshContactPoints_p0=asm._emscripten_bind_btManifoldResult__refreshContactPoints_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3,_emscripten_bind_btCapsuleShapeX__isCompound_p0=Module._emscripten_bind_btCapsuleShapeX__isCompound_p0=asm._emscripten_bind_btCapsuleShapeX__isCompound_p0,_emscripten_bind_btOverlappingPairCache__findPair_p2=Module._emscripten_bind_btOverlappingPairCache__findPair_p2=asm._emscripten_bind_btOverlappingPairCache__findPair_p2,_emscripten_bind_btBU_Simplex1to4__isInfinite_p0=Module._emscripten_bind_btBU_Simplex1to4__isInfinite_p0=asm._emscripten_bind_btBU_Simplex1to4__isInfinite_p0,_emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0=Module._emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0=asm._emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0,_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0=Module._emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0=asm._emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1,_emscripten_bind_btGhostObject__getHitFraction_p0=Module._emscripten_bind_btGhostObject__getHitFraction_p0=asm._emscripten_bind_btGhostObject__getHitFraction_p0,_emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10=Module._emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10=asm._emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btCompoundShape__setUserPointer_p1=Module._emscripten_bind_btCompoundShape__setUserPointer_p1=asm._emscripten_bind_btCompoundShape__setUserPointer_p1,_emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0=Module._emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0=asm._emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0,_emscripten_bind_btBoxShape____destroy___p0=Module._emscripten_bind_btBoxShape____destroy___p0=asm._emscripten_bind_btBoxShape____destroy___p0,_emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3=Module._emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3=asm._emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3,_emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3=Module._emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3=asm._emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3,_emscripten_bind_btTypedConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btTypedConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btTypedConstraint__getAppliedImpulse_p0,_emscripten_bind_CProfileNode__Call_p0=Module._emscripten_bind_CProfileNode__Call_p0=asm._emscripten_bind_CProfileNode__Call_p0,_emscripten_bind_btQuaternion__length_p0=Module._emscripten_bind_btQuaternion__length_p0=asm._emscripten_bind_btQuaternion__length_p0,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0=Module._emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0=asm._emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0,_emscripten_bind_btPairCachingGhostObject__rayTest_p3=Module._emscripten_bind_btPairCachingGhostObject__rayTest_p3=asm._emscripten_bind_btPairCachingGhostObject__rayTest_p3,_emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0,_emscripten_bind_btConvexInternalShape__isInfinite_p0=Module._emscripten_bind_btConvexInternalShape__isInfinite_p0=asm._emscripten_bind_btConvexInternalShape__isInfinite_p0,_emscripten_bind_btEmptyShape__setMargin_p1=Module._emscripten_bind_btEmptyShape__setMargin_p1=asm._emscripten_bind_btEmptyShape__setMargin_p1,_emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0=Module._emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0=asm._emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0,_emscripten_bind_btHinge2Constraint__setLowerLimit_p1=Module._emscripten_bind_btHinge2Constraint__setLowerLimit_p1=asm._emscripten_bind_btHinge2Constraint__setLowerLimit_p1,_emscripten_bind_btContinuousDynamicsWorld__clearForces_p0=Module._emscripten_bind_btContinuousDynamicsWorld__clearForces_p0=asm._emscripten_bind_btContinuousDynamicsWorld__clearForces_p0,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1,_emscripten_bind_btConvexShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConvexShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConvexShape__getAngularMotionDisc_p0,_emscripten_bind_btVector4__minAxis_p0=Module._emscripten_bind_btVector4__minAxis_p0=asm._emscripten_bind_btVector4__minAxis_p0,_emscripten_bind_btConeShapeZ__getUserPointer_p0=Module._emscripten_bind_btConeShapeZ__getUserPointer_p0=asm._emscripten_bind_btConeShapeZ__getUserPointer_p0,_emscripten_bind_btCollisionShape__isPolyhedral_p0=Module._emscripten_bind_btCollisionShape__isPolyhedral_p0=asm._emscripten_bind_btCollisionShape__isPolyhedral_p0,_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0=Module._emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0=asm._emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0,_emscripten_bind_btCylinderShape__serialize_p2=Module._emscripten_bind_btCylinderShape__serialize_p2=asm._emscripten_bind_btCylinderShape__serialize_p2,_emscripten_bind_btDynamicsWorld__setDebugDrawer_p1=Module._emscripten_bind_btDynamicsWorld__setDebugDrawer_p1=asm._emscripten_bind_btDynamicsWorld__setDebugDrawer_p1,_emscripten_bind_btDiscreteDynamicsWorld__addAction_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__addAction_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__addAction_p1,_emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1,_emscripten_bind_btUniversalConstraint__getConstraintType_p0=Module._emscripten_bind_btUniversalConstraint__getConstraintType_p0=asm._emscripten_bind_btUniversalConstraint__getConstraintType_p0,_emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2=Module._emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2=asm._emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2,_emscripten_bind_btBoxShape__setLocalScaling_p1=Module._emscripten_bind_btBoxShape__setLocalScaling_p1=asm._emscripten_bind_btBoxShape__setLocalScaling_p1,_emscripten_bind_btTransform__serializeFloat_p1=Module._emscripten_bind_btTransform__serializeFloat_p1=asm._emscripten_bind_btTransform__serializeFloat_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1,_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0=Module._emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0=asm._emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0,_emscripten_bind_CProfileNode__Get_Parent_p0=Module._emscripten_bind_CProfileNode__Get_Parent_p0=asm._emscripten_bind_CProfileNode__Get_Parent_p0,_emscripten_bind_btConvexShape__isCompound_p0=Module._emscripten_bind_btConvexShape__isCompound_p0=asm._emscripten_bind_btConvexShape__isCompound_p0,_emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0=Module._emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0=asm._emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0,_emscripten_bind_btTriangleInfo____destroy___p0=Module._emscripten_bind_btTriangleInfo____destroy___p0=asm._emscripten_bind_btTriangleInfo____destroy___p0,_emscripten_bind_btSliderConstraint__getUserConstraintId_p0=Module._emscripten_bind_btSliderConstraint__getUserConstraintId_p0=asm._emscripten_bind_btSliderConstraint__getUserConstraintId_p0,_emscripten_bind_btContinuousDynamicsWorld__contactTest_p2=Module._emscripten_bind_btContinuousDynamicsWorld__contactTest_p2=asm._emscripten_bind_btContinuousDynamicsWorld__contactTest_p2,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0,_emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1=Module._emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1=asm._emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1,_emscripten_bind_btDynamicsWorld__getBroadphase_p0=Module._emscripten_bind_btDynamicsWorld__getBroadphase_p0=asm._emscripten_bind_btDynamicsWorld__getBroadphase_p0,_emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2=Module._emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2=asm._emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2,_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0=Module._emscripten_bind_btDynamicsWorld__getDispatchInfo_p0=asm._emscripten_bind_btDynamicsWorld__getDispatchInfo_p0,_emscripten_bind_btConvexHullShape__getNumEdges_p0=Module._emscripten_bind_btConvexHullShape__getNumEdges_p0=asm._emscripten_bind_btConvexHullShape__getNumEdges_p0,_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0,_emscripten_bind_btRigidBody__upcast_p1=Module._emscripten_bind_btRigidBody__upcast_p1=asm._emscripten_bind_btRigidBody__upcast_p1,_emscripten_bind_btDispatcherInfo____destroy___p0=Module._emscripten_bind_btDispatcherInfo____destroy___p0=asm._emscripten_bind_btDispatcherInfo____destroy___p0,_emscripten_bind_btSerializer__getSerializationFlags_p0=Module._emscripten_bind_btSerializer__getSerializationFlags_p0=asm._emscripten_bind_btSerializer__getSerializationFlags_p0,_emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btTransform__inverseTimes_p1=Module._emscripten_bind_btTransform__inverseTimes_p1=asm._emscripten_bind_btTransform__inverseTimes_p1,_emscripten_bind_btPoint2PointConstraint__updateRHS_p1=Module._emscripten_bind_btPoint2PointConstraint__updateRHS_p1=asm._emscripten_bind_btPoint2PointConstraint__updateRHS_p1,_emscripten_bind_btVector3__w_p0=Module._emscripten_bind_btVector3__w_p0=asm._emscripten_bind_btVector3__w_p0,_emscripten_bind_bt32BitAxisSweep3__quantize_p3=Module._emscripten_bind_bt32BitAxisSweep3__quantize_p3=asm._emscripten_bind_bt32BitAxisSweep3__quantize_p3,_emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1=Module._emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1=asm._emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1,_emscripten_bind_btCompoundShape__getUserPointer_p0=Module._emscripten_bind_btCompoundShape__getUserPointer_p0=asm._emscripten_bind_btCompoundShape__getUserPointer_p0,_emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1=Module._emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1=asm._emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1,_emscripten_bind_btCapsuleShape__isSoftBody_p0=Module._emscripten_bind_btCapsuleShape__isSoftBody_p0=asm._emscripten_bind_btCapsuleShape__isSoftBody_p0,_emscripten_bind_btWheelInfo__get_m_brake_p0=Module._emscripten_bind_btWheelInfo__get_m_brake_p0=asm._emscripten_bind_btWheelInfo__get_m_brake_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1,_emscripten_bind_btTypedConstraint__getInfo2_p1=Module._emscripten_bind_btTypedConstraint__getInfo2_p1=asm._emscripten_bind_btTypedConstraint__getInfo2_p1,_emscripten_bind_btSimpleBroadphase__createProxy_p8=Module._emscripten_bind_btSimpleBroadphase__createProxy_p8=asm._emscripten_bind_btSimpleBroadphase__createProxy_p8,_emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0,_emscripten_bind_btCompoundShape__getMargin_p0=Module._emscripten_bind_btCompoundShape__getMargin_p0=asm._emscripten_bind_btCompoundShape__getMargin_p0,_emscripten_bind_btConeShape__getLocalScaling_p0=Module._emscripten_bind_btConeShape__getLocalScaling_p0=asm._emscripten_bind_btConeShape__getLocalScaling_p0,_emscripten_bind_btPairCachingGhostObject__isActive_p0=Module._emscripten_bind_btPairCachingGhostObject__isActive_p0=asm._emscripten_bind_btPairCachingGhostObject__isActive_p0,_emscripten_bind_btConeShape__isConcave_p0=Module._emscripten_bind_btConeShape__isConcave_p0=asm._emscripten_bind_btConeShape__isConcave_p0,_emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1=Module._emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1=asm._emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0,_emscripten_bind_btCollisionObject__setActivationState_p1=Module._emscripten_bind_btCollisionObject__setActivationState_p1=asm._emscripten_bind_btCollisionObject__setActivationState_p1,_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0=Module._emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0=asm._emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0,_emscripten_bind_btConvexHullShape__getPlane_p3=Module._emscripten_bind_btConvexHullShape__getPlane_p3=asm._emscripten_bind_btConvexHullShape__getPlane_p3,_emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4,_emscripten_bind_btManifoldResult____destroy___p0=Module._emscripten_bind_btManifoldResult____destroy___p0=asm._emscripten_bind_btManifoldResult____destroy___p0,_emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5=Module._emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5=asm._emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5,_emscripten_bind_btPoint2PointConstraint__buildJacobian_p0=Module._emscripten_bind_btPoint2PointConstraint__buildJacobian_p0=asm._emscripten_bind_btPoint2PointConstraint__buildJacobian_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0,_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getGravity_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getGravity_p0,_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0=Module._emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0=asm._emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0,_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btHinge2Constraint__set_m_objectType_p1=Module._emscripten_bind_btHinge2Constraint__set_m_objectType_p1=asm._emscripten_bind_btHinge2Constraint__set_m_objectType_p1,_emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2=Module._emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2=asm._emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2,_emscripten_bind_btHingeConstraint__setUseFrameOffset_p1=Module._emscripten_bind_btHingeConstraint__setUseFrameOffset_p1=asm._emscripten_bind_btHingeConstraint__setUseFrameOffset_p1,_emscripten_bind_btGhostObject__forceActivationState_p1=Module._emscripten_bind_btGhostObject__forceActivationState_p1=asm._emscripten_bind_btGhostObject__forceActivationState_p1,_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0=Module._emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0=asm._emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0,_emscripten_bind_btTypedConstraint__getObjectType_p0=Module._emscripten_bind_btTypedConstraint__getObjectType_p0=asm._emscripten_bind_btTypedConstraint__getObjectType_p0,_emscripten_bind_CProfileNode__Get_Sub_Node_p1=Module._emscripten_bind_CProfileNode__Get_Sub_Node_p1=asm._emscripten_bind_CProfileNode__Get_Sub_Node_p1,_emscripten_bind_btQuaternion__angle_p1=Module._emscripten_bind_btQuaternion__angle_p1=asm._emscripten_bind_btQuaternion__angle_p1,_emscripten_bind_btGhostObject__setCollisionShape_p1=Module._emscripten_bind_btGhostObject__setCollisionShape_p1=asm._emscripten_bind_btGhostObject__setCollisionShape_p1,_emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0=Module._emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0=asm._emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0,_emscripten_bind_btBvhTriangleMeshShape__getName_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getName_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getName_p0,_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0=Module._emscripten_bind_btRigidBody__internalGetTurnVelocity_p0=asm._emscripten_bind_btRigidBody__internalGetTurnVelocity_p0,_emscripten_bind_btVector3__op_comp_p1=Module._emscripten_bind_btVector3__op_comp_p1=asm._emscripten_bind_btVector3__op_comp_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0,_emscripten_bind_btVector3__getY_p0=Module._emscripten_bind_btVector3__getY_p0=asm._emscripten_bind_btVector3__getY_p0,_emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1=Module._emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1=asm._emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1,_emscripten_bind_btConvexInternalShape__getName_p0=Module._emscripten_bind_btConvexInternalShape__getName_p0=asm._emscripten_bind_btConvexInternalShape__getName_p0,_emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3=Module._emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3=asm._emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3,_emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0=Module._emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0=asm._emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0,_emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0=Module._emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0=asm._emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0,_emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0=Module._emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0=asm._emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0,_emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0,_emscripten_bind_btBvhTriangleMeshShape__isConcave_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isConcave_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isConcave_p0,_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0=Module._emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0=asm._emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0,_emscripten_bind_btUniversalConstraint__updateRHS_p1=Module._emscripten_bind_btUniversalConstraint__updateRHS_p1=asm._emscripten_bind_btUniversalConstraint__updateRHS_p1,_emscripten_bind_btRigidBody__applyDamping_p1=Module._emscripten_bind_btRigidBody__applyDamping_p1=asm._emscripten_bind_btRigidBody__applyDamping_p1,_emscripten_bind_btConvexInternalShape__isNonMoving_p0=Module._emscripten_bind_btConvexInternalShape__isNonMoving_p0=asm._emscripten_bind_btConvexInternalShape__isNonMoving_p0,_emscripten_bind_btStaticPlaneShape__isConcave_p0=Module._emscripten_bind_btStaticPlaneShape__isConcave_p0=asm._emscripten_bind_btStaticPlaneShape__isConcave_p0,_emscripten_bind_btVector4__deSerializeFloat_p1=Module._emscripten_bind_btVector4__deSerializeFloat_p1=asm._emscripten_bind_btVector4__deSerializeFloat_p1,_emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6=Module._emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6=asm._emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0,_emscripten_bind_btHinge2Constraint__calculateTransforms_p2=Module._emscripten_bind_btHinge2Constraint__calculateTransforms_p2=asm._emscripten_bind_btHinge2Constraint__calculateTransforms_p2,_emscripten_bind_btCollisionWorld__btCollisionWorld_p3=Module._emscripten_bind_btCollisionWorld__btCollisionWorld_p3=asm._emscripten_bind_btCollisionWorld__btCollisionWorld_p3,_emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4=Module._emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4=asm._emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4,_emscripten_bind_btCapsuleShapeZ____destroy___p0=Module._emscripten_bind_btCapsuleShapeZ____destroy___p0=asm._emscripten_bind_btCapsuleShapeZ____destroy___p0,_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0=Module._emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0=asm._emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0,_emscripten_bind_btDynamicsWorld____destroy___p0=Module._emscripten_bind_btDynamicsWorld____destroy___p0=asm._emscripten_bind_btDynamicsWorld____destroy___p0,_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4=Module._emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4=asm._emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4,_emscripten_bind_btNodeOverlapCallback__processNode_p2=Module._emscripten_bind_btNodeOverlapCallback__processNode_p2=asm._emscripten_bind_btNodeOverlapCallback__processNode_p2,_emscripten_bind_btConvexShape__getLocalScaling_p0=Module._emscripten_bind_btConvexShape__getLocalScaling_p0=asm._emscripten_bind_btConvexShape__getLocalScaling_p0,_emscripten_bind_btPairCachingGhostObject__getInternalType_p0=Module._emscripten_bind_btPairCachingGhostObject__getInternalType_p0=asm._emscripten_bind_btPairCachingGhostObject__getInternalType_p0,_emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0=Module._emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0=asm._emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0,_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0=Module._emscripten_bind_btHinge2Constraint__getRigidBodyB_p0=asm._emscripten_bind_btHinge2Constraint__getRigidBodyB_p0,_emscripten_bind_btMatrix3x3__deSerializeFloat_p1=Module._emscripten_bind_btMatrix3x3__deSerializeFloat_p1=asm._emscripten_bind_btMatrix3x3__deSerializeFloat_p1,_emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1=Module._emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1=asm._emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1,_emscripten_bind_btConeShapeX__setLocalScaling_p1=Module._emscripten_bind_btConeShapeX__setLocalScaling_p1=asm._emscripten_bind_btConeShapeX__setLocalScaling_p1,_emscripten_bind_btUniversalConstraint__isEnabled_p0=Module._emscripten_bind_btUniversalConstraint__isEnabled_p0=asm._emscripten_bind_btUniversalConstraint__isEnabled_p0,_emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1,_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0=Module._emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0=asm._emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0,_emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1=Module._emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1=asm._emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1,_emscripten_bind_btAxisSweep3__testAabbOverlap_p2=Module._emscripten_bind_btAxisSweep3__testAabbOverlap_p2=asm._emscripten_bind_btAxisSweep3__testAabbOverlap_p2,_emscripten_bind_btCapsuleShapeX__isConvex2d_p0=Module._emscripten_bind_btCapsuleShapeX__isConvex2d_p0=asm._emscripten_bind_btCapsuleShapeX__isConvex2d_p0,_emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0,_emscripten_bind_bt32BitAxisSweep3____destroy___p0=Module._emscripten_bind_bt32BitAxisSweep3____destroy___p0=asm._emscripten_bind_bt32BitAxisSweep3____destroy___p0,_emscripten_bind_btVector3__triple_p2=Module._emscripten_bind_btVector3__triple_p2=asm._emscripten_bind_btVector3__triple_p2,_emscripten_bind_ConcreteContactResultCallback__needsCollision_p1=Module._emscripten_bind_ConcreteContactResultCallback__needsCollision_p1=asm._emscripten_bind_ConcreteContactResultCallback__needsCollision_p1,_emscripten_bind_btSimpleBroadphaseProxy__getUid_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__getUid_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__getUid_p0,_emscripten_bind_btConeShapeX__serialize_p2=Module._emscripten_bind_btConeShapeX__serialize_p2=asm._emscripten_bind_btConeShapeX__serialize_p2,_emscripten_bind_btCollisionDispatcher__releaseManifold_p1=Module._emscripten_bind_btCollisionDispatcher__releaseManifold_p1=asm._emscripten_bind_btCollisionDispatcher__releaseManifold_p1,_emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0,_emscripten_bind_btBU_Simplex1to4__isNonMoving_p0=Module._emscripten_bind_btBU_Simplex1to4__isNonMoving_p0=asm._emscripten_bind_btBU_Simplex1to4__isNonMoving_p0,_emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0=Module._emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0=asm._emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0,_emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3=Module._emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3=asm._emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3,_emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2=Module._emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2=asm._emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2,_emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1=Module._emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1=asm._emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0=Module._emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0=asm._emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0,_emscripten_bind_btVector3__angle_p1=Module._emscripten_bind_btVector3__angle_p1=asm._emscripten_bind_btVector3__angle_p1,_emscripten_bind_btCylinderShape__getLocalScalingNV_p0=Module._emscripten_bind_btCylinderShape__getLocalScalingNV_p0=asm._emscripten_bind_btCylinderShape__getLocalScalingNV_p0,_emscripten_bind_btConeShape__isInfinite_p0=Module._emscripten_bind_btConeShape__isInfinite_p0=asm._emscripten_bind_btConeShape__isInfinite_p0,_emscripten_bind_btIndexedMesh__get_m_vertexStride_p0=Module._emscripten_bind_btIndexedMesh__get_m_vertexStride_p0=asm._emscripten_bind_btIndexedMesh__get_m_vertexStride_p0,_emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0,_emscripten_bind_btHinge2Constraint__getAnchor2_p0=Module._emscripten_bind_btHinge2Constraint__getAnchor2_p0=asm._emscripten_bind_btHinge2Constraint__getAnchor2_p0,_emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1,_emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2=Module._emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2=asm._emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2,_emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1=Module._emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1=asm._emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0,_emscripten_bind_btCompoundShape__calculateLocalInertia_p2=Module._emscripten_bind_btCompoundShape__calculateLocalInertia_p2=asm._emscripten_bind_btCompoundShape__calculateLocalInertia_p2,_emscripten_bind_btSliderConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btSliderConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btSliderConstraint__getDbgDrawSize_p0,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2=Module._emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2=asm._emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2,_emscripten_bind_btRigidBody__setMotionState_p1=Module._emscripten_bind_btRigidBody__setMotionState_p1=asm._emscripten_bind_btRigidBody__setMotionState_p1,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0,_emscripten_bind_CProfileNode__Get_Sibling_p0=Module._emscripten_bind_CProfileNode__Get_Sibling_p0=asm._emscripten_bind_CProfileNode__Get_Sibling_p0,_emscripten_bind_btHingeConstraint__enableAngularMotor_p3=Module._emscripten_bind_btHingeConstraint__enableAngularMotor_p3=asm._emscripten_bind_btHingeConstraint__enableAngularMotor_p3,_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0=Module._emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0=asm._emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0,_emscripten_bind_btStaticPlaneShape__getName_p0=Module._emscripten_bind_btStaticPlaneShape__getName_p0=asm._emscripten_bind_btStaticPlaneShape__getName_p0,_emscripten_bind_btGhostObject__getUserPointer_p0=Module._emscripten_bind_btGhostObject__getUserPointer_p0=asm._emscripten_bind_btGhostObject__getUserPointer_p0,_emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0,_emscripten_bind_btConeShape__getAngularMotionDisc_p0=Module._emscripten_bind_btConeShape__getAngularMotionDisc_p0=asm._emscripten_bind_btConeShape__getAngularMotionDisc_p0,_emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7=Module._emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7=asm._emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7,_emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0=Module._emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0=asm._emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0,_emscripten_bind_btHingeConstraint__isEnabled_p0=Module._emscripten_bind_btHingeConstraint__isEnabled_p0=asm._emscripten_bind_btHingeConstraint__isEnabled_p0,_emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btSerializer__serializeName_p1=Module._emscripten_bind_btSerializer__serializeName_p1=asm._emscripten_bind_btSerializer__serializeName_p1,_emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0=Module._emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0=asm._emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0,_emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0=Module._emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0=asm._emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0,_emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1=Module._emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1=asm._emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1,_emscripten_bind_btConcaveShape__processAllTriangles_p3=Module._emscripten_bind_btConcaveShape__processAllTriangles_p3=asm._emscripten_bind_btConcaveShape__processAllTriangles_p3,_emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1=Module._emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1=asm._emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1,_emscripten_bind_btRigidBody__isKinematicObject_p0=Module._emscripten_bind_btRigidBody__isKinematicObject_p0=asm._emscripten_bind_btRigidBody__isKinematicObject_p0,_emscripten_bind_btCapsuleShapeX__getHalfHeight_p0=Module._emscripten_bind_btCapsuleShapeX__getHalfHeight_p0=asm._emscripten_bind_btCapsuleShapeX__getHalfHeight_p0,_emscripten_bind_btVector4__rotate_p2=Module._emscripten_bind_btVector4__rotate_p2=asm._emscripten_bind_btVector4__rotate_p2,_emscripten_bind_btMatrix3x3__serialize_p1=Module._emscripten_bind_btMatrix3x3__serialize_p1=asm._emscripten_bind_btMatrix3x3__serialize_p1,_emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0,_emscripten_bind_btDbvtBroadphase__get_m_cid_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_cid_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_cid_p0,_emscripten_bind_btContactConstraint__getUid_p0=Module._emscripten_bind_btContactConstraint__getUid_p0=asm._emscripten_bind_btContactConstraint__getUid_p0,_emscripten_bind_btVector3__setInterpolate3_p3=Module._emscripten_bind_btVector3__setInterpolate3_p3=asm._emscripten_bind_btVector3__setInterpolate3_p3,_emscripten_bind_btConstraintSolver__allSolved_p3=Module._emscripten_bind_btConstraintSolver__allSolved_p3=asm._emscripten_bind_btConstraintSolver__allSolved_p3,_emscripten_bind_btMatrix3x3__btMatrix3x3_p9=Module._emscripten_bind_btMatrix3x3__btMatrix3x3_p9=asm._emscripten_bind_btMatrix3x3__btMatrix3x3_p9,_emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0,_emscripten_bind_btTriangleMesh____destroy___p0=Module._emscripten_bind_btTriangleMesh____destroy___p0=asm._emscripten_bind_btTriangleMesh____destroy___p0,_emscripten_bind_btMatrix3x3__btMatrix3x3_p1=Module._emscripten_bind_btMatrix3x3__btMatrix3x3_p1=asm._emscripten_bind_btMatrix3x3__btMatrix3x3_p1,_emscripten_bind_btMatrix3x3__btMatrix3x3_p0=Module._emscripten_bind_btMatrix3x3__btMatrix3x3_p0=asm._emscripten_bind_btMatrix3x3__btMatrix3x3_p0,_emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0=Module._emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0=asm._emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0,_emscripten_bind_btBvhSubtreeInfo____destroy___p0=Module._emscripten_bind_btBvhSubtreeInfo____destroy___p0=asm._emscripten_bind_btBvhSubtreeInfo____destroy___p0,_emscripten_bind_btVector3__op_add_p1=Module._emscripten_bind_btVector3__op_add_p1=asm._emscripten_bind_btVector3__op_add_p1,_emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1=Module._emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1=asm._emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1,_emscripten_bind_btHinge2Constraint__getAngle2_p0=Module._emscripten_bind_btHinge2Constraint__getAngle2_p0=asm._emscripten_bind_btHinge2Constraint__getAngle2_p0,_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9=Module._emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9=asm._emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9,_emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0,_emscripten_bind_btContactConstraint__setUserConstraintType_p1=Module._emscripten_bind_btContactConstraint__setUserConstraintType_p1=asm._emscripten_bind_btContactConstraint__setUserConstraintType_p1,_emscripten_bind_btHingeConstraint__getAngularOnly_p0=Module._emscripten_bind_btHingeConstraint__getAngularOnly_p0=asm._emscripten_bind_btHingeConstraint__getAngularOnly_p0,_emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0=Module._emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0=asm._emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0,_emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btGhostObject__getCollisionShape_p0=Module._emscripten_bind_btGhostObject__getCollisionShape_p0=asm._emscripten_bind_btGhostObject__getCollisionShape_p0,_emscripten_bind_btCollisionObject__setWorldTransform_p1=Module._emscripten_bind_btCollisionObject__setWorldTransform_p1=asm._emscripten_bind_btCollisionObject__setWorldTransform_p1,_emscripten_bind_btConeShapeZ__setMargin_p1=Module._emscripten_bind_btConeShapeZ__setMargin_p1=asm._emscripten_bind_btConeShapeZ__setMargin_p1,_emscripten_bind_btCapsuleShape__serialize_p2=Module._emscripten_bind_btCapsuleShape__serialize_p2=asm._emscripten_bind_btCapsuleShape__serialize_p2,_emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0=Module._emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0=asm._emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0,_emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1=Module._emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1=asm._emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1,_emscripten_bind_btTransform__getRotation_p0=Module._emscripten_bind_btTransform__getRotation_p0=asm._emscripten_bind_btTransform__getRotation_p0,_emscripten_bind_btStridingMeshInterface__getScaling_p0=Module._emscripten_bind_btStridingMeshInterface__getScaling_p0=asm._emscripten_bind_btStridingMeshInterface__getScaling_p0,_emscripten_bind_btGhostObject__setHitFraction_p1=Module._emscripten_bind_btGhostObject__setHitFraction_p1=asm._emscripten_bind_btGhostObject__setHitFraction_p1,_emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btPersistentManifold__addManifoldPoint_p1=Module._emscripten_bind_btPersistentManifold__addManifoldPoint_p1=asm._emscripten_bind_btPersistentManifold__addManifoldPoint_p1,_emscripten_bind_btSphereShape__getMargin_p0=Module._emscripten_bind_btSphereShape__getMargin_p0=asm._emscripten_bind_btSphereShape__getMargin_p0,_emscripten_bind_btEmptyShape__serializeSingleShape_p1=Module._emscripten_bind_btEmptyShape__serializeSingleShape_p1=asm._emscripten_bind_btEmptyShape__serializeSingleShape_p1,_emscripten_bind_btQuaternion__slerp_p2=Module._emscripten_bind_btQuaternion__slerp_p2=asm._emscripten_bind_btQuaternion__slerp_p2,_emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1=Module._emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1=asm._emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1,_emscripten_bind_btPersistentManifold__getObjectType_p0=Module._emscripten_bind_btPersistentManifold__getObjectType_p0=asm._emscripten_bind_btPersistentManifold__getObjectType_p0,_emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_bt32BitAxisSweep3__resetPool_p1=Module._emscripten_bind_bt32BitAxisSweep3__resetPool_p1=asm._emscripten_bind_bt32BitAxisSweep3__resetPool_p1,_emscripten_bind_btHingeConstraint__testLimit_p2=Module._emscripten_bind_btHingeConstraint__testLimit_p2=asm._emscripten_bind_btHingeConstraint__testLimit_p2,_emscripten_bind_btRigidBody__setLinearFactor_p1=Module._emscripten_bind_btRigidBody__setLinearFactor_p1=asm._emscripten_bind_btRigidBody__setLinearFactor_p1,_emscripten_bind_btDynamicsWorld__setBroadphase_p1=Module._emscripten_bind_btDynamicsWorld__setBroadphase_p1=asm._emscripten_bind_btDynamicsWorld__setBroadphase_p1,_emscripten_bind_btPairCachingGhostObject__getActivationState_p0=Module._emscripten_bind_btPairCachingGhostObject__getActivationState_p0=asm._emscripten_bind_btPairCachingGhostObject__getActivationState_p0,_emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2=Module._emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2=asm._emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2,_emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0=Module._emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0=asm._emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0,_emscripten_bind_btEmptyShape__isPolyhedral_p0=Module._emscripten_bind_btEmptyShape__isPolyhedral_p0=asm._emscripten_bind_btEmptyShape__isPolyhedral_p0,_emscripten_bind_btPoint2PointConstraint__isEnabled_p0=Module._emscripten_bind_btPoint2PointConstraint__isEnabled_p0=asm._emscripten_bind_btPoint2PointConstraint__isEnabled_p0,_emscripten_bind_btConeShape__getUserPointer_p0=Module._emscripten_bind_btConeShape__getUserPointer_p0=asm._emscripten_bind_btConeShape__getUserPointer_p0,_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2,_emscripten_bind_btMatrix3x3__scaled_p1=Module._emscripten_bind_btMatrix3x3__scaled_p1=asm._emscripten_bind_btMatrix3x3__scaled_p1,_emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1=Module._emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1=asm._emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1,_emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0=Module._emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0=asm._emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0,_emscripten_bind_btCylinderShapeX____destroy___p0=Module._emscripten_bind_btCylinderShapeX____destroy___p0=asm._emscripten_bind_btCylinderShapeX____destroy___p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1,_emscripten_bind_btContactConstraint__isEnabled_p0=Module._emscripten_bind_btContactConstraint__isEnabled_p0=asm._emscripten_bind_btContactConstraint__isEnabled_p0,_emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0=Module._emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0=asm._emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0,_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btCylinderShapeX__isConvex_p0=Module._emscripten_bind_btCylinderShapeX__isConvex_p0=asm._emscripten_bind_btCylinderShapeX__isConvex_p0,_emscripten_bind_btIDebugDraw__drawArc_p9=Module._emscripten_bind_btIDebugDraw__drawArc_p9=asm._emscripten_bind_btIDebugDraw__drawArc_p9,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1,_emscripten_bind_btSliderConstraint__getAncorInA_p0=Module._emscripten_bind_btSliderConstraint__getAncorInA_p0=asm._emscripten_bind_btSliderConstraint__getAncorInA_p0,_emscripten_bind_btHingeConstraint__getUpperLimit_p0=Module._emscripten_bind_btHingeConstraint__getUpperLimit_p0=asm._emscripten_bind_btHingeConstraint__getUpperLimit_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0,_emscripten_bind_btConvexShape__setLocalScaling_p1=Module._emscripten_bind_btConvexShape__setLocalScaling_p1=asm._emscripten_bind_btConvexShape__setLocalScaling_p1,_emscripten_bind_btConeShape__getConeUpIndex_p0=Module._emscripten_bind_btConeShape__getConeUpIndex_p0=asm._emscripten_bind_btConeShape__getConeUpIndex_p0,_emscripten_bind_btHinge2Constraint____destroy___p0=Module._emscripten_bind_btHinge2Constraint____destroy___p0=asm._emscripten_bind_btHinge2Constraint____destroy___p0,_emscripten_bind_btCapsuleShapeZ__setMargin_p1=Module._emscripten_bind_btCapsuleShapeZ__setMargin_p1=asm._emscripten_bind_btCapsuleShapeZ__setMargin_p1,_emscripten_bind_btAngularLimit__getLow_p0=Module._emscripten_bind_btAngularLimit__getLow_p0=asm._emscripten_bind_btAngularLimit__getLow_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0,_emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1=Module._emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1=asm._emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1,_emscripten_bind_btMultiSphereShape__getSpherePosition_p1=Module._emscripten_bind_btMultiSphereShape__getSpherePosition_p1=asm._emscripten_bind_btMultiSphereShape__getSpherePosition_p1,_emscripten_bind_btRigidBody__internalGetPushVelocity_p0=Module._emscripten_bind_btRigidBody__internalGetPushVelocity_p0=asm._emscripten_bind_btRigidBody__internalGetPushVelocity_p0,_emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0=Module._emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0=asm._emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0,_emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1=Module._emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1=asm._emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1,_emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1,_emscripten_bind_btConcaveShape__isConvex2d_p0=Module._emscripten_bind_btConcaveShape__isConvex2d_p0=asm._emscripten_bind_btConcaveShape__isConvex2d_p0,_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0=Module._emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0=asm._emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0,_emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btConvexShape__isConvex2d_p0=Module._emscripten_bind_btConvexShape__isConvex2d_p0=asm._emscripten_bind_btConvexShape__isConvex2d_p0,_emscripten_bind_btSerializer__setSerializationFlags_p1=Module._emscripten_bind_btSerializer__setSerializationFlags_p1=asm._emscripten_bind_btSerializer__setSerializationFlags_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1,_emscripten_bind_btCylinderShapeZ__isNonMoving_p0=Module._emscripten_bind_btCylinderShapeZ__isNonMoving_p0=asm._emscripten_bind_btCylinderShapeZ__isNonMoving_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0,_emscripten_bind_btPersistentManifold__replaceContactPoint_p2=Module._emscripten_bind_btPersistentManifold__replaceContactPoint_p2=asm._emscripten_bind_btPersistentManifold__replaceContactPoint_p2,_emscripten_bind_btManifoldPoint__get_m_index1_p0=Module._emscripten_bind_btManifoldPoint__get_m_index1_p0=asm._emscripten_bind_btManifoldPoint__get_m_index1_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0,_emscripten_bind_btBoxShape__getPlane_p3=Module._emscripten_bind_btBoxShape__getPlane_p3=asm._emscripten_bind_btBoxShape__getPlane_p3,_emscripten_bind_btAxisSweep3__rayTest_p3=Module._emscripten_bind_btAxisSweep3__rayTest_p3=asm._emscripten_bind_btAxisSweep3__rayTest_p3,_emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0=Module._emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0=asm._emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0,_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0,_emscripten_bind_btAxisSweep3__rayTest_p4=Module._emscripten_bind_btAxisSweep3__rayTest_p4=asm._emscripten_bind_btAxisSweep3__rayTest_p4,_emscripten_bind_btAxisSweep3__rayTest_p5=Module._emscripten_bind_btAxisSweep3__rayTest_p5=asm._emscripten_bind_btAxisSweep3__rayTest_p5,_emscripten_bind_btConvexInternalShape__isPolyhedral_p0=Module._emscripten_bind_btConvexInternalShape__isPolyhedral_p0=asm._emscripten_bind_btConvexInternalShape__isPolyhedral_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btRigidBody__getInternalType_p0=Module._emscripten_bind_btRigidBody__getInternalType_p0=asm._emscripten_bind_btRigidBody__getInternalType_p0,_emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2=Module._emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2=asm._emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2,_emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0,_emscripten_bind_btTypedObject__set_m_objectType_p1=Module._emscripten_bind_btTypedObject__set_m_objectType_p1=asm._emscripten_bind_btTypedObject__set_m_objectType_p1,_emscripten_bind_btConvexInternalShape__getShapeType_p0=Module._emscripten_bind_btConvexInternalShape__getShapeType_p0=asm._emscripten_bind_btConvexInternalShape__getShapeType_p0,_emscripten_bind_btCollisionWorld__getBroadphase_p0=Module._emscripten_bind_btCollisionWorld__getBroadphase_p0=asm._emscripten_bind_btCollisionWorld__getBroadphase_p0,_emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0=Module._emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0=asm._emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0,_emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0=Module._emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0=asm._emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0,_emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1=Module._emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1=asm._emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1,_emscripten_bind_btManifoldPoint__set_m_lifeTime_p1=Module._emscripten_bind_btManifoldPoint__set_m_lifeTime_p1=asm._emscripten_bind_btManifoldPoint__set_m_lifeTime_p1,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0=Module._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0=asm._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0,_emscripten_bind_btCollisionShape__getAngularMotionDisc_p0=Module._emscripten_bind_btCollisionShape__getAngularMotionDisc_p0=asm._emscripten_bind_btCollisionShape__getAngularMotionDisc_p0,_emscripten_bind_btCompoundShape__recalculateLocalAabb_p0=Module._emscripten_bind_btCompoundShape__recalculateLocalAabb_p0=asm._emscripten_bind_btCompoundShape__recalculateLocalAabb_p0,_emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0,_emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1,_emscripten_bind_btWheelInfo__get_m_skidInfo_p0=Module._emscripten_bind_btWheelInfo__get_m_skidInfo_p0=asm._emscripten_bind_btWheelInfo__get_m_skidInfo_p0,_emscripten_bind_btConeTwistConstraint__getInfo2_p1=Module._emscripten_bind_btConeTwistConstraint__getInfo2_p1=asm._emscripten_bind_btConeTwistConstraint__getInfo2_p1,_emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1=Module._emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1=asm._emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1,_emscripten_bind_btManifoldPoint__btManifoldPoint_p0=Module._emscripten_bind_btManifoldPoint__btManifoldPoint_p0=asm._emscripten_bind_btManifoldPoint__btManifoldPoint_p0,_emscripten_bind_btBoxShape__serialize_p2=Module._emscripten_bind_btBoxShape__serialize_p2=asm._emscripten_bind_btBoxShape__serialize_p2,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0,_emscripten_bind_btContactConstraint__get_m_objectType_p0=Module._emscripten_bind_btContactConstraint__get_m_objectType_p0=asm._emscripten_bind_btContactConstraint__get_m_objectType_p0,_emscripten_bind_btBroadphaseProxy__isConcave_p1=Module._emscripten_bind_btBroadphaseProxy__isConcave_p1=asm._emscripten_bind_btBroadphaseProxy__isConcave_p1,_emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1=Module._emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1=asm._emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1,_emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1,_emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1=Module._emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1=asm._emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1,_emscripten_bind_btWheelInfo__get_m_rollInfluence_p0=Module._emscripten_bind_btWheelInfo__get_m_rollInfluence_p0=asm._emscripten_bind_btWheelInfo__get_m_rollInfluence_p0,_emscripten_bind_btRaycastVehicle__getForwardVector_p0=Module._emscripten_bind_btRaycastVehicle__getForwardVector_p0=asm._emscripten_bind_btRaycastVehicle__getForwardVector_p0,_emscripten_bind_btCollisionWorld__updateSingleAabb_p1=Module._emscripten_bind_btCollisionWorld__updateSingleAabb_p1=asm._emscripten_bind_btCollisionWorld__updateSingleAabb_p1,_emscripten_bind_btAxisSweep3__setAabb_p4=Module._emscripten_bind_btAxisSweep3__setAabb_p4=asm._emscripten_bind_btAxisSweep3__setAabb_p4,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btCapsuleShape__setUserPointer_p1=Module._emscripten_bind_btCapsuleShape__setUserPointer_p1=asm._emscripten_bind_btCapsuleShape__setUserPointer_p1,_emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1=Module._emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1=asm._emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1,_emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1,_emscripten_bind_btConcaveShape__serializeSingleShape_p1=Module._emscripten_bind_btConcaveShape__serializeSingleShape_p1=asm._emscripten_bind_btConcaveShape__serializeSingleShape_p1,_emscripten_bind_btConvexHullShape__getNumVertices_p0=Module._emscripten_bind_btConvexHullShape__getNumVertices_p0=asm._emscripten_bind_btConvexHullShape__getNumVertices_p0,_emscripten_bind_btRigidBody__translate_p1=Module._emscripten_bind_btRigidBody__translate_p1=asm._emscripten_bind_btRigidBody__translate_p1,_emscripten_bind_btRigidBody__getActivationState_p0=Module._emscripten_bind_btRigidBody__getActivationState_p0=asm._emscripten_bind_btRigidBody__getActivationState_p0,_emscripten_bind_btPersistentManifold__set_m_index1a_p1=Module._emscripten_bind_btPersistentManifold__set_m_index1a_p1=asm._emscripten_bind_btPersistentManifold__set_m_index1a_p1,_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0,_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btAxisSweep3__createProxy_p8=Module._emscripten_bind_btAxisSweep3__createProxy_p8=asm._emscripten_bind_btAxisSweep3__createProxy_p8,_emscripten_bind_btUniversalConstraint__getAxis_p1=Module._emscripten_bind_btUniversalConstraint__getAxis_p1=asm._emscripten_bind_btUniversalConstraint__getAxis_p1,_emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0=Module._emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0=asm._emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0,_emscripten_bind_btSliderConstraint__calculateTransforms_p2=Module._emscripten_bind_btSliderConstraint__calculateTransforms_p2=asm._emscripten_bind_btSliderConstraint__calculateTransforms_p2,_emscripten_bind_btDbvtProxy__getUid_p0=Module._emscripten_bind_btDbvtProxy__getUid_p0=asm._emscripten_bind_btDbvtProxy__getUid_p0,_emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0=Module._emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0=asm._emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0,_emscripten_bind_btCompoundShape__getChildTransform_p1=Module._emscripten_bind_btCompoundShape__getChildTransform_p1=asm._emscripten_bind_btCompoundShape__getChildTransform_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0=Module._emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0=asm._emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0,_emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0,_emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0,_emscripten_bind_btStridingMeshInterface__preallocateIndices_p1=Module._emscripten_bind_btStridingMeshInterface__preallocateIndices_p1=asm._emscripten_bind_btStridingMeshInterface__preallocateIndices_p1,_emscripten_bind_btRigidBody__mergesSimulationIslands_p0=Module._emscripten_bind_btRigidBody__mergesSimulationIslands_p0=asm._emscripten_bind_btRigidBody__mergesSimulationIslands_p0,_emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1,_emscripten_bind_btTriangleMesh__getNumSubParts_p0=Module._emscripten_bind_btTriangleMesh__getNumSubParts_p0=asm._emscripten_bind_btTriangleMesh__getNumSubParts_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0,_emscripten_bind_btTriangleMesh__getUse4componentVertices_p0=Module._emscripten_bind_btTriangleMesh__getUse4componentVertices_p0=asm._emscripten_bind_btTriangleMesh__getUse4componentVertices_p0,_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0=Module._emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0=asm._emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0,_emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1,_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0=Module._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0=asm._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0,_emscripten_bind_btSphereShape__setUnscaledRadius_p1=Module._emscripten_bind_btSphereShape__setUnscaledRadius_p1=asm._emscripten_bind_btSphereShape__setUnscaledRadius_p1,_emscripten_bind_btVector4__setInterpolate3_p3=Module._emscripten_bind_btVector4__setInterpolate3_p3=asm._emscripten_bind_btVector4__setInterpolate3_p3,_emscripten_bind_btIndexedMesh__set_m_numTriangles_p1=Module._emscripten_bind_btIndexedMesh__set_m_numTriangles_p1=asm._emscripten_bind_btIndexedMesh__set_m_numTriangles_p1,_emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0,_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btSphereShape____destroy___p0=Module._emscripten_bind_btSphereShape____destroy___p0=asm._emscripten_bind_btSphereShape____destroy___p0,_emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0,_emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0=Module._emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0=asm._emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0,_emscripten_bind_btSliderConstraint__getLowerLinLimit_p0=Module._emscripten_bind_btSliderConstraint__getLowerLinLimit_p0=asm._emscripten_bind_btSliderConstraint__getLowerLinLimit_p0,_emscripten_bind_btCapsuleShapeZ__serialize_p2=Module._emscripten_bind_btCapsuleShapeZ__serialize_p2=asm._emscripten_bind_btCapsuleShapeZ__serialize_p2,_emscripten_bind_btDynamicsWorld__addCollisionObject_p1=Module._emscripten_bind_btDynamicsWorld__addCollisionObject_p1=asm._emscripten_bind_btDynamicsWorld__addCollisionObject_p1,_emscripten_bind_btDynamicsWorld__addCollisionObject_p2=Module._emscripten_bind_btDynamicsWorld__addCollisionObject_p2=asm._emscripten_bind_btDynamicsWorld__addCollisionObject_p2,_emscripten_bind_btDynamicsWorld__addCollisionObject_p3=Module._emscripten_bind_btDynamicsWorld__addCollisionObject_p3=asm._emscripten_bind_btDynamicsWorld__addCollisionObject_p3,_emscripten_bind_btStaticPlaneShape__getShapeType_p0=Module._emscripten_bind_btStaticPlaneShape__getShapeType_p0=asm._emscripten_bind_btStaticPlaneShape__getShapeType_p0,_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1=Module._emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1=asm._emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2,_emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btManifoldPoint__getLifeTime_p0=Module._emscripten_bind_btManifoldPoint__getLifeTime_p0=asm._emscripten_bind_btManifoldPoint__getLifeTime_p0,_emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5=Module._emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5=asm._emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5,_emscripten_bind_btTransform__op_set_p1=Module._emscripten_bind_btTransform__op_set_p1=asm._emscripten_bind_btTransform__op_set_p1,_emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1=Module._emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1=asm._emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1,_emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0,_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0,_emscripten_bind_btCollisionShape__isConvex2d_p0=Module._emscripten_bind_btCollisionShape__isConvex2d_p0=asm._emscripten_bind_btCollisionShape__isConvex2d_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1,_emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0=Module._emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0=asm._emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0,_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0=Module._emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0=asm._emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0,_emscripten_bind_btJacobianEntry__getRelativeVelocity_p4=Module._emscripten_bind_btJacobianEntry__getRelativeVelocity_p4=asm._emscripten_bind_btJacobianEntry__getRelativeVelocity_p4,_emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0=Module._emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0=asm._emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1,_emscripten_bind_btUniformScalingShape__getName_p0=Module._emscripten_bind_btUniformScalingShape__getName_p0=asm._emscripten_bind_btUniformScalingShape__getName_p0,_emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2=Module._emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2=asm._emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2,_emscripten_bind_btContinuousDynamicsWorld__addAction_p1=Module._emscripten_bind_btContinuousDynamicsWorld__addAction_p1=asm._emscripten_bind_btContinuousDynamicsWorld__addAction_p1,_emscripten_bind_btBoxShape__setUserPointer_p1=Module._emscripten_bind_btBoxShape__setUserPointer_p1=asm._emscripten_bind_btBoxShape__setUserPointer_p1,_emscripten_bind_btCollisionObject__setCollisionFlags_p1=Module._emscripten_bind_btCollisionObject__setCollisionFlags_p1=asm._emscripten_bind_btCollisionObject__setCollisionFlags_p1,_emscripten_bind_btConeShapeZ__isSoftBody_p0=Module._emscripten_bind_btConeShapeZ__isSoftBody_p0=asm._emscripten_bind_btConeShapeZ__isSoftBody_p0,_emscripten_bind_btConstraintSetting____destroy___p0=Module._emscripten_bind_btConstraintSetting____destroy___p0=asm._emscripten_bind_btConstraintSetting____destroy___p0,_emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0=Module._emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0=asm._emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1,_emscripten_bind_btOptimizedBvh____destroy___p0=Module._emscripten_bind_btOptimizedBvh____destroy___p0=asm._emscripten_bind_btOptimizedBvh____destroy___p0,_emscripten_bind_btRigidBody__getOrientation_p0=Module._emscripten_bind_btRigidBody__getOrientation_p0=asm._emscripten_bind_btRigidBody__getOrientation_p0,_emscripten_bind_btUniversalConstraint__getAngle2_p0=Module._emscripten_bind_btUniversalConstraint__getAngle2_p0=asm._emscripten_bind_btUniversalConstraint__getAngle2_p0,_emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6=Module._emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6=asm._emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6,_emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1,_emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0,_emscripten_bind_btAxisSweep3__getNumHandles_p0=Module._emscripten_bind_btAxisSweep3__getNumHandles_p0=asm._emscripten_bind_btAxisSweep3__getNumHandles_p0,_emscripten_bind_btRigidBody__setCcdMotionThreshold_p1=Module._emscripten_bind_btRigidBody__setCcdMotionThreshold_p1=asm._emscripten_bind_btRigidBody__setCcdMotionThreshold_p1,_emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0,_emscripten_bind_btDbvtProxy__isConcave_p1=Module._emscripten_bind_btDbvtProxy__isConcave_p1=asm._emscripten_bind_btDbvtProxy__isConcave_p1,_emscripten_bind_btVector4__triple_p2=Module._emscripten_bind_btVector4__triple_p2=asm._emscripten_bind_btVector4__triple_p2,_emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2=Module._emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2=asm._emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2,_emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0=Module._emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0=asm._emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0,_emscripten_bind_btQuaternion__getAxis_p0=Module._emscripten_bind_btQuaternion__getAxis_p0=asm._emscripten_bind_btQuaternion__getAxis_p0,_emscripten_bind_btVector3__getZ_p0=Module._emscripten_bind_btVector3__getZ_p0=asm._emscripten_bind_btVector3__getZ_p0,_emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1=Module._emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1=asm._emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1,_emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1=Module._emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1=asm._emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1,_emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1=Module._emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1=asm._emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1,_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1=Module._emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1=asm._emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1,_emscripten_bind_btIndexedMesh__set_m_numVertices_p1=Module._emscripten_bind_btIndexedMesh__set_m_numVertices_p1=asm._emscripten_bind_btIndexedMesh__set_m_numVertices_p1,_emscripten_bind_btHashInt__btHashInt_p1=Module._emscripten_bind_btHashInt__btHashInt_p1=asm._emscripten_bind_btHashInt__btHashInt_p1,_emscripten_bind_btConstraintSetting__get_m_tau_p0=Module._emscripten_bind_btConstraintSetting__get_m_tau_p0=asm._emscripten_bind_btConstraintSetting__get_m_tau_p0,_emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1=Module._emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1=asm._emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1,_emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0=Module._emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0=asm._emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0,_emscripten_bind_btCapsuleShape__getHalfHeight_p0=Module._emscripten_bind_btCapsuleShape__getHalfHeight_p0=asm._emscripten_bind_btCapsuleShape__getHalfHeight_p0,_emscripten_bind_btSliderConstraint__getLinDepth_p0=Module._emscripten_bind_btSliderConstraint__getLinDepth_p0=asm._emscripten_bind_btSliderConstraint__getLinDepth_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1,_emscripten_bind_btHashString__set_m_hash_p1=Module._emscripten_bind_btHashString__set_m_hash_p1=asm._emscripten_bind_btHashString__set_m_hash_p1,_emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0=Module._emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0=asm._emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1=Module._emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1=asm._emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1,_emscripten_bind_btConeTwistConstraint__getInfo1_p1=Module._emscripten_bind_btConeTwistConstraint__getInfo1_p1=asm._emscripten_bind_btConeTwistConstraint__getInfo1_p1,_emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4=Module._emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4=asm._emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4,_emscripten_bind_btConeShapeZ__getMargin_p0=Module._emscripten_bind_btConeShapeZ__getMargin_p0=asm._emscripten_bind_btConeShapeZ__getMargin_p0,_emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0,_emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1=Module._emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1=asm._emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1,_emscripten_bind_btSerializer__getUniquePointer_p1=Module._emscripten_bind_btSerializer__getUniquePointer_p1=asm._emscripten_bind_btSerializer__getUniquePointer_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1,_emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1,_emscripten_bind_btConvexInternalShape__isConcave_p0=Module._emscripten_bind_btConvexInternalShape__isConcave_p0=asm._emscripten_bind_btConvexInternalShape__isConcave_p0,_emscripten_bind_btVector4__getW_p0=Module._emscripten_bind_btVector4__getW_p0=asm._emscripten_bind_btVector4__getW_p0,_emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0=Module._emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0=asm._emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0,_emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1,_emscripten_bind_btVector3__serialize_p1=Module._emscripten_bind_btVector3__serialize_p1=asm._emscripten_bind_btVector3__serialize_p1,_emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3=Module._emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3=asm._emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3,_emscripten_bind_btCollisionObject__isKinematicObject_p0=Module._emscripten_bind_btCollisionObject__isKinematicObject_p0=asm._emscripten_bind_btCollisionObject__isKinematicObject_p0,_emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1=Module._emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1=asm._emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1,_emscripten_bind_btSliderConstraint__getUid_p0=Module._emscripten_bind_btSliderConstraint__getUid_p0=asm._emscripten_bind_btSliderConstraint__getUid_p0,_emscripten_bind_btDynamicsWorld__serialize_p1=Module._emscripten_bind_btDynamicsWorld__serialize_p1=asm._emscripten_bind_btDynamicsWorld__serialize_p1,_emscripten_bind_btConeShapeZ__serialize_p2=Module._emscripten_bind_btConeShapeZ__serialize_p2=asm._emscripten_bind_btConeShapeZ__serialize_p2,_emscripten_bind_btRaycastVehicle__getUpAxis_p0=Module._emscripten_bind_btRaycastVehicle__getUpAxis_p0=asm._emscripten_bind_btRaycastVehicle__getUpAxis_p0,_emscripten_bind_btCylinderShapeZ__getRadius_p0=Module._emscripten_bind_btCylinderShapeZ__getRadius_p0=asm._emscripten_bind_btCylinderShapeZ__getRadius_p0,_emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1=Module._emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1=asm._emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1,_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0=Module._emscripten_bind_btConvexHullShape__getLocalScalingNV_p0=asm._emscripten_bind_btConvexHullShape__getLocalScalingNV_p0,_emscripten_bind_btCylinderShape__btCylinderShape_p1=Module._emscripten_bind_btCylinderShape__btCylinderShape_p1=asm._emscripten_bind_btCylinderShape__btCylinderShape_p1,_emscripten_bind_btSimpleDynamicsWorld____destroy___p0=Module._emscripten_bind_btSimpleDynamicsWorld____destroy___p0=asm._emscripten_bind_btSimpleDynamicsWorld____destroy___p0,_emscripten_bind_btIDebugDraw__drawPlane_p4=Module._emscripten_bind_btIDebugDraw__drawPlane_p4=asm._emscripten_bind_btIDebugDraw__drawPlane_p4,_emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1=Module._emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1=asm._emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1,_emscripten_bind_btRaycastVehicle__setUserConstraintType_p1=Module._emscripten_bind_btRaycastVehicle__setUserConstraintType_p1=asm._emscripten_bind_btRaycastVehicle__setUserConstraintType_p1,_memcpy=Module._memcpy=asm._memcpy,_emscripten_bind_btCapsuleShape__serializeSingleShape_p1=Module._emscripten_bind_btCapsuleShape__serializeSingleShape_p1=asm._emscripten_bind_btCapsuleShape__serializeSingleShape_p1,_emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0=Module._emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0=asm._emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0,_emscripten_bind_btWheelInfo__get_m_steering_p0=Module._emscripten_bind_btWheelInfo__get_m_steering_p0=asm._emscripten_bind_btWheelInfo__get_m_steering_p0,_emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1,_emscripten_bind_btRigidBody__hasContactResponse_p0=Module._emscripten_bind_btRigidBody__hasContactResponse_p0=asm._emscripten_bind_btRigidBody__hasContactResponse_p0,_emscripten_bind_btGhostObject__isKinematicObject_p0=Module._emscripten_bind_btGhostObject__isKinematicObject_p0=asm._emscripten_bind_btGhostObject__isKinematicObject_p0,_emscripten_bind_btBroadphasePair__btBroadphasePair_p2=Module._emscripten_bind_btBroadphasePair__btBroadphasePair_p2=asm._emscripten_bind_btBroadphasePair__btBroadphasePair_p2,_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0=Module._emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0=asm._emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0,_emscripten_bind_btPersistentManifold__getBody1_p0=Module._emscripten_bind_btPersistentManifold__getBody1_p0=asm._emscripten_bind_btPersistentManifold__getBody1_p0,_emscripten_bind_btUniversalConstraint__getAnchor2_p0=Module._emscripten_bind_btUniversalConstraint__getAnchor2_p0=asm._emscripten_bind_btUniversalConstraint__getAnchor2_p0,_emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6=Module._emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6=asm._emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6,_emscripten_bind_btSphereShape__isConcave_p0=Module._emscripten_bind_btSphereShape__isConcave_p0=asm._emscripten_bind_btSphereShape__isConcave_p0,_emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0=Module._emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0=asm._emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0,_emscripten_bind_btRigidBody__getBroadphaseHandle_p0=Module._emscripten_bind_btRigidBody__getBroadphaseHandle_p0=asm._emscripten_bind_btRigidBody__getBroadphaseHandle_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1,_emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1,_emscripten_bind_btAxisSweep3____destroy___p0=Module._emscripten_bind_btAxisSweep3____destroy___p0=asm._emscripten_bind_btAxisSweep3____destroy___p0,_emscripten_bind_btSliderConstraint__getDampingLimLin_p0=Module._emscripten_bind_btSliderConstraint__getDampingLimLin_p0=asm._emscripten_bind_btSliderConstraint__getDampingLimLin_p0,_emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1,_emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1,_emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1,_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0=Module._emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0=asm._emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0,_emscripten_bind_btBvhTriangleMeshShape__serialize_p2=Module._emscripten_bind_btBvhTriangleMeshShape__serialize_p2=asm._emscripten_bind_btBvhTriangleMeshShape__serialize_p2,_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConeShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConeShape__getImplicitShapeDimensions_p0,_emscripten_bind_btDbvtProxy__set_m_uniqueId_p1=Module._emscripten_bind_btDbvtProxy__set_m_uniqueId_p1=asm._emscripten_bind_btDbvtProxy__set_m_uniqueId_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0,_emscripten_bind_btCylinderShapeX__isConcave_p0=Module._emscripten_bind_btCylinderShapeX__isConcave_p0=asm._emscripten_bind_btCylinderShapeX__isConcave_p0,_emscripten_bind_btConeShapeX__getAabbNonVirtual_p3=Module._emscripten_bind_btConeShapeX__getAabbNonVirtual_p3=asm._emscripten_bind_btConeShapeX__getAabbNonVirtual_p3,_emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4=Module._emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4=asm._emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4,_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0,_emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0=Module._emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0=asm._emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0,_emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1=Module._emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1=asm._emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1,_emscripten_bind_btCapsuleShape__isPolyhedral_p0=Module._emscripten_bind_btCapsuleShape__isPolyhedral_p0=asm._emscripten_bind_btCapsuleShape__isPolyhedral_p0,_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0=Module._emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0=asm._emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0,_emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1,_emscripten_bind_btConvexTriangleMeshShape__isConvex_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isConvex_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isConvex_p0,_emscripten_bind_btConvexShape__getMarginNonVirtual_p0=Module._emscripten_bind_btConvexShape__getMarginNonVirtual_p0=asm._emscripten_bind_btConvexShape__getMarginNonVirtual_p0,_emscripten_bind_btRotationalLimitMotor__set_m_damping_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_damping_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_damping_p1,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btSimpleBroadphase__getAabb_p3=Module._emscripten_bind_btSimpleBroadphase__getAabb_p3=asm._emscripten_bind_btSimpleBroadphase__getAabb_p3,_emscripten_bind_btSliderConstraint__getRigidBodyB_p0=Module._emscripten_bind_btSliderConstraint__getRigidBodyB_p0=asm._emscripten_bind_btSliderConstraint__getRigidBodyB_p0,_emscripten_bind_btPersistentManifold__validContactDistance_p1=Module._emscripten_bind_btPersistentManifold__validContactDistance_p1=asm._emscripten_bind_btPersistentManifold__validContactDistance_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0,_emscripten_bind_btManifoldPoint__set_m_localPointB_p1=Module._emscripten_bind_btManifoldPoint__set_m_localPointB_p1=asm._emscripten_bind_btManifoldPoint__set_m_localPointB_p1,_emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0,_emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0,_emscripten_bind_btBroadphaseProxy__isConvex_p1=Module._emscripten_bind_btBroadphaseProxy__isConvex_p1=asm._emscripten_bind_btBroadphaseProxy__isConvex_p1,_emscripten_bind_btGhostObject__setActivationState_p1=Module._emscripten_bind_btGhostObject__setActivationState_p1=asm._emscripten_bind_btGhostObject__setActivationState_p1,_emscripten_bind_btCapsuleShapeZ__getMarginNV_p0=Module._emscripten_bind_btCapsuleShapeZ__getMarginNV_p0=asm._emscripten_bind_btCapsuleShapeZ__getMarginNV_p0,_emscripten_bind_btTranslationalLimitMotor__isLimited_p1=Module._emscripten_bind_btTranslationalLimitMotor__isLimited_p1=asm._emscripten_bind_btTranslationalLimitMotor__isLimited_p1,_emscripten_bind_btDbvtBroadphase__rayTest_p3=Module._emscripten_bind_btDbvtBroadphase__rayTest_p3=asm._emscripten_bind_btDbvtBroadphase__rayTest_p3,_emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1,_emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0=Module._emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0=asm._emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0,_emscripten_bind_btDbvtProxy__set_stage_p1=Module._emscripten_bind_btDbvtProxy__set_stage_p1=asm._emscripten_bind_btDbvtProxy__set_stage_p1,_emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1,_emscripten_bind_btConvexShape__isPolyhedral_p0=Module._emscripten_bind_btConvexShape__isPolyhedral_p0=asm._emscripten_bind_btConvexShape__isPolyhedral_p0,_emscripten_bind_btStridingMeshInterface__serialize_p2=Module._emscripten_bind_btStridingMeshInterface__serialize_p2=asm._emscripten_bind_btStridingMeshInterface__serialize_p2,_emscripten_bind_btBvhTriangleMeshShape__isConvex_p0=Module._emscripten_bind_btBvhTriangleMeshShape__isConvex_p0=asm._emscripten_bind_btBvhTriangleMeshShape__isConvex_p0,_emscripten_bind_btCollisionObject__btCollisionObject_p0=Module._emscripten_bind_btCollisionObject__btCollisionObject_p0=asm._emscripten_bind_btCollisionObject__btCollisionObject_p0,_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9=Module._emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9=asm._emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9,_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8=Module._emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8=asm._emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8,_emscripten_bind_btGeneric6DofConstraint__getObjectType_p0=Module._emscripten_bind_btGeneric6DofConstraint__getObjectType_p0=asm._emscripten_bind_btGeneric6DofConstraint__getObjectType_p0,_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0=Module._emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0=asm._emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0,_emscripten_bind_btRaycastVehicle__resetSuspension_p0=Module._emscripten_bind_btRaycastVehicle__resetSuspension_p0=asm._emscripten_bind_btRaycastVehicle__resetSuspension_p0,_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0=Module._emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0=asm._emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0,_emscripten_bind_btConeShapeX__isInfinite_p0=Module._emscripten_bind_btConeShapeX__isInfinite_p0=asm._emscripten_bind_btConeShapeX__isInfinite_p0,_emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0=Module._emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0=asm._emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0,_emscripten_bind_btConeShape__getLocalScalingNV_p0=Module._emscripten_bind_btConeShape__getLocalScalingNV_p0=asm._emscripten_bind_btConeShape__getLocalScalingNV_p0,_emscripten_bind_btRigidBody__applyGravity_p0=Module._emscripten_bind_btRigidBody__applyGravity_p0=asm._emscripten_bind_btRigidBody__applyGravity_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1,_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCylinderShapeZ__getUserPointer_p0=Module._emscripten_bind_btCylinderShapeZ__getUserPointer_p0=asm._emscripten_bind_btCylinderShapeZ__getUserPointer_p0,_emscripten_bind_btRigidBody__getContactProcessingThreshold_p0=Module._emscripten_bind_btRigidBody__getContactProcessingThreshold_p0=asm._emscripten_bind_btRigidBody__getContactProcessingThreshold_p0,_emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0=Module._emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0=asm._emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0,_emscripten_bind_btConstraintSetting__set_m_damping_p1=Module._emscripten_bind_btConstraintSetting__set_m_damping_p1=asm._emscripten_bind_btConstraintSetting__set_m_damping_p1,_emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0,_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0=Module._emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0=asm._emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0,_emscripten_bind_btTypedConstraint__get_m_objectType_p0=Module._emscripten_bind_btTypedConstraint__get_m_objectType_p0=asm._emscripten_bind_btTypedConstraint__get_m_objectType_p0,_emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3=Module._emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3=asm._emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3,_emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0,_emscripten_bind_btSliderConstraint__getInfo2_p1=Module._emscripten_bind_btSliderConstraint__getInfo2_p1=asm._emscripten_bind_btSliderConstraint__getInfo2_p1,_emscripten_bind_btEmptyShape__getUserPointer_p0=Module._emscripten_bind_btEmptyShape__getUserPointer_p0=asm._emscripten_bind_btEmptyShape__getUserPointer_p0,_emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0=Module._emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0=asm._emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0,_emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0=Module._emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0=asm._emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0,_emscripten_bind_btTriangleMesh__addTriangle_p4=Module._emscripten_bind_btTriangleMesh__addTriangle_p4=asm._emscripten_bind_btTriangleMesh__addTriangle_p4,_emscripten_bind_btConeShapeX__getMargin_p0=Module._emscripten_bind_btConeShapeX__getMargin_p0=asm._emscripten_bind_btConeShapeX__getMargin_p0,_emscripten_bind_btSphereShape__getLocalScaling_p0=Module._emscripten_bind_btSphereShape__getLocalScaling_p0=asm._emscripten_bind_btSphereShape__getLocalScaling_p0,_emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6=Module._emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6=asm._emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6,_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0,_emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1=Module._emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1=asm._emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1,_emscripten_bind_btConeShapeZ__getLocalScaling_p0=Module._emscripten_bind_btConeShapeZ__getLocalScaling_p0=asm._emscripten_bind_btConeShapeZ__getLocalScaling_p0,_emscripten_bind_btCompoundShape__addChildShape_p2=Module._emscripten_bind_btCompoundShape__addChildShape_p2=asm._emscripten_bind_btCompoundShape__addChildShape_p2,_emscripten_bind_btVector3__setZ_p1=Module._emscripten_bind_btVector3__setZ_p1=asm._emscripten_bind_btVector3__setZ_p1,_emscripten_bind_btConeTwistConstraint__getParam_p1=Module._emscripten_bind_btConeTwistConstraint__getParam_p1=asm._emscripten_bind_btConeTwistConstraint__getParam_p1,_emscripten_bind_btConeTwistConstraint__getParam_p2=Module._emscripten_bind_btConeTwistConstraint__getParam_p2=asm._emscripten_bind_btConeTwistConstraint__getParam_p2,_emscripten_bind_btAxisSweep3__quantize_p3=Module._emscripten_bind_btAxisSweep3__quantize_p3=asm._emscripten_bind_btAxisSweep3__quantize_p3,_emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1,_emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3,_emscripten_bind_btConvexShape__isConcave_p0=Module._emscripten_bind_btConvexShape__isConcave_p0=asm._emscripten_bind_btConvexShape__isConcave_p0,_emscripten_bind_btConvexHullShape__setMargin_p1=Module._emscripten_bind_btConvexHullShape__setMargin_p1=asm._emscripten_bind_btConvexHullShape__setMargin_p1,_emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0,_emscripten_bind_btCapsuleShape__getMarginNV_p0=Module._emscripten_bind_btCapsuleShape__getMarginNV_p0=asm._emscripten_bind_btCapsuleShape__getMarginNV_p0,_emscripten_bind_btCollisionWorld__debugDrawObject_p3=Module._emscripten_bind_btCollisionWorld__debugDrawObject_p3=asm._emscripten_bind_btCollisionWorld__debugDrawObject_p3,_emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0=Module._emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0=asm._emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0,_emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0,_emscripten_bind_btQuaternion____destroy___p0=Module._emscripten_bind_btQuaternion____destroy___p0=asm._emscripten_bind_btQuaternion____destroy___p0,_emscripten_bind_btManifoldPoint__set_m_localPointA_p1=Module._emscripten_bind_btManifoldPoint__set_m_localPointA_p1=asm._emscripten_bind_btManifoldPoint__set_m_localPointA_p1,_emscripten_bind_btSliderConstraint__setDampingLimAng_p1=Module._emscripten_bind_btSliderConstraint__setDampingLimAng_p1=asm._emscripten_bind_btSliderConstraint__setDampingLimAng_p1,_emscripten_bind_btTriangleMesh__addTriangle_p3=Module._emscripten_bind_btTriangleMesh__addTriangle_p3=asm._emscripten_bind_btTriangleMesh__addTriangle_p3,_emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1=Module._emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1=asm._emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1,_emscripten_bind_btConeShapeZ__setLocalScaling_p1=Module._emscripten_bind_btConeShapeZ__setLocalScaling_p1=asm._emscripten_bind_btConeShapeZ__setLocalScaling_p1,_emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7=Module._emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7=asm._emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7,_emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1=Module._emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1=asm._emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1,_emscripten_bind_btUniversalConstraint__getParam_p1=Module._emscripten_bind_btUniversalConstraint__getParam_p1=asm._emscripten_bind_btUniversalConstraint__getParam_p1,_emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0=Module._emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0=asm._emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0,_emscripten_bind_btConeShape__getMargin_p0=Module._emscripten_bind_btConeShape__getMargin_p0=asm._emscripten_bind_btConeShape__getMargin_p0,_emscripten_bind_btMatrix3x3__getEulerZYX_p3=Module._emscripten_bind_btMatrix3x3__getEulerZYX_p3=asm._emscripten_bind_btMatrix3x3__getEulerZYX_p3,_emscripten_bind_btWheelInfo__get_m_clientInfo_p0=Module._emscripten_bind_btWheelInfo__get_m_clientInfo_p0=asm._emscripten_bind_btWheelInfo__get_m_clientInfo_p0,_emscripten_bind_btMatrix3x3__getEulerZYX_p4=Module._emscripten_bind_btMatrix3x3__getEulerZYX_p4=asm._emscripten_bind_btMatrix3x3__getEulerZYX_p4,_emscripten_bind_btTriangleIndexVertexArray____destroy___p0=Module._emscripten_bind_btTriangleIndexVertexArray____destroy___p0=asm._emscripten_bind_btTriangleIndexVertexArray____destroy___p0,_emscripten_bind_btHashString__portableStringCompare_p2=Module._emscripten_bind_btHashString__portableStringCompare_p2=asm._emscripten_bind_btHashString__portableStringCompare_p2,_emscripten_bind_btCollisionShape__isSoftBody_p0=Module._emscripten_bind_btCollisionShape__isSoftBody_p0=asm._emscripten_bind_btCollisionShape__isSoftBody_p0,_emscripten_bind_btCapsuleShapeZ__isNonMoving_p0=Module._emscripten_bind_btCapsuleShapeZ__isNonMoving_p0=asm._emscripten_bind_btCapsuleShapeZ__isNonMoving_p0,_emscripten_bind_btSliderConstraint__isEnabled_p0=Module._emscripten_bind_btSliderConstraint__isEnabled_p0=asm._emscripten_bind_btSliderConstraint__isEnabled_p0,_emscripten_bind_btConcaveShape__setMargin_p1=Module._emscripten_bind_btConcaveShape__setMargin_p1=asm._emscripten_bind_btConcaveShape__setMargin_p1,_emscripten_bind_btCollisionWorld__getDispatcher_p0=Module._emscripten_bind_btCollisionWorld__getDispatcher_p0=asm._emscripten_bind_btCollisionWorld__getDispatcher_p0,_emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0=Module._emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0=asm._emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0,_emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1=Module._emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1=asm._emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0,_emscripten_bind_btUniformScalingShape__getLocalScaling_p0=Module._emscripten_bind_btUniformScalingShape__getLocalScaling_p0=asm._emscripten_bind_btUniformScalingShape__getLocalScaling_p0,_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9=Module._emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9=asm._emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9,_emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0=Module._emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0=asm._emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0,_emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0=Module._emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0=asm._emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0,_emscripten_bind_btContactConstraint__getContactManifold_p0=Module._emscripten_bind_btContactConstraint__getContactManifold_p0=asm._emscripten_bind_btContactConstraint__getContactManifold_p0,_emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1=Module._emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1=asm._emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btBU_Simplex1to4__isConvex_p0=Module._emscripten_bind_btBU_Simplex1to4__isConvex_p0=asm._emscripten_bind_btBU_Simplex1to4__isConvex_p0,_emscripten_bind_btMultiSphereShape__getName_p0=Module._emscripten_bind_btMultiSphereShape__getName_p0=asm._emscripten_bind_btMultiSphereShape__getName_p0,_emscripten_bind_btStaticPlaneShape__processAllTriangles_p3=Module._emscripten_bind_btStaticPlaneShape__processAllTriangles_p3=asm._emscripten_bind_btStaticPlaneShape__processAllTriangles_p3,_emscripten_bind_btBU_Simplex1to4__getIndex_p1=Module._emscripten_bind_btBU_Simplex1to4__getIndex_p1=asm._emscripten_bind_btBU_Simplex1to4__getIndex_p1,_emscripten_bind_CProfileNode__Get_Child_p0=Module._emscripten_bind_CProfileNode__Get_Child_p0=asm._emscripten_bind_CProfileNode__Get_Child_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1,_emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1=Module._emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1=asm._emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1,_emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6=Module._emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6=asm._emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6,_emscripten_bind_btConvexHullShape__serialize_p2=Module._emscripten_bind_btConvexHullShape__serialize_p2=asm._emscripten_bind_btConvexHullShape__serialize_p2,_emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8=Module._emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8=asm._emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8,_emscripten_bind_btManifoldPoint____destroy___p0=Module._emscripten_bind_btManifoldPoint____destroy___p0=asm._emscripten_bind_btManifoldPoint____destroy___p0,_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btQuantizedBvh____destroy___p0=Module._emscripten_bind_btQuantizedBvh____destroy___p0=asm._emscripten_bind_btQuantizedBvh____destroy___p0,_emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0=Module._emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0=asm._emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0,_emscripten_bind_btRigidBody__getMotionState_p0=Module._emscripten_bind_btRigidBody__getMotionState_p0=asm._emscripten_bind_btRigidBody__getMotionState_p0,_emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0,_emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0=Module._emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0=asm._emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0,_emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0=Module._emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0=asm._emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0,_emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1=Module._emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1=asm._emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1,_emscripten_bind_btAxisSweep3__getAabb_p3=Module._emscripten_bind_btAxisSweep3__getAabb_p3=asm._emscripten_bind_btAxisSweep3__getAabb_p3,_emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0,_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2=Module._emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2=asm._emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2,_emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1=Module._emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1=asm._emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1,_emscripten_bind_btCollisionDispatcher__setNearCallback_p1=Module._emscripten_bind_btCollisionDispatcher__setNearCallback_p1=asm._emscripten_bind_btCollisionDispatcher__setNearCallback_p1,_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4=Module._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4=asm._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4,_emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3,_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4=Module._emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4=asm._emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4,_emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1=Module._emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1=asm._emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1,_emscripten_bind_btGhostObject__getIslandTag_p0=Module._emscripten_bind_btGhostObject__getIslandTag_p0=asm._emscripten_bind_btGhostObject__getIslandTag_p0,_emscripten_bind_btCollisionWorld__removeCollisionObject_p1=Module._emscripten_bind_btCollisionWorld__removeCollisionObject_p1=asm._emscripten_bind_btCollisionWorld__removeCollisionObject_p1,_emscripten_bind_btCompoundShape__removeChildShape_p1=Module._emscripten_bind_btCompoundShape__removeChildShape_p1=asm._emscripten_bind_btCompoundShape__removeChildShape_p1,_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1=Module._emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1=asm._emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1,_emscripten_bind_btContactConstraint__getUserConstraintType_p0=Module._emscripten_bind_btContactConstraint__getUserConstraintType_p0=asm._emscripten_bind_btContactConstraint__getUserConstraintType_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0,_emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0=Module._emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0=asm._emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0,_emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2=Module._emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2=asm._emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2,_emscripten_bind_btAngularLimit__getHigh_p0=Module._emscripten_bind_btAngularLimit__getHigh_p0=asm._emscripten_bind_btAngularLimit__getHigh_p0,_emscripten_bind_btPairCachingGhostObject__getRestitution_p0=Module._emscripten_bind_btPairCachingGhostObject__getRestitution_p0=asm._emscripten_bind_btPairCachingGhostObject__getRestitution_p0,_emscripten_bind_btMatrix3x3__determinant_p0=Module._emscripten_bind_btMatrix3x3__determinant_p0=asm._emscripten_bind_btMatrix3x3__determinant_p0,_emscripten_bind_btRigidBody__getTotalForce_p0=Module._emscripten_bind_btRigidBody__getTotalForce_p0=asm._emscripten_bind_btRigidBody__getTotalForce_p0,_emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1=Module._emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1=asm._emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1,_emscripten_bind_btCylinderShape__isConvex_p0=Module._emscripten_bind_btCylinderShape__isConvex_p0=asm._emscripten_bind_btCylinderShape__isConvex_p0,_emscripten_bind_CProfileNode__CProfileNode_p2=Module._emscripten_bind_CProfileNode__CProfileNode_p2=asm._emscripten_bind_CProfileNode__CProfileNode_p2,_emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1=Module._emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1=asm._emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1,_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1,_emscripten_bind_btManifoldResult__getBody0Internal_p0=Module._emscripten_bind_btManifoldResult__getBody0Internal_p0=asm._emscripten_bind_btManifoldResult__getBody0Internal_p0,_emscripten_bind_btConeShapeX__isCompound_p0=Module._emscripten_bind_btConeShapeX__isCompound_p0=asm._emscripten_bind_btConeShapeX__isCompound_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0,_emscripten_bind_btHingeConstraint__btHingeConstraint_p3=Module._emscripten_bind_btHingeConstraint__btHingeConstraint_p3=asm._emscripten_bind_btHingeConstraint__btHingeConstraint_p3,_emscripten_bind_btBoxShape__calculateLocalInertia_p2=Module._emscripten_bind_btBoxShape__calculateLocalInertia_p2=asm._emscripten_bind_btBoxShape__calculateLocalInertia_p2,_emscripten_bind_btSphereShape__getRadius_p0=Module._emscripten_bind_btSphereShape__getRadius_p0=asm._emscripten_bind_btSphereShape__getRadius_p0,_emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0=Module._emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0=asm._emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0,_emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btHingeConstraint__getHingeAngle_p0=Module._emscripten_bind_btHingeConstraint__getHingeAngle_p0=asm._emscripten_bind_btHingeConstraint__getHingeAngle_p0,_emscripten_bind_btHingeConstraint__getHingeAngle_p2=Module._emscripten_bind_btHingeConstraint__getHingeAngle_p2=asm._emscripten_bind_btHingeConstraint__getHingeAngle_p2,_emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1=Module._emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1=asm._emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1,_emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2=Module._emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2=asm._emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2,_emscripten_bind_btOptimizedBvh__quantize_p3=Module._emscripten_bind_btOptimizedBvh__quantize_p3=asm._emscripten_bind_btOptimizedBvh__quantize_p3,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1,_emscripten_bind_btAngularLimit__test_p1=Module._emscripten_bind_btAngularLimit__test_p1=asm._emscripten_bind_btAngularLimit__test_p1,_emscripten_bind_btContactConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btContactConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btContactConstraint__solveConstraintObsolete_p3,_emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0,_emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1,_emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3,_emscripten_bind_btDynamicsWorld__setGravity_p1=Module._emscripten_bind_btDynamicsWorld__setGravity_p1=asm._emscripten_bind_btDynamicsWorld__setGravity_p1,_emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1=Module._emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1=asm._emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1,_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0,_emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1=Module._emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1=asm._emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1,_emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1=Module._emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1=asm._emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1,_emscripten_bind_btCollisionShape__getUserPointer_p0=Module._emscripten_bind_btCollisionShape__getUserPointer_p0=asm._emscripten_bind_btCollisionShape__getUserPointer_p0,_emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1,_emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1,_emscripten_bind_btUniversalConstraint__setParam_p3=Module._emscripten_bind_btUniversalConstraint__setParam_p3=asm._emscripten_bind_btUniversalConstraint__setParam_p3,_emscripten_bind_btUniversalConstraint__setParam_p2=Module._emscripten_bind_btUniversalConstraint__setParam_p2=asm._emscripten_bind_btUniversalConstraint__setParam_p2,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1=Module._emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1=asm._emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1,_emscripten_bind_btManifoldResult__setPersistentManifold_p1=Module._emscripten_bind_btManifoldResult__setPersistentManifold_p1=asm._emscripten_bind_btManifoldResult__setPersistentManifold_p1,_emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1=Module._emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1=asm._emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1,_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0=Module._emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0=asm._emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0,_emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0=Module._emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0=asm._emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0,_emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0=Module._emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0=asm._emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0,_emscripten_bind_btJacobianEntry__btJacobianEntry_p0=Module._emscripten_bind_btJacobianEntry__btJacobianEntry_p0=asm._emscripten_bind_btJacobianEntry__btJacobianEntry_p0,_emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0=Module._emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0=asm._emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0,_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2=Module._emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2=asm._emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2,_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1=Module._emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1=asm._emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1,_emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1,_emscripten_bind_btSliderConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btSliderConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btSliderConstraint__getAppliedImpulse_p0,_emscripten_bind_btSimpleDynamicsWorld__serialize_p1=Module._emscripten_bind_btSimpleDynamicsWorld__serialize_p1=asm._emscripten_bind_btSimpleDynamicsWorld__serialize_p1,_emscripten_bind_btConvexInternalShape__getAabbSlow_p3=Module._emscripten_bind_btConvexInternalShape__getAabbSlow_p3=asm._emscripten_bind_btConvexInternalShape__getAabbSlow_p3,_emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1,_emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1=Module._emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1=asm._emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1,_emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1,_emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0=Module._emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0=asm._emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0,_emscripten_bind_btClock__op_set_p1=Module._emscripten_bind_btClock__op_set_p1=asm._emscripten_bind_btClock__op_set_p1,_emscripten_bind_btStaticPlaneShape__isNonMoving_p0=Module._emscripten_bind_btStaticPlaneShape__isNonMoving_p0=asm._emscripten_bind_btStaticPlaneShape__isNonMoving_p0,_emscripten_bind_btPolyhedralConvexShape__getMargin_p0=Module._emscripten_bind_btPolyhedralConvexShape__getMargin_p0=asm._emscripten_bind_btPolyhedralConvexShape__getMargin_p0,_emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0=Module._emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0=asm._emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0,_emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2=Module._emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2=asm._emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2,_emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3,_emscripten_bind_btConvexHullShape__getVertex_p2=Module._emscripten_bind_btConvexHullShape__getVertex_p2=asm._emscripten_bind_btConvexHullShape__getVertex_p2,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0,_emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1=Module._emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1=asm._emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1,_emscripten_bind_btHashString____destroy___p0=Module._emscripten_bind_btHashString____destroy___p0=asm._emscripten_bind_btHashString____destroy___p0,_emscripten_bind_btBU_Simplex1to4__isConvex2d_p0=Module._emscripten_bind_btBU_Simplex1to4__isConvex2d_p0=asm._emscripten_bind_btBU_Simplex1to4__isConvex2d_p0,_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1=Module._emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1=asm._emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1,_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2=Module._emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2=asm._emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2,_emscripten_bind_btRaycastVehicle__updateFriction_p1=Module._emscripten_bind_btRaycastVehicle__updateFriction_p1=asm._emscripten_bind_btRaycastVehicle__updateFriction_p1,_emscripten_bind_btUniformScalingShape__isPolyhedral_p0=Module._emscripten_bind_btUniformScalingShape__isPolyhedral_p0=asm._emscripten_bind_btUniformScalingShape__isPolyhedral_p0,_emscripten_bind_btTypedObject__btTypedObject_p1=Module._emscripten_bind_btTypedObject__btTypedObject_p1=asm._emscripten_bind_btTypedObject__btTypedObject_p1,_emscripten_bind_btDbvtBroadphase__aabbTest_p3=Module._emscripten_bind_btDbvtBroadphase__aabbTest_p3=asm._emscripten_bind_btDbvtBroadphase__aabbTest_p3,_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1=Module._emscripten_bind_btCylinderShape__localGetSupportingVertex_p1=asm._emscripten_bind_btCylinderShape__localGetSupportingVertex_p1,_emscripten_bind_btCollisionShape__isConvex_p0=Module._emscripten_bind_btCollisionShape__isConvex_p0=asm._emscripten_bind_btCollisionShape__isConvex_p0,_emscripten_bind_btGeneric6DofConstraint__getInfo2_p1=Module._emscripten_bind_btGeneric6DofConstraint__getInfo2_p1=asm._emscripten_bind_btGeneric6DofConstraint__getInfo2_p1,_emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1=Module._emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1=asm._emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1,_emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2=Module._emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2=asm._emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2,_emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0=Module._emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0=asm._emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0,_emscripten_bind_btJacobianEntry__btJacobianEntry_p5=Module._emscripten_bind_btJacobianEntry__btJacobianEntry_p5=asm._emscripten_bind_btJacobianEntry__btJacobianEntry_p5,_emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0=Module._emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0=asm._emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0,_emscripten_bind_btCapsuleShapeZ__getAabb_p3=Module._emscripten_bind_btCapsuleShapeZ__getAabb_p3=asm._emscripten_bind_btCapsuleShapeZ__getAabb_p3,_emscripten_bind_btCylinderShapeX__getUserPointer_p0=Module._emscripten_bind_btCylinderShapeX__getUserPointer_p0=asm._emscripten_bind_btCylinderShapeX__getUserPointer_p0,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3=Module._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3=asm._emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3,_emscripten_bind_btContactConstraint__getAppliedImpulse_p0=Module._emscripten_bind_btContactConstraint__getAppliedImpulse_p0=asm._emscripten_bind_btContactConstraint__getAppliedImpulse_p0,_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1,_memmove=Module._memmove=asm._memmove,_emscripten_bind_btCollisionDispatcher__clearManifold_p1=Module._emscripten_bind_btCollisionDispatcher__clearManifold_p1=asm._emscripten_bind_btCollisionDispatcher__clearManifold_p1,_emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2=Module._emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2=asm._emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2,_emscripten_bind_btIndexedMesh__get_m_vertexType_p0=Module._emscripten_bind_btIndexedMesh__get_m_vertexType_p0=asm._emscripten_bind_btIndexedMesh__get_m_vertexType_p0,_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0=Module._emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0=asm._emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0,_emscripten_bind_btManifoldPoint__get_m_localPointA_p0=Module._emscripten_bind_btManifoldPoint__get_m_localPointA_p0=asm._emscripten_bind_btManifoldPoint__get_m_localPointA_p0,_emscripten_bind_btMatrix3x3__op_get_p1=Module._emscripten_bind_btMatrix3x3__op_get_p1=asm._emscripten_bind_btMatrix3x3__op_get_p1,_emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3=Module._emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3=asm._emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3,_emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2=Module._emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2=asm._emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2,_emscripten_bind_btTypedConstraint__getUserConstraintId_p0=Module._emscripten_bind_btTypedConstraint__getUserConstraintId_p0=asm._emscripten_bind_btTypedConstraint__getUserConstraintId_p0,_emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0=Module._emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0=asm._emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0,_emscripten_bind_btBU_Simplex1to4__getMargin_p0=Module._emscripten_bind_btBU_Simplex1to4__getMargin_p0=asm._emscripten_bind_btBU_Simplex1to4__getMargin_p0,_emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0,_emscripten_bind_CProfileNode__CleanupMemory_p0=Module._emscripten_bind_CProfileNode__CleanupMemory_p0=asm._emscripten_bind_CProfileNode__CleanupMemory_p0,_emscripten_bind_btRigidBody__getLinearFactor_p0=Module._emscripten_bind_btRigidBody__getLinearFactor_p0=asm._emscripten_bind_btRigidBody__getLinearFactor_p0,_emscripten_bind_btQuadWord__btQuadWord_p3=Module._emscripten_bind_btQuadWord__btQuadWord_p3=asm._emscripten_bind_btQuadWord__btQuadWord_p3,_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0=Module._emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0=asm._emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0,_emscripten_bind_btBU_Simplex1to4__isInside_p2=Module._emscripten_bind_btBU_Simplex1to4__isInside_p2=asm._emscripten_bind_btBU_Simplex1to4__isInside_p2,_emscripten_bind_btConvexHullShape____destroy___p0=Module._emscripten_bind_btConvexHullShape____destroy___p0=asm._emscripten_bind_btConvexHullShape____destroy___p0,_emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1,_emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0=Module._emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0=asm._emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0,_emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0=Module._emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0=asm._emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0,_emscripten_bind_btConcaveShape__serialize_p2=Module._emscripten_bind_btConcaveShape__serialize_p2=asm._emscripten_bind_btConcaveShape__serialize_p2,_emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1,_emscripten_bind_btTypedObject__getObjectType_p0=Module._emscripten_bind_btTypedObject__getObjectType_p0=asm._emscripten_bind_btTypedObject__getObjectType_p0,_emscripten_bind_btRigidBody__get_m_contactSolverType_p0=Module._emscripten_bind_btRigidBody__get_m_contactSolverType_p0=asm._emscripten_bind_btRigidBody__get_m_contactSolverType_p0,_emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1=Module._emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1=asm._emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1,_emscripten_bind_btCollisionShape__serialize_p2=Module._emscripten_bind_btCollisionShape__serialize_p2=asm._emscripten_bind_btCollisionShape__serialize_p2,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1,_emscripten_bind_btConcaveShape__isPolyhedral_p0=Module._emscripten_bind_btConcaveShape__isPolyhedral_p0=asm._emscripten_bind_btConcaveShape__isPolyhedral_p0,_emscripten_bind_btConeShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConeShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConeShape__calculateTemporalAabb_p6,_emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1=Module._emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1=asm._emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1,_emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0=Module._emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0=asm._emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0,_emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1=Module._emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1=asm._emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1,_emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1=Module._emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1=asm._emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1,_emscripten_bind_btBU_Simplex1to4__getVertex_p2=Module._emscripten_bind_btBU_Simplex1to4__getVertex_p2=asm._emscripten_bind_btBU_Simplex1to4__getVertex_p2,_emscripten_bind_btCylinderShape__isInfinite_p0=Module._emscripten_bind_btCylinderShape__isInfinite_p0=asm._emscripten_bind_btCylinderShape__isInfinite_p0,_emscripten_bind_bt32BitAxisSweep3__getAabb_p3=Module._emscripten_bind_bt32BitAxisSweep3__getAabb_p3=asm._emscripten_bind_bt32BitAxisSweep3__getAabb_p3,_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3=Module._emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3=asm._emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3,_emscripten_bind_btCollisionObject__serialize_p2=Module._emscripten_bind_btCollisionObject__serialize_p2=asm._emscripten_bind_btCollisionObject__serialize_p2,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6,_emscripten_bind_btVector4__safeNormalize_p0=Module._emscripten_bind_btVector4__safeNormalize_p0=asm._emscripten_bind_btVector4__safeNormalize_p0,_emscripten_bind_btCapsuleShapeX__getUpAxis_p0=Module._emscripten_bind_btCapsuleShapeX__getUpAxis_p0=asm._emscripten_bind_btCapsuleShapeX__getUpAxis_p0,_emscripten_bind_btTriangleMesh__findOrAddVertex_p2=Module._emscripten_bind_btTriangleMesh__findOrAddVertex_p2=asm._emscripten_bind_btTriangleMesh__findOrAddVertex_p2,_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2,_emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3=Module._emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3=asm._emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3,_emscripten_bind_btHinge2Constraint__get_m_objectType_p0=Module._emscripten_bind_btHinge2Constraint__get_m_objectType_p0=asm._emscripten_bind_btHinge2Constraint__get_m_objectType_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3,_emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0=Module._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0=asm._emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0,_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0=Module._emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0=asm._emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0,_emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1=Module._emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1=asm._emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1,_emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1,_emscripten_bind_btBvhTriangleMeshShape____destroy___p0=Module._emscripten_bind_btBvhTriangleMeshShape____destroy___p0=asm._emscripten_bind_btBvhTriangleMeshShape____destroy___p0,_emscripten_bind_btManifoldPoint__get_m_partId1_p0=Module._emscripten_bind_btManifoldPoint__get_m_partId1_p0=asm._emscripten_bind_btManifoldPoint__get_m_partId1_p0,_emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0=Module._emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0=asm._emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0,_emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1=Module._emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1=asm._emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1,_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCylinderShape__isConvex2d_p0=Module._emscripten_bind_btCylinderShape__isConvex2d_p0=asm._emscripten_bind_btCylinderShape__isConvex2d_p0,_emscripten_bind_btDynamicsWorld__getSolverInfo_p0=Module._emscripten_bind_btDynamicsWorld__getSolverInfo_p0=asm._emscripten_bind_btDynamicsWorld__getSolverInfo_p0,_emscripten_bind_btPairCachingGhostObject____destroy___p0=Module._emscripten_bind_btPairCachingGhostObject____destroy___p0=asm._emscripten_bind_btPairCachingGhostObject____destroy___p0,_emscripten_bind_btGeneric6DofConstraint____destroy___p0=Module._emscripten_bind_btGeneric6DofConstraint____destroy___p0=asm._emscripten_bind_btGeneric6DofConstraint____destroy___p0,_emscripten_bind_btCylinderShape__isConcave_p0=Module._emscripten_bind_btCylinderShape__isConcave_p0=asm._emscripten_bind_btCylinderShape__isConcave_p0,_emscripten_bind_btRigidBody__setRestitution_p1=Module._emscripten_bind_btRigidBody__setRestitution_p1=asm._emscripten_bind_btRigidBody__setRestitution_p1,_emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1=Module._emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1=asm._emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1,_emscripten_bind_btConvexTriangleMeshShape__getPlane_p3=Module._emscripten_bind_btConvexTriangleMeshShape__getPlane_p3=asm._emscripten_bind_btConvexTriangleMeshShape__getPlane_p3,_emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0=Module._emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0=asm._emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0,_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0,_emscripten_bind_btPoint2PointConstraint__enableFeedback_p1=Module._emscripten_bind_btPoint2PointConstraint__enableFeedback_p1=asm._emscripten_bind_btPoint2PointConstraint__enableFeedback_p1,_emscripten_bind_btCylinderShapeZ__isConvex2d_p0=Module._emscripten_bind_btCylinderShapeZ__isConvex2d_p0=asm._emscripten_bind_btCylinderShapeZ__isConvex2d_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btVector3__getX_p0=Module._emscripten_bind_btVector3__getX_p0=asm._emscripten_bind_btVector3__getX_p0,_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0=Module._emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0=asm._emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0,_emscripten_bind_btStridingMeshInterface__setScaling_p1=Module._emscripten_bind_btStridingMeshInterface__setScaling_p1=asm._emscripten_bind_btStridingMeshInterface__setScaling_p1,_emscripten_bind_btCapsuleShapeX__getShapeType_p0=Module._emscripten_bind_btCapsuleShapeX__getShapeType_p0=asm._emscripten_bind_btCapsuleShapeX__getShapeType_p0,_emscripten_bind_btUniformScalingShape__isSoftBody_p0=Module._emscripten_bind_btUniformScalingShape__isSoftBody_p0=asm._emscripten_bind_btUniformScalingShape__isSoftBody_p0,_emscripten_bind_btDynamicsWorld__addVehicle_p1=Module._emscripten_bind_btDynamicsWorld__addVehicle_p1=asm._emscripten_bind_btDynamicsWorld__addVehicle_p1,_emscripten_bind_btGhostObject__hasAnisotropicFriction_p0=Module._emscripten_bind_btGhostObject__hasAnisotropicFriction_p0=asm._emscripten_bind_btGhostObject__hasAnisotropicFriction_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0,_emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2=Module._emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2=asm._emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2,_emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0,_emscripten_bind_btCylinderShapeZ____destroy___p0=Module._emscripten_bind_btCylinderShapeZ____destroy___p0=asm._emscripten_bind_btCylinderShapeZ____destroy___p0,_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0,_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0=Module._emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0=asm._emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0,_emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0,_emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6=Module._emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6=asm._emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6,_emscripten_bind_btUniformScalingShape__getChildShape_p0=Module._emscripten_bind_btUniformScalingShape__getChildShape_p0=asm._emscripten_bind_btUniformScalingShape__getChildShape_p0,_emscripten_bind_btTriangleMesh__setScaling_p1=Module._emscripten_bind_btTriangleMesh__setScaling_p1=asm._emscripten_bind_btTriangleMesh__setScaling_p1,_emscripten_bind_btWheelInfo__set_m_rollInfluence_p1=Module._emscripten_bind_btWheelInfo__set_m_rollInfluence_p1=asm._emscripten_bind_btWheelInfo__set_m_rollInfluence_p1,_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0,_emscripten_bind_btVector4__setValue_p4=Module._emscripten_bind_btVector4__setValue_p4=asm._emscripten_bind_btVector4__setValue_p4,_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2=Module._emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2=asm._emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2,_emscripten_bind_btBU_Simplex1to4__serialize_p2=Module._emscripten_bind_btBU_Simplex1to4__serialize_p2=asm._emscripten_bind_btBU_Simplex1to4__serialize_p2,_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0=Module._emscripten_bind_btCylinderShapeZ__getLocalScaling_p0=asm._emscripten_bind_btCylinderShapeZ__getLocalScaling_p0,_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0=Module._emscripten_bind_btPoint2PointConstraint__get_m_setting_p0=asm._emscripten_bind_btPoint2PointConstraint__get_m_setting_p0,_emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0=Module._emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0=asm._emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1,_emscripten_bind_btCompoundShape__isPolyhedral_p0=Module._emscripten_bind_btCompoundShape__isPolyhedral_p0=asm._emscripten_bind_btCompoundShape__isPolyhedral_p0,_emscripten_bind_btContactConstraint__getObjectType_p0=Module._emscripten_bind_btContactConstraint__getObjectType_p0=asm._emscripten_bind_btContactConstraint__getObjectType_p0,_emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1,_emscripten_bind_btSerializer__getCurrentBufferSize_p0=Module._emscripten_bind_btSerializer__getCurrentBufferSize_p0=asm._emscripten_bind_btSerializer__getCurrentBufferSize_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0,_emscripten_bind_btTypedConstraint__setEnabled_p1=Module._emscripten_bind_btTypedConstraint__setEnabled_p1=asm._emscripten_bind_btTypedConstraint__setEnabled_p1,_emscripten_bind_btCylinderShape__getLocalScaling_p0=Module._emscripten_bind_btCylinderShape__getLocalScaling_p0=asm._emscripten_bind_btCylinderShape__getLocalScaling_p0,_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1=Module._emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1=asm._emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1,_emscripten_bind_btDbvtProxy__isConvex2d_p1=Module._emscripten_bind_btDbvtProxy__isConvex2d_p1=asm._emscripten_bind_btDbvtProxy__isConvex2d_p1,_emscripten_bind_btTriangleInfoMap____destroy___p0=Module._emscripten_bind_btTriangleInfoMap____destroy___p0=asm._emscripten_bind_btTriangleInfoMap____destroy___p0,_emscripten_bind_btRigidBody__getAngularVelocity_p0=Module._emscripten_bind_btRigidBody__getAngularVelocity_p0=asm._emscripten_bind_btRigidBody__getAngularVelocity_p0,_emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0=Module._emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0=asm._emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0,_emscripten_bind_btGhostObject__getActivationState_p0=Module._emscripten_bind_btGhostObject__getActivationState_p0=asm._emscripten_bind_btGhostObject__getActivationState_p0,_emscripten_bind_btStaticPlaneShape__isInfinite_p0=Module._emscripten_bind_btStaticPlaneShape__isInfinite_p0=asm._emscripten_bind_btStaticPlaneShape__isInfinite_p0,_emscripten_bind_btCapsuleShapeX__isSoftBody_p0=Module._emscripten_bind_btCapsuleShapeX__isSoftBody_p0=asm._emscripten_bind_btCapsuleShapeX__isSoftBody_p0,_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1=Module._emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1=asm._emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1,_emscripten_bind_btQuaternion__dot_p1=Module._emscripten_bind_btQuaternion__dot_p1=asm._emscripten_bind_btQuaternion__dot_p1,_emscripten_bind_btBoxShape__getMarginNonVirtual_p0=Module._emscripten_bind_btBoxShape__getMarginNonVirtual_p0=asm._emscripten_bind_btBoxShape__getMarginNonVirtual_p0,_emscripten_bind_btDynamicsWorld__rayTestSingle_p6=Module._emscripten_bind_btDynamicsWorld__rayTestSingle_p6=asm._emscripten_bind_btDynamicsWorld__rayTestSingle_p6,_emscripten_bind_btMatrix3x3__transpose_p0=Module._emscripten_bind_btMatrix3x3__transpose_p0=asm._emscripten_bind_btMatrix3x3__transpose_p0,_emscripten_bind_btCollisionWorld__contactTest_p2=Module._emscripten_bind_btCollisionWorld__contactTest_p2=asm._emscripten_bind_btCollisionWorld__contactTest_p2,_emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2,_emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1=Module._emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1=asm._emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1,_emscripten_bind_btVector3__fuzzyZero_p0=Module._emscripten_bind_btVector3__fuzzyZero_p0=asm._emscripten_bind_btVector3__fuzzyZero_p0,_emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0,_emscripten_bind_btQuaternion__setMax_p1=Module._emscripten_bind_btQuaternion__setMax_p1=asm._emscripten_bind_btQuaternion__setMax_p1,_emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1,_emscripten_bind_btContactConstraint__getConstraintType_p0=Module._emscripten_bind_btContactConstraint__getConstraintType_p0=asm._emscripten_bind_btContactConstraint__getConstraintType_p0,_emscripten_bind_btCylinderShape__getRadius_p0=Module._emscripten_bind_btCylinderShape__getRadius_p0=asm._emscripten_bind_btCylinderShape__getRadius_p0,_emscripten_bind_btConeShapeX__setMargin_p1=Module._emscripten_bind_btConeShapeX__setMargin_p1=asm._emscripten_bind_btConeShapeX__setMargin_p1,_emscripten_bind_btRigidBody__setFlags_p1=Module._emscripten_bind_btRigidBody__setFlags_p1=asm._emscripten_bind_btRigidBody__setFlags_p1,_emscripten_bind_btDbvtProxy__set_m_aabbMax_p1=Module._emscripten_bind_btDbvtProxy__set_m_aabbMax_p1=asm._emscripten_bind_btDbvtProxy__set_m_aabbMax_p1,_emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0=Module._emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0=asm._emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0,_emscripten_bind_btClock__reset_p0=Module._emscripten_bind_btClock__reset_p0=asm._emscripten_bind_btClock__reset_p0,_emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1=Module._emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1=asm._emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1,_emscripten_bind_btOptimizedBvh__deSerializeFloat_p1=Module._emscripten_bind_btOptimizedBvh__deSerializeFloat_p1=asm._emscripten_bind_btOptimizedBvh__deSerializeFloat_p1,_emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2=Module._emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2=asm._emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2,_emscripten_bind_btBoxShape__getConvexPolyhedron_p0=Module._emscripten_bind_btBoxShape__getConvexPolyhedron_p0=asm._emscripten_bind_btBoxShape__getConvexPolyhedron_p0,_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btDynamicsWorld__contactTest_p2=Module._emscripten_bind_btDynamicsWorld__contactTest_p2=asm._emscripten_bind_btDynamicsWorld__contactTest_p2,_emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0,_emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0=Module._emscripten_bind_btBroadphasePair__get_m_pProxy0_p0=asm._emscripten_bind_btBroadphasePair__get_m_pProxy0_p0,_emscripten_bind_btRaycastVehicle__applyEngineForce_p2=Module._emscripten_bind_btRaycastVehicle__applyEngineForce_p2=asm._emscripten_bind_btRaycastVehicle__applyEngineForce_p2,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1=Module._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1=asm._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1,_emscripten_bind_btBroadphaseInterface__setAabb_p4=Module._emscripten_bind_btBroadphaseInterface__setAabb_p4=asm._emscripten_bind_btBroadphaseInterface__setAabb_p4,_emscripten_bind_btConvexShape__isSoftBody_p0=Module._emscripten_bind_btConvexShape__isSoftBody_p0=asm._emscripten_bind_btConvexShape__isSoftBody_p0,_emscripten_bind_btUniformScalingShape__setLocalScaling_p1=Module._emscripten_bind_btUniformScalingShape__setLocalScaling_p1=asm._emscripten_bind_btUniformScalingShape__setLocalScaling_p1,_emscripten_bind_btConvexShape__isConvex_p0=Module._emscripten_bind_btConvexShape__isConvex_p0=asm._emscripten_bind_btConvexShape__isConvex_p0,_emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1=Module._emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1=asm._emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1,_emscripten_bind_btBroadphaseProxy__getUid_p0=Module._emscripten_bind_btBroadphaseProxy__getUid_p0=asm._emscripten_bind_btBroadphaseProxy__getUid_p0,_emscripten_bind_btMultiSphereShape__isPolyhedral_p0=Module._emscripten_bind_btMultiSphereShape__isPolyhedral_p0=asm._emscripten_bind_btMultiSphereShape__isPolyhedral_p0,_emscripten_bind_btSphereShape__getName_p0=Module._emscripten_bind_btSphereShape__getName_p0=asm._emscripten_bind_btSphereShape__getName_p0,_emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4=Module._emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4=asm._emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4,_emscripten_bind_btHinge2Constraint__getAnchor_p0=Module._emscripten_bind_btHinge2Constraint__getAnchor_p0=asm._emscripten_bind_btHinge2Constraint__getAnchor_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6=Module._emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6=asm._emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6,_emscripten_bind_btGhostObject__activate_p1=Module._emscripten_bind_btGhostObject__activate_p1=asm._emscripten_bind_btGhostObject__activate_p1,_emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0=Module._emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0=asm._emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0,_emscripten_bind_btQuaternion__z_p0=Module._emscripten_bind_btQuaternion__z_p0=asm._emscripten_bind_btQuaternion__z_p0,_emscripten_bind_btBoxShape__getShapeType_p0=Module._emscripten_bind_btBoxShape__getShapeType_p0=asm._emscripten_bind_btBoxShape__getShapeType_p0,_emscripten_bind_btVector4__getY_p0=Module._emscripten_bind_btVector4__getY_p0=asm._emscripten_bind_btVector4__getY_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3=Module._emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3=asm._emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3,_emscripten_bind_btVector4__getX_p0=Module._emscripten_bind_btVector4__getX_p0=asm._emscripten_bind_btVector4__getX_p0,_emscripten_bind_btBroadphasePair__btBroadphasePair_p1=Module._emscripten_bind_btBroadphasePair__btBroadphasePair_p1=asm._emscripten_bind_btBroadphasePair__btBroadphasePair_p1,_emscripten_bind_btBroadphasePair__btBroadphasePair_p0=Module._emscripten_bind_btBroadphasePair__btBroadphasePair_p0=asm._emscripten_bind_btBroadphasePair__btBroadphasePair_p0,_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0=Module._emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0=asm._emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0,_emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1=Module._emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1=asm._emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0,_emscripten_bind_btBroadphasePair__get_m_algorithm_p0=Module._emscripten_bind_btBroadphasePair__get_m_algorithm_p0=asm._emscripten_bind_btBroadphasePair__get_m_algorithm_p0,__GLOBAL__I_a=Module.__GLOBAL__I_a=asm.__GLOBAL__I_a,_emscripten_bind_btConvexHullShape__getEdge_p3=Module._emscripten_bind_btConvexHullShape__getEdge_p3=asm._emscripten_bind_btConvexHullShape__getEdge_p3,_emscripten_bind_btCompoundShape__getChildShape_p1=Module._emscripten_bind_btCompoundShape__getChildShape_p1=asm._emscripten_bind_btCompoundShape__getChildShape_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2,_emscripten_bind_btEmptyShape__getAngularMotionDisc_p0=Module._emscripten_bind_btEmptyShape__getAngularMotionDisc_p0=asm._emscripten_bind_btEmptyShape__getAngularMotionDisc_p0,_emscripten_bind_btCylinderShapeZ__getName_p0=Module._emscripten_bind_btCylinderShapeZ__getName_p0=asm._emscripten_bind_btCylinderShapeZ__getName_p0,_emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1=Module._emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1=asm._emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1,_emscripten_bind_btVector3__isZero_p0=Module._emscripten_bind_btVector3__isZero_p0=asm._emscripten_bind_btVector3__isZero_p0,_emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0=Module._emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0=asm._emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0,_emscripten_bind_btConeShape__btConeShape_p2=Module._emscripten_bind_btConeShape__btConeShape_p2=asm._emscripten_bind_btConeShape__btConeShape_p2,_emscripten_bind_btVector3__minAxis_p0=Module._emscripten_bind_btVector3__minAxis_p0=asm._emscripten_bind_btVector3__minAxis_p0,_emscripten_bind_btIndexedMesh__get_m_vertexBase_p0=Module._emscripten_bind_btIndexedMesh__get_m_vertexBase_p0=asm._emscripten_bind_btIndexedMesh__get_m_vertexBase_p0,_emscripten_bind_btSliderConstraint__setDampingLimLin_p1=Module._emscripten_bind_btSliderConstraint__setDampingLimLin_p1=asm._emscripten_bind_btSliderConstraint__setDampingLimLin_p1,_emscripten_bind_btSphereShape__isCompound_p0=Module._emscripten_bind_btSphereShape__isCompound_p0=asm._emscripten_bind_btSphereShape__isCompound_p0,_emscripten_bind_btContinuousDynamicsWorld__setGravity_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setGravity_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setGravity_p1,_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0,_emscripten_bind_btHinge2Constraint__getAxis_p1=Module._emscripten_bind_btHinge2Constraint__getAxis_p1=asm._emscripten_bind_btHinge2Constraint__getAxis_p1,_emscripten_bind_btCollisionWorld__setBroadphase_p1=Module._emscripten_bind_btCollisionWorld__setBroadphase_p1=asm._emscripten_bind_btCollisionWorld__setBroadphase_p1,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1=Module._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1=asm._emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1,_emscripten_bind_btCapsuleShapeX__isNonMoving_p0=Module._emscripten_bind_btCapsuleShapeX__isNonMoving_p0=asm._emscripten_bind_btCapsuleShapeX__isNonMoving_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0,_emscripten_bind_btRaycastVehicle__updateAction_p2=Module._emscripten_bind_btRaycastVehicle__updateAction_p2=asm._emscripten_bind_btRaycastVehicle__updateAction_p2,_emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1=Module._emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1=asm._emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1,_emscripten_bind_btWheelInfo__set_m_brake_p1=Module._emscripten_bind_btWheelInfo__set_m_brake_p1=asm._emscripten_bind_btWheelInfo__set_m_brake_p1,_emscripten_bind_btSphereShape__localGetSupportingVertex_p1=Module._emscripten_bind_btSphereShape__localGetSupportingVertex_p1=asm._emscripten_bind_btSphereShape__localGetSupportingVertex_p1,_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1=Module._emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1=asm._emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1,_emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0,_emscripten_bind_btCylinderShapeZ__getShapeType_p0=Module._emscripten_bind_btCylinderShapeZ__getShapeType_p0=asm._emscripten_bind_btCylinderShapeZ__getShapeType_p0,_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0=Module._emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0=asm._emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0,_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0=Module._emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0=asm._emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0,_emscripten_bind_btConeShapeX____destroy___p0=Module._emscripten_bind_btConeShapeX____destroy___p0=asm._emscripten_bind_btConeShapeX____destroy___p0,_emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btHashPtr____destroy___p0=Module._emscripten_bind_btHashPtr____destroy___p0=asm._emscripten_bind_btHashPtr____destroy___p0,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1=Module._emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1=asm._emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1,_emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1=Module._emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1=asm._emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0=Module._emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0=asm._emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0,_emscripten_bind_btQuaternion__op_sub_p1=Module._emscripten_bind_btQuaternion__op_sub_p1=asm._emscripten_bind_btQuaternion__op_sub_p1,_emscripten_bind_btHingeConstraint__get_m_objectType_p0=Module._emscripten_bind_btHingeConstraint__get_m_objectType_p0=asm._emscripten_bind_btHingeConstraint__get_m_objectType_p0,_emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1,_emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1=Module._emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1=asm._emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1,_emscripten_bind_btIDebugDraw__getDebugMode_p0=Module._emscripten_bind_btIDebugDraw__getDebugMode_p0=asm._emscripten_bind_btIDebugDraw__getDebugMode_p0,_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2=Module._emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2=asm._emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2,_emscripten_bind_btVector4__absolute_p0=Module._emscripten_bind_btVector4__absolute_p0=asm._emscripten_bind_btVector4__absolute_p0,_emscripten_bind_btStorageResult__setShapeIdentifiersA_p2=Module._emscripten_bind_btStorageResult__setShapeIdentifiersA_p2=asm._emscripten_bind_btStorageResult__setShapeIdentifiersA_p2,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0,_emscripten_bind_btStorageResult__set_m_distance_p1=Module._emscripten_bind_btStorageResult__set_m_distance_p1=asm._emscripten_bind_btStorageResult__set_m_distance_p1,_emscripten_bind_btPersistentManifold__set_m_companionIdA_p1=Module._emscripten_bind_btPersistentManifold__set_m_companionIdA_p1=asm._emscripten_bind_btPersistentManifold__set_m_companionIdA_p1,_emscripten_bind_btTypedConstraint__getConstraintType_p0=Module._emscripten_bind_btTypedConstraint__getConstraintType_p0=asm._emscripten_bind_btTypedConstraint__getConstraintType_p0,_emscripten_bind_btConvexShape__calculateLocalInertia_p2=Module._emscripten_bind_btConvexShape__calculateLocalInertia_p2=asm._emscripten_bind_btConvexShape__calculateLocalInertia_p2,_emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1=Module._emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1=asm._emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1,_emscripten_bind_btVector4__getZ_p0=Module._emscripten_bind_btVector4__getZ_p0=asm._emscripten_bind_btVector4__getZ_p0,_emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3=Module._emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3=asm._emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3,_emscripten_bind_btVector4__serializeDouble_p1=Module._emscripten_bind_btVector4__serializeDouble_p1=asm._emscripten_bind_btVector4__serializeDouble_p1,_emscripten_bind_btRigidBody__setActivationState_p1=Module._emscripten_bind_btRigidBody__setActivationState_p1=asm._emscripten_bind_btRigidBody__setActivationState_p1,_emscripten_bind_btTransform__invXform_p1=Module._emscripten_bind_btTransform__invXform_p1=asm._emscripten_bind_btTransform__invXform_p1,_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0,_emscripten_bind_btUniversalConstraint__setUserConstraintType_p1=Module._emscripten_bind_btUniversalConstraint__setUserConstraintType_p1=asm._emscripten_bind_btUniversalConstraint__setUserConstraintType_p1,_emscripten_bind_btCollisionObject__getFriction_p0=Module._emscripten_bind_btCollisionObject__getFriction_p0=asm._emscripten_bind_btCollisionObject__getFriction_p0,_emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1=Module._emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1=asm._emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0,_emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0=Module._emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0=asm._emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0,_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0=Module._emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0=asm._emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0,_malloc=Module._malloc=asm._malloc,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0=Module._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0=asm._emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0,_emscripten_bind_btDispatcher__getNewManifold_p2=Module._emscripten_bind_btDispatcher__getNewManifold_p2=asm._emscripten_bind_btDispatcher__getNewManifold_p2,_emscripten_bind_btPolyhedralConvexShape__getName_p0=Module._emscripten_bind_btPolyhedralConvexShape__getName_p0=asm._emscripten_bind_btPolyhedralConvexShape__getName_p0,_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3,_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1,_emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0=Module._emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0=asm._emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0,_emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1=Module._emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1=asm._emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1,_emscripten_bind_btRigidBody__setSleepingThresholds_p2=Module._emscripten_bind_btRigidBody__setSleepingThresholds_p2=asm._emscripten_bind_btRigidBody__setSleepingThresholds_p2,_emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0=Module._emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0=asm._emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0,_emscripten_bind_btMultiSphereShape__getSphereRadius_p1=Module._emscripten_bind_btMultiSphereShape__getSphereRadius_p1=asm._emscripten_bind_btMultiSphereShape__getSphereRadius_p1,_emscripten_bind_btConvexHullShape__serializeSingleShape_p1=Module._emscripten_bind_btConvexHullShape__serializeSingleShape_p1=asm._emscripten_bind_btConvexHullShape__serializeSingleShape_p1,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3=Module._emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3=asm._emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2=Module._emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2=asm._emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2,_emscripten_bind_btWheelInfo__get_m_engineForce_p0=Module._emscripten_bind_btWheelInfo__get_m_engineForce_p0=asm._emscripten_bind_btWheelInfo__get_m_engineForce_p0,_emscripten_bind_btUniformScalingShape__getShapeType_p0=Module._emscripten_bind_btUniformScalingShape__getShapeType_p0=asm._emscripten_bind_btUniformScalingShape__getShapeType_p0,_emscripten_bind_btDefaultMotionState__setWorldTransform_p1=Module._emscripten_bind_btDefaultMotionState__setWorldTransform_p1=asm._emscripten_bind_btDefaultMotionState__setWorldTransform_p1,_emscripten_bind_btQuaternion__getZ_p0=Module._emscripten_bind_btQuaternion__getZ_p0=asm._emscripten_bind_btQuaternion__getZ_p0,_emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3=Module._emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3=asm._emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3,_emscripten_bind_btBoxShape__serializeSingleShape_p1=Module._emscripten_bind_btBoxShape__serializeSingleShape_p1=asm._emscripten_bind_btBoxShape__serializeSingleShape_p1,_emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1,_emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3=Module._emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3=asm._emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3=Module._emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3=asm._emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3,_emscripten_bind_btConvexInternalShape__serialize_p2=Module._emscripten_bind_btConvexInternalShape__serialize_p2=asm._emscripten_bind_btConvexInternalShape__serialize_p2,_emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0,_emscripten_bind_btSliderConstraint__getSolveLinLimit_p0=Module._emscripten_bind_btSliderConstraint__getSolveLinLimit_p0=asm._emscripten_bind_btSliderConstraint__getSolveLinLimit_p0,_emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1=Module._emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1=asm._emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1,_emscripten_bind_btVector3__rotate_p2=Module._emscripten_bind_btVector3__rotate_p2=asm._emscripten_bind_btVector3__rotate_p2,_emscripten_bind_btPolyhedralConvexShape__getShapeType_p0=Module._emscripten_bind_btPolyhedralConvexShape__getShapeType_p0=asm._emscripten_bind_btPolyhedralConvexShape__getShapeType_p0,_emscripten_bind_btContactConstraint__setParam_p2=Module._emscripten_bind_btContactConstraint__setParam_p2=asm._emscripten_bind_btContactConstraint__setParam_p2,_emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1=Module._emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1=asm._emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2=Module._emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2=asm._emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2,_emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1,_emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1=Module._emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1=asm._emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1,_emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4=Module._emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4=asm._emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1,_emscripten_bind_btHingeConstraint__set_m_objectType_p1=Module._emscripten_bind_btHingeConstraint__set_m_objectType_p1=asm._emscripten_bind_btHingeConstraint__set_m_objectType_p1,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1=Module._emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1=asm._emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1,_emscripten_bind_btCylinderShapeX__getName_p0=Module._emscripten_bind_btCylinderShapeX__getName_p0=asm._emscripten_bind_btCylinderShapeX__getName_p0,_emscripten_bind_btDispatcher__releaseManifold_p1=Module._emscripten_bind_btDispatcher__releaseManifold_p1=asm._emscripten_bind_btDispatcher__releaseManifold_p1,_emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1=Module._emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1=asm._emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1,_emscripten_bind_btDbvtBroadphase__optimize_p0=Module._emscripten_bind_btDbvtBroadphase__optimize_p0=asm._emscripten_bind_btDbvtBroadphase__optimize_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1,_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3,_emscripten_bind_btRaycastVehicle__setPitchControl_p1=Module._emscripten_bind_btRaycastVehicle__setPitchControl_p1=asm._emscripten_bind_btRaycastVehicle__setPitchControl_p1,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1,_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4,_emscripten_bind_btCollisionObject__setUserPointer_p1=Module._emscripten_bind_btCollisionObject__setUserPointer_p1=asm._emscripten_bind_btCollisionObject__setUserPointer_p1,_emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0=Module._emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0=asm._emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0,_emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2=Module._emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2=asm._emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2,_emscripten_bind_btConeTwistConstraint__setEnabled_p1=Module._emscripten_bind_btConeTwistConstraint__setEnabled_p1=asm._emscripten_bind_btConeTwistConstraint__setEnabled_p1,_emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1=Module._emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1=asm._emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1,_emscripten_bind_btCylinderShapeZ__setMargin_p1=Module._emscripten_bind_btCylinderShapeZ__setMargin_p1=asm._emscripten_bind_btCylinderShapeZ__setMargin_p1,_emscripten_bind_btVector3__normalized_p0=Module._emscripten_bind_btVector3__normalized_p0=asm._emscripten_bind_btVector3__normalized_p0,_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3=Module._emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3=asm._emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3,_emscripten_bind_btRigidBody__getLinearDamping_p0=Module._emscripten_bind_btRigidBody__getLinearDamping_p0=asm._emscripten_bind_btRigidBody__getLinearDamping_p0,_emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1=Module._emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1=asm._emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1,_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0=Module._emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0=asm._emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0,_emscripten_bind_btBU_Simplex1to4__getShapeType_p0=Module._emscripten_bind_btBU_Simplex1to4__getShapeType_p0=asm._emscripten_bind_btBU_Simplex1to4__getShapeType_p0,_emscripten_bind_btCollisionObject__setHitFraction_p1=Module._emscripten_bind_btCollisionObject__setHitFraction_p1=asm._emscripten_bind_btCollisionObject__setHitFraction_p1,_emscripten_bind_btSliderConstraint__serialize_p2=Module._emscripten_bind_btSliderConstraint__serialize_p2=asm._emscripten_bind_btSliderConstraint__serialize_p2,_emscripten_bind_btAngularLimit__getCorrection_p0=Module._emscripten_bind_btAngularLimit__getCorrection_p0=asm._emscripten_bind_btAngularLimit__getCorrection_p0,_emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7=Module._emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7=asm._emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7,_emscripten_bind_btBroadphaseProxy__isNonMoving_p1=Module._emscripten_bind_btBroadphaseProxy__isNonMoving_p1=asm._emscripten_bind_btBroadphaseProxy__isNonMoving_p1,_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btCylinderShape__getBoundingSphere_p2=Module._emscripten_bind_btCylinderShape__getBoundingSphere_p2=asm._emscripten_bind_btCylinderShape__getBoundingSphere_p2,_emscripten_bind_btDynamicsWorld__getWorldType_p0=Module._emscripten_bind_btDynamicsWorld__getWorldType_p0=asm._emscripten_bind_btDynamicsWorld__getWorldType_p0,_emscripten_bind_btVector3__op_div_p1=Module._emscripten_bind_btVector3__op_div_p1=asm._emscripten_bind_btVector3__op_div_p1,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2=Module._emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2=asm._emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2,_emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1,_emscripten_bind_btBvhTriangleMeshShape__getAabb_p3=Module._emscripten_bind_btBvhTriangleMeshShape__getAabb_p3=asm._emscripten_bind_btBvhTriangleMeshShape__getAabb_p3,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0,_emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0,_emscripten_bind_btMultiSphereShape__setLocalScaling_p1=Module._emscripten_bind_btMultiSphereShape__setLocalScaling_p1=asm._emscripten_bind_btMultiSphereShape__setLocalScaling_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1,_emscripten_bind_btSliderConstraint__setUseFrameOffset_p1=Module._emscripten_bind_btSliderConstraint__setUseFrameOffset_p1=asm._emscripten_bind_btSliderConstraint__setUseFrameOffset_p1,_emscripten_bind_btHingeConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btHingeConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btHingeConstraint__setDbgDrawSize_p1,_emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0=Module._emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0=asm._emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0,_emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0=Module._emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0=asm._emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0,_emscripten_bind_btIDebugDraw__drawTransform_p2=Module._emscripten_bind_btIDebugDraw__drawTransform_p2=asm._emscripten_bind_btIDebugDraw__drawTransform_p2,_emscripten_bind_btConeTwistConstraint__getTwistAngle_p0=Module._emscripten_bind_btConeTwistConstraint__getTwistAngle_p0=asm._emscripten_bind_btConeTwistConstraint__getTwistAngle_p0,_emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1,_emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0=Module._emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0=asm._emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0,_emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1=Module._emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1=asm._emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1,_emscripten_bind_btStackAlloc__getAvailableMemory_p0=Module._emscripten_bind_btStackAlloc__getAvailableMemory_p0=asm._emscripten_bind_btStackAlloc__getAvailableMemory_p0,_emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0=Module._emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0=asm._emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0,_emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2=Module._emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2=asm._emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2,_emscripten_bind_btBvhTriangleMeshShape__getMargin_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getMargin_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getMargin_p0,_emscripten_bind_btHeightfieldTerrainShape__isConvex_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isConvex_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isConvex_p0,_emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3=Module._emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3=asm._emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0,_emscripten_bind_btTriangleInfo__get_m_flags_p0=Module._emscripten_bind_btTriangleInfo__get_m_flags_p0=asm._emscripten_bind_btTriangleInfo__get_m_flags_p0,_emscripten_bind_btConcaveShape__getName_p0=Module._emscripten_bind_btConcaveShape__getName_p0=asm._emscripten_bind_btConcaveShape__getName_p0,_emscripten_bind_btContactConstraint__getRigidBodyB_p0=Module._emscripten_bind_btContactConstraint__getRigidBodyB_p0=asm._emscripten_bind_btContactConstraint__getRigidBodyB_p0,_emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1=Module._emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1=asm._emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1,_emscripten_bind_btOptimizedBvh__refitPartial_p3=Module._emscripten_bind_btOptimizedBvh__refitPartial_p3=asm._emscripten_bind_btOptimizedBvh__refitPartial_p3,_emscripten_bind_btConcaveShape__getAabb_p3=Module._emscripten_bind_btConcaveShape__getAabb_p3=asm._emscripten_bind_btConcaveShape__getAabb_p3,_emscripten_bind_btCollisionShape__isInfinite_p0=Module._emscripten_bind_btCollisionShape__isInfinite_p0=asm._emscripten_bind_btCollisionShape__isInfinite_p0,_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1=Module._emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1=asm._emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1,_emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1,_emscripten_bind_btConvexInternalShape__getMargin_p0=Module._emscripten_bind_btConvexInternalShape__getMargin_p0=asm._emscripten_bind_btConvexInternalShape__getMargin_p0,_emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0=Module._emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0=asm._emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0,_emscripten_bind_btCompoundShape__isConvex_p0=Module._emscripten_bind_btCompoundShape__isConvex_p0=asm._emscripten_bind_btCompoundShape__isConvex_p0,_emscripten_bind_btSliderConstraint__setDampingDirLin_p1=Module._emscripten_bind_btSliderConstraint__setDampingDirLin_p1=asm._emscripten_bind_btSliderConstraint__setDampingDirLin_p1,_emscripten_bind_btCapsuleShape__getMargin_p0=Module._emscripten_bind_btCapsuleShape__getMargin_p0=asm._emscripten_bind_btCapsuleShape__getMargin_p0,_emscripten_bind_btAngularLimit____destroy___p0=Module._emscripten_bind_btAngularLimit____destroy___p0=asm._emscripten_bind_btAngularLimit____destroy___p0,_emscripten_bind_btUniversalConstraint__getInfo2_p1=Module._emscripten_bind_btUniversalConstraint__getInfo2_p1=asm._emscripten_bind_btUniversalConstraint__getInfo2_p1,_emscripten_bind_btMatrix3x3__getIdentity_p0=Module._emscripten_bind_btMatrix3x3__getIdentity_p0=asm._emscripten_bind_btMatrix3x3__getIdentity_p0,_free=Module._free=asm._free,_emscripten_bind_btConeShapeX__getName_p0=Module._emscripten_bind_btConeShapeX__getName_p0=asm._emscripten_bind_btConeShapeX__getName_p0,_emscripten_bind_btTransform__setBasis_p1=Module._emscripten_bind_btTransform__setBasis_p1=asm._emscripten_bind_btTransform__setBasis_p1,_emscripten_bind_btCapsuleShape__isConcave_p0=Module._emscripten_bind_btCapsuleShape__isConcave_p0=asm._emscripten_bind_btCapsuleShape__isConcave_p0,_emscripten_bind_btHingeConstraint__enableMotor_p1=Module._emscripten_bind_btHingeConstraint__enableMotor_p1=asm._emscripten_bind_btHingeConstraint__enableMotor_p1,_emscripten_bind_btCollisionObject__setIslandTag_p1=Module._emscripten_bind_btCollisionObject__setIslandTag_p1=asm._emscripten_bind_btCollisionObject__setIslandTag_p1,_emscripten_bind_btSliderConstraint__setDampingDirAng_p1=Module._emscripten_bind_btSliderConstraint__setDampingDirAng_p1=asm._emscripten_bind_btSliderConstraint__setDampingDirAng_p1,_emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1=Module._emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1=asm._emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1,_emscripten_bind_btGhostObject__setCcdMotionThreshold_p1=Module._emscripten_bind_btGhostObject__setCcdMotionThreshold_p1=asm._emscripten_bind_btGhostObject__setCcdMotionThreshold_p1,_emscripten_bind_btConcaveShape__getLocalScaling_p0=Module._emscripten_bind_btConcaveShape__getLocalScaling_p0=asm._emscripten_bind_btConcaveShape__getLocalScaling_p0,_emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1=Module._emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1=asm._emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1,_emscripten_bind_btQuaternion__setEulerZYX_p3=Module._emscripten_bind_btQuaternion__setEulerZYX_p3=asm._emscripten_bind_btQuaternion__setEulerZYX_p3,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0,_emscripten_bind_btHashInt__getUid1_p0=Module._emscripten_bind_btHashInt__getUid1_p0=asm._emscripten_bind_btHashInt__getUid1_p0,_emscripten_bind_btCapsuleShapeZ__isConvex2d_p0=Module._emscripten_bind_btCapsuleShapeZ__isConvex2d_p0=asm._emscripten_bind_btCapsuleShapeZ__isConvex2d_p0,_emscripten_bind_btVector3__maxAxis_p0=Module._emscripten_bind_btVector3__maxAxis_p0=asm._emscripten_bind_btVector3__maxAxis_p0,_emscripten_bind_btSliderConstraint__needsFeedback_p0=Module._emscripten_bind_btSliderConstraint__needsFeedback_p0=asm._emscripten_bind_btSliderConstraint__needsFeedback_p0,_emscripten_bind_btIDebugDraw__drawSpherePatch_p9=Module._emscripten_bind_btIDebugDraw__drawSpherePatch_p9=asm._emscripten_bind_btIDebugDraw__drawSpherePatch_p9,_emscripten_bind_btVector3__op_mul_p1=Module._emscripten_bind_btVector3__op_mul_p1=asm._emscripten_bind_btVector3__op_mul_p1,_emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1,_emscripten_bind_btRigidBody__setMassProps_p2=Module._emscripten_bind_btRigidBody__setMassProps_p2=asm._emscripten_bind_btRigidBody__setMassProps_p2,_emscripten_bind_btHeightfieldTerrainShape__getMargin_p0=Module._emscripten_bind_btHeightfieldTerrainShape__getMargin_p0=asm._emscripten_bind_btHeightfieldTerrainShape__getMargin_p0,_emscripten_bind_btHingeConstraint__setUserConstraintId_p1=Module._emscripten_bind_btHingeConstraint__setUserConstraintId_p1=asm._emscripten_bind_btHingeConstraint__setUserConstraintId_p1,_emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1=Module._emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1=asm._emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1,_emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1=Module._emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1=asm._emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1,_emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0=Module._emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0=asm._emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0,_emscripten_bind_btConvexHullShape__getName_p0=Module._emscripten_bind_btConvexHullShape__getName_p0=asm._emscripten_bind_btConvexHullShape__getName_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2,_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0=Module._emscripten_bind_btPoint2PointConstraint__getPivotInB_p0=asm._emscripten_bind_btPoint2PointConstraint__getPivotInB_p0,_emscripten_bind_btBU_Simplex1to4__setMargin_p1=Module._emscripten_bind_btBU_Simplex1to4__setMargin_p1=asm._emscripten_bind_btBU_Simplex1to4__setMargin_p1,_emscripten_bind_btRaycastVehicle__getWheelInfo_p1=Module._emscripten_bind_btRaycastVehicle__getWheelInfo_p1=asm._emscripten_bind_btRaycastVehicle__getWheelInfo_p1,_emscripten_bind_btRigidBody__setAngularVelocity_p1=Module._emscripten_bind_btRigidBody__setAngularVelocity_p1=asm._emscripten_bind_btRigidBody__setAngularVelocity_p1,_emscripten_bind_btRigidBody__serialize_p2=Module._emscripten_bind_btRigidBody__serialize_p2=asm._emscripten_bind_btRigidBody__serialize_p2,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1,_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0,_emscripten_bind_btPolyhedralConvexShape__setMargin_p1=Module._emscripten_bind_btPolyhedralConvexShape__setMargin_p1=asm._emscripten_bind_btPolyhedralConvexShape__setMargin_p1,_emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6=Module._emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6=asm._emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6,_emscripten_bind_btCapsuleShapeX__getRadius_p0=Module._emscripten_bind_btCapsuleShapeX__getRadius_p0=asm._emscripten_bind_btCapsuleShapeX__getRadius_p0,_emscripten_bind_btQuaternion__op_div_p1=Module._emscripten_bind_btQuaternion__op_div_p1=asm._emscripten_bind_btQuaternion__op_div_p1,_emscripten_bind_btCylinderShapeZ__setLocalScaling_p1=Module._emscripten_bind_btCylinderShapeZ__setLocalScaling_p1=asm._emscripten_bind_btCylinderShapeZ__setLocalScaling_p1,_emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0,_emscripten_bind_btHingeConstraint__setMotorTarget_p2=Module._emscripten_bind_btHingeConstraint__setMotorTarget_p2=asm._emscripten_bind_btHingeConstraint__setMotorTarget_p2,_emscripten_bind_btConeShapeX__getAabbSlow_p3=Module._emscripten_bind_btConeShapeX__getAabbSlow_p3=asm._emscripten_bind_btConeShapeX__getAabbSlow_p3,_emscripten_bind_btMultiSphereShape____destroy___p0=Module._emscripten_bind_btMultiSphereShape____destroy___p0=asm._emscripten_bind_btMultiSphereShape____destroy___p0,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1,_emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3=Module._emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3=asm._emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3,_emscripten_bind_btConvexShape__getAabbSlow_p3=Module._emscripten_bind_btConvexShape__getAabbSlow_p3=asm._emscripten_bind_btConvexShape__getAabbSlow_p3,_emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3=Module._emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3=asm._emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3,_emscripten_bind_btCylinderShapeZ__isCompound_p0=Module._emscripten_bind_btCylinderShapeZ__isCompound_p0=asm._emscripten_bind_btCylinderShapeZ__isCompound_p0,_emscripten_bind_btPoint2PointConstraint__getObjectType_p0=Module._emscripten_bind_btPoint2PointConstraint__getObjectType_p0=asm._emscripten_bind_btPoint2PointConstraint__getObjectType_p0,_emscripten_bind_btCylinderShapeX__isSoftBody_p0=Module._emscripten_bind_btCylinderShapeX__isSoftBody_p0=asm._emscripten_bind_btCylinderShapeX__isSoftBody_p0,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0=Module._emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0=asm._emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0,_emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0=Module._emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0=asm._emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0,_emscripten_bind_btUniformScalingShape__getAabb_p3=Module._emscripten_bind_btUniformScalingShape__getAabb_p3=asm._emscripten_bind_btUniformScalingShape__getAabb_p3,_emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0=Module._emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0=asm._emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0,_emscripten_bind_btHeightfieldTerrainShape__isCompound_p0=Module._emscripten_bind_btHeightfieldTerrainShape__isCompound_p0=asm._emscripten_bind_btHeightfieldTerrainShape__isCompound_p0,_emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1,_emscripten_bind_btCapsuleShapeZ__isConcave_p0=Module._emscripten_bind_btCapsuleShapeZ__isConcave_p0=asm._emscripten_bind_btCapsuleShapeZ__isConcave_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3,_emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0,_emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btConeShapeX__getMarginNonVirtual_p0=Module._emscripten_bind_btConeShapeX__getMarginNonVirtual_p0=asm._emscripten_bind_btConeShapeX__getMarginNonVirtual_p0,_emscripten_bind_btConeShapeZ__btConeShapeZ_p2=Module._emscripten_bind_btConeShapeZ__btConeShapeZ_p2=asm._emscripten_bind_btConeShapeZ__btConeShapeZ_p2,_emscripten_bind_btVector4__maxAxis4_p0=Module._emscripten_bind_btVector4__maxAxis4_p0=asm._emscripten_bind_btVector4__maxAxis4_p0,_emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1,_emscripten_bind_btVector4__absolute4_p0=Module._emscripten_bind_btVector4__absolute4_p0=asm._emscripten_bind_btVector4__absolute4_p0,_emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1=Module._emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1=asm._emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1,_emscripten_bind_btSerializer__findNameForPointer_p1=Module._emscripten_bind_btSerializer__findNameForPointer_p1=asm._emscripten_bind_btSerializer__findNameForPointer_p1,_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0,_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7=Module._emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7=asm._emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7,_emscripten_bind_btPairCachingGhostObject__activate_p1=Module._emscripten_bind_btPairCachingGhostObject__activate_p1=asm._emscripten_bind_btPairCachingGhostObject__activate_p1,_emscripten_bind_btPairCachingGhostObject__activate_p0=Module._emscripten_bind_btPairCachingGhostObject__activate_p0=asm._emscripten_bind_btPairCachingGhostObject__activate_p0,_emscripten_bind_btMatrix3x3__op_sub_p1=Module._emscripten_bind_btMatrix3x3__op_sub_p1=asm._emscripten_bind_btMatrix3x3__op_sub_p1,_emscripten_bind_btGhostObject__getRestitution_p0=Module._emscripten_bind_btGhostObject__getRestitution_p0=asm._emscripten_bind_btGhostObject__getRestitution_p0,_emscripten_bind_btHinge2Constraint__getAngle1_p0=Module._emscripten_bind_btHinge2Constraint__getAngle1_p0=asm._emscripten_bind_btHinge2Constraint__getAngle1_p0,_emscripten_bind_btSphereShape__serialize_p2=Module._emscripten_bind_btSphereShape__serialize_p2=asm._emscripten_bind_btSphereShape__serialize_p2,_emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0=Module._emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0=asm._emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0,_emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2=Module._emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2=asm._emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2,_emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2=Module._emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2=asm._emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2,_emscripten_bind_btRigidBody__setBroadphaseHandle_p1=Module._emscripten_bind_btRigidBody__setBroadphaseHandle_p1=asm._emscripten_bind_btRigidBody__setBroadphaseHandle_p1,_emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1=Module._emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1=asm._emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1,_emscripten_bind_btCapsuleShapeX__getUserPointer_p0=Module._emscripten_bind_btCapsuleShapeX__getUserPointer_p0=asm._emscripten_bind_btCapsuleShapeX__getUserPointer_p0,_emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0=Module._emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0=asm._emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0,_emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1,_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0=Module._emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0=asm._emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0,_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2=Module._emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2=asm._emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2,_emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1=Module._emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1=asm._emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1,_emscripten_bind_btPersistentManifold__btPersistentManifold_p5=Module._emscripten_bind_btPersistentManifold__btPersistentManifold_p5=asm._emscripten_bind_btPersistentManifold__btPersistentManifold_p5,_emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1=Module._emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1=asm._emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1,_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0=Module._emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0=asm._emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0,_emscripten_bind_btCylinderShapeZ__getMarginNV_p0=Module._emscripten_bind_btCylinderShapeZ__getMarginNV_p0=asm._emscripten_bind_btCylinderShapeZ__getMarginNV_p0,_emscripten_bind_btTriangleMesh__addIndexedMesh_p1=Module._emscripten_bind_btTriangleMesh__addIndexedMesh_p1=asm._emscripten_bind_btTriangleMesh__addIndexedMesh_p1,_emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1,_emscripten_bind_btTriangleMesh__addIndexedMesh_p2=Module._emscripten_bind_btTriangleMesh__addIndexedMesh_p2=asm._emscripten_bind_btTriangleMesh__addIndexedMesh_p2,_emscripten_bind_btSliderConstraint__setFrames_p2=Module._emscripten_bind_btSliderConstraint__setFrames_p2=asm._emscripten_bind_btSliderConstraint__setFrames_p2,_emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0=Module._emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0=asm._emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0,_emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0=Module._emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0=asm._emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0,_emscripten_bind_btSimpleDynamicsWorld__removeAction_p1=Module._emscripten_bind_btSimpleDynamicsWorld__removeAction_p1=asm._emscripten_bind_btSimpleDynamicsWorld__removeAction_p1,_emscripten_bind_btContactConstraint__setContactManifold_p1=Module._emscripten_bind_btContactConstraint__setContactManifold_p1=asm._emscripten_bind_btContactConstraint__setContactManifold_p1,_emscripten_bind_btSphereShape__setUserPointer_p1=Module._emscripten_bind_btSphereShape__setUserPointer_p1=asm._emscripten_bind_btSphereShape__setUserPointer_p1,_emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1=Module._emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1=asm._emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1,_emscripten_bind_btCapsuleShapeZ__getUpAxis_p0=Module._emscripten_bind_btCapsuleShapeZ__getUpAxis_p0=asm._emscripten_bind_btCapsuleShapeZ__getUpAxis_p0,_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0,_emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1=Module._emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1=asm._emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1,_emscripten_bind_btPolyhedralConvexShape__getPlane_p3=Module._emscripten_bind_btPolyhedralConvexShape__getPlane_p3=asm._emscripten_bind_btPolyhedralConvexShape__getPlane_p3,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0=Module._emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0=asm._emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0,_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0=Module._emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0=asm._emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0,_emscripten_bind_btSimpleDynamicsWorld__clearForces_p0=Module._emscripten_bind_btSimpleDynamicsWorld__clearForces_p0=asm._emscripten_bind_btSimpleDynamicsWorld__clearForces_p0,_emscripten_bind_btPoint2PointConstraint__setPivotB_p1=Module._emscripten_bind_btPoint2PointConstraint__setPivotB_p1=asm._emscripten_bind_btPoint2PointConstraint__setPivotB_p1,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0,_emscripten_bind_btSerializer__finalizeChunk_p4=Module._emscripten_bind_btSerializer__finalizeChunk_p4=asm._emscripten_bind_btSerializer__finalizeChunk_p4,_emscripten_bind_btGeneric6DofConstraint__setEnabled_p1=Module._emscripten_bind_btGeneric6DofConstraint__setEnabled_p1=asm._emscripten_bind_btGeneric6DofConstraint__setEnabled_p1,_emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1=Module._emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1=asm._emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1,_emscripten_bind_btCylinderShapeX__getLocalScaling_p0=Module._emscripten_bind_btCylinderShapeX__getLocalScaling_p0=asm._emscripten_bind_btCylinderShapeX__getLocalScaling_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1,_emscripten_bind_btStackAlloc__endBlock_p1=Module._emscripten_bind_btStackAlloc__endBlock_p1=asm._emscripten_bind_btStackAlloc__endBlock_p1,_emscripten_bind_btCylinderShape__setLocalScaling_p1=Module._emscripten_bind_btCylinderShape__setLocalScaling_p1=asm._emscripten_bind_btCylinderShape__setLocalScaling_p1,_emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1=Module._emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1=asm._emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1,_emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1=Module._emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1=asm._emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1,_emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1,_emscripten_bind_btMatrix3x3__adjoint_p0=Module._emscripten_bind_btMatrix3x3__adjoint_p0=asm._emscripten_bind_btMatrix3x3__adjoint_p0,_emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0,_emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1=Module._emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1=asm._emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1,_emscripten_bind_btVector4__normalized_p0=Module._emscripten_bind_btVector4__normalized_p0=asm._emscripten_bind_btVector4__normalized_p0,_emscripten_bind_btSliderConstraint__getObjectType_p0=Module._emscripten_bind_btSliderConstraint__getObjectType_p0=asm._emscripten_bind_btSliderConstraint__getObjectType_p0,_emscripten_bind_btRigidBody__setGravity_p1=Module._emscripten_bind_btRigidBody__setGravity_p1=asm._emscripten_bind_btRigidBody__setGravity_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0,_emscripten_bind_btDynamicsWorld__removeConstraint_p1=Module._emscripten_bind_btDynamicsWorld__removeConstraint_p1=asm._emscripten_bind_btDynamicsWorld__removeConstraint_p1,_emscripten_bind_btPersistentManifold__clearUserCache_p1=Module._emscripten_bind_btPersistentManifold__clearUserCache_p1=asm._emscripten_bind_btPersistentManifold__clearUserCache_p1,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5=Module._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5=asm._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5,_emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6=Module._emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6=asm._emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6,_emscripten_bind_btDbvtProxy__btDbvtProxy_p5=Module._emscripten_bind_btDbvtProxy__btDbvtProxy_p5=asm._emscripten_bind_btDbvtProxy__btDbvtProxy_p5,_emscripten_bind_btCollisionShape__setLocalScaling_p1=Module._emscripten_bind_btCollisionShape__setLocalScaling_p1=asm._emscripten_bind_btCollisionShape__setLocalScaling_p1,_emscripten_bind_btUniversalConstraint__getObjectType_p0=Module._emscripten_bind_btUniversalConstraint__getObjectType_p0=asm._emscripten_bind_btUniversalConstraint__getObjectType_p0,_emscripten_bind_btSphereShape__getAabbSlow_p3=Module._emscripten_bind_btSphereShape__getAabbSlow_p3=asm._emscripten_bind_btSphereShape__getAabbSlow_p3,_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0,_emscripten_bind_btConvexShape__getName_p0=Module._emscripten_bind_btConvexShape__getName_p0=asm._emscripten_bind_btConvexShape__getName_p0,_emscripten_bind_btRotationalLimitMotor__testLimitValue_p1=Module._emscripten_bind_btRotationalLimitMotor__testLimitValue_p1=asm._emscripten_bind_btRotationalLimitMotor__testLimitValue_p1,_emscripten_bind_btCollisionWorld__getDispatchInfo_p0=Module._emscripten_bind_btCollisionWorld__getDispatchInfo_p0=asm._emscripten_bind_btCollisionWorld__getDispatchInfo_p0,_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0=Module._emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0=asm._emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0,_emscripten_bind_btBoxShape__getAngularMotionDisc_p0=Module._emscripten_bind_btBoxShape__getAngularMotionDisc_p0=asm._emscripten_bind_btBoxShape__getAngularMotionDisc_p0,_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0,_emscripten_bind_btDispatcher__getInternalManifoldPool_p0=Module._emscripten_bind_btDispatcher__getInternalManifoldPool_p0=asm._emscripten_bind_btDispatcher__getInternalManifoldPool_p0,_emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0=Module._emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0=asm._emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0,_emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0=Module._emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0=asm._emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0,_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0=Module._emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0=asm._emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0,_emscripten_bind_btHinge2Constraint__getUserConstraintId_p0=Module._emscripten_bind_btHinge2Constraint__getUserConstraintId_p0=asm._emscripten_bind_btHinge2Constraint__getUserConstraintId_p0,_emscripten_bind_btQuaternion__setRotation_p2=Module._emscripten_bind_btQuaternion__setRotation_p2=asm._emscripten_bind_btQuaternion__setRotation_p2,_emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2=Module._emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2=asm._emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2,_emscripten_bind_btCylinderShapeX__isPolyhedral_p0=Module._emscripten_bind_btCylinderShapeX__isPolyhedral_p0=asm._emscripten_bind_btCylinderShapeX__isPolyhedral_p0,_emscripten_bind_btEmptyShape__getShapeType_p0=Module._emscripten_bind_btEmptyShape__getShapeType_p0=asm._emscripten_bind_btEmptyShape__getShapeType_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0,_emscripten_bind_btManifoldResult__getBody1Internal_p0=Module._emscripten_bind_btManifoldResult__getBody1Internal_p0=asm._emscripten_bind_btManifoldResult__getBody1Internal_p0,_emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1=Module._emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1=asm._emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1,_emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0,_emscripten_bind_btQuadWord__op_set_p1=Module._emscripten_bind_btQuadWord__op_set_p1=asm._emscripten_bind_btQuadWord__op_set_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0,_emscripten_bind_btPersistentManifold__getNumContacts_p0=Module._emscripten_bind_btPersistentManifold__getNumContacts_p0=asm._emscripten_bind_btPersistentManifold__getNumContacts_p0,_emscripten_bind_btUniversalConstraint__get_m_objectType_p0=Module._emscripten_bind_btUniversalConstraint__get_m_objectType_p0=asm._emscripten_bind_btUniversalConstraint__get_m_objectType_p0,_emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0=Module._emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0=asm._emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0,_emscripten_bind_btGeneric6DofConstraint__setAxis_p2=Module._emscripten_bind_btGeneric6DofConstraint__setAxis_p2=asm._emscripten_bind_btGeneric6DofConstraint__setAxis_p2,_emscripten_bind_btWheelInfo__getSuspensionRestLength_p0=Module._emscripten_bind_btWheelInfo__getSuspensionRestLength_p0=asm._emscripten_bind_btWheelInfo__getSuspensionRestLength_p0,_emscripten_bind_btSphereShape__getAngularMotionDisc_p0=Module._emscripten_bind_btSphereShape__getAngularMotionDisc_p0=asm._emscripten_bind_btSphereShape__getAngularMotionDisc_p0,_emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btHashPtr__getPointer_p0=Module._emscripten_bind_btHashPtr__getPointer_p0=asm._emscripten_bind_btHashPtr__getPointer_p0,_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0=Module._emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0=asm._emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0,_emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1=Module._emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1=asm._emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1,_emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3=Module._emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3=asm._emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3,_emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2=Module._emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2=asm._emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2,_emscripten_bind_btConeShape____destroy___p0=Module._emscripten_bind_btConeShape____destroy___p0=asm._emscripten_bind_btConeShape____destroy___p0,_emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1,_emscripten_bind_btConeTwistConstraint__setMotorTarget_p1=Module._emscripten_bind_btConeTwistConstraint__setMotorTarget_p1=asm._emscripten_bind_btConeTwistConstraint__setMotorTarget_p1,_emscripten_bind_btConvexShape__serialize_p2=Module._emscripten_bind_btConvexShape__serialize_p2=asm._emscripten_bind_btConvexShape__serialize_p2,_emscripten_bind_btContactConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btContactConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btContactConstraint__setDbgDrawSize_p1,_emscripten_bind_btQuaternion__setEuler_p3=Module._emscripten_bind_btQuaternion__setEuler_p3=asm._emscripten_bind_btQuaternion__setEuler_p3,_emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0=Module._emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0=asm._emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0,_emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1=Module._emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1=asm._emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3,_emscripten_bind_btPairCachingGhostObject__isStaticObject_p0=Module._emscripten_bind_btPairCachingGhostObject__isStaticObject_p0=asm._emscripten_bind_btPairCachingGhostObject__isStaticObject_p0,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1,_emscripten_bind_btBoxShape__getEdge_p3=Module._emscripten_bind_btBoxShape__getEdge_p3=asm._emscripten_bind_btBoxShape__getEdge_p3,_emscripten_bind_btVector4__serializeFloat_p1=Module._emscripten_bind_btVector4__serializeFloat_p1=asm._emscripten_bind_btVector4__serializeFloat_p1,_emscripten_bind_btMultiSphereShape__setUserPointer_p1=Module._emscripten_bind_btMultiSphereShape__setUserPointer_p1=asm._emscripten_bind_btMultiSphereShape__setUserPointer_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3,_emscripten_bind_CProfileNode__Get_Name_p0=Module._emscripten_bind_CProfileNode__Get_Name_p0=asm._emscripten_bind_CProfileNode__Get_Name_p0,_emscripten_bind_bt32BitAxisSweep3__aabbTest_p3=Module._emscripten_bind_bt32BitAxisSweep3__aabbTest_p3=asm._emscripten_bind_bt32BitAxisSweep3__aabbTest_p3,_emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2=Module._emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2=asm._emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2,_emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0=Module._emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0=asm._emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0,_emscripten_bind_btSliderConstraint____destroy___p0=Module._emscripten_bind_btSliderConstraint____destroy___p0=asm._emscripten_bind_btSliderConstraint____destroy___p0,_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2=Module._emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2=asm._emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2,_emscripten_bind_btUniversalConstraint__getAnchor_p0=Module._emscripten_bind_btUniversalConstraint__getAnchor_p0=asm._emscripten_bind_btUniversalConstraint__getAnchor_p0,_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1=Module._emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1=asm._emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btRotationalLimitMotor__isLimited_p0=Module._emscripten_bind_btRotationalLimitMotor__isLimited_p0=asm._emscripten_bind_btRotationalLimitMotor__isLimited_p0,_emscripten_bind_btBvhTriangleMeshShape__setMargin_p1=Module._emscripten_bind_btBvhTriangleMeshShape__setMargin_p1=asm._emscripten_bind_btBvhTriangleMeshShape__setMargin_p1,_emscripten_bind_btHingeConstraint__updateRHS_p1=Module._emscripten_bind_btHingeConstraint__updateRHS_p1=asm._emscripten_bind_btHingeConstraint__updateRHS_p1,_emscripten_bind_btIndexedMesh__set_m_indexType_p1=Module._emscripten_bind_btIndexedMesh__set_m_indexType_p1=asm._emscripten_bind_btIndexedMesh__set_m_indexType_p1,_emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1=Module._emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1=asm._emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0,_emscripten_bind_btManifoldPoint__get_m_distance1_p0=Module._emscripten_bind_btManifoldPoint__get_m_distance1_p0=asm._emscripten_bind_btManifoldPoint__get_m_distance1_p0,_emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1,_emscripten_bind_btClock__getTimeMicroseconds_p0=Module._emscripten_bind_btClock__getTimeMicroseconds_p0=asm._emscripten_bind_btClock__getTimeMicroseconds_p0,_emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_llvm_uadd_with_overflow_i64=Module._llvm_uadd_with_overflow_i64=asm._llvm_uadd_with_overflow_i64,_emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0=Module._emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0=asm._emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0,_emscripten_bind_btCylinderShapeX__getMargin_p0=Module._emscripten_bind_btCylinderShapeX__getMargin_p0=asm._emscripten_bind_btCylinderShapeX__getMargin_p0,_emscripten_bind_btContactConstraint__enableFeedback_p1=Module._emscripten_bind_btContactConstraint__enableFeedback_p1=asm._emscripten_bind_btContactConstraint__enableFeedback_p1,_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0=Module._emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0=asm._emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0,_emscripten_bind_btPoint2PointConstraint__setPivotA_p1=Module._emscripten_bind_btPoint2PointConstraint__setPivotA_p1=asm._emscripten_bind_btPoint2PointConstraint__setPivotA_p1,_emscripten_bind_btConeTwistConstraint__setParam_p3=Module._emscripten_bind_btConeTwistConstraint__setParam_p3=asm._emscripten_bind_btConeTwistConstraint__setParam_p3,_emscripten_bind_btConeShapeX__calculateTemporalAabb_p6=Module._emscripten_bind_btConeShapeX__calculateTemporalAabb_p6=asm._emscripten_bind_btConeShapeX__calculateTemporalAabb_p6,_emscripten_bind_btHinge2Constraint__updateRHS_p1=Module._emscripten_bind_btHinge2Constraint__updateRHS_p1=asm._emscripten_bind_btHinge2Constraint__updateRHS_p1,_emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0,_emscripten_bind_btMultiSphereShape__isConvex_p0=Module._emscripten_bind_btMultiSphereShape__isConvex_p0=asm._emscripten_bind_btMultiSphereShape__isConvex_p0,_emscripten_bind_btRigidBody__setDamping_p2=Module._emscripten_bind_btRigidBody__setDamping_p2=asm._emscripten_bind_btRigidBody__setDamping_p2,_emscripten_bind_btQuaternion__x_p0=Module._emscripten_bind_btQuaternion__x_p0=asm._emscripten_bind_btQuaternion__x_p0,_emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6=Module._emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6=asm._emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6,_emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1,_emscripten_bind_btPersistentManifold__getContactPoint_p1=Module._emscripten_bind_btPersistentManifold__getContactPoint_p1=asm._emscripten_bind_btPersistentManifold__getContactPoint_p1,_emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0=Module._emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0=asm._emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0,_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1=Module._emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1=asm._emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1,_emscripten_bind_btMotionState__getWorldTransform_p1=Module._emscripten_bind_btMotionState__getWorldTransform_p1=asm._emscripten_bind_btMotionState__getWorldTransform_p1,_emscripten_bind_btRigidBody__activate_p0=Module._emscripten_bind_btRigidBody__activate_p0=asm._emscripten_bind_btRigidBody__activate_p0,_emscripten_bind_btRigidBody__activate_p1=Module._emscripten_bind_btRigidBody__activate_p1=asm._emscripten_bind_btRigidBody__activate_p1,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0,_emscripten_bind_btCompoundShape__setLocalScaling_p1=Module._emscripten_bind_btCompoundShape__setLocalScaling_p1=asm._emscripten_bind_btCompoundShape__setLocalScaling_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0,_emscripten_bind_btCollisionObject__setCompanionId_p1=Module._emscripten_bind_btCollisionObject__setCompanionId_p1=asm._emscripten_bind_btCollisionObject__setCompanionId_p1,_emscripten_bind_btConeTwistConstraint__set_m_objectType_p1=Module._emscripten_bind_btConeTwistConstraint__set_m_objectType_p1=asm._emscripten_bind_btConeTwistConstraint__set_m_objectType_p1,_emscripten_bind_btDynamicsWorld__getNumConstraints_p0=Module._emscripten_bind_btDynamicsWorld__getNumConstraints_p0=asm._emscripten_bind_btDynamicsWorld__getNumConstraints_p0,_emscripten_bind_btGhostObject__rayTest_p3=Module._emscripten_bind_btGhostObject__rayTest_p3=asm._emscripten_bind_btGhostObject__rayTest_p3,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0,_emscripten_bind_btBoxShape__isConcave_p0=Module._emscripten_bind_btBoxShape__isConcave_p0=asm._emscripten_bind_btBoxShape__isConcave_p0,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1,_emscripten_bind_btPolyhedralConvexShape__isCompound_p0=Module._emscripten_bind_btPolyhedralConvexShape__isCompound_p0=asm._emscripten_bind_btPolyhedralConvexShape__isCompound_p0,_emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4=Module._emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4=asm._emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4,_emscripten_bind_btSliderConstraint__setUserConstraintType_p1=Module._emscripten_bind_btSliderConstraint__setUserConstraintType_p1=asm._emscripten_bind_btSliderConstraint__setUserConstraintType_p1,_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1=Module._emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1=asm._emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3=Module._emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3=asm._emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3,_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0=Module._emscripten_bind_btCollisionConfiguration__getStackAllocator_p0=asm._emscripten_bind_btCollisionConfiguration__getStackAllocator_p0,_emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6,_emscripten_bind_btStaticPlaneShape__serialize_p2=Module._emscripten_bind_btStaticPlaneShape__serialize_p2=asm._emscripten_bind_btStaticPlaneShape__serialize_p2,_emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1,_emscripten_bind_btContinuousDynamicsWorld__rayTest_p3=Module._emscripten_bind_btContinuousDynamicsWorld__rayTest_p3=asm._emscripten_bind_btContinuousDynamicsWorld__rayTest_p3,_emscripten_bind_btSliderConstraint__getParam_p1=Module._emscripten_bind_btSliderConstraint__getParam_p1=asm._emscripten_bind_btSliderConstraint__getParam_p1,_emscripten_bind_btSliderConstraint__getParam_p2=Module._emscripten_bind_btSliderConstraint__getParam_p2=asm._emscripten_bind_btSliderConstraint__getParam_p2,_emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0,_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11=Module._emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11=asm._emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11,_emscripten_bind_btGeneric6DofConstraint__getAngle_p1=Module._emscripten_bind_btGeneric6DofConstraint__getAngle_p1=asm._emscripten_bind_btGeneric6DofConstraint__getAngle_p1,_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1=Module._emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1=asm._emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1,_emscripten_bind_btCollisionObject__getActivationState_p0=Module._emscripten_bind_btCollisionObject__getActivationState_p0=asm._emscripten_bind_btCollisionObject__getActivationState_p0,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2=Module._emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2=asm._emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2,_emscripten_bind_btStaticPlaneShape__isCompound_p0=Module._emscripten_bind_btStaticPlaneShape__isCompound_p0=asm._emscripten_bind_btStaticPlaneShape__isCompound_p0,_emscripten_bind_btBoxShape__isInfinite_p0=Module._emscripten_bind_btBoxShape__isInfinite_p0=asm._emscripten_bind_btBoxShape__isInfinite_p0,_emscripten_bind_btContinuousDynamicsWorld__removeAction_p1=Module._emscripten_bind_btContinuousDynamicsWorld__removeAction_p1=asm._emscripten_bind_btContinuousDynamicsWorld__removeAction_p1,_emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0=Module._emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0=asm._emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0,_emscripten_bind_btSliderConstraint__getUpperLinLimit_p0=Module._emscripten_bind_btSliderConstraint__getUpperLinLimit_p0=asm._emscripten_bind_btSliderConstraint__getUpperLinLimit_p0,_emscripten_bind_btConeShapeX__setUserPointer_p1=Module._emscripten_bind_btConeShapeX__setUserPointer_p1=asm._emscripten_bind_btConeShapeX__setUserPointer_p1,_emscripten_bind_btJacobianEntry__get_m_aJ_p0=Module._emscripten_bind_btJacobianEntry__get_m_aJ_p0=asm._emscripten_bind_btJacobianEntry__get_m_aJ_p0,_emscripten_bind_btDynamicsWorld__addRigidBody_p3=Module._emscripten_bind_btDynamicsWorld__addRigidBody_p3=asm._emscripten_bind_btDynamicsWorld__addRigidBody_p3,_emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0=Module._emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0=asm._emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0,_emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1=Module._emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1=asm._emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3=Module._emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3=asm._emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2=Module._emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2=asm._emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2,_emscripten_bind_btBoxShape__calculateTemporalAabb_p6=Module._emscripten_bind_btBoxShape__calculateTemporalAabb_p6=asm._emscripten_bind_btBoxShape__calculateTemporalAabb_p6,_emscripten_bind_btCylinderShapeZ__isConcave_p0=Module._emscripten_bind_btCylinderShapeZ__isConcave_p0=asm._emscripten_bind_btCylinderShapeZ__isConcave_p0,_emscripten_bind_btSimpleBroadphase__setAabb_p4=Module._emscripten_bind_btSimpleBroadphase__setAabb_p4=asm._emscripten_bind_btSimpleBroadphase__setAabb_p4,_emscripten_bind_btManifoldPoint__get_m_localPointB_p0=Module._emscripten_bind_btManifoldPoint__get_m_localPointB_p0=asm._emscripten_bind_btManifoldPoint__get_m_localPointB_p0,_emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2=Module._emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2=asm._emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2,_emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1=Module._emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1=asm._emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1,_emscripten_bind_btGhostObject__setDeactivationTime_p1=Module._emscripten_bind_btGhostObject__setDeactivationTime_p1=asm._emscripten_bind_btGhostObject__setDeactivationTime_p1,_emscripten_bind_btQuaternion__getIdentity_p0=Module._emscripten_bind_btQuaternion__getIdentity_p0=asm._emscripten_bind_btQuaternion__getIdentity_p0,_emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0,_emscripten_bind_btCylinderShapeX__setMargin_p1=Module._emscripten_bind_btCylinderShapeX__setMargin_p1=asm._emscripten_bind_btCylinderShapeX__setMargin_p1,_emscripten_bind_btCollisionShape__getBoundingSphere_p2=Module._emscripten_bind_btCollisionShape__getBoundingSphere_p2=asm._emscripten_bind_btCollisionShape__getBoundingSphere_p2,_emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1=Module._emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1=asm._emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1,_emscripten_bind_btDbvtBroadphase__get_m_prediction_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_prediction_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_prediction_p0,_emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btDispatcher__findAlgorithm_p3=Module._emscripten_bind_btDispatcher__findAlgorithm_p3=asm._emscripten_bind_btDispatcher__findAlgorithm_p3,_emscripten_bind_btDispatcher__findAlgorithm_p2=Module._emscripten_bind_btDispatcher__findAlgorithm_p2=asm._emscripten_bind_btDispatcher__findAlgorithm_p2,_emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1=Module._emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1=asm._emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1,_emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3=Module._emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3=asm._emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0,_emscripten_bind_btRigidBody__getCompanionId_p0=Module._emscripten_bind_btRigidBody__getCompanionId_p0=asm._emscripten_bind_btRigidBody__getCompanionId_p0,_emscripten_bind_btCollisionWorld__rayTest_p3=Module._emscripten_bind_btCollisionWorld__rayTest_p3=asm._emscripten_bind_btCollisionWorld__rayTest_p3,_emscripten_bind_btConvexTriangleMeshShape__setMargin_p1=Module._emscripten_bind_btConvexTriangleMeshShape__setMargin_p1=asm._emscripten_bind_btConvexTriangleMeshShape__setMargin_p1,_emscripten_bind_btCollisionWorld__addCollisionObject_p1=Module._emscripten_bind_btCollisionWorld__addCollisionObject_p1=asm._emscripten_bind_btCollisionWorld__addCollisionObject_p1,_emscripten_bind_btCollisionWorld__addCollisionObject_p3=Module._emscripten_bind_btCollisionWorld__addCollisionObject_p3=asm._emscripten_bind_btCollisionWorld__addCollisionObject_p3,_emscripten_bind_btCollisionWorld__addCollisionObject_p2=Module._emscripten_bind_btCollisionWorld__addCollisionObject_p2=asm._emscripten_bind_btCollisionWorld__addCollisionObject_p2,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0,_emscripten_bind_btCapsuleShapeZ__getRadius_p0=Module._emscripten_bind_btCapsuleShapeZ__getRadius_p0=asm._emscripten_bind_btCapsuleShapeZ__getRadius_p0,_emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0=Module._emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0=asm._emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0,_emscripten_bind_btRigidBody__hasAnisotropicFriction_p0=Module._emscripten_bind_btRigidBody__hasAnisotropicFriction_p0=asm._emscripten_bind_btRigidBody__hasAnisotropicFriction_p0,_emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2=Module._emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2=asm._emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2,_emscripten_bind_btConcaveShape__calculateLocalInertia_p2=Module._emscripten_bind_btConcaveShape__calculateLocalInertia_p2=asm._emscripten_bind_btConcaveShape__calculateLocalInertia_p2,_emscripten_bind_btBoxShape__getPlaneEquation_p2=Module._emscripten_bind_btBoxShape__getPlaneEquation_p2=asm._emscripten_bind_btBoxShape__getPlaneEquation_p2,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7=Module._emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7=asm._emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7,_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0=Module._emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0=asm._emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0,_emscripten_bind_btBU_Simplex1to4__getMarginNV_p0=Module._emscripten_bind_btBU_Simplex1to4__getMarginNV_p0=asm._emscripten_bind_btBU_Simplex1to4__getMarginNV_p0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0,_emscripten_bind_btStaticPlaneShape__getMargin_p0=Module._emscripten_bind_btStaticPlaneShape__getMargin_p0=asm._emscripten_bind_btStaticPlaneShape__getMargin_p0,_emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1,_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1=Module._emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1=asm._emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1,_emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1,_emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0,_emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0=Module._emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0=asm._emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0,_emscripten_bind_btGhostObject__getFriction_p0=Module._emscripten_bind_btGhostObject__getFriction_p0=asm._emscripten_bind_btGhostObject__getFriction_p0,_emscripten_bind_btConvexInternalShape__setMargin_p1=Module._emscripten_bind_btConvexInternalShape__setMargin_p1=asm._emscripten_bind_btConvexInternalShape__setMargin_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1,_emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6=Module._emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6=asm._emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6,_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0=Module._emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0=asm._emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0,_emscripten_bind_btConvexTriangleMeshShape__getMargin_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getMargin_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getMargin_p0,_emscripten_bind_btSimpleBroadphase__aabbTest_p3=Module._emscripten_bind_btSimpleBroadphase__aabbTest_p3=asm._emscripten_bind_btSimpleBroadphase__aabbTest_p3,_emscripten_bind_btHinge2Constraint__setUpperLimit_p1=Module._emscripten_bind_btHinge2Constraint__setUpperLimit_p1=asm._emscripten_bind_btHinge2Constraint__setUpperLimit_p1,_emscripten_bind_btConvexHullShape__isConvex2d_p0=Module._emscripten_bind_btConvexHullShape__isConvex2d_p0=asm._emscripten_bind_btConvexHullShape__isConvex2d_p0,_emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0=Module._emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0=asm._emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0,_emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0,_emscripten_bind_btVector4__angle_p1=Module._emscripten_bind_btVector4__angle_p1=asm._emscripten_bind_btVector4__angle_p1,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4=Module._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4=asm._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3=Module._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3=asm._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2=Module._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2=asm._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1=Module._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1=asm._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0=Module._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0=asm._emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0,_emscripten_bind_btVector3__setMin_p1=Module._emscripten_bind_btVector3__setMin_p1=asm._emscripten_bind_btVector3__setMin_p1,_emscripten_bind_btSliderConstraint__setLowerLinLimit_p1=Module._emscripten_bind_btSliderConstraint__setLowerLinLimit_p1=asm._emscripten_bind_btSliderConstraint__setLowerLinLimit_p1,_emscripten_bind_btCylinderShape__getShapeType_p0=Module._emscripten_bind_btCylinderShape__getShapeType_p0=asm._emscripten_bind_btCylinderShape__getShapeType_p0,_emscripten_bind_btMotionState__setWorldTransform_p1=Module._emscripten_bind_btMotionState__setWorldTransform_p1=asm._emscripten_bind_btMotionState__setWorldTransform_p1,_emscripten_bind_btHingeConstraint__getUid_p0=Module._emscripten_bind_btHingeConstraint__getUid_p0=asm._emscripten_bind_btHingeConstraint__getUid_p0,_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4=Module._emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4=asm._emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4,_emscripten_bind_btUniformScalingShape__isConvex_p0=Module._emscripten_bind_btUniformScalingShape__isConvex_p0=asm._emscripten_bind_btUniformScalingShape__isConvex_p0,_emscripten_bind_btQuantizedBvh__setQuantizationValues_p2=Module._emscripten_bind_btQuantizedBvh__setQuantizationValues_p2=asm._emscripten_bind_btQuantizedBvh__setQuantizationValues_p2,_emscripten_bind_btQuantizedBvh__setQuantizationValues_p3=Module._emscripten_bind_btQuantizedBvh__setQuantizationValues_p3=asm._emscripten_bind_btQuantizedBvh__setQuantizationValues_p3,_emscripten_bind_btQuantizedBvh__serialize_p3=Module._emscripten_bind_btQuantizedBvh__serialize_p3=asm._emscripten_bind_btQuantizedBvh__serialize_p3,_emscripten_bind_btQuantizedBvh__serialize_p2=Module._emscripten_bind_btQuantizedBvh__serialize_p2=asm._emscripten_bind_btQuantizedBvh__serialize_p2,_emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btHeightfieldTerrainShape__getName_p0=Module._emscripten_bind_btHeightfieldTerrainShape__getName_p0=asm._emscripten_bind_btHeightfieldTerrainShape__getName_p0,_emscripten_bind_btQuadWord__btQuadWord_p4=Module._emscripten_bind_btQuadWord__btQuadWord_p4=asm._emscripten_bind_btQuadWord__btQuadWord_p4,_emscripten_bind_btQuantizedBvh__isQuantized_p0=Module._emscripten_bind_btQuantizedBvh__isQuantized_p0=asm._emscripten_bind_btQuantizedBvh__isQuantized_p0,_emscripten_bind_btQuaternion__nearest_p1=Module._emscripten_bind_btQuaternion__nearest_p1=asm._emscripten_bind_btQuaternion__nearest_p1,_emscripten_bind_btConeShapeZ__getShapeType_p0=Module._emscripten_bind_btConeShapeZ__getShapeType_p0=asm._emscripten_bind_btConeShapeZ__getShapeType_p0,_emscripten_bind_btHinge2Constraint__setLimit_p3=Module._emscripten_bind_btHinge2Constraint__setLimit_p3=asm._emscripten_bind_btHinge2Constraint__setLimit_p3,_emscripten_bind_btUniversalConstraint__getUserConstraintId_p0=Module._emscripten_bind_btUniversalConstraint__getUserConstraintId_p0=asm._emscripten_bind_btUniversalConstraint__getUserConstraintId_p0,_emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0=Module._emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0=asm._emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0,_emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1=Module._emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1=asm._emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1,_emscripten_bind_btSliderConstraint__getDampingLimAng_p0=Module._emscripten_bind_btSliderConstraint__getDampingLimAng_p0=asm._emscripten_bind_btSliderConstraint__getDampingLimAng_p0,_emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btCompoundShape__isInfinite_p0=Module._emscripten_bind_btCompoundShape__isInfinite_p0=asm._emscripten_bind_btCompoundShape__isInfinite_p0,_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1=Module._emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1=asm._emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1,_emscripten_bind_btConeShapeX__getLocalScalingNV_p0=Module._emscripten_bind_btConeShapeX__getLocalScalingNV_p0=asm._emscripten_bind_btConeShapeX__getLocalScalingNV_p0,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0,_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0=Module._emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0=asm._emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0,_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0=Module._emscripten_bind_btSliderConstraint__getFrameOffsetA_p0=asm._emscripten_bind_btSliderConstraint__getFrameOffsetA_p0,_emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1=Module._emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1=asm._emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1,_emscripten_bind_btVector3__serializeFloat_p1=Module._emscripten_bind_btVector3__serializeFloat_p1=asm._emscripten_bind_btVector3__serializeFloat_p1,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0,_emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1=Module._emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1=asm._emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1,_emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3=Module._emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3=asm._emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3,_emscripten_bind_btAxisSweep3__printStats_p0=Module._emscripten_bind_btAxisSweep3__printStats_p0=asm._emscripten_bind_btAxisSweep3__printStats_p0,_emscripten_bind_btSphereShape__isSoftBody_p0=Module._emscripten_bind_btSphereShape__isSoftBody_p0=asm._emscripten_bind_btSphereShape__isSoftBody_p0,_emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1=Module._emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1=asm._emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1,_emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1=Module._emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1=asm._emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1,_emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1=Module._emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1=asm._emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1,_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btVector3__dot_p1=Module._emscripten_bind_btVector3__dot_p1=asm._emscripten_bind_btVector3__dot_p1,_emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1,_emscripten_bind_btHashString__equals_p1=Module._emscripten_bind_btHashString__equals_p1=asm._emscripten_bind_btHashString__equals_p1,_emscripten_bind_btUniversalConstraint__buildJacobian_p0=Module._emscripten_bind_btUniversalConstraint__buildJacobian_p0=asm._emscripten_bind_btUniversalConstraint__buildJacobian_p0,_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btContactConstraint__set_m_objectType_p1=Module._emscripten_bind_btContactConstraint__set_m_objectType_p1=asm._emscripten_bind_btContactConstraint__set_m_objectType_p1,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0=Module._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0=asm._emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0,_emscripten_bind_btAngularLimit__getSoftness_p0=Module._emscripten_bind_btAngularLimit__getSoftness_p0=asm._emscripten_bind_btAngularLimit__getSoftness_p0,_emscripten_bind_btRigidBody__applyCentralForce_p1=Module._emscripten_bind_btRigidBody__applyCentralForce_p1=asm._emscripten_bind_btRigidBody__applyCentralForce_p1,_emscripten_bind_btQuaternion__farthest_p1=Module._emscripten_bind_btQuaternion__farthest_p1=asm._emscripten_bind_btQuaternion__farthest_p1,_emscripten_bind_btPersistentManifold__removeContactPoint_p1=Module._emscripten_bind_btPersistentManifold__removeContactPoint_p1=asm._emscripten_bind_btPersistentManifold__removeContactPoint_p1,_emscripten_bind_btJacobianEntry__set_m_Adiag_p1=Module._emscripten_bind_btJacobianEntry__set_m_Adiag_p1=asm._emscripten_bind_btJacobianEntry__set_m_Adiag_p1,_emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1,_emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1=Module._emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1=asm._emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1,_emscripten_bind_btConvexHullShape__getMargin_p0=Module._emscripten_bind_btConvexHullShape__getMargin_p0=asm._emscripten_bind_btConvexHullShape__getMargin_p0,_emscripten_bind_btMultiSphereShape__getLocalScaling_p0=Module._emscripten_bind_btMultiSphereShape__getLocalScaling_p0=asm._emscripten_bind_btMultiSphereShape__getLocalScaling_p0,_emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0=Module._emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0=asm._emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0,_emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1,_emscripten_bind_btIDebugDraw__setDebugMode_p1=Module._emscripten_bind_btIDebugDraw__setDebugMode_p1=asm._emscripten_bind_btIDebugDraw__setDebugMode_p1,_emscripten_bind_btPairCachingGhostObject__setCompanionId_p1=Module._emscripten_bind_btPairCachingGhostObject__setCompanionId_p1=asm._emscripten_bind_btPairCachingGhostObject__setCompanionId_p1,_emscripten_bind_btVector4__normalize_p0=Module._emscripten_bind_btVector4__normalize_p0=asm._emscripten_bind_btVector4__normalize_p0,_emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1=Module._emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1=asm._emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1,_emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1=Module._emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1=asm._emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0,_emscripten_bind_btPoint2PointConstraint__getUid_p0=Module._emscripten_bind_btPoint2PointConstraint__getUid_p0=asm._emscripten_bind_btPoint2PointConstraint__getUid_p0,_emscripten_bind_btSliderConstraint__testAngLimits_p0=Module._emscripten_bind_btSliderConstraint__testAngLimits_p0=asm._emscripten_bind_btSliderConstraint__testAngLimits_p0,_emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2=Module._emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2=asm._emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2,_emscripten_bind_btBoxShape__isConvex_p0=Module._emscripten_bind_btBoxShape__isConvex_p0=asm._emscripten_bind_btBoxShape__isConvex_p0,_emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5=Module._emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5=asm._emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5,_emscripten_bind_btPersistentManifold__get_m_companionIdB_p0=Module._emscripten_bind_btPersistentManifold__get_m_companionIdB_p0=asm._emscripten_bind_btPersistentManifold__get_m_companionIdB_p0,_emscripten_bind_btUniformScalingShape__isConcave_p0=Module._emscripten_bind_btUniformScalingShape__isConcave_p0=asm._emscripten_bind_btUniformScalingShape__isConcave_p0,_emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0,_emscripten_bind_bt32BitAxisSweep3__getHandle_p1=Module._emscripten_bind_bt32BitAxisSweep3__getHandle_p1=asm._emscripten_bind_bt32BitAxisSweep3__getHandle_p1,_emscripten_bind_CProfileNode__Reset_p0=Module._emscripten_bind_CProfileNode__Reset_p0=asm._emscripten_bind_CProfileNode__Reset_p0,_emscripten_bind_btSphereShape__calculateLocalInertia_p2=Module._emscripten_bind_btSphereShape__calculateLocalInertia_p2=asm._emscripten_bind_btSphereShape__calculateLocalInertia_p2,_emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0=Module._emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0=asm._emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0,_emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0=Module._emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0=asm._emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0,_emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0=Module._emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0=asm._emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0,_emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2=Module._emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2=asm._emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2,_emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1=Module._emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1=asm._emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1,_emscripten_bind_btBoxShape__localGetSupportingVertex_p1=Module._emscripten_bind_btBoxShape__localGetSupportingVertex_p1=asm._emscripten_bind_btBoxShape__localGetSupportingVertex_p1,_emscripten_bind_btCylinderShape__getMargin_p0=Module._emscripten_bind_btCylinderShape__getMargin_p0=asm._emscripten_bind_btCylinderShape__getMargin_p0,_emscripten_bind_btQuaternion__w_p0=Module._emscripten_bind_btQuaternion__w_p0=asm._emscripten_bind_btQuaternion__w_p0,_emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0=Module._emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0=asm._emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0,_emscripten_bind_btIDebugDraw__draw3dText_p2=Module._emscripten_bind_btIDebugDraw__draw3dText_p2=asm._emscripten_bind_btIDebugDraw__draw3dText_p2,_emscripten_bind_btMatrix3x3__setIdentity_p0=Module._emscripten_bind_btMatrix3x3__setIdentity_p0=asm._emscripten_bind_btMatrix3x3__setIdentity_p0,_emscripten_bind_btHingeConstraint____destroy___p0=Module._emscripten_bind_btHingeConstraint____destroy___p0=asm._emscripten_bind_btHingeConstraint____destroy___p0,_emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1=Module._emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1=asm._emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1,_emscripten_bind_btCollisionWorld__setDebugDrawer_p1=Module._emscripten_bind_btCollisionWorld__setDebugDrawer_p1=asm._emscripten_bind_btCollisionWorld__setDebugDrawer_p1,_emscripten_bind_btTriangleMesh__getScaling_p0=Module._emscripten_bind_btTriangleMesh__getScaling_p0=asm._emscripten_bind_btTriangleMesh__getScaling_p0,_emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1=Module._emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1=asm._emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1,_emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0,_emscripten_bind_btCapsuleShape__isConvex2d_p0=Module._emscripten_bind_btCapsuleShape__isConvex2d_p0=asm._emscripten_bind_btCapsuleShape__isConvex2d_p0,_emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0=Module._emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0=asm._emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1=Module._emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1=asm._emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1,_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btCylinderShape__getMarginNonVirtual_p0=Module._emscripten_bind_btCylinderShape__getMarginNonVirtual_p0=asm._emscripten_bind_btCylinderShape__getMarginNonVirtual_p0,_emscripten_bind_btCompoundShape__isConvex2d_p0=Module._emscripten_bind_btCompoundShape__isConvex2d_p0=asm._emscripten_bind_btCompoundShape__isConvex2d_p0,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0,_emscripten_bind_btHinge2Constraint__isEnabled_p0=Module._emscripten_bind_btHinge2Constraint__isEnabled_p0=asm._emscripten_bind_btHinge2Constraint__isEnabled_p0,_emscripten_bind_btSliderConstraint__getDampingDirLin_p0=Module._emscripten_bind_btSliderConstraint__getDampingDirLin_p0=asm._emscripten_bind_btSliderConstraint__getDampingDirLin_p0,_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0=Module._emscripten_bind_btDispatcher__getInternalManifoldPointer_p0=asm._emscripten_bind_btDispatcher__getInternalManifoldPointer_p0,_emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0,_emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1=Module._emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1=asm._emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1,_emscripten_bind_btMultiSphereShape__getSphereCount_p0=Module._emscripten_bind_btMultiSphereShape__getSphereCount_p0=asm._emscripten_bind_btMultiSphereShape__getSphereCount_p0,_emscripten_bind_btDbvtBroadphase__rayTest_p5=Module._emscripten_bind_btDbvtBroadphase__rayTest_p5=asm._emscripten_bind_btDbvtBroadphase__rayTest_p5,_emscripten_bind_btDbvtBroadphase__rayTest_p4=Module._emscripten_bind_btDbvtBroadphase__rayTest_p4=asm._emscripten_bind_btDbvtBroadphase__rayTest_p4,_emscripten_bind_btHinge2Constraint__setStiffness_p2=Module._emscripten_bind_btHinge2Constraint__setStiffness_p2=asm._emscripten_bind_btHinge2Constraint__setStiffness_p2,_emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1,_emscripten_bind_btCylinderShapeX__isNonMoving_p0=Module._emscripten_bind_btCylinderShapeX__isNonMoving_p0=asm._emscripten_bind_btCylinderShapeX__isNonMoving_p0,_emscripten_bind_btConvexInternalShape__getMarginNV_p0=Module._emscripten_bind_btConvexInternalShape__getMarginNV_p0=asm._emscripten_bind_btConvexInternalShape__getMarginNV_p0,_emscripten_bind_btConeShapeX__isSoftBody_p0=Module._emscripten_bind_btConeShapeX__isSoftBody_p0=asm._emscripten_bind_btConeShapeX__isSoftBody_p0,_emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0=Module._emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0=asm._emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0,_emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0=Module._emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0=asm._emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0,_emscripten_bind_btHingeConstraint__getInfo2Internal_p5=Module._emscripten_bind_btHingeConstraint__getInfo2Internal_p5=asm._emscripten_bind_btHingeConstraint__getInfo2Internal_p5,_emscripten_bind_btVector3__serializeDouble_p1=Module._emscripten_bind_btVector3__serializeDouble_p1=asm._emscripten_bind_btVector3__serializeDouble_p1,_emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1=Module._emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1=asm._emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1,_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0=Module._emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0=asm._emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0,_emscripten_bind_btVehicleRaycaster__castRay_p3=Module._emscripten_bind_btVehicleRaycaster__castRay_p3=asm._emscripten_bind_btVehicleRaycaster__castRay_p3,_emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3=Module._emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3=asm._emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3,_emscripten_bind_btManifoldPoint__get_m_index0_p0=Module._emscripten_bind_btManifoldPoint__get_m_index0_p0=asm._emscripten_bind_btManifoldPoint__get_m_index0_p0,_emscripten_bind_btTriangleInfoMap__deSerialize_p1=Module._emscripten_bind_btTriangleInfoMap__deSerialize_p1=asm._emscripten_bind_btTriangleInfoMap__deSerialize_p1,_emscripten_bind_btDynamicsWorld__convexSweepTest_p4=Module._emscripten_bind_btDynamicsWorld__convexSweepTest_p4=asm._emscripten_bind_btDynamicsWorld__convexSweepTest_p4,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1,_emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0=Module._emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0=asm._emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1=Module._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1=asm._emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1,_emscripten_bind_btHingeConstraint__getRigidBodyA_p0=Module._emscripten_bind_btHingeConstraint__getRigidBodyA_p0=asm._emscripten_bind_btHingeConstraint__getRigidBodyA_p0,_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12=Module._emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12=asm._emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12,_emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1,_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0=Module._emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0=asm._emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0,_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1=Module._emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1=asm._emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1,_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0=Module._emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0=asm._emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0,_emscripten_bind_btCapsuleShape__getLocalScaling_p0=Module._emscripten_bind_btCapsuleShape__getLocalScaling_p0=asm._emscripten_bind_btCapsuleShape__getLocalScaling_p0,_emscripten_bind_btRaycastVehicle__getNumWheels_p0=Module._emscripten_bind_btRaycastVehicle__getNumWheels_p0=asm._emscripten_bind_btRaycastVehicle__getNumWheels_p0,_emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6=Module._emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6=asm._emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6,_emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0,_emscripten_bind_btConcaveShape__getMargin_p0=Module._emscripten_bind_btConcaveShape__getMargin_p0=asm._emscripten_bind_btConcaveShape__getMargin_p0,_emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1=Module._emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1=asm._emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1,_emscripten_bind_btBU_Simplex1to4__getAabb_p3=Module._emscripten_bind_btBU_Simplex1to4__getAabb_p3=asm._emscripten_bind_btBU_Simplex1to4__getAabb_p3,_emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1,_emscripten_bind_btManifoldPoint__get_m_partId0_p0=Module._emscripten_bind_btManifoldPoint__get_m_partId0_p0=asm._emscripten_bind_btManifoldPoint__get_m_partId0_p0,_emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1=Module._emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1=asm._emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1,_emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1=Module._emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1=asm._emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1,_emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2=Module._emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2=asm._emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2,_emscripten_bind_btCylinderShapeZ__getAabbSlow_p3=Module._emscripten_bind_btCylinderShapeZ__getAabbSlow_p3=asm._emscripten_bind_btCylinderShapeZ__getAabbSlow_p3,_emscripten_bind_btHingeConstraint__getUseFrameOffset_p0=Module._emscripten_bind_btHingeConstraint__getUseFrameOffset_p0=asm._emscripten_bind_btHingeConstraint__getUseFrameOffset_p0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0=Module._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0=asm._emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0,_emscripten_bind_btDynamicsWorld__convexSweepTest_p5=Module._emscripten_bind_btDynamicsWorld__convexSweepTest_p5=asm._emscripten_bind_btDynamicsWorld__convexSweepTest_p5,_emscripten_bind_btCylinderShape__isSoftBody_p0=Module._emscripten_bind_btCylinderShape__isSoftBody_p0=asm._emscripten_bind_btCylinderShape__isSoftBody_p0,_emscripten_bind_btCylinderShape__setMargin_p1=Module._emscripten_bind_btCylinderShape__setMargin_p1=asm._emscripten_bind_btCylinderShape__setMargin_p1,_emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0=Module._emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0=asm._emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0,_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0,_emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2=Module._emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2=asm._emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2,_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1=Module._emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1=asm._emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1,_emscripten_bind_btVector3__op_sub_p1=Module._emscripten_bind_btVector3__op_sub_p1=asm._emscripten_bind_btVector3__op_sub_p1,_emscripten_bind_btIndexedMesh__get_m_indexType_p0=Module._emscripten_bind_btIndexedMesh__get_m_indexType_p0=asm._emscripten_bind_btIndexedMesh__get_m_indexType_p0,_emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2=Module._emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2=asm._emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2,_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1=Module._emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1=asm._emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1,_emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0,_emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2=Module._emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2=asm._emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2,_emscripten_bind_btCapsuleShapeX__isInfinite_p0=Module._emscripten_bind_btCapsuleShapeX__isInfinite_p0=asm._emscripten_bind_btCapsuleShapeX__isInfinite_p0,_emscripten_bind_btCylinderShapeZ__isConvex_p0=Module._emscripten_bind_btCylinderShapeZ__isConvex_p0=asm._emscripten_bind_btCylinderShapeZ__isConvex_p0,_emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1=Module._emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1=asm._emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1,_emscripten_bind_btSliderConstraint__getAngularPos_p0=Module._emscripten_bind_btSliderConstraint__getAngularPos_p0=asm._emscripten_bind_btSliderConstraint__getAngularPos_p0,_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8=Module._emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8=asm._emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8,_emscripten_bind_btConvexInternalShape__isSoftBody_p0=Module._emscripten_bind_btConvexInternalShape__isSoftBody_p0=asm._emscripten_bind_btConvexInternalShape__isSoftBody_p0,_emscripten_bind_btMultiSphereShape__getBoundingSphere_p2=Module._emscripten_bind_btMultiSphereShape__getBoundingSphere_p2=asm._emscripten_bind_btMultiSphereShape__getBoundingSphere_p2,_emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1=Module._emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1=asm._emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1,_emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2=Module._emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2=asm._emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2,_emscripten_bind_btConvexHullShape__isPolyhedral_p0=Module._emscripten_bind_btConvexHullShape__isPolyhedral_p0=asm._emscripten_bind_btConvexHullShape__isPolyhedral_p0,_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1=Module._emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1=asm._emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1,_emscripten_bind_btSphereShape__getAabb_p3=Module._emscripten_bind_btSphereShape__getAabb_p3=asm._emscripten_bind_btSphereShape__getAabb_p3,_emscripten_bind_btCollisionObject__setFriction_p1=Module._emscripten_bind_btCollisionObject__setFriction_p1=asm._emscripten_bind_btCollisionObject__setFriction_p1,_emscripten_bind_btConvexHullShape__getMarginNV_p0=Module._emscripten_bind_btConvexHullShape__getMarginNV_p0=asm._emscripten_bind_btConvexHullShape__getMarginNV_p0,_emscripten_bind_btCylinderShapeZ__isPolyhedral_p0=Module._emscripten_bind_btCylinderShapeZ__isPolyhedral_p0=asm._emscripten_bind_btCylinderShapeZ__isPolyhedral_p0,_emscripten_bind_btBU_Simplex1to4__isConcave_p0=Module._emscripten_bind_btBU_Simplex1to4__isConcave_p0=asm._emscripten_bind_btBU_Simplex1to4__isConcave_p0,_emscripten_bind_btConvexShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConvexShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConvexShape__calculateTemporalAabb_p6,_emscripten_bind_btIDebugDraw__drawContactPoint_p5=Module._emscripten_bind_btIDebugDraw__drawContactPoint_p5=asm._emscripten_bind_btIDebugDraw__drawContactPoint_p5,_emscripten_bind_btConeShapeZ__isPolyhedral_p0=Module._emscripten_bind_btConeShapeZ__isPolyhedral_p0=asm._emscripten_bind_btConeShapeZ__isPolyhedral_p0,_emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1=Module._emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1=asm._emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1,_emscripten_bind_btContactConstraint__getUserConstraintPtr_p0=Module._emscripten_bind_btContactConstraint__getUserConstraintPtr_p0=asm._emscripten_bind_btContactConstraint__getUserConstraintPtr_p0,_emscripten_bind_btContactConstraint__buildJacobian_p0=Module._emscripten_bind_btContactConstraint__buildJacobian_p0=asm._emscripten_bind_btContactConstraint__buildJacobian_p0,_emscripten_bind_btRaycastVehicle__updateVehicle_p1=Module._emscripten_bind_btRaycastVehicle__updateVehicle_p1=asm._emscripten_bind_btRaycastVehicle__updateVehicle_p1,_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1=Module._emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1=asm._emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1,_emscripten_bind_btClock____destroy___p0=Module._emscripten_bind_btClock____destroy___p0=asm._emscripten_bind_btClock____destroy___p0,_emscripten_bind_btClock__btClock_p1=Module._emscripten_bind_btClock__btClock_p1=asm._emscripten_bind_btClock__btClock_p1,_emscripten_bind_btClock__btClock_p0=Module._emscripten_bind_btClock__btClock_p0=asm._emscripten_bind_btClock__btClock_p0,_emscripten_bind_btTriangleMesh__getNumTriangles_p0=Module._emscripten_bind_btTriangleMesh__getNumTriangles_p0=asm._emscripten_bind_btTriangleMesh__getNumTriangles_p0,_emscripten_bind_btHingeConstraint__getRigidBodyB_p0=Module._emscripten_bind_btHingeConstraint__getRigidBodyB_p0=asm._emscripten_bind_btHingeConstraint__getRigidBodyB_p0,_emscripten_bind_btCylinderShape__setUserPointer_p1=Module._emscripten_bind_btCylinderShape__setUserPointer_p1=asm._emscripten_bind_btCylinderShape__setUserPointer_p1,_emscripten_bind_btManifoldPoint__get_m_lifeTime_p0=Module._emscripten_bind_btManifoldPoint__get_m_lifeTime_p0=asm._emscripten_bind_btManifoldPoint__get_m_lifeTime_p0,_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0=Module._emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0=asm._emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0,_emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2=Module._emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2=asm._emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2,_emscripten_bind_btBroadphaseProxy__isCompound_p1=Module._emscripten_bind_btBroadphaseProxy__isCompound_p1=asm._emscripten_bind_btBroadphaseProxy__isCompound_p1,_emscripten_bind_btConvexInternalShape__getLocalScaling_p0=Module._emscripten_bind_btConvexInternalShape__getLocalScaling_p0=asm._emscripten_bind_btConvexInternalShape__getLocalScaling_p0,_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6=Module._emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6=asm._emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6,_emscripten_bind_btRigidBody__setUserPointer_p1=Module._emscripten_bind_btRigidBody__setUserPointer_p1=asm._emscripten_bind_btRigidBody__setUserPointer_p1,_emscripten_bind_btGhostObject__getBroadphaseHandle_p0=Module._emscripten_bind_btGhostObject__getBroadphaseHandle_p0=asm._emscripten_bind_btGhostObject__getBroadphaseHandle_p0,_emscripten_bind_btUniformScalingShape__isCompound_p0=Module._emscripten_bind_btUniformScalingShape__isCompound_p0=asm._emscripten_bind_btUniformScalingShape__isCompound_p0,_emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0=Module._emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0=asm._emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0,_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0=Module._emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0=asm._emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0,_emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1=Module._emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1=asm._emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1,_emscripten_bind_btQuadWord__z_p0=Module._emscripten_bind_btQuadWord__z_p0=asm._emscripten_bind_btQuadWord__z_p0,_emscripten_bind_btSerializer__allocate_p2=Module._emscripten_bind_btSerializer__allocate_p2=asm._emscripten_bind_btSerializer__allocate_p2,_emscripten_bind_btConvexShape__getAabbNonVirtual_p3=Module._emscripten_bind_btConvexShape__getAabbNonVirtual_p3=asm._emscripten_bind_btConvexShape__getAabbNonVirtual_p3,_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5=Module._emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5=asm._emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5,_emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3=Module._emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3=asm._emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3,_emscripten_bind_btGhostObject__getDeactivationTime_p0=Module._emscripten_bind_btGhostObject__getDeactivationTime_p0=asm._emscripten_bind_btGhostObject__getDeactivationTime_p0,_emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btManifoldResult__btManifoldResult_p2=Module._emscripten_bind_btManifoldResult__btManifoldResult_p2=asm._emscripten_bind_btManifoldResult__btManifoldResult_p2,_emscripten_bind_btManifoldResult__btManifoldResult_p0=Module._emscripten_bind_btManifoldResult__btManifoldResult_p0=asm._emscripten_bind_btManifoldResult__btManifoldResult_p0,_emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0=Module._emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0=asm._emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0,_emscripten_bind_btDbvtProxy__isPolyhedral_p1=Module._emscripten_bind_btDbvtProxy__isPolyhedral_p1=asm._emscripten_bind_btDbvtProxy__isPolyhedral_p1,_emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1=Module._emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1=asm._emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1,_emscripten_bind_btVector4__setMin_p1=Module._emscripten_bind_btVector4__setMin_p1=asm._emscripten_bind_btVector4__setMin_p1,_emscripten_bind_btManifoldPoint__set_m_index1_p1=Module._emscripten_bind_btManifoldPoint__set_m_index1_p1=asm._emscripten_bind_btManifoldPoint__set_m_index1_p1,_emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1=Module._emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1=asm._emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1,_emscripten_bind_btPoint2PointConstraint__getConstraintType_p0=Module._emscripten_bind_btPoint2PointConstraint__getConstraintType_p0=asm._emscripten_bind_btPoint2PointConstraint__getConstraintType_p0,_emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0,_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0=Module._emscripten_bind_btStaticPlaneShape__getLocalScaling_p0=asm._emscripten_bind_btStaticPlaneShape__getLocalScaling_p0,_emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1=Module._emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1=asm._emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1,_emscripten_bind_btOverlapCallback__processOverlap_p1=Module._emscripten_bind_btOverlapCallback__processOverlap_p1=asm._emscripten_bind_btOverlapCallback__processOverlap_p1,_emscripten_bind_btConeShape__calculateLocalInertia_p2=Module._emscripten_bind_btConeShape__calculateLocalInertia_p2=asm._emscripten_bind_btConeShape__calculateLocalInertia_p2,_emscripten_bind_btStackAlloc__destroy_p0=Module._emscripten_bind_btStackAlloc__destroy_p0=asm._emscripten_bind_btStackAlloc__destroy_p0,_emscripten_bind_btConeShapeX__getAngularMotionDisc_p0=Module._emscripten_bind_btConeShapeX__getAngularMotionDisc_p0=asm._emscripten_bind_btConeShapeX__getAngularMotionDisc_p0,_emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2=Module._emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2=asm._emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2,_emscripten_bind_btBroadphasePair__set_m_pProxy0_p1=Module._emscripten_bind_btBroadphasePair__set_m_pProxy0_p1=asm._emscripten_bind_btBroadphasePair__set_m_pProxy0_p1,_emscripten_bind_btPairCachingGhostObject__setActivationState_p1=Module._emscripten_bind_btPairCachingGhostObject__setActivationState_p1=asm._emscripten_bind_btPairCachingGhostObject__setActivationState_p1,_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0=Module._emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0=asm._emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0,_emscripten_bind_btSliderConstraint__testLinLimits_p0=Module._emscripten_bind_btSliderConstraint__testLinLimits_p0=asm._emscripten_bind_btSliderConstraint__testLinLimits_p0,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1=Module._emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1=asm._emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1,_emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1=Module._emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1=asm._emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1,_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0,_emscripten_bind_btConeShapeX__getHeight_p0=Module._emscripten_bind_btConeShapeX__getHeight_p0=asm._emscripten_bind_btConeShapeX__getHeight_p0,_emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0=Module._emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0=asm._emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0,_emscripten_bind_btMatrix3x3__cofac_p4=Module._emscripten_bind_btMatrix3x3__cofac_p4=asm._emscripten_bind_btMatrix3x3__cofac_p4,_emscripten_bind_btDbvtBroadphase__setAabb_p4=Module._emscripten_bind_btDbvtBroadphase__setAabb_p4=asm._emscripten_bind_btDbvtBroadphase__setAabb_p4,_emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1=Module._emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1=asm._emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1,_emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0=Module._emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0=asm._emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0,_emscripten_bind_btGhostObject__mergesSimulationIslands_p0=Module._emscripten_bind_btGhostObject__mergesSimulationIslands_p0=asm._emscripten_bind_btGhostObject__mergesSimulationIslands_p0,_emscripten_bind_btConeTwistConstraint__setParam_p2=Module._emscripten_bind_btConeTwistConstraint__setParam_p2=asm._emscripten_bind_btConeTwistConstraint__setParam_p2,_emscripten_bind_btPersistentManifold____destroy___p0=Module._emscripten_bind_btPersistentManifold____destroy___p0=asm._emscripten_bind_btPersistentManifold____destroy___p0,_emscripten_bind_btBoxShape__getBoundingSphere_p2=Module._emscripten_bind_btBoxShape__getBoundingSphere_p2=asm._emscripten_bind_btBoxShape__getBoundingSphere_p2,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0,_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0=Module._emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0=asm._emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0,_emscripten_bind_btCollisionShape__isCompound_p0=Module._emscripten_bind_btCollisionShape__isCompound_p0=asm._emscripten_bind_btCollisionShape__isCompound_p0,_emscripten_bind_btVector4__minAxis4_p0=Module._emscripten_bind_btVector4__minAxis4_p0=asm._emscripten_bind_btVector4__minAxis4_p0,_emscripten_bind_btBroadphasePair__set_m_pProxy1_p1=Module._emscripten_bind_btBroadphasePair__set_m_pProxy1_p1=asm._emscripten_bind_btBroadphasePair__set_m_pProxy1_p1,_emscripten_bind_btQuadWord__setMin_p1=Module._emscripten_bind_btQuadWord__setMin_p1=asm._emscripten_bind_btQuadWord__setMin_p1,_emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1=Module._emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1=asm._emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1,_emscripten_bind_btDbvtBroadphase__createProxy_p8=Module._emscripten_bind_btDbvtBroadphase__createProxy_p8=asm._emscripten_bind_btDbvtBroadphase__createProxy_p8,_emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2=Module._emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2=asm._emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2,_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0=Module._emscripten_bind_btDynamicsWorld__getConstraintSolver_p0=asm._emscripten_bind_btDynamicsWorld__getConstraintSolver_p0,_emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3=Module._emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3=asm._emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3,_emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0=Module._emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0=asm._emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0,_emscripten_bind_btQuaternion__inverse_p0=Module._emscripten_bind_btQuaternion__inverse_p0=asm._emscripten_bind_btQuaternion__inverse_p0,_emscripten_bind_btRigidBody__internalGetExtensionPointer_p0=Module._emscripten_bind_btRigidBody__internalGetExtensionPointer_p0=asm._emscripten_bind_btRigidBody__internalGetExtensionPointer_p0,_emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1,_emscripten_bind_btDynamicsWorld__objectQuerySingle_p8=Module._emscripten_bind_btDynamicsWorld__objectQuerySingle_p8=asm._emscripten_bind_btDynamicsWorld__objectQuerySingle_p8,_emscripten_bind_btCollisionObject__isStaticObject_p0=Module._emscripten_bind_btCollisionObject__isStaticObject_p0=asm._emscripten_bind_btCollisionObject__isStaticObject_p0,_emscripten_bind_btCapsuleShape__getBoundingSphere_p2=Module._emscripten_bind_btCapsuleShape__getBoundingSphere_p2=asm._emscripten_bind_btCapsuleShape__getBoundingSphere_p2,_emscripten_bind_btStorageResult__setShapeIdentifiersB_p2=Module._emscripten_bind_btStorageResult__setShapeIdentifiersB_p2=asm._emscripten_bind_btStorageResult__setShapeIdentifiersB_p2,_emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2=Module._emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2=asm._emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2,_emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0,_emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0=Module._emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0=asm._emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0,_emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2=Module._emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2=asm._emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2,_emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0=Module._emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0=asm._emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0,_emscripten_bind_btGeneric6DofConstraint__getParam_p2=Module._emscripten_bind_btGeneric6DofConstraint__getParam_p2=asm._emscripten_bind_btGeneric6DofConstraint__getParam_p2,_emscripten_bind_btVector3__setX_p1=Module._emscripten_bind_btVector3__setX_p1=asm._emscripten_bind_btVector3__setX_p1,_emscripten_bind_btSphereShape__getBoundingSphere_p2=Module._emscripten_bind_btSphereShape__getBoundingSphere_p2=asm._emscripten_bind_btSphereShape__getBoundingSphere_p2,_emscripten_bind_btGeneric6DofConstraint__getParam_p1=Module._emscripten_bind_btGeneric6DofConstraint__getParam_p1=asm._emscripten_bind_btGeneric6DofConstraint__getParam_p1,_emscripten_bind_btActionInterface__updateAction_p2=Module._emscripten_bind_btActionInterface__updateAction_p2=asm._emscripten_bind_btActionInterface__updateAction_p2,_emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0,_emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0=Module._emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0=asm._emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0,_emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1=Module._emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1=asm._emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1,_emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0=Module._emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0=asm._emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0,_emscripten_bind_btQuantizedBvh__buildInternal_p0=Module._emscripten_bind_btQuantizedBvh__buildInternal_p0=asm._emscripten_bind_btQuantizedBvh__buildInternal_p0,_emscripten_bind_btConvexShape__getMargin_p0=Module._emscripten_bind_btConvexShape__getMargin_p0=asm._emscripten_bind_btConvexShape__getMargin_p0,_emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1=Module._emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1=asm._emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1,_emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0=Module._emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0=asm._emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0,_emscripten_bind_btConeShape__setMargin_p1=Module._emscripten_bind_btConeShape__setMargin_p1=asm._emscripten_bind_btConeShape__setMargin_p1,_emscripten_bind_btStackAlloc__create_p1=Module._emscripten_bind_btStackAlloc__create_p1=asm._emscripten_bind_btStackAlloc__create_p1,_emscripten_bind_btRigidBody__getAnisotropicFriction_p0=Module._emscripten_bind_btRigidBody__getAnisotropicFriction_p0=asm._emscripten_bind_btRigidBody__getAnisotropicFriction_p0,_emscripten_bind_btBU_Simplex1to4__isSoftBody_p0=Module._emscripten_bind_btBU_Simplex1to4__isSoftBody_p0=asm._emscripten_bind_btBU_Simplex1to4__isSoftBody_p0,_emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4=Module._emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4=asm._emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4,_emscripten_bind_btCollisionShape__calculateLocalInertia_p2=Module._emscripten_bind_btCollisionShape__calculateLocalInertia_p2=asm._emscripten_bind_btCollisionShape__calculateLocalInertia_p2,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6=Module._emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6=asm._emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6,_emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0,_emscripten_bind_btQuaternion__length2_p0=Module._emscripten_bind_btQuaternion__length2_p0=asm._emscripten_bind_btQuaternion__length2_p0,_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0=Module._emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0=asm._emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0,_emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1=Module._emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1=asm._emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1,_emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4=Module._emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4=asm._emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4,_emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1=Module._emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1=asm._emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1,_emscripten_bind_btRaycastVehicle__getForwardAxis_p0=Module._emscripten_bind_btRaycastVehicle__getForwardAxis_p0=asm._emscripten_bind_btRaycastVehicle__getForwardAxis_p0,_emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0=Module._emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0=asm._emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0,_emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1=Module._emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1=asm._emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1,_emscripten_bind_btStaticPlaneShape__getUserPointer_p0=Module._emscripten_bind_btStaticPlaneShape__getUserPointer_p0=asm._emscripten_bind_btStaticPlaneShape__getUserPointer_p0,_emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0=Module._emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0=asm._emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0,_emscripten_bind_btSimpleDynamicsWorld__contactTest_p2=Module._emscripten_bind_btSimpleDynamicsWorld__contactTest_p2=asm._emscripten_bind_btSimpleDynamicsWorld__contactTest_p2,_emscripten_bind_btGhostObject__internalGetExtensionPointer_p0=Module._emscripten_bind_btGhostObject__internalGetExtensionPointer_p0=asm._emscripten_bind_btGhostObject__internalGetExtensionPointer_p0,_emscripten_bind_btStridingMeshInterface__getNumSubParts_p0=Module._emscripten_bind_btStridingMeshInterface__getNumSubParts_p0=asm._emscripten_bind_btStridingMeshInterface__getNumSubParts_p0,_emscripten_bind_btVector3__getSkewSymmetricMatrix_p3=Module._emscripten_bind_btVector3__getSkewSymmetricMatrix_p3=asm._emscripten_bind_btVector3__getSkewSymmetricMatrix_p3,_emscripten_bind_btGhostObject__setBroadphaseHandle_p1=Module._emscripten_bind_btGhostObject__setBroadphaseHandle_p1=asm._emscripten_bind_btGhostObject__setBroadphaseHandle_p1,_emscripten_bind_ConcreteContactResultCallback____destroy___p0=Module._emscripten_bind_ConcreteContactResultCallback____destroy___p0=asm._emscripten_bind_ConcreteContactResultCallback____destroy___p0,_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0,_emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0=Module._emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0=asm._emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0,_emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1=Module._emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1=asm._emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1,_emscripten_bind_btHingeConstraint__setFrames_p2=Module._emscripten_bind_btHingeConstraint__setFrames_p2=asm._emscripten_bind_btHingeConstraint__setFrames_p2,_emscripten_bind_btBroadphaseAabbCallback__process_p1=Module._emscripten_bind_btBroadphaseAabbCallback__process_p1=asm._emscripten_bind_btBroadphaseAabbCallback__process_p1,_emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1=Module._emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1=asm._emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1,_emscripten_bind_btCylinderShape__getAabb_p3=Module._emscripten_bind_btCylinderShape__getAabb_p3=asm._emscripten_bind_btCylinderShape__getAabb_p3,_emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2=Module._emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2=asm._emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2,_emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0=Module._emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0=asm._emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0,_emscripten_bind_btRaycastVehicle__getUserConstraintId_p0=Module._emscripten_bind_btRaycastVehicle__getUserConstraintId_p0=asm._emscripten_bind_btRaycastVehicle__getUserConstraintId_p0,_emscripten_bind_btEmptyShape__isInfinite_p0=Module._emscripten_bind_btEmptyShape__isInfinite_p0=asm._emscripten_bind_btEmptyShape__isInfinite_p0,_emscripten_bind_btAngularLimit__getSign_p0=Module._emscripten_bind_btAngularLimit__getSign_p0=asm._emscripten_bind_btAngularLimit__getSign_p0,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1=Module._emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1=asm._emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1,_emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1=Module._emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1=asm._emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1,_emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3=Module._emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3=asm._emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3,_emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1=Module._emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1=asm._emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1,_emscripten_bind_btVector3__cross_p1=Module._emscripten_bind_btVector3__cross_p1=asm._emscripten_bind_btVector3__cross_p1,_emscripten_bind_btCylinderShapeZ__serialize_p2=Module._emscripten_bind_btCylinderShapeZ__serialize_p2=asm._emscripten_bind_btCylinderShapeZ__serialize_p2,_emscripten_bind_btCylinderShapeZ__isSoftBody_p0=Module._emscripten_bind_btCylinderShapeZ__isSoftBody_p0=asm._emscripten_bind_btCylinderShapeZ__isSoftBody_p0,_emscripten_bind_btMultiSphereShape__serialize_p2=Module._emscripten_bind_btMultiSphereShape__serialize_p2=asm._emscripten_bind_btMultiSphereShape__serialize_p2,_emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0=Module._emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0=asm._emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0,_emscripten_bind_btVector4__length_p0=Module._emscripten_bind_btVector4__length_p0=asm._emscripten_bind_btVector4__length_p0,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3=Module._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3=asm._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2=Module._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2=asm._emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1=Module._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1=asm._emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1,_emscripten_bind_btCollisionShape__isNonMoving_p0=Module._emscripten_bind_btCollisionShape__isNonMoving_p0=asm._emscripten_bind_btCollisionShape__isNonMoving_p0,_emscripten_bind_btConvexShape__localGetSupportingVertex_p1=Module._emscripten_bind_btConvexShape__localGetSupportingVertex_p1=asm._emscripten_bind_btConvexShape__localGetSupportingVertex_p1,_emscripten_bind_btConvexTriangleMeshShape____destroy___p0=Module._emscripten_bind_btConvexTriangleMeshShape____destroy___p0=asm._emscripten_bind_btConvexTriangleMeshShape____destroy___p0,_emscripten_bind_btRigidBody__setIslandTag_p1=Module._emscripten_bind_btRigidBody__setIslandTag_p1=asm._emscripten_bind_btRigidBody__setIslandTag_p1,_emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0,_emscripten_bind_btPolyhedralConvexShape__isInfinite_p0=Module._emscripten_bind_btPolyhedralConvexShape__isInfinite_p0=asm._emscripten_bind_btPolyhedralConvexShape__isInfinite_p0,_emscripten_bind_btTriangleMesh__unLockVertexBase_p1=Module._emscripten_bind_btTriangleMesh__unLockVertexBase_p1=asm._emscripten_bind_btTriangleMesh__unLockVertexBase_p1,_emscripten_bind_btQuaternion__setMin_p1=Module._emscripten_bind_btQuaternion__setMin_p1=asm._emscripten_bind_btQuaternion__setMin_p1,_emscripten_bind_btConeShapeZ__getHeight_p0=Module._emscripten_bind_btConeShapeZ__getHeight_p0=asm._emscripten_bind_btConeShapeZ__getHeight_p0,_emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1=Module._emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1=asm._emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1,_emscripten_bind_btAngularLimit__getRelaxationFactor_p0=Module._emscripten_bind_btAngularLimit__getRelaxationFactor_p0=asm._emscripten_bind_btAngularLimit__getRelaxationFactor_p0,_emscripten_bind_btSphereShape__isInfinite_p0=Module._emscripten_bind_btSphereShape__isInfinite_p0=asm._emscripten_bind_btSphereShape__isInfinite_p0,_emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0=Module._emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0=asm._emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0,_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0,_emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0=Module._emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0=asm._emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0,_emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1=Module._emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1=asm._emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1,_emscripten_bind_btBoxShape__getNumVertices_p0=Module._emscripten_bind_btBoxShape__getNumVertices_p0=asm._emscripten_bind_btBoxShape__getNumVertices_p0,_emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0=Module._emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0=asm._emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0,_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0=Module._emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0=asm._emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0,_emscripten_bind_btBU_Simplex1to4__getName_p0=Module._emscripten_bind_btBU_Simplex1to4__getName_p0=asm._emscripten_bind_btBU_Simplex1to4__getName_p0,_emscripten_bind_btStorageResult__addContactPoint_p3=Module._emscripten_bind_btStorageResult__addContactPoint_p3=asm._emscripten_bind_btStorageResult__addContactPoint_p3,_emscripten_bind_btHingeConstraint__getSolveLimit_p0=Module._emscripten_bind_btHingeConstraint__getSolveLimit_p0=asm._emscripten_bind_btHingeConstraint__getSolveLimit_p0,_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0=Module._emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0=asm._emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0,_emscripten_bind_btConvexTriangleMeshShape__serialize_p2=Module._emscripten_bind_btConvexTriangleMeshShape__serialize_p2=asm._emscripten_bind_btConvexTriangleMeshShape__serialize_p2,_emscripten_bind_btDispatcher__getNumManifolds_p0=Module._emscripten_bind_btDispatcher__getNumManifolds_p0=asm._emscripten_bind_btDispatcher__getNumManifolds_p0,_emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0=Module._emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0=asm._emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0,_emscripten_bind_btSliderConstraint__getInfo1_p1=Module._emscripten_bind_btSliderConstraint__getInfo1_p1=asm._emscripten_bind_btSliderConstraint__getInfo1_p1,_emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0=Module._emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0=asm._emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0,_emscripten_bind_btGhostObject____destroy___p0=Module._emscripten_bind_btGhostObject____destroy___p0=asm._emscripten_bind_btGhostObject____destroy___p0,_emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0=Module._emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0=asm._emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0,_emscripten_bind_btConvexShape__serializeSingleShape_p1=Module._emscripten_bind_btConvexShape__serializeSingleShape_p1=asm._emscripten_bind_btConvexShape__serializeSingleShape_p1,_emscripten_bind_btCapsuleShapeX____destroy___p0=Module._emscripten_bind_btCapsuleShapeX____destroy___p0=asm._emscripten_bind_btCapsuleShapeX____destroy___p0,_emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=Module._emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3=asm._emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0=Module._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0=asm._emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0,_emscripten_bind_btUniformScalingShape__isInfinite_p0=Module._emscripten_bind_btUniformScalingShape__isInfinite_p0=asm._emscripten_bind_btUniformScalingShape__isInfinite_p0,_emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6=Module._emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6=asm._emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6,_emscripten_bind_btBoxShape__getAabb_p3=Module._emscripten_bind_btBoxShape__getAabb_p3=asm._emscripten_bind_btBoxShape__getAabb_p3,_emscripten_bind_btHingeConstraint__setParam_p2=Module._emscripten_bind_btHingeConstraint__setParam_p2=asm._emscripten_bind_btHingeConstraint__setParam_p2,_emscripten_bind_btUniversalConstraint__isLimited_p1=Module._emscripten_bind_btUniversalConstraint__isLimited_p1=asm._emscripten_bind_btUniversalConstraint__isLimited_p1,_emscripten_bind_btCapsuleShapeX__getAabb_p3=Module._emscripten_bind_btCapsuleShapeX__getAabb_p3=asm._emscripten_bind_btCapsuleShapeX__getAabb_p3,_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1=Module._emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1=asm._emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1,_emscripten_bind_btHinge2Constraint__getObjectType_p0=Module._emscripten_bind_btHinge2Constraint__getObjectType_p0=asm._emscripten_bind_btHinge2Constraint__getObjectType_p0,_emscripten_bind_btManifoldPoint__setDistance_p1=Module._emscripten_bind_btManifoldPoint__setDistance_p1=asm._emscripten_bind_btManifoldPoint__setDistance_p1,_emscripten_bind_btGhostObject__checkCollideWith_p1=Module._emscripten_bind_btGhostObject__checkCollideWith_p1=asm._emscripten_bind_btGhostObject__checkCollideWith_p1,_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1=Module._emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1=asm._emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1,_emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3=Module._emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3=asm._emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3,_emscripten_bind_btMatrix3x3__setRotation_p1=Module._emscripten_bind_btMatrix3x3__setRotation_p1=asm._emscripten_bind_btMatrix3x3__setRotation_p1,_emscripten_bind_btVector4__btVector4_p0=Module._emscripten_bind_btVector4__btVector4_p0=asm._emscripten_bind_btVector4__btVector4_p0,_emscripten_bind_btManifoldPoint__set_m_partId0_p1=Module._emscripten_bind_btManifoldPoint__set_m_partId0_p1=asm._emscripten_bind_btManifoldPoint__set_m_partId0_p1,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1=Module._emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1=asm._emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1,_emscripten_bind_btVector4__btVector4_p4=Module._emscripten_bind_btVector4__btVector4_p4=asm._emscripten_bind_btVector4__btVector4_p4,_emscripten_bind_btGhostObject__getCollisionFlags_p0=Module._emscripten_bind_btGhostObject__getCollisionFlags_p0=asm._emscripten_bind_btGhostObject__getCollisionFlags_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1,_emscripten_bind_btGeneric6DofConstraint__updateRHS_p1=Module._emscripten_bind_btGeneric6DofConstraint__updateRHS_p1=asm._emscripten_bind_btGeneric6DofConstraint__updateRHS_p1,_emscripten_bind_btContactConstraint__serialize_p2=Module._emscripten_bind_btContactConstraint__serialize_p2=asm._emscripten_bind_btContactConstraint__serialize_p2,_emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4=Module._emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4=asm._emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4,_emscripten_bind_btMultiSphereShape__isNonMoving_p0=Module._emscripten_bind_btMultiSphereShape__isNonMoving_p0=asm._emscripten_bind_btMultiSphereShape__isNonMoving_p0,_emscripten_bind_btHinge2Constraint__enableSpring_p2=Module._emscripten_bind_btHinge2Constraint__enableSpring_p2=asm._emscripten_bind_btHinge2Constraint__enableSpring_p2,_emscripten_bind_btCapsuleShapeX__setLocalScaling_p1=Module._emscripten_bind_btCapsuleShapeX__setLocalScaling_p1=asm._emscripten_bind_btCapsuleShapeX__setLocalScaling_p1,_emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0=Module._emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0=asm._emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0,_emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0=Module._emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0=asm._emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0,_emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0=Module._emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0=asm._emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0,_emscripten_bind_btHinge2Constraint__getInfo2_p1=Module._emscripten_bind_btHinge2Constraint__getInfo2_p1=asm._emscripten_bind_btHinge2Constraint__getInfo2_p1,_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4=Module._emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4=asm._emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1=Module._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1=asm._emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0=Module._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0=asm._emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0,_emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1=Module._emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1=asm._emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1,_emscripten_bind_btQuantizedBvh__deSerializeFloat_p1=Module._emscripten_bind_btQuantizedBvh__deSerializeFloat_p1=asm._emscripten_bind_btQuantizedBvh__deSerializeFloat_p1,_emscripten_bind_btConvexTriangleMeshShape__isConcave_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isConcave_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isConcave_p0,_emscripten_bind_btRigidBody__setAngularFactor_p1=Module._emscripten_bind_btRigidBody__setAngularFactor_p1=asm._emscripten_bind_btRigidBody__setAngularFactor_p1,_emscripten_bind_btAngularLimit__btAngularLimit_p0=Module._emscripten_bind_btAngularLimit__btAngularLimit_p0=asm._emscripten_bind_btAngularLimit__btAngularLimit_p0,_emscripten_bind_btCapsuleShapeZ__setUserPointer_p1=Module._emscripten_bind_btCapsuleShapeZ__setUserPointer_p1=asm._emscripten_bind_btCapsuleShapeZ__setUserPointer_p1,_emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1=Module._emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1=asm._emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1,_emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1=Module._emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1=asm._emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1,_emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5=Module._emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5=asm._emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5,_emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1=Module._emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1=asm._emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1,_emscripten_bind_btContinuousDynamicsWorld__serialize_p1=Module._emscripten_bind_btContinuousDynamicsWorld__serialize_p1=asm._emscripten_bind_btContinuousDynamicsWorld__serialize_p1,_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2=Module._emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2=asm._emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2,_emscripten_bind_btSphereShape__getMarginNonVirtual_p0=Module._emscripten_bind_btSphereShape__getMarginNonVirtual_p0=asm._emscripten_bind_btSphereShape__getMarginNonVirtual_p0,_emscripten_bind_btCollisionDispatcher__needsResponse_p2=Module._emscripten_bind_btCollisionDispatcher__needsResponse_p2=asm._emscripten_bind_btCollisionDispatcher__needsResponse_p2,_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btPoint2PointConstraint__getParam_p2=Module._emscripten_bind_btPoint2PointConstraint__getParam_p2=asm._emscripten_bind_btPoint2PointConstraint__getParam_p2,_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btCollisionObject__getInternalType_p0=Module._emscripten_bind_btCollisionObject__getInternalType_p0=asm._emscripten_bind_btCollisionObject__getInternalType_p0,_emscripten_bind_btPoint2PointConstraint__getParam_p1=Module._emscripten_bind_btPoint2PointConstraint__getParam_p1=asm._emscripten_bind_btPoint2PointConstraint__getParam_p1,_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0=Module._emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0=asm._emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0,_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1=Module._emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1=asm._emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1,_emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1=Module._emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1=asm._emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1,_emscripten_bind_btUniformScalingShape__setMargin_p1=Module._emscripten_bind_btUniformScalingShape__setMargin_p1=asm._emscripten_bind_btUniformScalingShape__setMargin_p1,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2=Module._emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2=asm._emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2,_emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0=Module._emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0=asm._emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0,_emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1=Module._emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1=asm._emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1,_emscripten_bind_btOptimizedBvh__setQuantizationValues_p2=Module._emscripten_bind_btOptimizedBvh__setQuantizationValues_p2=asm._emscripten_bind_btOptimizedBvh__setQuantizationValues_p2,_emscripten_bind_btOptimizedBvh__setQuantizationValues_p3=Module._emscripten_bind_btOptimizedBvh__setQuantizationValues_p3=asm._emscripten_bind_btOptimizedBvh__setQuantizationValues_p3,_emscripten_bind_btMatrix3x3__setValue_p9=Module._emscripten_bind_btMatrix3x3__setValue_p9=asm._emscripten_bind_btMatrix3x3__setValue_p9,_emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1=Module._emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1=asm._emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1,_emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1=Module._emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1=asm._emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1,_emscripten_bind_btMatrix3x3__op_mul_p1=Module._emscripten_bind_btMatrix3x3__op_mul_p1=asm._emscripten_bind_btMatrix3x3__op_mul_p1,runPostSets=Module.runPostSets=asm.runPostSets,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiif=Module.dynCall_iiiiiif=asm.dynCall_iiiiiif,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_viifii=Module.dynCall_viifii=asm.dynCall_viifii,dynCall_viiiifffffif=Module.dynCall_viiiifffffif=asm.dynCall_viiiifffffif,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_iiiiiffii=Module.dynCall_iiiiiffii=asm.dynCall_iiiiiffii,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_viiifii=Module.dynCall_viiifii=asm.dynCall_viiifii,dynCall_ifffffffff=Module.dynCall_ifffffffff=asm.dynCall_ifffffffff,dynCall_viiiif=Module.dynCall_viiiif=asm.dynCall_viiiif,dynCall_viiiiffffii=Module.dynCall_viiiiffffii=asm.dynCall_viiiiffffii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiifif=Module.dynCall_iiiiiiifif=asm.dynCall_iiiiiiifif,dynCall_vifffi=Module.dynCall_vifffi=asm.dynCall_vifffi,dynCall_ifiii=Module.dynCall_ifiii=asm.dynCall_ifiii,dynCall_viifi=Module.dynCall_viifi=asm.dynCall_viifi,dynCall_viiiiiiiii=Module.dynCall_viiiiiiiii=asm.dynCall_viiiiiiiii,dynCall_viiiiiiff=Module.dynCall_viiiiiiff=asm.dynCall_viiiiiiff,dynCall_iiiifiii=Module.dynCall_iiiifiii=asm.dynCall_iiiifiii,dynCall_iiiiiiiiiiiiii=Module.dynCall_iiiiiiiiiiiiii=asm.dynCall_iiiiiiiiiiiiii,dynCall_viffff=Module.dynCall_viffff=asm.dynCall_viffff,dynCall_viffiii=Module.dynCall_viffiii=asm.dynCall_viffiii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_fififii=Module.dynCall_fififii=asm.dynCall_fififii,dynCall_fiiiiiiiiiii=Module.dynCall_fiiiiiiiiiii=asm.dynCall_fiiiiiiiiiii,dynCall_fiifii=Module.dynCall_fiifii=asm.dynCall_fiifii,dynCall_ifff=Module.dynCall_ifff=asm.dynCall_ifff,dynCall_viiff=Module.dynCall_viiff=asm.dynCall_viiff,dynCall_iifi=Module.dynCall_iifi=asm.dynCall_iifi,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiifffffi=Module.dynCall_viiiifffffi=asm.dynCall_viiiifffffi,dynCall_fif=Module.dynCall_fif=asm.dynCall_fif,dynCall_iiiiff=Module.dynCall_iiiiff=asm.dynCall_iiiiff,dynCall_viff=Module.dynCall_viff=asm.dynCall_viff,dynCall_vifi=Module.dynCall_vifi=asm.dynCall_vifi,dynCall_viiiiif=Module.dynCall_viiiiif=asm.dynCall_viiiiif,dynCall_vifff=Module.dynCall_vifff=asm.dynCall_vifff,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_fiiff=Module.dynCall_fiiff=asm.dynCall_fiiff,dynCall_iiif=Module.dynCall_iiif=asm.dynCall_iiif,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiiiiii=Module.dynCall_viiiiiiii=asm.dynCall_viiiiiiii,dynCall_viffffff=Module.dynCall_viffffff=asm.dynCall_viffffff,dynCall_fiii=Module.dynCall_fiii=asm.dynCall_fiii,dynCall_iiiiiiiiii=Module.dynCall_iiiiiiiiii=asm.dynCall_iiiiiiiiii,dynCall_fiif=Module.dynCall_fiif=asm.dynCall_fiif,dynCall_fiiiiiiiiii=Module.dynCall_fiiiiiiiiii=asm.dynCall_fiiiiiiiiii,dynCall_ifii=Module.dynCall_ifii=asm.dynCall_ifii,dynCall_fiffiiiiiii=Module.dynCall_fiffiiiiiii=asm.dynCall_fiffiiiiiii,dynCall_iiiiiiiiiiiii=Module.dynCall_iiiiiiiiiiiii=asm.dynCall_iiiiiiiiiiiii,dynCall_fiiiii=Module.dynCall_fiiiii=asm.dynCall_fiiiii,dynCall_iif=Module.dynCall_iif=asm.dynCall_iif,dynCall_if=Module.dynCall_if=asm.dynCall_if,dynCall_vifffff=Module.dynCall_vifffff=asm.dynCall_vifffff,dynCall_viiiiiiiif=Module.dynCall_viiiiiiiif=asm.dynCall_viiiiiiiif,dynCall_vifii=Module.dynCall_vifii=asm.dynCall_vifii,dynCall_fi=Module.dynCall_fi=asm.dynCall_fi,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_viiiiiiif=Module.dynCall_viiiiiiif=asm.dynCall_viiiiiiif,dynCall_fii=Module.dynCall_fii=asm.dynCall_fii,dynCall_vifffffffff=Module.dynCall_vifffffffff=asm.dynCall_vifffffffff,dynCall_fiiiiiiii=Module.dynCall_fiiiiiiii=asm.dynCall_fiiiiiiii,dynCall_iifif=Module.dynCall_iifif=asm.dynCall_iifif,dynCall_iffff=Module.dynCall_iffff=asm.dynCall_iffff,dynCall_viiiiffffiif=Module.dynCall_viiiiffffiif=asm.dynCall_viiiiffffiif,dynCall_iiiiif=Module.dynCall_iiiiif=asm.dynCall_iiiiif,dynCall_iiff=Module.dynCall_iiff=asm.dynCall_iiff,dynCall_viiif=Module.dynCall_viiif=asm.dynCall_viiif,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_viiiifii=Module.dynCall_viiiifii=asm.dynCall_viiiifii,dynCall_iiiifffiii=Module.dynCall_iiiifffiii=asm.dynCall_iiiifffiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iff=Module.dynCall_iff=asm.dynCall_iff,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viif=Module.dynCall_viif=asm.dynCall_viif,dynCall_iiiif=Module.dynCall_iiiif=asm.dynCall_iiiif,dynCall_fiiifii=Module.dynCall_fiiifii=asm.dynCall_fiiifii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=function(e){return asm.stackAlloc(e)},Runtime.stackSave=function(){return asm.stackSave()},Runtime.stackRestore=function(e){asm.stackRestore(e)};var i64Math=null,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null;function run(e){function t(){ensureInitRuntime(),preMain(),calledRun=!0,Module._main&&shouldRunNow&&Module.callMain(e),postRun()}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0?Module.printErr("run() called, but dependencies remain, so not running"):(preRun(),runDependencies>0||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),ABORT||t()}),1)):t()))}function exit(e){throw ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),new ExitStatus(e)}function abort(e){throw e&&(Module.print(e),Module.printErr(e)),ABORT=!0,EXITSTATUS=1,"abort() at "+(new Error).stack}if(Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ENVIRONMENT_IS_WEB&&null!==preloadStartTime&&Module.printErr("preload time: "+(Date.now()-preloadStartTime)+" ms"),ensureInitRuntime();var t=e.length+1;function i(){for(var e=0;e<3;e++)n.push(0)}var n=[allocate(intArrayFromString("/bin/this.program"),"i8",ALLOC_NORMAL)];i();for(var _=0;_<t-1;_+=1)n.push(allocate(intArrayFromString(e[_]),"i8",ALLOC_NORMAL)),i();n.push(0),n=allocate(n,"i32",ALLOC_NORMAL),initialStackTop=STACKTOP;try{var r=Module._main(t,n,0);Module.noExitRuntime||exit(r)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e}},Module.run=Module.run=run,Module.exit=Module.exit=exit,Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run();var Object__cache={};function wrapPointer(e,t){var i=t?t.prototype.__cache__:Object__cache,n=i[e];return n||(t=t||Object,(n=Object.create(t.prototype)).ptr=e,n.__class__=t,i[e]=n)}function castObject(e,t){return wrapPointer(e.ptr,t)}function destroy(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),e.__class__!==Object?delete e.__class__.prototype.__cache__[e.ptr]:delete Object__cache[e.ptr]}function compare(e,t){return e.ptr===t.ptr}function getPointer(e){return e.ptr}function getClass(e){return e.__class__}function customizeVTable(e,t){for(var i=getValue(e.ptr,"void*"),n=0;getValue(i+Runtime.QUANTUM_SIZE*n,"void*");)n++;var _,r=_malloc(n*Runtime.QUANTUM_SIZE);setValue(e.ptr,r,"void*");for(var o=[],s=0;s<n;s++)!function(e){var t=Runtime.addFunction((function(){_=e}));setValue(r+Runtime.QUANTUM_SIZE*s,t,"void*"),o.push(t)}(s);var a=[{ptr:0}];t.forEach((function(t){for(;;)try{t.original.apply(e,a);break}catch(e){a.push(a[0])}t.originalIndex=getValue(i+_*Runtime.QUANTUM_SIZE,"void*")}));for(s=0;s<n;s++)Runtime.removeFunction(o[s]);var p={};t.forEach((function(e){p[e.originalIndex]=Runtime.addFunction(e.replacement)}));for(s=0;s<n;s++){var l=getValue(i+Runtime.QUANTUM_SIZE*s,"void*");l in p&&(l=p[l]),setValue(r+Runtime.QUANTUM_SIZE*s,l,"void*")}return e}function ensureString(e){return"number"==typeof e?e:allocate(intArrayFromString(e),"i8",ALLOC_STACK)}function btMatrix3x3(e,t,i,n,_,r,o,s,a){this.ptr=void 0===e?_emscripten_bind_btMatrix3x3__btMatrix3x3_p0():void 0===t?_emscripten_bind_btMatrix3x3__btMatrix3x3_p1(e.ptr):_emscripten_bind_btMatrix3x3__btMatrix3x3_p9(e,t,i,n,_,r,o,s,a),btMatrix3x3.prototype.__cache__[this.ptr]=this,this.__class__=btMatrix3x3}function btDispatcherInfo(){this.ptr=_emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0(),btDispatcherInfo.prototype.__cache__[this.ptr]=this,this.__class__=btDispatcherInfo}function btCapsuleShape(e,t){this.ptr=_emscripten_bind_btCapsuleShape__btCapsuleShape_p2(e,t),btCapsuleShape.prototype.__cache__[this.ptr]=this,this.__class__=btCapsuleShape}function btConvexHullShape(e,t,i){this.ptr=void 0===e?_emscripten_bind_btConvexHullShape__btConvexHullShape_p0():void 0===t?_emscripten_bind_btConvexHullShape__btConvexHullShape_p1(e):void 0===i?_emscripten_bind_btConvexHullShape__btConvexHullShape_p2(e,t):_emscripten_bind_btConvexHullShape__btConvexHullShape_p3(e,t,i),btConvexHullShape.prototype.__cache__[this.ptr]=this,this.__class__=btConvexHullShape}function btTypedObject(e){this.ptr=_emscripten_bind_btTypedObject__btTypedObject_p1(e),btTypedObject.prototype.__cache__[this.ptr]=this,this.__class__=btTypedObject}function btIndexedMesh(){this.ptr=_emscripten_bind_btIndexedMesh__btIndexedMesh_p0(),btIndexedMesh.prototype.__cache__[this.ptr]=this,this.__class__=btIndexedMesh}function btCollisionObject(){this.ptr=_emscripten_bind_btCollisionObject__btCollisionObject_p0(),btCollisionObject.prototype.__cache__[this.ptr]=this,this.__class__=btCollisionObject}function btConvexTriangleMeshShape(e,t){this.ptr=void 0===t?_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1(e.ptr):_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2(e.ptr,t),btConvexTriangleMeshShape.prototype.__cache__[this.ptr]=this,this.__class__=btConvexTriangleMeshShape}function btBroadphaseInterface(){throw"btBroadphaseInterface is abstract!"}function btAngularLimit(){this.ptr=_emscripten_bind_btAngularLimit__btAngularLimit_p0(),btAngularLimit.prototype.__cache__[this.ptr]=this,this.__class__=btAngularLimit}function btDefaultCollisionConfiguration(e){this.ptr=void 0===e?_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0():_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1(e.ptr),btDefaultCollisionConfiguration.prototype.__cache__[this.ptr]=this,this.__class__=btDefaultCollisionConfiguration}function ContactResultCallback(){throw"ContactResultCallback is abstract!"}function btSphereSphereCollisionAlgorithm(e,t,i,n){this.ptr=void 0===t?_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1(e.ptr):_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4(e.ptr,t.ptr,i.ptr,n.ptr),btSphereSphereCollisionAlgorithm.prototype.__cache__[this.ptr]=this,this.__class__=btSphereSphereCollisionAlgorithm}function btSimpleBroadphase(e,t){this.ptr=void 0===e?_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0():void 0===t?_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1(e):_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2(e,t.ptr),btSimpleBroadphase.prototype.__cache__[this.ptr]=this,this.__class__=btSimpleBroadphase}function btCollisionConfiguration(){throw"btCollisionConfiguration is abstract!"}function btPersistentManifold(e,t,i,n,_){this.ptr=void 0===e?_emscripten_bind_btPersistentManifold__btPersistentManifold_p0():_emscripten_bind_btPersistentManifold__btPersistentManifold_p5(e,t,i,n,_),btPersistentManifold.prototype.__cache__[this.ptr]=this,this.__class__=btPersistentManifold}function btNodeOverlapCallback(){throw"btNodeOverlapCallback is abstract!"}function btCompoundShape(e){this.ptr=void 0===e?_emscripten_bind_btCompoundShape__btCompoundShape_p0():_emscripten_bind_btCompoundShape__btCompoundShape_p1(e),btCompoundShape.prototype.__cache__[this.ptr]=this,this.__class__=btCompoundShape}function btScaledBvhTriangleMeshShape(e,t){this.ptr=_emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2(e.ptr,t.ptr),btScaledBvhTriangleMeshShape.prototype.__cache__[this.ptr]=this,this.__class__=btScaledBvhTriangleMeshShape}function btDynamicsWorld(){throw"btDynamicsWorld is abstract!"}function btDefaultVehicleRaycaster(e){this.ptr=_emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1(e.ptr),btDefaultVehicleRaycaster.prototype.__cache__[this.ptr]=this,this.__class__=btDefaultVehicleRaycaster}function btConstraintSetting(){this.ptr=_emscripten_bind_btConstraintSetting__btConstraintSetting_p0(),btConstraintSetting.prototype.__cache__[this.ptr]=this,this.__class__=btConstraintSetting}function btStackAlloc(e){this.ptr=_emscripten_bind_btStackAlloc__btStackAlloc_p1(e),btStackAlloc.prototype.__cache__[this.ptr]=this,this.__class__=btStackAlloc}function btContactSolverInfo(){this.ptr=_emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0(),btContactSolverInfo.prototype.__cache__[this.ptr]=this,this.__class__=btContactSolverInfo}function btUniversalConstraint(e,t,i,n,_){this.ptr=_emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr),btUniversalConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btUniversalConstraint}function btEmptyShape(){this.ptr=_emscripten_bind_btEmptyShape__btEmptyShape_p0(),btEmptyShape.prototype.__cache__[this.ptr]=this,this.__class__=btEmptyShape}function btRigidBody(e,t,i,n){this.ptr=void 0===t?_emscripten_bind_btRigidBody__btRigidBody_p1(e.ptr):void 0===n?_emscripten_bind_btRigidBody__btRigidBody_p3(e,t.ptr,i.ptr):_emscripten_bind_btRigidBody__btRigidBody_p4(e,t.ptr,i.ptr,n.ptr),btRigidBody.prototype.__cache__[this.ptr]=this,this.__class__=btRigidBody}function btOptimizedBvh(){this.ptr=_emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0(),btOptimizedBvh.prototype.__cache__[this.ptr]=this,this.__class__=btOptimizedBvh}function btTypedConstraint(){throw"btTypedConstraint is abstract!"}function btPolyhedralConvexShape(){throw"btPolyhedralConvexShape is abstract!"}function btIDebugDraw(){throw"btIDebugDraw is abstract!"}function btDbvtBroadphase(e){this.ptr=void 0===e?_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0():_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1(e.ptr),btDbvtBroadphase.prototype.__cache__[this.ptr]=this,this.__class__=btDbvtBroadphase}function btSimpleBroadphaseProxy(e,t,i,n,_,r,o){this.ptr=void 0===e?_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0():_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7(e.ptr,t.ptr,i,n,_,r,o),btSimpleBroadphaseProxy.prototype.__cache__[this.ptr]=this,this.__class__=btSimpleBroadphaseProxy}function btCollisionDispatcher(e){this.ptr=_emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1(e.ptr),btCollisionDispatcher.prototype.__cache__[this.ptr]=this,this.__class__=btCollisionDispatcher}function btAxisSweep3(e,t,i,n,_){this.ptr=void 0===i?_emscripten_bind_btAxisSweep3__btAxisSweep3_p2(e.ptr,t.ptr):void 0===n?_emscripten_bind_btAxisSweep3__btAxisSweep3_p3(e.ptr,t.ptr,i):void 0===_?_emscripten_bind_btAxisSweep3__btAxisSweep3_p4(e.ptr,t.ptr,i,n.ptr):_emscripten_bind_btAxisSweep3__btAxisSweep3_p5(e.ptr,t.ptr,i,n.ptr,_),btAxisSweep3.prototype.__cache__[this.ptr]=this,this.__class__=btAxisSweep3}function btCollisionAlgorithmConstructionInfo(e,t){this.ptr=void 0===e?_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0():_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2(e.ptr,t),btCollisionAlgorithmConstructionInfo.prototype.__cache__[this.ptr]=this,this.__class__=btCollisionAlgorithmConstructionInfo}function btDiscreteDynamicsWorld(e,t,i,n){this.ptr=_emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4(e.ptr,t.ptr,i.ptr,n.ptr),btDiscreteDynamicsWorld.prototype.__cache__[this.ptr]=this,this.__class__=btDiscreteDynamicsWorld}function btTriangleCallback(){throw"btTriangleCallback is abstract!"}function btConeTwistConstraint(e,t,i,n){this.ptr=void 0===i?_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2(e.ptr,t.ptr):_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4(e.ptr,t.ptr,i.ptr,n.ptr),btConeTwistConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btConeTwistConstraint}function btHingeConstraint(e,t,i,n,_,r,o){this.ptr=void 0===n?_emscripten_bind_btHingeConstraint__btHingeConstraint_p3(e.ptr,t.ptr,i.ptr):void 0===_?_emscripten_bind_btHingeConstraint__btHingeConstraint_p4(e.ptr,t.ptr,i.ptr,n):void 0===o?_emscripten_bind_btHingeConstraint__btHingeConstraint_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr):_emscripten_bind_btHingeConstraint__btHingeConstraint_p7(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o),btHingeConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btHingeConstraint}function btRotationalLimitMotor(e){this.ptr=void 0===e?_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0():_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1(e.ptr),btRotationalLimitMotor.prototype.__cache__[this.ptr]=this,this.__class__=btRotationalLimitMotor}function btVehicleRaycaster(){throw"btVehicleRaycaster is abstract!"}function btConeShapeZ(e,t){this.ptr=_emscripten_bind_btConeShapeZ__btConeShapeZ_p2(e,t),btConeShapeZ.prototype.__cache__[this.ptr]=this,this.__class__=btConeShapeZ}function btConeShapeX(e,t){this.ptr=_emscripten_bind_btConeShapeX__btConeShapeX_p2(e,t),btConeShapeX.prototype.__cache__[this.ptr]=this,this.__class__=btConeShapeX}function btTriangleMesh(e,t){this.ptr=void 0===e?_emscripten_bind_btTriangleMesh__btTriangleMesh_p0():void 0===t?_emscripten_bind_btTriangleMesh__btTriangleMesh_p1(e):_emscripten_bind_btTriangleMesh__btTriangleMesh_p2(e,t),btTriangleMesh.prototype.__cache__[this.ptr]=this,this.__class__=btTriangleMesh}function btBroadphaseAabbCallback(){throw"btBroadphaseAabbCallback is abstract!"}function btBroadphasePair(e,t){this.ptr=void 0===e?_emscripten_bind_btBroadphasePair__btBroadphasePair_p0():void 0===t?_emscripten_bind_btBroadphasePair__btBroadphasePair_p1(e.ptr):_emscripten_bind_btBroadphasePair__btBroadphasePair_p2(e.ptr,t.ptr),btBroadphasePair.prototype.__cache__[this.ptr]=this,this.__class__=btBroadphasePair}function btBroadphaseRayCallback(){throw"btBroadphaseRayCallback is abstract!"}function ConvexResultCallback(){throw"ConvexResultCallback is abstract!"}function btDefaultMotionState(e,t){this.ptr=void 0===e?_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0():void 0===t?_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1(e.ptr):_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2(e.ptr,t.ptr),btDefaultMotionState.prototype.__cache__[this.ptr]=this,this.__class__=btDefaultMotionState}function btContinuousDynamicsWorld(e,t,i,n){this.ptr=_emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4(e.ptr,t.ptr,i.ptr,n.ptr),btContinuousDynamicsWorld.prototype.__cache__[this.ptr]=this,this.__class__=btContinuousDynamicsWorld}function btConeShape(e,t){this.ptr=_emscripten_bind_btConeShape__btConeShape_p2(e,t),btConeShape.prototype.__cache__[this.ptr]=this,this.__class__=btConeShape}Module.wrapPointer=wrapPointer,Module.castObject=castObject,Module.NULL=wrapPointer(0),Module.destroy=destroy,Module.compare=compare,Module.getPointer=getPointer,Module.getClass=getClass,Module.customizeVTable=customizeVTable,btMatrix3x3.prototype.__cache__={},Module.btMatrix3x3=btMatrix3x3,btMatrix3x3.prototype.getColumn=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__getColumn_p1(this.ptr,e),Module.btVector3)},btMatrix3x3.prototype.serialize=function(e){_emscripten_bind_btMatrix3x3__serialize_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.deSerializeDouble=function(e){_emscripten_bind_btMatrix3x3__deSerializeDouble_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.scaled=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__scaled_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.op_sub=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__op_sub_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.transposeTimes=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__transposeTimes_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.getRotation=function(e){_emscripten_bind_btMatrix3x3__getRotation_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.tdotz=function(e){return _emscripten_bind_btMatrix3x3__tdotz_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.serializeFloat=function(e){_emscripten_bind_btMatrix3x3__serializeFloat_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.tdotx=function(e){return _emscripten_bind_btMatrix3x3__tdotx_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.absolute=function(){return wrapPointer(_emscripten_bind_btMatrix3x3__absolute_p0(this.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.tdoty=function(e){return _emscripten_bind_btMatrix3x3__tdoty_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.inverse=function(){return wrapPointer(_emscripten_bind_btMatrix3x3__inverse_p0(this.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.cofac=function(e,t,i,n){return _emscripten_bind_btMatrix3x3__cofac_p4(this.ptr,e,t,i,n)},btMatrix3x3.prototype.deSerializeFloat=function(e){_emscripten_bind_btMatrix3x3__deSerializeFloat_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.getIdentity=function(){return wrapPointer(_emscripten_bind_btMatrix3x3__getIdentity_p0(),Module.btMatrix3x3)},btMatrix3x3.prototype.adjoint=function(){return wrapPointer(_emscripten_bind_btMatrix3x3__adjoint_p0(this.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.getRow=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__getRow_p1(this.ptr,e),Module.btVector3)},btMatrix3x3.prototype.op_add=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__op_add_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.op_mul=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__op_mul_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.diagonalize=function(e,t,i){_emscripten_bind_btMatrix3x3__diagonalize_p3(this.ptr,e.ptr,t,i)},btMatrix3x3.prototype.setRotation=function(e){_emscripten_bind_btMatrix3x3__setRotation_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.setEulerZYX=function(e,t,i){_emscripten_bind_btMatrix3x3__setEulerZYX_p3(this.ptr,e,t,i)},btMatrix3x3.prototype.setIdentity=function(){_emscripten_bind_btMatrix3x3__setIdentity_p0(this.ptr)},btMatrix3x3.prototype.op_set=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__op_set_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.getEulerZYX=function(e,t,i,n){void 0===n?_emscripten_bind_btMatrix3x3__getEulerZYX_p3(this.ptr,e,t,i):_emscripten_bind_btMatrix3x3__getEulerZYX_p4(this.ptr,e,t,i,n)},btMatrix3x3.prototype.setEulerYPR=function(e,t,i){_emscripten_bind_btMatrix3x3__setEulerYPR_p3(this.ptr,e,t,i)},btMatrix3x3.prototype.determinant=function(){return _emscripten_bind_btMatrix3x3__determinant_p0(this.ptr)},btMatrix3x3.prototype.setValue=function(e,t,i,n,_,r,o,s,a){_emscripten_bind_btMatrix3x3__setValue_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btMatrix3x3.prototype.deSerialize=function(e){_emscripten_bind_btMatrix3x3__deSerialize_p1(this.ptr,e.ptr)},btMatrix3x3.prototype.transpose=function(){return wrapPointer(_emscripten_bind_btMatrix3x3__transpose_p0(this.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.op_get=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__op_get_p1(this.ptr,e),Module.btVector3)},btMatrix3x3.prototype.__destroy__=function(){_emscripten_bind_btMatrix3x3____destroy___p0(this.ptr)},btMatrix3x3.prototype.timesTranspose=function(e){return wrapPointer(_emscripten_bind_btMatrix3x3__timesTranspose_p1(this.ptr,e.ptr),Module.btMatrix3x3)},btMatrix3x3.prototype.getEulerYPR=function(e,t,i){_emscripten_bind_btMatrix3x3__getEulerYPR_p3(this.ptr,e,t,i)},btDispatcherInfo.prototype.__cache__={},Module.btDispatcherInfo=btDispatcherInfo,btDispatcherInfo.prototype.set_m_enableSatConvex=function(e){_emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1(this.ptr,e)},btDispatcherInfo.prototype.set_m_stepCount=function(e){_emscripten_bind_btDispatcherInfo__set_m_stepCount_p1(this.ptr,e)},btDispatcherInfo.prototype.get_m_timeOfImpact=function(){return _emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0(this.ptr)},btDispatcherInfo.prototype.get_m_stepCount=function(){return _emscripten_bind_btDispatcherInfo__get_m_stepCount_p0(this.ptr)},btDispatcherInfo.prototype.get_m_useEpa=function(){return _emscripten_bind_btDispatcherInfo__get_m_useEpa_p0(this.ptr)},btDispatcherInfo.prototype.get_m_useContinuous=function(){return _emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0(this.ptr)},btDispatcherInfo.prototype.set_m_useContinuous=function(e){_emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1(this.ptr,e)},btDispatcherInfo.prototype.get_m_dispatchFunc=function(){return _emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0(this.ptr)},btDispatcherInfo.prototype.set_m_stackAllocator=function(e){_emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1(this.ptr,e.ptr)},btDispatcherInfo.prototype.get_m_stackAllocator=function(){return wrapPointer(_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0(this.ptr),Module.btStackAlloc)},btDispatcherInfo.prototype.get_m_timeStep=function(){return _emscripten_bind_btDispatcherInfo__get_m_timeStep_p0(this.ptr)},btDispatcherInfo.prototype.get_m_convexConservativeDistanceThreshold=function(){return _emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0(this.ptr)},btDispatcherInfo.prototype.get_m_enableSatConvex=function(){return _emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0(this.ptr)},btDispatcherInfo.prototype.__destroy__=function(){_emscripten_bind_btDispatcherInfo____destroy___p0(this.ptr)},btDispatcherInfo.prototype.set_m_allowedCcdPenetration=function(e){_emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1(this.ptr,e)},btDispatcherInfo.prototype.set_m_timeStep=function(e){_emscripten_bind_btDispatcherInfo__set_m_timeStep_p1(this.ptr,e)},btDispatcherInfo.prototype.set_m_timeOfImpact=function(e){_emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1(this.ptr,e)},btDispatcherInfo.prototype.set_m_useConvexConservativeDistanceUtil=function(e){_emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1(this.ptr,e)},btDispatcherInfo.prototype.get_m_useConvexConservativeDistanceUtil=function(){return _emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0(this.ptr)},btDispatcherInfo.prototype.get_m_allowedCcdPenetration=function(){return _emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0(this.ptr)},btDispatcherInfo.prototype.set_m_convexConservativeDistanceThreshold=function(e){_emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1(this.ptr,e)},btDispatcherInfo.prototype.set_m_dispatchFunc=function(e){_emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1(this.ptr,e)},btDispatcherInfo.prototype.get_m_enableSPU=function(){return _emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0(this.ptr)},btDispatcherInfo.prototype.set_m_enableSPU=function(e){_emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1(this.ptr,e)},btDispatcherInfo.prototype.set_m_useEpa=function(e){_emscripten_bind_btDispatcherInfo__set_m_useEpa_p1(this.ptr,e)},btCapsuleShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCapsuleShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCapsuleShape.prototype.isCompound=function(){return _emscripten_bind_btCapsuleShape__isCompound_p0(this.ptr)},btCapsuleShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShape.prototype.setUserPointer=function(e){_emscripten_bind_btCapsuleShape__setUserPointer_p1(this.ptr,e)},btCapsuleShape.prototype.__cache__={},Module.btCapsuleShape=btCapsuleShape,btCapsuleShape.prototype.getUpAxis=function(){return _emscripten_bind_btCapsuleShape__getUpAxis_p0(this.ptr)},btCapsuleShape.prototype.serialize=function(e,t){return _emscripten_bind_btCapsuleShape__serialize_p2(this.ptr,e,t.ptr)},btCapsuleShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCapsuleShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btCapsuleShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btCapsuleShape.prototype.isPolyhedral=function(){return _emscripten_bind_btCapsuleShape__isPolyhedral_p0(this.ptr)},btCapsuleShape.prototype.getRadius=function(){return _emscripten_bind_btCapsuleShape__getRadius_p0(this.ptr)},btCapsuleShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0(this.ptr)},btCapsuleShape.prototype.getName=function(){return _emscripten_bind_btCapsuleShape__getName_p0(this.ptr)},btCapsuleShape.prototype.getHalfHeight=function(){return _emscripten_bind_btCapsuleShape__getHalfHeight_p0(this.ptr)},btCapsuleShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btCapsuleShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShape.prototype.setLocalScaling=function(e){_emscripten_bind_btCapsuleShape__setLocalScaling_p1(this.ptr,e.ptr)},btCapsuleShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btCapsuleShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShape.prototype.getMarginNV=function(){return _emscripten_bind_btCapsuleShape__getMarginNV_p0(this.ptr)},btCapsuleShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1(this.ptr,e)},btCapsuleShape.prototype.isConvex=function(){return _emscripten_bind_btCapsuleShape__isConvex_p0(this.ptr)},btCapsuleShape.prototype.isInfinite=function(){return _emscripten_bind_btCapsuleShape__isInfinite_p0(this.ptr)},btCapsuleShape.prototype.getUserPointer=function(){return _emscripten_bind_btCapsuleShape__getUserPointer_p0(this.ptr)},btCapsuleShape.prototype.isNonMoving=function(){return _emscripten_bind_btCapsuleShape__isNonMoving_p0(this.ptr)},btCapsuleShape.prototype.getMargin=function(){return _emscripten_bind_btCapsuleShape__getMargin_p0(this.ptr)},btCapsuleShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btCapsuleShape.prototype.setMargin=function(e){_emscripten_bind_btCapsuleShape__setMargin_p1(this.ptr,e)},btCapsuleShape.prototype.isConvex2d=function(){return _emscripten_bind_btCapsuleShape__isConvex2d_p0(this.ptr)},btCapsuleShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btCapsuleShape.prototype.isSoftBody=function(){return _emscripten_bind_btCapsuleShape__isSoftBody_p0(this.ptr)},btCapsuleShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0(this.ptr)},btCapsuleShape.prototype.__destroy__=function(){_emscripten_bind_btCapsuleShape____destroy___p0(this.ptr)},btCapsuleShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btCapsuleShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btCapsuleShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCapsuleShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCapsuleShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0(this.ptr)},btCapsuleShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btCapsuleShape__serializeSingleShape_p1(this.ptr,e.ptr)},btCapsuleShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btCapsuleShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCapsuleShape.prototype.isConcave=function(){return _emscripten_bind_btCapsuleShape__isConcave_p0(this.ptr)},btCapsuleShape.prototype.getShapeType=function(){return _emscripten_bind_btCapsuleShape__getShapeType_p0(this.ptr)},btConvexHullShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConvexHullShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConvexHullShape.prototype.getNumPlanes=function(){return _emscripten_bind_btConvexHullShape__getNumPlanes_p0(this.ptr)},btConvexHullShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConvexHullShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0(this.ptr)},btConvexHullShape.prototype.getScaledPoint=function(e){return wrapPointer(_emscripten_bind_btConvexHullShape__getScaledPoint_p1(this.ptr,e),Module.btVector3)},btConvexHullShape.prototype.isConvex=function(){return _emscripten_bind_btConvexHullShape__isConvex_p0(this.ptr)},btConvexHullShape.prototype.getEdge=function(e,t,i){_emscripten_bind_btConvexHullShape__getEdge_p3(this.ptr,e,t.ptr,i.ptr)},btConvexHullShape.prototype.getNumVertices=function(){return _emscripten_bind_btConvexHullShape__getNumVertices_p0(this.ptr)},btConvexHullShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConvexHullShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConvexHullShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btConvexHullShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConvexHullShape__isPolyhedral_p0(this.ptr)},btConvexHullShape.prototype.getVertex=function(e,t){_emscripten_bind_btConvexHullShape__getVertex_p2(this.ptr,e,t.ptr)},btConvexHullShape.prototype.getUnscaledPoints=function(){return wrapPointer(_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0(this.ptr),Module.btVector3)},btConvexHullShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexHullShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0(this.ptr)},btConvexHullShape.prototype.setUserPointer=function(e){_emscripten_bind_btConvexHullShape__setUserPointer_p1(this.ptr,e)},btConvexHullShape.prototype.getNumEdges=function(){return _emscripten_bind_btConvexHullShape__getNumEdges_p0(this.ptr)},btConvexHullShape.prototype.getName=function(){return _emscripten_bind_btConvexHullShape__getName_p0(this.ptr)},btConvexHullShape.prototype.__cache__={},Module.btConvexHullShape=btConvexHullShape,btConvexHullShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConvexHullShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexHullShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConvexHullShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConvexHullShape__setLocalScaling_p1(this.ptr,e.ptr)},btConvexHullShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConvexHullShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexHullShape.prototype.getMarginNV=function(){return _emscripten_bind_btConvexHullShape__getMarginNV_p0(this.ptr)},btConvexHullShape.prototype.isConvex2d=function(){return _emscripten_bind_btConvexHullShape__isConvex2d_p0(this.ptr)},btConvexHullShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexHullShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1(this.ptr,e)},btConvexHullShape.prototype.addPoint=function(e){_emscripten_bind_btConvexHullShape__addPoint_p1(this.ptr,e.ptr)},btConvexHullShape.prototype.isInfinite=function(){return _emscripten_bind_btConvexHullShape__isInfinite_p0(this.ptr)},btConvexHullShape.prototype.serialize=function(e,t){return _emscripten_bind_btConvexHullShape__serialize_p2(this.ptr,e,t.ptr)},btConvexHullShape.prototype.isConcave=function(){return _emscripten_bind_btConvexHullShape__isConcave_p0(this.ptr)},btConvexHullShape.prototype.getUserPointer=function(){return _emscripten_bind_btConvexHullShape__getUserPointer_p0(this.ptr)},btConvexHullShape.prototype.isNonMoving=function(){return _emscripten_bind_btConvexHullShape__isNonMoving_p0(this.ptr)},btConvexHullShape.prototype.getMargin=function(){return _emscripten_bind_btConvexHullShape__getMargin_p0(this.ptr)},btConvexHullShape.prototype.recalcLocalAabb=function(){_emscripten_bind_btConvexHullShape__recalcLocalAabb_p0(this.ptr)},btConvexHullShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConvexHullShape.prototype.setMargin=function(e){_emscripten_bind_btConvexHullShape__setMargin_p1(this.ptr,e)},btConvexHullShape.prototype.getNonvirtualAabb=function(e,t,i,n){_emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n)},btConvexHullShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConvexHullShape.prototype.isSoftBody=function(){return _emscripten_bind_btConvexHullShape__isSoftBody_p0(this.ptr)},btConvexHullShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0(this.ptr)},btConvexHullShape.prototype.__destroy__=function(){_emscripten_bind_btConvexHullShape____destroy___p0(this.ptr)},btConvexHullShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConvexHullShape.prototype.getPoints=function(){return wrapPointer(_emscripten_bind_btConvexHullShape__getPoints_p0(this.ptr),Module.btVector3)},btConvexHullShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConvexHullShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConvexHullShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConvexHullShape.prototype.isInside=function(e,t){return _emscripten_bind_btConvexHullShape__isInside_p2(this.ptr,e.ptr,t)},btConvexHullShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConvexHullShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConvexHullShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConvexHullShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexHullShape.prototype.getPlane=function(e,t,i){_emscripten_bind_btConvexHullShape__getPlane_p3(this.ptr,e.ptr,t.ptr,i)},btConvexHullShape.prototype.isCompound=function(){return _emscripten_bind_btConvexHullShape__isCompound_p0(this.ptr)},btConvexHullShape.prototype.getConvexPolyhedron=function(){return _emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0(this.ptr)},btConvexHullShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConvexHullShape.prototype.getShapeType=function(){return _emscripten_bind_btConvexHullShape__getShapeType_p0(this.ptr)},btConvexHullShape.prototype.getNumPoints=function(){return _emscripten_bind_btConvexHullShape__getNumPoints_p0(this.ptr)},btConvexHullShape.prototype.initializePolyhedralFeatures=function(){return _emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0(this.ptr)},btTypedObject.prototype.__destroy__=function(){_emscripten_bind_btTypedObject____destroy___p0(this.ptr)},btTypedObject.prototype.__cache__={},Module.btTypedObject=btTypedObject,btTypedObject.prototype.getObjectType=function(){return _emscripten_bind_btTypedObject__getObjectType_p0(this.ptr)},btTypedObject.prototype.get_m_objectType=function(){return _emscripten_bind_btTypedObject__get_m_objectType_p0(this.ptr)},btTypedObject.prototype.set_m_objectType=function(e){_emscripten_bind_btTypedObject__set_m_objectType_p1(this.ptr,e)},btIndexedMesh.prototype.get_m_numVertices=function(){return _emscripten_bind_btIndexedMesh__get_m_numVertices_p0(this.ptr)},btIndexedMesh.prototype.get_m_vertexBase=function(){return _emscripten_bind_btIndexedMesh__get_m_vertexBase_p0(this.ptr)},btIndexedMesh.prototype.set_m_indexType=function(e){_emscripten_bind_btIndexedMesh__set_m_indexType_p1(this.ptr,e)},btIndexedMesh.prototype.set_m_numTriangles=function(e){_emscripten_bind_btIndexedMesh__set_m_numTriangles_p1(this.ptr,e)},btIndexedMesh.prototype.get_m_vertexType=function(){return _emscripten_bind_btIndexedMesh__get_m_vertexType_p0(this.ptr)},btIndexedMesh.prototype.get_m_vertexStride=function(){return _emscripten_bind_btIndexedMesh__get_m_vertexStride_p0(this.ptr)},btIndexedMesh.prototype.get_m_numTriangles=function(){return _emscripten_bind_btIndexedMesh__get_m_numTriangles_p0(this.ptr)},btIndexedMesh.prototype.set_m_numVertices=function(e){_emscripten_bind_btIndexedMesh__set_m_numVertices_p1(this.ptr,e)},btIndexedMesh.prototype.set_m_vertexType=function(e){_emscripten_bind_btIndexedMesh__set_m_vertexType_p1(this.ptr,e)},btIndexedMesh.prototype.get_m_indexType=function(){return _emscripten_bind_btIndexedMesh__get_m_indexType_p0(this.ptr)},btIndexedMesh.prototype.__destroy__=function(){_emscripten_bind_btIndexedMesh____destroy___p0(this.ptr)},btIndexedMesh.prototype.set_m_vertexBase=function(e){var t=Runtime.stackSave();try{_emscripten_bind_btIndexedMesh__set_m_vertexBase_p1(this.ptr,ensureString(e))}finally{Runtime.stackRestore(t)}},btIndexedMesh.prototype.__cache__={},Module.btIndexedMesh=btIndexedMesh,btIndexedMesh.prototype.get_m_triangleIndexBase=function(){return _emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0(this.ptr)},btIndexedMesh.prototype.set_m_triangleIndexStride=function(e){_emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1(this.ptr,e)},btIndexedMesh.prototype.set_m_vertexStride=function(e){_emscripten_bind_btIndexedMesh__set_m_vertexStride_p1(this.ptr,e)},btIndexedMesh.prototype.set_m_triangleIndexBase=function(e){var t=Runtime.stackSave();try{_emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1(this.ptr,ensureString(e))}finally{Runtime.stackRestore(t)}},btIndexedMesh.prototype.get_m_triangleIndexStride=function(){return _emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0(this.ptr)},btCollisionObject.prototype.getFriction=function(){return _emscripten_bind_btCollisionObject__getFriction_p0(this.ptr)},btCollisionObject.prototype.setContactProcessingThreshold=function(e){_emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1(this.ptr,e)},btCollisionObject.prototype.setInterpolationLinearVelocity=function(e){_emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1(this.ptr,e.ptr)},btCollisionObject.prototype.getDeactivationTime=function(){return _emscripten_bind_btCollisionObject__getDeactivationTime_p0(this.ptr)},btCollisionObject.prototype.setInterpolationAngularVelocity=function(e){_emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1(this.ptr,e.ptr)},btCollisionObject.prototype.serialize=function(e,t){return _emscripten_bind_btCollisionObject__serialize_p2(this.ptr,e,t.ptr)},btCollisionObject.prototype.setFriction=function(e){_emscripten_bind_btCollisionObject__setFriction_p1(this.ptr,e)},btCollisionObject.prototype.internalSetExtensionPointer=function(e){_emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1(this.ptr,e)},btCollisionObject.prototype.activate=function(e){void 0===e?_emscripten_bind_btCollisionObject__activate_p0(this.ptr):_emscripten_bind_btCollisionObject__activate_p1(this.ptr,e)},btCollisionObject.prototype.setInterpolationWorldTransform=function(e){_emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1(this.ptr,e.ptr)},btCollisionObject.prototype.__cache__={},Module.btCollisionObject=btCollisionObject,btCollisionObject.prototype.getInterpolationLinearVelocity=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0(this.ptr),Module.btVector3)},btCollisionObject.prototype.mergesSimulationIslands=function(){return _emscripten_bind_btCollisionObject__mergesSimulationIslands_p0(this.ptr)},btCollisionObject.prototype.setCollisionShape=function(e){_emscripten_bind_btCollisionObject__setCollisionShape_p1(this.ptr,e.ptr)},btCollisionObject.prototype.setCcdMotionThreshold=function(e){_emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1(this.ptr,e)},btCollisionObject.prototype.getIslandTag=function(){return _emscripten_bind_btCollisionObject__getIslandTag_p0(this.ptr)},btCollisionObject.prototype.setCompanionId=function(e){_emscripten_bind_btCollisionObject__setCompanionId_p1(this.ptr,e)},btCollisionObject.prototype.getCcdMotionThreshold=function(){return _emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0(this.ptr)},btCollisionObject.prototype.setUserPointer=function(e){_emscripten_bind_btCollisionObject__setUserPointer_p1(this.ptr,e)},btCollisionObject.prototype.checkCollideWith=function(e){return _emscripten_bind_btCollisionObject__checkCollideWith_p1(this.ptr,e.ptr)},btCollisionObject.prototype.getAnisotropicFriction=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0(this.ptr),Module.btVector3)},btCollisionObject.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0(this.ptr)},btCollisionObject.prototype.getInterpolationAngularVelocity=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0(this.ptr),Module.btVector3)},btCollisionObject.prototype.forceActivationState=function(e){_emscripten_bind_btCollisionObject__forceActivationState_p1(this.ptr,e)},btCollisionObject.prototype.getInterpolationWorldTransform=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0(this.ptr),Module.btTransform)},btCollisionObject.prototype.setIslandTag=function(e){_emscripten_bind_btCollisionObject__setIslandTag_p1(this.ptr,e)},btCollisionObject.prototype.setHitFraction=function(e){_emscripten_bind_btCollisionObject__setHitFraction_p1(this.ptr,e)},btCollisionObject.prototype.serializeSingleObject=function(e){_emscripten_bind_btCollisionObject__serializeSingleObject_p1(this.ptr,e.ptr)},btCollisionObject.prototype.getCollisionFlags=function(){return _emscripten_bind_btCollisionObject__getCollisionFlags_p0(this.ptr)},btCollisionObject.prototype.isStaticObject=function(){return _emscripten_bind_btCollisionObject__isStaticObject_p0(this.ptr)},btCollisionObject.prototype.getCollisionShape=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getCollisionShape_p0(this.ptr),Module.btCollisionShape)},btCollisionObject.prototype.setAnisotropicFriction=function(e){_emscripten_bind_btCollisionObject__setAnisotropicFriction_p1(this.ptr,e.ptr)},btCollisionObject.prototype.__destroy__=function(){_emscripten_bind_btCollisionObject____destroy___p0(this.ptr)},btCollisionObject.prototype.getBroadphaseHandle=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0(this.ptr),Module.btBroadphaseProxy)},btCollisionObject.prototype.getRestitution=function(){return _emscripten_bind_btCollisionObject__getRestitution_p0(this.ptr)},btCollisionObject.prototype.getUserPointer=function(){return _emscripten_bind_btCollisionObject__getUserPointer_p0(this.ptr)},btCollisionObject.prototype.setCcdSweptSphereRadius=function(e){_emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1(this.ptr,e)},btCollisionObject.prototype.getWorldTransform=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getWorldTransform_p0(this.ptr),Module.btTransform)},btCollisionObject.prototype.getCcdSquareMotionThreshold=function(){return _emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0(this.ptr)},btCollisionObject.prototype.setWorldTransform=function(e){_emscripten_bind_btCollisionObject__setWorldTransform_p1(this.ptr,e.ptr)},btCollisionObject.prototype.internalSetTemporaryCollisionShape=function(e){_emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1(this.ptr,e.ptr)},btCollisionObject.prototype.getCompanionId=function(){return _emscripten_bind_btCollisionObject__getCompanionId_p0(this.ptr)},btCollisionObject.prototype.isActive=function(){return _emscripten_bind_btCollisionObject__isActive_p0(this.ptr)},btCollisionObject.prototype.getInternalType=function(){return _emscripten_bind_btCollisionObject__getInternalType_p0(this.ptr)},btCollisionObject.prototype.getActivationState=function(){return _emscripten_bind_btCollisionObject__getActivationState_p0(this.ptr)},btCollisionObject.prototype.hasContactResponse=function(){return _emscripten_bind_btCollisionObject__hasContactResponse_p0(this.ptr)},btCollisionObject.prototype.setActivationState=function(e){_emscripten_bind_btCollisionObject__setActivationState_p1(this.ptr,e)},btCollisionObject.prototype.getRootCollisionShape=function(){return wrapPointer(_emscripten_bind_btCollisionObject__getRootCollisionShape_p0(this.ptr),Module.btCollisionShape)},btCollisionObject.prototype.getContactProcessingThreshold=function(){return _emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0(this.ptr)},btCollisionObject.prototype.getHitFraction=function(){return _emscripten_bind_btCollisionObject__getHitFraction_p0(this.ptr)},btCollisionObject.prototype.getCcdSweptSphereRadius=function(){return _emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0(this.ptr)},btCollisionObject.prototype.setDeactivationTime=function(e){_emscripten_bind_btCollisionObject__setDeactivationTime_p1(this.ptr,e)},btCollisionObject.prototype.internalGetExtensionPointer=function(){return _emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0(this.ptr)},btCollisionObject.prototype.setCollisionFlags=function(e){_emscripten_bind_btCollisionObject__setCollisionFlags_p1(this.ptr,e)},btCollisionObject.prototype.isStaticOrKinematicObject=function(){return _emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0(this.ptr)},btCollisionObject.prototype.setRestitution=function(e){_emscripten_bind_btCollisionObject__setRestitution_p1(this.ptr,e)},btCollisionObject.prototype.hasAnisotropicFriction=function(){return _emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0(this.ptr)},btCollisionObject.prototype.setBroadphaseHandle=function(e){_emscripten_bind_btCollisionObject__setBroadphaseHandle_p1(this.ptr,e.ptr)},btCollisionObject.prototype.isKinematicObject=function(){return _emscripten_bind_btCollisionObject__isKinematicObject_p0(this.ptr)},btConvexTriangleMeshShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConvexTriangleMeshShape.prototype.getNumPlanes=function(){return _emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0(this.ptr)},btConvexTriangleMeshShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.setUserPointer=function(e){_emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1(this.ptr,e)},btConvexTriangleMeshShape.prototype.isInside=function(e,t){return _emscripten_bind_btConvexTriangleMeshShape__isInside_p2(this.ptr,e.ptr,t)},btConvexTriangleMeshShape.prototype.getNumVertices=function(){return _emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.getMeshInterface=function(){return _emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0(this.ptr)},btConvexTriangleMeshShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getVertex=function(e,t){_emscripten_bind_btConvexTriangleMeshShape__getVertex_p2(this.ptr,e,t.ptr)},btConvexTriangleMeshShape.prototype.__cache__={},Module.btConvexTriangleMeshShape=btConvexTriangleMeshShape,btConvexTriangleMeshShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexTriangleMeshShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getNumEdges=function(){return _emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getName=function(){return _emscripten_bind_btConvexTriangleMeshShape__getName_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getEdge=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__getEdge_p3(this.ptr,e,t.ptr,i.ptr)},btConvexTriangleMeshShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConvexTriangleMeshShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1(this.ptr,e.ptr)},btConvexTriangleMeshShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexTriangleMeshShape.prototype.getMarginNV=function(){return _emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0(this.ptr)},btConvexTriangleMeshShape.prototype.isConvex2d=function(){return _emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1(this.ptr,e)},btConvexTriangleMeshShape.prototype.isConvex=function(){return _emscripten_bind_btConvexTriangleMeshShape__isConvex_p0(this.ptr)},btConvexTriangleMeshShape.prototype.isInfinite=function(){return _emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0(this.ptr)},btConvexTriangleMeshShape.prototype.serialize=function(e,t){return _emscripten_bind_btConvexTriangleMeshShape__serialize_p2(this.ptr,e,t.ptr)},btConvexTriangleMeshShape.prototype.getUserPointer=function(){return _emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0(this.ptr)},btConvexTriangleMeshShape.prototype.isNonMoving=function(){return _emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getMargin=function(){return _emscripten_bind_btConvexTriangleMeshShape__getMargin_p0(this.ptr)},btConvexTriangleMeshShape.prototype.recalcLocalAabb=function(){_emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConvexTriangleMeshShape.prototype.setMargin=function(e){_emscripten_bind_btConvexTriangleMeshShape__setMargin_p1(this.ptr,e)},btConvexTriangleMeshShape.prototype.getNonvirtualAabb=function(e,t,i,n){_emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n)},btConvexTriangleMeshShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.isSoftBody=function(){return _emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0(this.ptr)},btConvexTriangleMeshShape.prototype.__destroy__=function(){_emscripten_bind_btConvexTriangleMeshShape____destroy___p0(this.ptr)},btConvexTriangleMeshShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConvexTriangleMeshShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConvexTriangleMeshShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConvexTriangleMeshShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0(this.ptr)},btConvexTriangleMeshShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConvexTriangleMeshShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexTriangleMeshShape.prototype.getPlane=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__getPlane_p3(this.ptr,e.ptr,t.ptr,i)},btConvexTriangleMeshShape.prototype.isCompound=function(){return _emscripten_bind_btConvexTriangleMeshShape__isCompound_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getConvexPolyhedron=function(){return _emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0(this.ptr)},btConvexTriangleMeshShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConvexTriangleMeshShape.prototype.calculatePrincipalAxisTransform=function(e,t,i){_emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3(this.ptr,e.ptr,t.ptr,i)},btConvexTriangleMeshShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btConvexTriangleMeshShape.prototype.getShapeType=function(){return _emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0(this.ptr)},btConvexTriangleMeshShape.prototype.isConcave=function(){return _emscripten_bind_btConvexTriangleMeshShape__isConcave_p0(this.ptr)},btConvexTriangleMeshShape.prototype.initializePolyhedralFeatures=function(){return _emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0(this.ptr)},btBroadphaseInterface.prototype.__cache__={},Module.btBroadphaseInterface=btBroadphaseInterface,btBroadphaseInterface.prototype.rayTest=function(e,t,i,n,_){void 0===n?_emscripten_bind_btBroadphaseInterface__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr):void 0===_?_emscripten_bind_btBroadphaseInterface__rayTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btBroadphaseInterface__rayTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btBroadphaseInterface.prototype.setAabb=function(e,t,i,n){_emscripten_bind_btBroadphaseInterface__setAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btBroadphaseInterface.prototype.getOverlappingPairCache=function(){return wrapPointer(_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btBroadphaseInterface.prototype.resetPool=function(e){_emscripten_bind_btBroadphaseInterface__resetPool_p1(this.ptr,e.ptr)},btBroadphaseInterface.prototype.calculateOverlappingPairs=function(e){_emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1(this.ptr,e.ptr)},btBroadphaseInterface.prototype.printStats=function(){_emscripten_bind_btBroadphaseInterface__printStats_p0(this.ptr)},btBroadphaseInterface.prototype.getAabb=function(e,t,i){_emscripten_bind_btBroadphaseInterface__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBroadphaseInterface.prototype.aabbTest=function(e,t,i){_emscripten_bind_btBroadphaseInterface__aabbTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBroadphaseInterface.prototype.createProxy=function(e,t,i,n,_,r,o,s){return wrapPointer(_emscripten_bind_btBroadphaseInterface__createProxy_p8(this.ptr,e.ptr,t.ptr,i,n,_,r,o.ptr,s),Module.btBroadphaseProxy)},btBroadphaseInterface.prototype.getBroadphaseAabb=function(e,t){_emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2(this.ptr,e.ptr,t.ptr)},btBroadphaseInterface.prototype.destroyProxy=function(e,t){_emscripten_bind_btBroadphaseInterface__destroyProxy_p2(this.ptr,e.ptr,t.ptr)},btAngularLimit.prototype.getCorrection=function(){return _emscripten_bind_btAngularLimit__getCorrection_p0(this.ptr)},btAngularLimit.prototype.__cache__={},Module.btAngularLimit=btAngularLimit,btAngularLimit.prototype.getError=function(){return _emscripten_bind_btAngularLimit__getError_p0(this.ptr)},btAngularLimit.prototype.fit=function(e){_emscripten_bind_btAngularLimit__fit_p1(this.ptr,e)},btAngularLimit.prototype.__destroy__=function(){_emscripten_bind_btAngularLimit____destroy___p0(this.ptr)},btAngularLimit.prototype.isLimit=function(){return _emscripten_bind_btAngularLimit__isLimit_p0(this.ptr)},btAngularLimit.prototype.getBiasFactor=function(){return _emscripten_bind_btAngularLimit__getBiasFactor_p0(this.ptr)},btAngularLimit.prototype.getSign=function(){return _emscripten_bind_btAngularLimit__getSign_p0(this.ptr)},btAngularLimit.prototype.set=function(e,t,i,n,_){void 0===i?_emscripten_bind_btAngularLimit__set_p2(this.ptr,e,t):void 0===n?_emscripten_bind_btAngularLimit__set_p3(this.ptr,e,t,i):void 0===_?_emscripten_bind_btAngularLimit__set_p4(this.ptr,e,t,i,n):_emscripten_bind_btAngularLimit__set_p5(this.ptr,e,t,i,n,_)},btAngularLimit.prototype.getSoftness=function(){return _emscripten_bind_btAngularLimit__getSoftness_p0(this.ptr)},btAngularLimit.prototype.getHigh=function(){return _emscripten_bind_btAngularLimit__getHigh_p0(this.ptr)},btAngularLimit.prototype.test=function(e){_emscripten_bind_btAngularLimit__test_p1(this.ptr,e)},btAngularLimit.prototype.getHalfRange=function(){return _emscripten_bind_btAngularLimit__getHalfRange_p0(this.ptr)},btAngularLimit.prototype.getLow=function(){return _emscripten_bind_btAngularLimit__getLow_p0(this.ptr)},btAngularLimit.prototype.getRelaxationFactor=function(){return _emscripten_bind_btAngularLimit__getRelaxationFactor_p0(this.ptr)},btDefaultCollisionConfiguration.prototype.__destroy__=function(){_emscripten_bind_btDefaultCollisionConfiguration____destroy___p0(this.ptr)},btDefaultCollisionConfiguration.prototype.getStackAllocator=function(){return wrapPointer(_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0(this.ptr),Module.btStackAlloc)},btDefaultCollisionConfiguration.prototype.__cache__={},Module.btDefaultCollisionConfiguration=btDefaultCollisionConfiguration,btDefaultCollisionConfiguration.prototype.getPersistentManifoldPool=function(){return _emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0(this.ptr)},btDefaultCollisionConfiguration.prototype.getSimplexSolver=function(){return _emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0(this.ptr)},btDefaultCollisionConfiguration.prototype.setConvexConvexMultipointIterations=function(e,t){void 0===e?_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0(this.ptr):void 0===t?_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1(this.ptr,e):_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2(this.ptr,e,t)},btDefaultCollisionConfiguration.prototype.getCollisionAlgorithmPool=function(){return _emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0(this.ptr)},btDefaultCollisionConfiguration.prototype.getCollisionAlgorithmCreateFunc=function(e,t){return wrapPointer(_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2(this.ptr,e,t),Module.btCollisionAlgorithmCreateFunc)},ContactResultCallback.prototype.__cache__={},Module.ContactResultCallback=ContactResultCallback,ContactResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},ContactResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},ContactResultCallback.prototype.addSingleResult=function(e,t,i,n,_,r,o){return _emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7(this.ptr,e.ptr,t.ptr,i,n,_.ptr,r,o)},ContactResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0(this.ptr)},ContactResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},ContactResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1(this.ptr,e.ptr)},btSphereSphereCollisionAlgorithm.prototype.getAllContactManifolds=function(e){_emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1(this.ptr,e)},btSphereSphereCollisionAlgorithm.prototype.__cache__={},Module.btSphereSphereCollisionAlgorithm=btSphereSphereCollisionAlgorithm,btSphereSphereCollisionAlgorithm.prototype.calculateTimeOfImpact=function(e,t,i,n){return _emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btSphereSphereCollisionAlgorithm.prototype.processCollision=function(e,t,i,n){_emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btSphereSphereCollisionAlgorithm.prototype.__destroy__=function(){_emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0(this.ptr)},btSimpleBroadphase.prototype.__destroy__=function(){_emscripten_bind_btSimpleBroadphase____destroy___p0(this.ptr)},btSimpleBroadphase.prototype.__cache__={},Module.btSimpleBroadphase=btSimpleBroadphase,btSimpleBroadphase.prototype.setAabb=function(e,t,i,n){_emscripten_bind_btSimpleBroadphase__setAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btSimpleBroadphase.prototype.getOverlappingPairCache=function(){return wrapPointer(_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btSimpleBroadphase.prototype.rayTest=function(e,t,i,n,_){void 0===n?_emscripten_bind_btSimpleBroadphase__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr):void 0===_?_emscripten_bind_btSimpleBroadphase__rayTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btSimpleBroadphase__rayTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btSimpleBroadphase.prototype.calculateOverlappingPairs=function(e){_emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1(this.ptr,e.ptr)},btSimpleBroadphase.prototype.testAabbOverlap=function(e,t){return _emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2(this.ptr,e.ptr,t.ptr)},btSimpleBroadphase.prototype.getAabb=function(e,t,i){_emscripten_bind_btSimpleBroadphase__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSimpleBroadphase.prototype.aabbTest=function(e,t,i){_emscripten_bind_btSimpleBroadphase__aabbTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSimpleBroadphase.prototype.createProxy=function(e,t,i,n,_,r,o,s){return wrapPointer(_emscripten_bind_btSimpleBroadphase__createProxy_p8(this.ptr,e.ptr,t.ptr,i,n,_,r,o.ptr,s),Module.btBroadphaseProxy)},btSimpleBroadphase.prototype.printStats=function(){_emscripten_bind_btSimpleBroadphase__printStats_p0(this.ptr)},btSimpleBroadphase.prototype.aabbOverlap=function(e,t){return _emscripten_bind_btSimpleBroadphase__aabbOverlap_p2(e.ptr,t.ptr)},btSimpleBroadphase.prototype.getBroadphaseAabb=function(e,t){_emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2(this.ptr,e.ptr,t.ptr)},btSimpleBroadphase.prototype.destroyProxy=function(e,t){_emscripten_bind_btSimpleBroadphase__destroyProxy_p2(this.ptr,e.ptr,t.ptr)},btCollisionConfiguration.prototype.__cache__={},Module.btCollisionConfiguration=btCollisionConfiguration,btCollisionConfiguration.prototype.getPersistentManifoldPool=function(){return _emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0(this.ptr)},btCollisionConfiguration.prototype.getStackAllocator=function(){return wrapPointer(_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0(this.ptr),Module.btStackAlloc)},btCollisionConfiguration.prototype.getCollisionAlgorithmPool=function(){return _emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0(this.ptr)},btCollisionConfiguration.prototype.getCollisionAlgorithmCreateFunc=function(e,t){return wrapPointer(_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2(this.ptr,e,t),Module.btCollisionAlgorithmCreateFunc)},btPersistentManifold.prototype.getNumContacts=function(){return _emscripten_bind_btPersistentManifold__getNumContacts_p0(this.ptr)},btPersistentManifold.prototype.set_m_objectType=function(e){_emscripten_bind_btPersistentManifold__set_m_objectType_p1(this.ptr,e)},btPersistentManifold.prototype.getBody1=function(){return _emscripten_bind_btPersistentManifold__getBody1_p0(this.ptr)},btPersistentManifold.prototype.validContactDistance=function(e){return _emscripten_bind_btPersistentManifold__validContactDistance_p1(this.ptr,e.ptr)},btPersistentManifold.prototype.get_m_objectType=function(){return _emscripten_bind_btPersistentManifold__get_m_objectType_p0(this.ptr)},btPersistentManifold.prototype.refreshContactPoints=function(e,t){_emscripten_bind_btPersistentManifold__refreshContactPoints_p2(this.ptr,e.ptr,t.ptr)},btPersistentManifold.prototype.clearUserCache=function(e){_emscripten_bind_btPersistentManifold__clearUserCache_p1(this.ptr,e.ptr)},btPersistentManifold.prototype.set_m_index1a=function(e){_emscripten_bind_btPersistentManifold__set_m_index1a_p1(this.ptr,e)},btPersistentManifold.prototype.__cache__={},Module.btPersistentManifold=btPersistentManifold,btPersistentManifold.prototype.addManifoldPoint=function(e){return _emscripten_bind_btPersistentManifold__addManifoldPoint_p1(this.ptr,e.ptr)},btPersistentManifold.prototype.getCacheEntry=function(e){return _emscripten_bind_btPersistentManifold__getCacheEntry_p1(this.ptr,e.ptr)},btPersistentManifold.prototype.getObjectType=function(){return _emscripten_bind_btPersistentManifold__getObjectType_p0(this.ptr)},btPersistentManifold.prototype.getContactPoint=function(e){return wrapPointer(_emscripten_bind_btPersistentManifold__getContactPoint_p1(this.ptr,e),Module.btManifoldPoint)},btPersistentManifold.prototype.getContactBreakingThreshold=function(){return _emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0(this.ptr)},btPersistentManifold.prototype.clearManifold=function(){_emscripten_bind_btPersistentManifold__clearManifold_p0(this.ptr)},btPersistentManifold.prototype.getBody0=function(){return _emscripten_bind_btPersistentManifold__getBody0_p0(this.ptr)},btPersistentManifold.prototype.setBodies=function(e,t){_emscripten_bind_btPersistentManifold__setBodies_p2(this.ptr,e,t)},btPersistentManifold.prototype.removeContactPoint=function(e){_emscripten_bind_btPersistentManifold__removeContactPoint_p1(this.ptr,e)},btPersistentManifold.prototype.__destroy__=function(){_emscripten_bind_btPersistentManifold____destroy___p0(this.ptr)},btPersistentManifold.prototype.get_m_index1a=function(){return _emscripten_bind_btPersistentManifold__get_m_index1a_p0(this.ptr)},btPersistentManifold.prototype.getContactProcessingThreshold=function(){return _emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0(this.ptr)},btPersistentManifold.prototype.get_m_companionIdB=function(){return _emscripten_bind_btPersistentManifold__get_m_companionIdB_p0(this.ptr)},btPersistentManifold.prototype.get_m_companionIdA=function(){return _emscripten_bind_btPersistentManifold__get_m_companionIdA_p0(this.ptr)},btPersistentManifold.prototype.set_m_companionIdB=function(e){_emscripten_bind_btPersistentManifold__set_m_companionIdB_p1(this.ptr,e)},btPersistentManifold.prototype.set_m_companionIdA=function(e){_emscripten_bind_btPersistentManifold__set_m_companionIdA_p1(this.ptr,e)},btPersistentManifold.prototype.replaceContactPoint=function(e,t){_emscripten_bind_btPersistentManifold__replaceContactPoint_p2(this.ptr,e.ptr,t)},btNodeOverlapCallback.prototype.__cache__={},Module.btNodeOverlapCallback=btNodeOverlapCallback,btNodeOverlapCallback.prototype.processNode=function(e,t){_emscripten_bind_btNodeOverlapCallback__processNode_p2(this.ptr,e,t)},btCompoundShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCompoundShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCompoundShape.prototype.getDynamicAabbTree=function(){return wrapPointer(_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0(this.ptr),Module.btDbvt)},btCompoundShape.prototype.isConvex=function(){return _emscripten_bind_btCompoundShape__isConvex_p0(this.ptr)},btCompoundShape.prototype.getUpdateRevision=function(){return _emscripten_bind_btCompoundShape__getUpdateRevision_p0(this.ptr)},btCompoundShape.prototype.serialize=function(e,t){return _emscripten_bind_btCompoundShape__serialize_p2(this.ptr,e,t.ptr)},btCompoundShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCompoundShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btCompoundShape.prototype.createAabbTreeFromChildren=function(){_emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0(this.ptr)},btCompoundShape.prototype.__cache__={},Module.btCompoundShape=btCompoundShape,btCompoundShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0(this.ptr)},btCompoundShape.prototype.setUserPointer=function(e){_emscripten_bind_btCompoundShape__setUserPointer_p1(this.ptr,e)},btCompoundShape.prototype.getName=function(){return _emscripten_bind_btCompoundShape__getName_p0(this.ptr)},btCompoundShape.prototype.isCompound=function(){return _emscripten_bind_btCompoundShape__isCompound_p0(this.ptr)},btCompoundShape.prototype.isPolyhedral=function(){return _emscripten_bind_btCompoundShape__isPolyhedral_p0(this.ptr)},btCompoundShape.prototype.setLocalScaling=function(e){_emscripten_bind_btCompoundShape__setLocalScaling_p1(this.ptr,e.ptr)},btCompoundShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btCompoundShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCompoundShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1(this.ptr,e)},btCompoundShape.prototype.getChildShape=function(e){return wrapPointer(_emscripten_bind_btCompoundShape__getChildShape_p1(this.ptr,e),Module.btCollisionShape)},btCompoundShape.prototype.addChildShape=function(e,t){_emscripten_bind_btCompoundShape__addChildShape_p2(this.ptr,e.ptr,t.ptr)},btCompoundShape.prototype.isInfinite=function(){return _emscripten_bind_btCompoundShape__isInfinite_p0(this.ptr)},btCompoundShape.prototype.getChildTransform=function(e){return wrapPointer(_emscripten_bind_btCompoundShape__getChildTransform_p1(this.ptr,e),Module.btTransform)},btCompoundShape.prototype.getUserPointer=function(){return _emscripten_bind_btCompoundShape__getUserPointer_p0(this.ptr)},btCompoundShape.prototype.isNonMoving=function(){return _emscripten_bind_btCompoundShape__isNonMoving_p0(this.ptr)},btCompoundShape.prototype.getChildList=function(){return wrapPointer(_emscripten_bind_btCompoundShape__getChildList_p0(this.ptr),Module.btCompoundShapeChild)},btCompoundShape.prototype.getMargin=function(){return _emscripten_bind_btCompoundShape__getMargin_p0(this.ptr)},btCompoundShape.prototype.setMargin=function(e){_emscripten_bind_btCompoundShape__setMargin_p1(this.ptr,e)},btCompoundShape.prototype.getNumChildShapes=function(){return _emscripten_bind_btCompoundShape__getNumChildShapes_p0(this.ptr)},btCompoundShape.prototype.removeChildShapeByIndex=function(e){_emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1(this.ptr,e)},btCompoundShape.prototype.recalculateLocalAabb=function(){_emscripten_bind_btCompoundShape__recalculateLocalAabb_p0(this.ptr)},btCompoundShape.prototype.isSoftBody=function(){return _emscripten_bind_btCompoundShape__isSoftBody_p0(this.ptr)},btCompoundShape.prototype.__destroy__=function(){_emscripten_bind_btCompoundShape____destroy___p0(this.ptr)},btCompoundShape.prototype.updateChildTransform=function(e,t,i){void 0===i?_emscripten_bind_btCompoundShape__updateChildTransform_p2(this.ptr,e,t.ptr):_emscripten_bind_btCompoundShape__updateChildTransform_p3(this.ptr,e,t.ptr,i)},btCompoundShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCompoundShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCompoundShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCompoundShape__getAngularMotionDisc_p0(this.ptr)},btCompoundShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btCompoundShape__serializeSingleShape_p1(this.ptr,e.ptr)},btCompoundShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCompoundShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCompoundShape.prototype.calculatePrincipalAxisTransform=function(e,t,i){_emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3(this.ptr,e,t.ptr,i.ptr)},btCompoundShape.prototype.removeChildShape=function(e){_emscripten_bind_btCompoundShape__removeChildShape_p1(this.ptr,e.ptr)},btCompoundShape.prototype.getShapeType=function(){return _emscripten_bind_btCompoundShape__getShapeType_p0(this.ptr)},btCompoundShape.prototype.isConcave=function(){return _emscripten_bind_btCompoundShape__isConcave_p0(this.ptr)},btCompoundShape.prototype.isConvex2d=function(){return _emscripten_bind_btCompoundShape__isConvex2d_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btScaledBvhTriangleMeshShape.prototype.setUserPointer=function(e){_emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1(this.ptr,e)},btScaledBvhTriangleMeshShape.prototype.__cache__={},Module.btScaledBvhTriangleMeshShape=btScaledBvhTriangleMeshShape,btScaledBvhTriangleMeshShape.prototype.serialize=function(e,t){return _emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2(this.ptr,e,t.ptr)},btScaledBvhTriangleMeshShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btScaledBvhTriangleMeshShape.prototype.processAllTriangles=function(e,t,i){_emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btScaledBvhTriangleMeshShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.getName=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.isCompound=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.isPolyhedral=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.setLocalScaling=function(e){_emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1(this.ptr,e.ptr)},btScaledBvhTriangleMeshShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btScaledBvhTriangleMeshShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1(this.ptr,e)},btScaledBvhTriangleMeshShape.prototype.getChildShape=function(){return wrapPointer(_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0(this.ptr),Module.btBvhTriangleMeshShape)},btScaledBvhTriangleMeshShape.prototype.isConvex=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.isInfinite=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.getUserPointer=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.isNonMoving=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.getMargin=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.setMargin=function(e){_emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1(this.ptr,e)},btScaledBvhTriangleMeshShape.prototype.isConvex2d=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.isSoftBody=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.__destroy__=function(){_emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btScaledBvhTriangleMeshShape.prototype.isConcave=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0(this.ptr)},btScaledBvhTriangleMeshShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1(this.ptr,e.ptr)},btScaledBvhTriangleMeshShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btScaledBvhTriangleMeshShape.prototype.getShapeType=function(){return _emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0(this.ptr)},btDynamicsWorld.prototype.__cache__={},Module.btDynamicsWorld=btDynamicsWorld,btDynamicsWorld.prototype.setGravity=function(e){_emscripten_bind_btDynamicsWorld__setGravity_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.addAction=function(e){_emscripten_bind_btDynamicsWorld__addAction_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.getSolverInfo=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getSolverInfo_p0(this.ptr),Module.btContactSolverInfo)},btDynamicsWorld.prototype.serialize=function(e){_emscripten_bind_btDynamicsWorld__serialize_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.getDispatcher=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getDispatcher_p0(this.ptr),Module.btDispatcher)},btDynamicsWorld.prototype.addRigidBody=function(e,t,i){void 0===t?_emscripten_bind_btDynamicsWorld__addRigidBody_p1(this.ptr,e.ptr):_emscripten_bind_btDynamicsWorld__addRigidBody_p3(this.ptr,e.ptr,t,i)},btDynamicsWorld.prototype.clearForces=function(){_emscripten_bind_btDynamicsWorld__clearForces_p0(this.ptr)},btDynamicsWorld.prototype.removeVehicle=function(e){_emscripten_bind_btDynamicsWorld__removeVehicle_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.getDebugDrawer=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0(this.ptr),Module.btIDebugDraw)},btDynamicsWorld.prototype.setBroadphase=function(e){_emscripten_bind_btDynamicsWorld__setBroadphase_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.performDiscreteCollisionDetection=function(){_emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr)},btDynamicsWorld.prototype.getCollisionObjectArray=function(){return _emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0(this.ptr)},btDynamicsWorld.prototype.debugDrawObject=function(e,t,i){_emscripten_bind_btDynamicsWorld__debugDrawObject_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDynamicsWorld.prototype.removeConstraint=function(e){_emscripten_bind_btDynamicsWorld__removeConstraint_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.rayTest=function(e,t,i){_emscripten_bind_btDynamicsWorld__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDynamicsWorld.prototype.getNumConstraints=function(){return _emscripten_bind_btDynamicsWorld__getNumConstraints_p0(this.ptr)},btDynamicsWorld.prototype.addCollisionObject=function(e,t,i){void 0===t?_emscripten_bind_btDynamicsWorld__addCollisionObject_p1(this.ptr,e.ptr):void 0===i?_emscripten_bind_btDynamicsWorld__addCollisionObject_p2(this.ptr,e.ptr,t):_emscripten_bind_btDynamicsWorld__addCollisionObject_p3(this.ptr,e.ptr,t,i)},btDynamicsWorld.prototype.removeRigidBody=function(e){_emscripten_bind_btDynamicsWorld__removeRigidBody_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.contactTest=function(e,t){_emscripten_bind_btDynamicsWorld__contactTest_p2(this.ptr,e.ptr,t.ptr)},btDynamicsWorld.prototype.setInternalTickCallback=function(e,t,i){void 0===t?_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1(this.ptr,e):void 0===i?_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2(this.ptr,e,t):_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3(this.ptr,e,t,i)},btDynamicsWorld.prototype.getForceUpdateAllAabbs=function(){return _emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr)},btDynamicsWorld.prototype.updateAabbs=function(){_emscripten_bind_btDynamicsWorld__updateAabbs_p0(this.ptr)},btDynamicsWorld.prototype.setDebugDrawer=function(e){_emscripten_bind_btDynamicsWorld__setDebugDrawer_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.synchronizeMotionStates=function(){_emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0(this.ptr)},btDynamicsWorld.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btDynamicsWorld__convexSweepTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btDynamicsWorld__convexSweepTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_)},btDynamicsWorld.prototype.getNumCollisionObjects=function(){return _emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0(this.ptr)},btDynamicsWorld.prototype.__destroy__=function(){_emscripten_bind_btDynamicsWorld____destroy___p0(this.ptr)},btDynamicsWorld.prototype.addConstraint=function(e,t){void 0===t?_emscripten_bind_btDynamicsWorld__addConstraint_p1(this.ptr,e.ptr):_emscripten_bind_btDynamicsWorld__addConstraint_p2(this.ptr,e.ptr,t)},btDynamicsWorld.prototype.contactPairTest=function(e,t,i){_emscripten_bind_btDynamicsWorld__contactPairTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDynamicsWorld.prototype.getGravity=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getGravity_p0(this.ptr),Module.btVector3)},btDynamicsWorld.prototype.debugDrawWorld=function(){_emscripten_bind_btDynamicsWorld__debugDrawWorld_p0(this.ptr)},btDynamicsWorld.prototype.getBroadphase=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getBroadphase_p0(this.ptr),Module.btBroadphaseInterface)},btDynamicsWorld.prototype.rayTestSingle=function(e,t,i,n,_,r){_emscripten_bind_btDynamicsWorld__rayTestSingle_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr)},btDynamicsWorld.prototype.removeAction=function(e){_emscripten_bind_btDynamicsWorld__removeAction_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.setForceUpdateAllAabbs=function(e){_emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr,e)},btDynamicsWorld.prototype.setWorldUserInfo=function(e){_emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1(this.ptr,e)},btDynamicsWorld.prototype.removeCharacter=function(e){_emscripten_bind_btDynamicsWorld__removeCharacter_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.getConstraint=function(e){return wrapPointer(_emscripten_bind_btDynamicsWorld__getConstraint_p1(this.ptr,e),Module.btTypedConstraint)},btDynamicsWorld.prototype.getConstraintSolver=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0(this.ptr),Module.btConstraintSolver)},btDynamicsWorld.prototype.stepSimulation=function(e,t,i){return void 0===t?_emscripten_bind_btDynamicsWorld__stepSimulation_p1(this.ptr,e):void 0===i?_emscripten_bind_btDynamicsWorld__stepSimulation_p2(this.ptr,e,t):_emscripten_bind_btDynamicsWorld__stepSimulation_p3(this.ptr,e,t,i)},btDynamicsWorld.prototype.addCharacter=function(e){_emscripten_bind_btDynamicsWorld__addCharacter_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.getWorldType=function(){return _emscripten_bind_btDynamicsWorld__getWorldType_p0(this.ptr)},btDynamicsWorld.prototype.updateSingleAabb=function(e){_emscripten_bind_btDynamicsWorld__updateSingleAabb_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.addVehicle=function(e){_emscripten_bind_btDynamicsWorld__addVehicle_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.getPairCache=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btDynamicsWorld.prototype.getWorldUserInfo=function(){return _emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0(this.ptr)},btDynamicsWorld.prototype.removeCollisionObject=function(e){_emscripten_bind_btDynamicsWorld__removeCollisionObject_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.setConstraintSolver=function(e){_emscripten_bind_btDynamicsWorld__setConstraintSolver_p1(this.ptr,e.ptr)},btDynamicsWorld.prototype.objectQuerySingle=function(e,t,i,n,_,r,o,s){_emscripten_bind_btDynamicsWorld__objectQuerySingle_p8(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s)},btDynamicsWorld.prototype.getDispatchInfo=function(){return wrapPointer(_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0(this.ptr),Module.btDispatcherInfo)},btDefaultVehicleRaycaster.prototype.__cache__={},Module.btDefaultVehicleRaycaster=btDefaultVehicleRaycaster,btDefaultVehicleRaycaster.prototype.__destroy__=function(){_emscripten_bind_btDefaultVehicleRaycaster____destroy___p0(this.ptr)},btDefaultVehicleRaycaster.prototype.castRay=function(e,t,i){return _emscripten_bind_btDefaultVehicleRaycaster__castRay_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConstraintSetting.prototype.__destroy__=function(){_emscripten_bind_btConstraintSetting____destroy___p0(this.ptr)},btConstraintSetting.prototype.__cache__={},Module.btConstraintSetting=btConstraintSetting,btConstraintSetting.prototype.set_m_impulseClamp=function(e){_emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1(this.ptr,e)},btConstraintSetting.prototype.get_m_damping=function(){return _emscripten_bind_btConstraintSetting__get_m_damping_p0(this.ptr)},btConstraintSetting.prototype.get_m_impulseClamp=function(){return _emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0(this.ptr)},btConstraintSetting.prototype.set_m_tau=function(e){_emscripten_bind_btConstraintSetting__set_m_tau_p1(this.ptr,e)},btConstraintSetting.prototype.set_m_damping=function(e){_emscripten_bind_btConstraintSetting__set_m_damping_p1(this.ptr,e)},btConstraintSetting.prototype.get_m_tau=function(){return _emscripten_bind_btConstraintSetting__get_m_tau_p0(this.ptr)},btStackAlloc.prototype.__destroy__=function(){_emscripten_bind_btStackAlloc____destroy___p0(this.ptr)},btStackAlloc.prototype.create=function(e){_emscripten_bind_btStackAlloc__create_p1(this.ptr,e)},btStackAlloc.prototype.__cache__={},Module.btStackAlloc=btStackAlloc,btStackAlloc.prototype.allocate=function(e){return _emscripten_bind_btStackAlloc__allocate_p1(this.ptr,e)},btStackAlloc.prototype.destroy=function(){_emscripten_bind_btStackAlloc__destroy_p0(this.ptr)},btStackAlloc.prototype.beginBlock=function(){return wrapPointer(_emscripten_bind_btStackAlloc__beginBlock_p0(this.ptr),Module.btBlock)},btStackAlloc.prototype.getAvailableMemory=function(){return _emscripten_bind_btStackAlloc__getAvailableMemory_p0(this.ptr)},btStackAlloc.prototype.endBlock=function(e){_emscripten_bind_btStackAlloc__endBlock_p1(this.ptr,e.ptr)},btContactSolverInfo.prototype.__cache__={},Module.btContactSolverInfo=btContactSolverInfo,btContactSolverInfo.prototype.__destroy__=function(){_emscripten_bind_btContactSolverInfo____destroy___p0(this.ptr)},btUniversalConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btUniversalConstraint.prototype.buildJacobian=function(){_emscripten_bind_btUniversalConstraint__buildJacobian_p0(this.ptr)},btUniversalConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btUniversalConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btUniversalConstraint__setParam_p3(this.ptr,e,t,i)},btUniversalConstraint.prototype.getUid=function(){return _emscripten_bind_btUniversalConstraint__getUid_p0(this.ptr)},btUniversalConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btUniversalConstraint__set_m_objectType_p1(this.ptr,e)},btUniversalConstraint.prototype.setEnabled=function(e){_emscripten_bind_btUniversalConstraint__setEnabled_p1(this.ptr,e)},btUniversalConstraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btUniversalConstraint.prototype.getRelativePivotPosition=function(e){return _emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1(this.ptr,e)},btUniversalConstraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btUniversalConstraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_,r,o){_emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr)},btUniversalConstraint.prototype.getCalculatedTransformA=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0(this.ptr),Module.btTransform)},btUniversalConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btUniversalConstraint__getUserConstraintId_p0(this.ptr)},btUniversalConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btUniversalConstraint__get_m_objectType_p0(this.ptr)},btUniversalConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btUniversalConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btUniversalConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btUniversalConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btUniversalConstraint__getParam_p2(this.ptr,e,t)},btUniversalConstraint.prototype.setUpperLimit=function(e,t){_emscripten_bind_btUniversalConstraint__setUpperLimit_p2(this.ptr,e,t)},btUniversalConstraint.prototype.getInfo1=function(e){_emscripten_bind_btUniversalConstraint__getInfo1_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.getInfo2=function(e){_emscripten_bind_btUniversalConstraint__getInfo2_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.calcAnchorPos=function(){_emscripten_bind_btUniversalConstraint__calcAnchorPos_p0(this.ptr)},btUniversalConstraint.prototype.getAngularLowerLimit=function(e){_emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0(this.ptr)},btUniversalConstraint.prototype.getAxis=function(e){return wrapPointer(_emscripten_bind_btUniversalConstraint__getAxis_p1(this.ptr,e),Module.btVector3)},btUniversalConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0(this.ptr)},btUniversalConstraint.prototype.isEnabled=function(){return _emscripten_bind_btUniversalConstraint__isEnabled_p0(this.ptr)},btUniversalConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btUniversalConstraint__setUserConstraintId_p1(this.ptr,e)},btUniversalConstraint.prototype.getLinearUpperLimit=function(e){_emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btUniversalConstraint__getConstraintType_p0(this.ptr)},btUniversalConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btUniversalConstraint__enableFeedback_p1(this.ptr,e)},btUniversalConstraint.prototype.getAnchor=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getAnchor_p0(this.ptr),Module.btVector3)},btUniversalConstraint.prototype.setUseFrameOffset=function(e){_emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1(this.ptr,e)},btUniversalConstraint.prototype.isLimited=function(e){return _emscripten_bind_btUniversalConstraint__isLimited_p1(this.ptr,e)},btUniversalConstraint.prototype.getAngle2=function(){return _emscripten_bind_btUniversalConstraint__getAngle2_p0(this.ptr)},btUniversalConstraint.prototype.getRotationalLimitMotor=function(e){return wrapPointer(_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1(this.ptr,e),Module.btRotationalLimitMotor)},btUniversalConstraint.prototype.getAngle1=function(){return _emscripten_bind_btUniversalConstraint__getAngle1_p0(this.ptr)},btUniversalConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btUniversalConstraint__serialize_p2(this.ptr,e,t.ptr)},btUniversalConstraint.prototype.setLinearLowerLimit=function(e){_emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.getAnchor2=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getAnchor2_p0(this.ptr),Module.btVector3)},btUniversalConstraint.prototype.__destroy__=function(){_emscripten_bind_btUniversalConstraint____destroy___p0(this.ptr)},btUniversalConstraint.prototype.getLinearLowerLimit=function(e){_emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1(this.ptr,e)},btUniversalConstraint.prototype.setFrames=function(e,t){_emscripten_bind_btUniversalConstraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btUniversalConstraint.prototype.getUseFrameOffset=function(){return _emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0(this.ptr)},btUniversalConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btUniversalConstraint__setUserConstraintType_p1(this.ptr,e)},btUniversalConstraint.prototype.getCalculatedTransformB=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0(this.ptr),Module.btTransform)},btUniversalConstraint.prototype.calculateTransforms=function(e,t){void 0===e?_emscripten_bind_btUniversalConstraint__calculateTransforms_p0(this.ptr):_emscripten_bind_btUniversalConstraint__calculateTransforms_p2(this.ptr,e.ptr,t.ptr)},btUniversalConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btUniversalConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btUniversalConstraint.prototype.get_limit_motor_info2=function(e,t,i,n,_,r,o,s,a,p,l,d){return void 0===d?_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l):_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l,d)},btUniversalConstraint.prototype.get_m_useSolveConstraintObsolete=function(){return _emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr)},btUniversalConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0(this.ptr)},btUniversalConstraint.prototype.setLimit=function(e,t,i){_emscripten_bind_btUniversalConstraint__setLimit_p3(this.ptr,e,t,i)},btUniversalConstraint.prototype.__cache__={},Module.btUniversalConstraint=btUniversalConstraint,btUniversalConstraint.prototype.getTranslationalLimitMotor=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0(this.ptr),Module.btTranslationalLimitMotor)},btUniversalConstraint.prototype.setLowerLimit=function(e,t){_emscripten_bind_btUniversalConstraint__setLowerLimit_p2(this.ptr,e,t)},btUniversalConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btUniversalConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btUniversalConstraint__needsFeedback_p0(this.ptr)},btUniversalConstraint.prototype.getAngle=function(e){return _emscripten_bind_btUniversalConstraint__getAngle_p1(this.ptr,e)},btUniversalConstraint.prototype.set_m_useSolveConstraintObsolete=function(e){_emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr,e)},btUniversalConstraint.prototype.updateRHS=function(e){_emscripten_bind_btUniversalConstraint__updateRHS_p1(this.ptr,e)},btUniversalConstraint.prototype.getAngularUpperLimit=function(e){_emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.setAngularLowerLimit=function(e){_emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.getObjectType=function(){return _emscripten_bind_btUniversalConstraint__getObjectType_p0(this.ptr)},btUniversalConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btUniversalConstraint__getUserConstraintType_p0(this.ptr)},btUniversalConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btUniversalConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0(this.ptr)},btUniversalConstraint.prototype.getAxis1=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getAxis1_p0(this.ptr),Module.btVector3)},btUniversalConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0(this.ptr)},btUniversalConstraint.prototype.getAxis2=function(){return wrapPointer(_emscripten_bind_btUniversalConstraint__getAxis2_p0(this.ptr),Module.btVector3)},btUniversalConstraint.prototype.setLinearUpperLimit=function(e){_emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.setAngularUpperLimit=function(e){_emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1(this.ptr,e.ptr)},btUniversalConstraint.prototype.setAxis=function(e,t){_emscripten_bind_btUniversalConstraint__setAxis_p2(this.ptr,e.ptr,t.ptr)},btUniversalConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1(this.ptr,e)},btUniversalConstraint.prototype.testAngularLimitMotor=function(e){return _emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1(this.ptr,e)},btEmptyShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btEmptyShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btEmptyShape.prototype.setUserPointer=function(e){_emscripten_bind_btEmptyShape__setUserPointer_p1(this.ptr,e)},btEmptyShape.prototype.serialize=function(e,t){return _emscripten_bind_btEmptyShape__serialize_p2(this.ptr,e,t.ptr)},btEmptyShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btEmptyShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btEmptyShape.prototype.processAllTriangles=function(e,t,i){_emscripten_bind_btEmptyShape__processAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btEmptyShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0(this.ptr)},btEmptyShape.prototype.getName=function(){return _emscripten_bind_btEmptyShape__getName_p0(this.ptr)},btEmptyShape.prototype.isCompound=function(){return _emscripten_bind_btEmptyShape__isCompound_p0(this.ptr)},btEmptyShape.prototype.isPolyhedral=function(){return _emscripten_bind_btEmptyShape__isPolyhedral_p0(this.ptr)},btEmptyShape.prototype.setLocalScaling=function(e){_emscripten_bind_btEmptyShape__setLocalScaling_p1(this.ptr,e.ptr)},btEmptyShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btEmptyShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btEmptyShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1(this.ptr,e)},btEmptyShape.prototype.isConvex=function(){return _emscripten_bind_btEmptyShape__isConvex_p0(this.ptr)},btEmptyShape.prototype.isInfinite=function(){return _emscripten_bind_btEmptyShape__isInfinite_p0(this.ptr)},btEmptyShape.prototype.getUserPointer=function(){return _emscripten_bind_btEmptyShape__getUserPointer_p0(this.ptr)},btEmptyShape.prototype.isNonMoving=function(){return _emscripten_bind_btEmptyShape__isNonMoving_p0(this.ptr)},btEmptyShape.prototype.getMargin=function(){return _emscripten_bind_btEmptyShape__getMargin_p0(this.ptr)},btEmptyShape.prototype.setMargin=function(e){_emscripten_bind_btEmptyShape__setMargin_p1(this.ptr,e)},btEmptyShape.prototype.isConvex2d=function(){return _emscripten_bind_btEmptyShape__isConvex2d_p0(this.ptr)},btEmptyShape.prototype.isSoftBody=function(){return _emscripten_bind_btEmptyShape__isSoftBody_p0(this.ptr)},btEmptyShape.prototype.__cache__={},Module.btEmptyShape=btEmptyShape,btEmptyShape.prototype.__destroy__=function(){_emscripten_bind_btEmptyShape____destroy___p0(this.ptr)},btEmptyShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btEmptyShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btEmptyShape.prototype.isConcave=function(){return _emscripten_bind_btEmptyShape__isConcave_p0(this.ptr)},btEmptyShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btEmptyShape__getAngularMotionDisc_p0(this.ptr)},btEmptyShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btEmptyShape__serializeSingleShape_p1(this.ptr,e.ptr)},btEmptyShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btEmptyShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btEmptyShape.prototype.getShapeType=function(){return _emscripten_bind_btEmptyShape__getShapeType_p0(this.ptr)},btRigidBody.prototype.updateDeactivation=function(e){_emscripten_bind_btRigidBody__updateDeactivation_p1(this.ptr,e)},btRigidBody.prototype.setUserPointer=function(e){_emscripten_bind_btRigidBody__setUserPointer_p1(this.ptr,e)},btRigidBody.prototype.wantsSleeping=function(){return _emscripten_bind_btRigidBody__wantsSleeping_p0(this.ptr)},btRigidBody.prototype.getOrientation=function(){return wrapPointer(_emscripten_bind_btRigidBody__getOrientation_p0(this.ptr),Module.btQuaternion)},btRigidBody.prototype.setMassProps=function(e,t){_emscripten_bind_btRigidBody__setMassProps_p2(this.ptr,e,t.ptr)},btRigidBody.prototype.setMotionState=function(e){_emscripten_bind_btRigidBody__setMotionState_p1(this.ptr,e.ptr)},btRigidBody.prototype.clearForces=function(){_emscripten_bind_btRigidBody__clearForces_p0(this.ptr)},btRigidBody.prototype.getInterpolationLinearVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.set_m_frictionSolverType=function(e){_emscripten_bind_btRigidBody__set_m_frictionSolverType_p1(this.ptr,e)},btRigidBody.prototype.setCollisionShape=function(e){_emscripten_bind_btRigidBody__setCollisionShape_p1(this.ptr,e.ptr)},btRigidBody.prototype.getHitFraction=function(){return _emscripten_bind_btRigidBody__getHitFraction_p0(this.ptr)},btRigidBody.prototype.getTurnVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getTurnVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.internalGetInvMass=function(){return wrapPointer(_emscripten_bind_btRigidBody__internalGetInvMass_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.setIslandTag=function(e){_emscripten_bind_btRigidBody__setIslandTag_p1(this.ptr,e)},btRigidBody.prototype.getInvMass=function(){return _emscripten_bind_btRigidBody__getInvMass_p0(this.ptr)},btRigidBody.prototype.getCollisionFlags=function(){return _emscripten_bind_btRigidBody__getCollisionFlags_p0(this.ptr)},btRigidBody.prototype.getTotalForce=function(){return wrapPointer(_emscripten_bind_btRigidBody__getTotalForce_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getCenterOfMassPosition=function(){return wrapPointer(_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getDeactivationTime=function(){return _emscripten_bind_btRigidBody__getDeactivationTime_p0(this.ptr)},btRigidBody.prototype.getRootCollisionShape=function(){return wrapPointer(_emscripten_bind_btRigidBody__getRootCollisionShape_p0(this.ptr),Module.btCollisionShape)},btRigidBody.prototype.getGravity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getGravity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.setCenterOfMassTransform=function(e){_emscripten_bind_btRigidBody__setCenterOfMassTransform_p1(this.ptr,e.ptr)},btRigidBody.prototype.setFlags=function(e){_emscripten_bind_btRigidBody__setFlags_p1(this.ptr,e)},btRigidBody.prototype.isActive=function(){return _emscripten_bind_btRigidBody__isActive_p0(this.ptr)},btRigidBody.prototype.getActivationState=function(){return _emscripten_bind_btRigidBody__getActivationState_p0(this.ptr)},btRigidBody.prototype.getTotalTorque=function(){return wrapPointer(_emscripten_bind_btRigidBody__getTotalTorque_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getInvInertiaTensorWorld=function(){return wrapPointer(_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0(this.ptr),Module.btMatrix3x3)},btRigidBody.prototype.computeImpulseDenominator=function(e,t){return _emscripten_bind_btRigidBody__computeImpulseDenominator_p2(this.ptr,e.ptr,t.ptr)},btRigidBody.prototype.__cache__={},Module.btRigidBody=btRigidBody,btRigidBody.prototype.getLinearSleepingThreshold=function(){return _emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0(this.ptr)},btRigidBody.prototype.internalGetExtensionPointer=function(){return _emscripten_bind_btRigidBody__internalGetExtensionPointer_p0(this.ptr)},btRigidBody.prototype.applyForce=function(e,t){_emscripten_bind_btRigidBody__applyForce_p2(this.ptr,e.ptr,t.ptr)},btRigidBody.prototype.internalGetVelocityInLocalPointObsolete=function(e,t){_emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2(this.ptr,e.ptr,t.ptr)},btRigidBody.prototype.mergesSimulationIslands=function(){return _emscripten_bind_btRigidBody__mergesSimulationIslands_p0(this.ptr)},btRigidBody.prototype.getFriction=function(){return _emscripten_bind_btRigidBody__getFriction_p0(this.ptr)},btRigidBody.prototype.setContactProcessingThreshold=function(e){_emscripten_bind_btRigidBody__setContactProcessingThreshold_p1(this.ptr,e)},btRigidBody.prototype.internalGetDeltaAngularVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.applyCentralForce=function(e){_emscripten_bind_btRigidBody__applyCentralForce_p1(this.ptr,e.ptr)},btRigidBody.prototype.applyImpulse=function(e,t){_emscripten_bind_btRigidBody__applyImpulse_p2(this.ptr,e.ptr,t.ptr)},btRigidBody.prototype.applyTorque=function(e){_emscripten_bind_btRigidBody__applyTorque_p1(this.ptr,e.ptr)},btRigidBody.prototype.getIslandTag=function(){return _emscripten_bind_btRigidBody__getIslandTag_p0(this.ptr)},btRigidBody.prototype.internalGetAngularFactor=function(){return wrapPointer(_emscripten_bind_btRigidBody__internalGetAngularFactor_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.predictIntegratedTransform=function(e,t){_emscripten_bind_btRigidBody__predictIntegratedTransform_p2(this.ptr,e,t.ptr)},btRigidBody.prototype.getInterpolationAngularVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.forceActivationState=function(e){_emscripten_bind_btRigidBody__forceActivationState_p1(this.ptr,e)},btRigidBody.prototype.getAngularVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getAngularVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getLinearVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getLinearVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.checkCollideWithOverride=function(e){return _emscripten_bind_btRigidBody__checkCollideWithOverride_p1(this.ptr,e.ptr)},btRigidBody.prototype.getBroadphaseHandle=function(){return wrapPointer(_emscripten_bind_btRigidBody__getBroadphaseHandle_p0(this.ptr),Module.btBroadphaseProxy)},btRigidBody.prototype.getUserPointer=function(){return _emscripten_bind_btRigidBody__getUserPointer_p0(this.ptr)},btRigidBody.prototype.setCcdSweptSphereRadius=function(e){_emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1(this.ptr,e)},btRigidBody.prototype.setAngularVelocity=function(e){_emscripten_bind_btRigidBody__setAngularVelocity_p1(this.ptr,e.ptr)},btRigidBody.prototype.addConstraintRef=function(e){_emscripten_bind_btRigidBody__addConstraintRef_p1(this.ptr,e.ptr)},btRigidBody.prototype.integrateVelocities=function(e){_emscripten_bind_btRigidBody__integrateVelocities_p1(this.ptr,e)},btRigidBody.prototype.isInWorld=function(){return _emscripten_bind_btRigidBody__isInWorld_p0(this.ptr)},btRigidBody.prototype.internalSetTemporaryCollisionShape=function(e){_emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1(this.ptr,e.ptr)},btRigidBody.prototype.computeAngularImpulseDenominator=function(e){return _emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1(this.ptr,e.ptr)},btRigidBody.prototype.getAngularDamping=function(){return _emscripten_bind_btRigidBody__getAngularDamping_p0(this.ptr)},btRigidBody.prototype.setNewBroadphaseProxy=function(e){_emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1(this.ptr,e.ptr)},btRigidBody.prototype.removeConstraintRef=function(e){_emscripten_bind_btRigidBody__removeConstraintRef_p1(this.ptr,e.ptr)},btRigidBody.prototype.getAngularFactor=function(){return wrapPointer(_emscripten_bind_btRigidBody__getAngularFactor_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.isStaticOrKinematicObject=function(){return _emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0(this.ptr)},btRigidBody.prototype.setRestitution=function(e){_emscripten_bind_btRigidBody__setRestitution_p1(this.ptr,e)},btRigidBody.prototype.isKinematicObject=function(){return _emscripten_bind_btRigidBody__isKinematicObject_p0(this.ptr)},btRigidBody.prototype.proceedToTransform=function(e){_emscripten_bind_btRigidBody__proceedToTransform_p1(this.ptr,e.ptr)},btRigidBody.prototype.internalWritebackVelocity=function(e){void 0===e?_emscripten_bind_btRigidBody__internalWritebackVelocity_p0(this.ptr):_emscripten_bind_btRigidBody__internalWritebackVelocity_p1(this.ptr,e)},btRigidBody.prototype.setInterpolationLinearVelocity=function(e){_emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1(this.ptr,e.ptr)},btRigidBody.prototype.applyGravity=function(){_emscripten_bind_btRigidBody__applyGravity_p0(this.ptr)},btRigidBody.prototype.serialize=function(e,t){return _emscripten_bind_btRigidBody__serialize_p2(this.ptr,e,t.ptr)},btRigidBody.prototype.internalApplyImpulse=function(e,t,i){_emscripten_bind_btRigidBody__internalApplyImpulse_p3(this.ptr,e.ptr,t.ptr,i)},btRigidBody.prototype.internalSetExtensionPointer=function(e){_emscripten_bind_btRigidBody__internalSetExtensionPointer_p1(this.ptr,e)},btRigidBody.prototype.activate=function(e){void 0===e?_emscripten_bind_btRigidBody__activate_p0(this.ptr):_emscripten_bind_btRigidBody__activate_p1(this.ptr,e)},btRigidBody.prototype.getMotionState=function(){return wrapPointer(_emscripten_bind_btRigidBody__getMotionState_p0(this.ptr),Module.btMotionState)},btRigidBody.prototype.setCompanionId=function(e){_emscripten_bind_btRigidBody__setCompanionId_p1(this.ptr,e)},btRigidBody.prototype.internalApplyPushImpulse=function(e,t,i){_emscripten_bind_btRigidBody__internalApplyPushImpulse_p3(this.ptr,e.ptr,t.ptr,i)},btRigidBody.prototype.setCcdMotionThreshold=function(e){_emscripten_bind_btRigidBody__setCcdMotionThreshold_p1(this.ptr,e)},btRigidBody.prototype.getVelocityInLocalPoint=function(e){return wrapPointer(_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1(this.ptr,e.ptr),Module.btVector3)},btRigidBody.prototype.getCcdMotionThreshold=function(){return _emscripten_bind_btRigidBody__getCcdMotionThreshold_p0(this.ptr)},btRigidBody.prototype.getLinearFactor=function(){return wrapPointer(_emscripten_bind_btRigidBody__getLinearFactor_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getAnisotropicFriction=function(){return wrapPointer(_emscripten_bind_btRigidBody__getAnisotropicFriction_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getAngularSleepingThreshold=function(){return _emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0(this.ptr)},btRigidBody.prototype.getInterpolationWorldTransform=function(){return wrapPointer(_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0(this.ptr),Module.btTransform)},btRigidBody.prototype.getAabb=function(e,t){_emscripten_bind_btRigidBody__getAabb_p2(this.ptr,e.ptr,t.ptr)},btRigidBody.prototype.serializeSingleObject=function(e){_emscripten_bind_btRigidBody__serializeSingleObject_p1(this.ptr,e.ptr)},btRigidBody.prototype.translate=function(e){_emscripten_bind_btRigidBody__translate_p1(this.ptr,e.ptr)},btRigidBody.prototype.getWorldTransform=function(){return wrapPointer(_emscripten_bind_btRigidBody__getWorldTransform_p0(this.ptr),Module.btTransform)},btRigidBody.prototype.getBroadphaseProxy=function(){return wrapPointer(_emscripten_bind_btRigidBody__getBroadphaseProxy_p0(this.ptr),Module.btBroadphaseProxy)},btRigidBody.prototype.getCollisionShape=function(){return wrapPointer(_emscripten_bind_btRigidBody__getCollisionShape_p0(this.ptr),Module.btCollisionShape)},btRigidBody.prototype.setAnisotropicFriction=function(e){_emscripten_bind_btRigidBody__setAnisotropicFriction_p1(this.ptr,e.ptr)},btRigidBody.prototype.get_m_contactSolverType=function(){return _emscripten_bind_btRigidBody__get_m_contactSolverType_p0(this.ptr)},btRigidBody.prototype.internalGetDeltaLinearVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.hasContactResponse=function(){return _emscripten_bind_btRigidBody__hasContactResponse_p0(this.ptr)},btRigidBody.prototype.upcast=function(e){return wrapPointer(_emscripten_bind_btRigidBody__upcast_p1(e.ptr),Module.btRigidBody)},btRigidBody.prototype.getCompanionId=function(){return _emscripten_bind_btRigidBody__getCompanionId_p0(this.ptr)},btRigidBody.prototype.saveKinematicState=function(e){_emscripten_bind_btRigidBody__saveKinematicState_p1(this.ptr,e)},btRigidBody.prototype.setWorldTransform=function(e){_emscripten_bind_btRigidBody__setWorldTransform_p1(this.ptr,e.ptr)},btRigidBody.prototype.setActivationState=function(e){_emscripten_bind_btRigidBody__setActivationState_p1(this.ptr,e)},btRigidBody.prototype.getDeltaAngularVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.getCcdSweptSphereRadius=function(){return _emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0(this.ptr)},btRigidBody.prototype.getConstraintRef=function(e){return wrapPointer(_emscripten_bind_btRigidBody__getConstraintRef_p1(this.ptr,e),Module.btTypedConstraint)},btRigidBody.prototype.setDeactivationTime=function(e){_emscripten_bind_btRigidBody__setDeactivationTime_p1(this.ptr,e)},btRigidBody.prototype.getCenterOfMassTransform=function(){return wrapPointer(_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0(this.ptr),Module.btTransform)},btRigidBody.prototype.hasAnisotropicFriction=function(){return _emscripten_bind_btRigidBody__hasAnisotropicFriction_p0(this.ptr)},btRigidBody.prototype.setBroadphaseHandle=function(e){_emscripten_bind_btRigidBody__setBroadphaseHandle_p1(this.ptr,e.ptr)},btRigidBody.prototype.getFlags=function(){return _emscripten_bind_btRigidBody__getFlags_p0(this.ptr)},btRigidBody.prototype.setGravity=function(e){_emscripten_bind_btRigidBody__setGravity_p1(this.ptr,e.ptr)},btRigidBody.prototype.getCcdSquareMotionThreshold=function(){return _emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0(this.ptr)},btRigidBody.prototype.setAngularFactor=function(e){_emscripten_bind_btRigidBody__setAngularFactor_p1(this.ptr,e.ptr)},btRigidBody.prototype.getPushVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getPushVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.updateInertiaTensor=function(){_emscripten_bind_btRigidBody__updateInertiaTensor_p0(this.ptr)},btRigidBody.prototype.setInterpolationAngularVelocity=function(e){_emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1(this.ptr,e.ptr)},btRigidBody.prototype.setFriction=function(e){_emscripten_bind_btRigidBody__setFriction_p1(this.ptr,e)},btRigidBody.prototype.setDamping=function(e,t){_emscripten_bind_btRigidBody__setDamping_p2(this.ptr,e,t)},btRigidBody.prototype.getInternalType=function(){return _emscripten_bind_btRigidBody__getInternalType_p0(this.ptr)},btRigidBody.prototype.set_m_contactSolverType=function(e){_emscripten_bind_btRigidBody__set_m_contactSolverType_p1(this.ptr,e)},btRigidBody.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0(this.ptr)},btRigidBody.prototype.checkCollideWith=function(e){return _emscripten_bind_btRigidBody__checkCollideWith_p1(this.ptr,e.ptr)},btRigidBody.prototype.getInvInertiaDiagLocal=function(){return wrapPointer(_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.applyTorqueImpulse=function(e){_emscripten_bind_btRigidBody__applyTorqueImpulse_p1(this.ptr,e.ptr)},btRigidBody.prototype.internalGetPushVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__internalGetPushVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.setLinearFactor=function(e){_emscripten_bind_btRigidBody__setLinearFactor_p1(this.ptr,e.ptr)},btRigidBody.prototype.setLinearVelocity=function(e){_emscripten_bind_btRigidBody__setLinearVelocity_p1(this.ptr,e.ptr)},btRigidBody.prototype.isStaticObject=function(){return _emscripten_bind_btRigidBody__isStaticObject_p0(this.ptr)},btRigidBody.prototype.applyCentralImpulse=function(e){_emscripten_bind_btRigidBody__applyCentralImpulse_p1(this.ptr,e.ptr)},btRigidBody.prototype.setCollisionFlags=function(e){_emscripten_bind_btRigidBody__setCollisionFlags_p1(this.ptr,e)},btRigidBody.prototype.getDeltaLinearVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.setInvInertiaDiagLocal=function(e){_emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1(this.ptr,e.ptr)},btRigidBody.prototype.setSleepingThresholds=function(e,t){_emscripten_bind_btRigidBody__setSleepingThresholds_p2(this.ptr,e,t)};function btWheelInfo(e){this.ptr=_emscripten_bind_btWheelInfo__btWheelInfo_p1(e.ptr),btWheelInfo.prototype.__cache__[this.ptr]=this,this.__class__=btWheelInfo}function btBU_Simplex1to4(e,t,i,n){this.ptr=void 0===e?_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0():void 0===t?_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1(e.ptr):void 0===i?_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2(e.ptr,t.ptr):void 0===n?_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3(e.ptr,t.ptr,i.ptr):_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4(e.ptr,t.ptr,i.ptr,n.ptr),btBU_Simplex1to4.prototype.__cache__[this.ptr]=this,this.__class__=btBU_Simplex1to4}function btVector4(e,t,i,n){this.ptr=void 0===e?_emscripten_bind_btVector4__btVector4_p0():_emscripten_bind_btVector4__btVector4_p4(e,t,i,n),btVector4.prototype.__cache__[this.ptr]=this,this.__class__=btVector4}function btActionInterface(){throw"btActionInterface is abstract!"}function btVector3(e,t,i){this.ptr=void 0===e?_emscripten_bind_btVector3__btVector3_p0():_emscripten_bind_btVector3__btVector3_p3(e,t,i),btVector3.prototype.__cache__[this.ptr]=this,this.__class__=btVector3}function btSerializer(){throw"btSerializer is abstract!"}function btTriangleInfo(){this.ptr=_emscripten_bind_btTriangleInfo__btTriangleInfo_p0(),btTriangleInfo.prototype.__cache__[this.ptr]=this,this.__class__=btTriangleInfo}function ClosestRayResultCallback(e,t){this.ptr=_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2(e.ptr,t.ptr),ClosestRayResultCallback.prototype.__cache__[this.ptr]=this,this.__class__=ClosestRayResultCallback}function LocalRayResult(e,t,i,n){this.ptr=_emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4(e.ptr,t.ptr,i.ptr,n),LocalRayResult.prototype.__cache__[this.ptr]=this,this.__class__=LocalRayResult}function btHinge2Constraint(e,t,i,n,_){this.ptr=_emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr),btHinge2Constraint.prototype.__cache__[this.ptr]=this,this.__class__=btHinge2Constraint}function btConstraintSolver(){throw"btConstraintSolver is abstract!"}function btRaycastVehicle(e,t,i){this.ptr=_emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3(e.ptr,t.ptr,i.ptr),btRaycastVehicle.prototype.__cache__[this.ptr]=this,this.__class__=btRaycastVehicle}function AllHitsRayResultCallback(e,t){this.ptr=_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2(e.ptr,t.ptr),AllHitsRayResultCallback.prototype.__cache__[this.ptr]=this,this.__class__=AllHitsRayResultCallback}function btCylinderShapeX(e){this.ptr=_emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1(e.ptr),btCylinderShapeX.prototype.__cache__[this.ptr]=this,this.__class__=btCylinderShapeX}function RayResultCallback(){throw"RayResultCallback is abstract!"}function btUniformScalingShape(e,t){this.ptr=_emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2(e.ptr,t),btUniformScalingShape.prototype.__cache__[this.ptr]=this,this.__class__=btUniformScalingShape}function btVehicleRaycasterResult(){this.ptr=_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0(),btVehicleRaycasterResult.prototype.__cache__[this.ptr]=this,this.__class__=btVehicleRaycasterResult}function btQuadWord(e,t,i,n){this.ptr=void 0===e?_emscripten_bind_btQuadWord__btQuadWord_p0():void 0===n?_emscripten_bind_btQuadWord__btQuadWord_p3(e,t,i):_emscripten_bind_btQuadWord__btQuadWord_p4(e,t,i,n),btQuadWord.prototype.__cache__[this.ptr]=this,this.__class__=btQuadWord}function btCylinderShape(e){this.ptr=_emscripten_bind_btCylinderShape__btCylinderShape_p1(e.ptr),btCylinderShape.prototype.__cache__[this.ptr]=this,this.__class__=btCylinderShape}function btStorageResult(){throw"btStorageResult is abstract!"}function btDbvtProxy(e,t,i,n,_){this.ptr=_emscripten_bind_btDbvtProxy__btDbvtProxy_p5(e.ptr,t.ptr,i,n,_),btDbvtProxy.prototype.__cache__[this.ptr]=this,this.__class__=btDbvtProxy}function ConcreteContactResultCallback(){this.ptr=_emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0(),ConcreteContactResultCallback.prototype.__cache__[this.ptr]=this,this.__class__=ConcreteContactResultCallback}function btSequentialImpulseConstraintSolver(){this.ptr=_emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0(),btSequentialImpulseConstraintSolver.prototype.__cache__[this.ptr]=this,this.__class__=btSequentialImpulseConstraintSolver}function btSimpleDynamicsWorld(e,t,i,n){this.ptr=_emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4(e.ptr,t.ptr,i.ptr,n.ptr),btSimpleDynamicsWorld.prototype.__cache__[this.ptr]=this,this.__class__=btSimpleDynamicsWorld}function btManifoldResult(e,t){this.ptr=void 0===e?_emscripten_bind_btManifoldResult__btManifoldResult_p0():_emscripten_bind_btManifoldResult__btManifoldResult_p2(e.ptr,t.ptr),btManifoldResult.prototype.__cache__[this.ptr]=this,this.__class__=btManifoldResult}function btMultiSphereShape(e,t,i){this.ptr=_emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3(e.ptr,t,i),btMultiSphereShape.prototype.__cache__[this.ptr]=this,this.__class__=btMultiSphereShape}function btHeightfieldTerrainShape(e,t,i,n,_,r,o,s,a){this.ptr=void 0===s?_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7(e,t,i,n,_,r,o):_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9(e,t,i,n,_,r,o,s,a),btHeightfieldTerrainShape.prototype.__cache__[this.ptr]=this,this.__class__=btHeightfieldTerrainShape}function btConvexInternalAabbCachingShape(){throw"btConvexInternalAabbCachingShape is abstract!"}btRigidBody.prototype.get_m_frictionSolverType=function(){return _emscripten_bind_btRigidBody__get_m_frictionSolverType_p0(this.ptr)},btRigidBody.prototype.__destroy__=function(){_emscripten_bind_btRigidBody____destroy___p0(this.ptr)},btRigidBody.prototype.internalGetAngularVelocity=function(e){_emscripten_bind_btRigidBody__internalGetAngularVelocity_p1(this.ptr,e.ptr)},btRigidBody.prototype.getNumConstraintRefs=function(){return _emscripten_bind_btRigidBody__getNumConstraintRefs_p0(this.ptr)},btRigidBody.prototype.getRestitution=function(){return _emscripten_bind_btRigidBody__getRestitution_p0(this.ptr)},btRigidBody.prototype.getContactProcessingThreshold=function(){return _emscripten_bind_btRigidBody__getContactProcessingThreshold_p0(this.ptr)},btRigidBody.prototype.internalGetTurnVelocity=function(){return wrapPointer(_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0(this.ptr),Module.btVector3)},btRigidBody.prototype.setInterpolationWorldTransform=function(e){_emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1(this.ptr,e.ptr)},btRigidBody.prototype.setHitFraction=function(e){_emscripten_bind_btRigidBody__setHitFraction_p1(this.ptr,e)},btRigidBody.prototype.applyDamping=function(e){_emscripten_bind_btRigidBody__applyDamping_p1(this.ptr,e)},btRigidBody.prototype.getLinearDamping=function(){return _emscripten_bind_btRigidBody__getLinearDamping_p0(this.ptr)},btOptimizedBvh.prototype.buildInternal=function(){_emscripten_bind_btOptimizedBvh__buildInternal_p0(this.ptr)},btOptimizedBvh.prototype.serialize=function(e,t,i){return void 0===i?_emscripten_bind_btOptimizedBvh__serialize_p2(this.ptr,e,t.ptr):_emscripten_bind_btOptimizedBvh__serialize_p3(this.ptr,e,t,i)},btOptimizedBvh.prototype.getLeafNodeArray=function(){return _emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0(this.ptr)},btOptimizedBvh.prototype.setQuantizationValues=function(e,t,i){void 0===i?_emscripten_bind_btOptimizedBvh__setQuantizationValues_p2(this.ptr,e.ptr,t.ptr):_emscripten_bind_btOptimizedBvh__setQuantizationValues_p3(this.ptr,e.ptr,t.ptr,i)},btOptimizedBvh.prototype.quantize=function(e,t,i){_emscripten_bind_btOptimizedBvh__quantize_p3(this.ptr,e,t.ptr,i)},btOptimizedBvh.prototype.isQuantized=function(){return _emscripten_bind_btOptimizedBvh__isQuantized_p0(this.ptr)},btOptimizedBvh.prototype.getAlignmentSerializationPadding=function(){return _emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0()},btOptimizedBvh.prototype.updateBvhNodes=function(e,t,i,n){_emscripten_bind_btOptimizedBvh__updateBvhNodes_p4(this.ptr,e.ptr,t,i,n)},btOptimizedBvh.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0(this.ptr)},btOptimizedBvh.prototype.getQuantizedNodeArray=function(){return _emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0(this.ptr)},btOptimizedBvh.prototype.reportAabbOverlappingNodex=function(e,t,i){_emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btOptimizedBvh.prototype.reportRayOverlappingNodex=function(e,t,i){_emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btOptimizedBvh.prototype.build=function(e,t,i,n){_emscripten_bind_btOptimizedBvh__build_p4(this.ptr,e.ptr,t,i.ptr,n.ptr)},btOptimizedBvh.prototype.refitPartial=function(e,t,i){_emscripten_bind_btOptimizedBvh__refitPartial_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btOptimizedBvh.prototype.deSerializeInPlace=function(e,t,i){return wrapPointer(_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3(e,t,i),Module.btOptimizedBvh)},btOptimizedBvh.prototype.quantizeWithClamp=function(e,t,i){_emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3(this.ptr,e,t.ptr,i)},btOptimizedBvh.prototype.refit=function(e,t,i){_emscripten_bind_btOptimizedBvh__refit_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btOptimizedBvh.prototype.deSerializeDouble=function(e){_emscripten_bind_btOptimizedBvh__deSerializeDouble_p1(this.ptr,e.ptr)},btOptimizedBvh.prototype.calculateSerializeBufferSizeNew=function(){return _emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0(this.ptr)},btOptimizedBvh.prototype.__destroy__=function(){_emscripten_bind_btOptimizedBvh____destroy___p0(this.ptr)},btOptimizedBvh.prototype.deSerializeFloat=function(e){_emscripten_bind_btOptimizedBvh__deSerializeFloat_p1(this.ptr,e.ptr)},btOptimizedBvh.prototype.serializeInPlace=function(e,t,i){return _emscripten_bind_btOptimizedBvh__serializeInPlace_p3(this.ptr,e,t,i)},btOptimizedBvh.prototype.getSubtreeInfoArray=function(){return _emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0(this.ptr)},btOptimizedBvh.prototype.unQuantize=function(e){return wrapPointer(_emscripten_bind_btOptimizedBvh__unQuantize_p1(this.ptr,e),Module.btVector3)},btOptimizedBvh.prototype.reportBoxCastOverlappingNodex=function(e,t,i,n,_){_emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btOptimizedBvh.prototype.__cache__={},Module.btOptimizedBvh=btOptimizedBvh,btTypedConstraint.prototype.__cache__={},Module.btTypedConstraint=btTypedConstraint,btTypedConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btTypedConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btTypedConstraint.prototype.buildJacobian=function(){_emscripten_bind_btTypedConstraint__buildJacobian_p0(this.ptr)},btTypedConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btTypedConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btTypedConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btTypedConstraint__set_m_objectType_p1(this.ptr,e)},btTypedConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btTypedConstraint__serialize_p2(this.ptr,e,t.ptr)},btTypedConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btTypedConstraint__enableFeedback_p1(this.ptr,e)},btTypedConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btTypedConstraint__getUserConstraintId_p0(this.ptr)},btTypedConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btTypedConstraint__get_m_objectType_p0(this.ptr)},btTypedConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btTypedConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btTypedConstraint__setParam_p3(this.ptr,e,t,i)},btTypedConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btTypedConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btTypedConstraint__getParam_p2(this.ptr,e,t)},btTypedConstraint.prototype.getInfo1=function(e){_emscripten_bind_btTypedConstraint__getInfo1_p1(this.ptr,e.ptr)},btTypedConstraint.prototype.getInfo2=function(e){_emscripten_bind_btTypedConstraint__getInfo2_p1(this.ptr,e.ptr)},btTypedConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btTypedConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0(this.ptr)},btTypedConstraint.prototype.isEnabled=function(){return _emscripten_bind_btTypedConstraint__isEnabled_p0(this.ptr)},btTypedConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btTypedConstraint__setUserConstraintId_p1(this.ptr,e)},btTypedConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btTypedConstraint__getConstraintType_p0(this.ptr)},btTypedConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btTypedConstraint__getDbgDrawSize_p0(this.ptr)},btTypedConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btTypedConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btTypedConstraint__needsFeedback_p0(this.ptr)},btTypedConstraint.prototype.getObjectType=function(){return _emscripten_bind_btTypedConstraint__getObjectType_p0(this.ptr)},btTypedConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0(this.ptr)},btTypedConstraint.prototype.setEnabled=function(e){_emscripten_bind_btTypedConstraint__setEnabled_p1(this.ptr,e)},btTypedConstraint.prototype.getUid=function(){return _emscripten_bind_btTypedConstraint__getUid_p0(this.ptr)},btTypedConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btTypedConstraint__setDbgDrawSize_p1(this.ptr,e)},btTypedConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btTypedConstraint__setUserConstraintType_p1(this.ptr,e)},btTypedConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0(this.ptr)},btTypedConstraint.prototype.__destroy__=function(){_emscripten_bind_btTypedConstraint____destroy___p0(this.ptr)},btTypedConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btTypedConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btTypedConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btTypedConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btTypedConstraint__getUserConstraintType_p0(this.ptr)},btTypedConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btTypedConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btTypedConstraint__getAppliedImpulse_p0(this.ptr)},btTypedConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1(this.ptr,e)},btPolyhedralConvexShape.prototype.__cache__={},Module.btPolyhedralConvexShape=btPolyhedralConvexShape,btPolyhedralConvexShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btPolyhedralConvexShape.prototype.getNumPlanes=function(){return _emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0(this.ptr)},btPolyhedralConvexShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.setUserPointer=function(e){_emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1(this.ptr,e)},btPolyhedralConvexShape.prototype.isInside=function(e,t){return _emscripten_bind_btPolyhedralConvexShape__isInside_p2(this.ptr,e.ptr,t)},btPolyhedralConvexShape.prototype.getNumVertices=function(){return _emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0(this.ptr)},btPolyhedralConvexShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btPolyhedralConvexShape.prototype.isPolyhedral=function(){return _emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0(this.ptr)},btPolyhedralConvexShape.prototype.getVertex=function(e,t){_emscripten_bind_btPolyhedralConvexShape__getVertex_p2(this.ptr,e,t.ptr)},btPolyhedralConvexShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPolyhedralConvexShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0(this.ptr)},btPolyhedralConvexShape.prototype.getNumEdges=function(){return _emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0(this.ptr)},btPolyhedralConvexShape.prototype.getName=function(){return _emscripten_bind_btPolyhedralConvexShape__getName_p0(this.ptr)},btPolyhedralConvexShape.prototype.getEdge=function(e,t,i){_emscripten_bind_btPolyhedralConvexShape__getEdge_p3(this.ptr,e,t.ptr,i.ptr)},btPolyhedralConvexShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.setLocalScaling=function(e){_emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1(this.ptr,e.ptr)},btPolyhedralConvexShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btPolyhedralConvexShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPolyhedralConvexShape.prototype.getMarginNV=function(){return _emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0(this.ptr)},btPolyhedralConvexShape.prototype.isConvex2d=function(){return _emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0(this.ptr)},btPolyhedralConvexShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1(this.ptr,e)},btPolyhedralConvexShape.prototype.isConvex=function(){return _emscripten_bind_btPolyhedralConvexShape__isConvex_p0(this.ptr)},btPolyhedralConvexShape.prototype.isInfinite=function(){return _emscripten_bind_btPolyhedralConvexShape__isInfinite_p0(this.ptr)},btPolyhedralConvexShape.prototype.serialize=function(e,t){return _emscripten_bind_btPolyhedralConvexShape__serialize_p2(this.ptr,e,t.ptr)},btPolyhedralConvexShape.prototype.getUserPointer=function(){return _emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0(this.ptr)},btPolyhedralConvexShape.prototype.isNonMoving=function(){return _emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0(this.ptr)},btPolyhedralConvexShape.prototype.getMargin=function(){return _emscripten_bind_btPolyhedralConvexShape__getMargin_p0(this.ptr)},btPolyhedralConvexShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btPolyhedralConvexShape.prototype.setMargin=function(e){_emscripten_bind_btPolyhedralConvexShape__setMargin_p1(this.ptr,e)},btPolyhedralConvexShape.prototype.initializePolyhedralFeatures=function(){return _emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0(this.ptr)},btPolyhedralConvexShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btPolyhedralConvexShape.prototype.isSoftBody=function(){return _emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0(this.ptr)},btPolyhedralConvexShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0(this.ptr)},btPolyhedralConvexShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btPolyhedralConvexShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btPolyhedralConvexShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btPolyhedralConvexShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0(this.ptr)},btPolyhedralConvexShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1(this.ptr,e.ptr)},btPolyhedralConvexShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPolyhedralConvexShape.prototype.getPlane=function(e,t,i){_emscripten_bind_btPolyhedralConvexShape__getPlane_p3(this.ptr,e.ptr,t.ptr,i)},btPolyhedralConvexShape.prototype.isCompound=function(){return _emscripten_bind_btPolyhedralConvexShape__isCompound_p0(this.ptr)},btPolyhedralConvexShape.prototype.getConvexPolyhedron=function(){return _emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0(this.ptr)},btPolyhedralConvexShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btPolyhedralConvexShape.prototype.getShapeType=function(){return _emscripten_bind_btPolyhedralConvexShape__getShapeType_p0(this.ptr)},btPolyhedralConvexShape.prototype.isConcave=function(){return _emscripten_bind_btPolyhedralConvexShape__isConcave_p0(this.ptr)},btIDebugDraw.prototype.__cache__={},Module.btIDebugDraw=btIDebugDraw,btIDebugDraw.prototype.draw3dText=function(e,t){var i=Runtime.stackSave();try{_emscripten_bind_btIDebugDraw__draw3dText_p2(this.ptr,e.ptr,ensureString(t))}finally{Runtime.stackRestore(i)}},btIDebugDraw.prototype.drawTriangle=function(e,t,i,n,_,r,o,s){void 0===r?_emscripten_bind_btIDebugDraw__drawTriangle_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_):_emscripten_bind_btIDebugDraw__drawTriangle_p8(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s)},btIDebugDraw.prototype.drawCone=function(e,t,i,n,_){_emscripten_bind_btIDebugDraw__drawCone_p5(this.ptr,e,t,i,n.ptr,_.ptr)},btIDebugDraw.prototype.drawContactPoint=function(e,t,i,n,_){_emscripten_bind_btIDebugDraw__drawContactPoint_p5(this.ptr,e.ptr,t.ptr,i,n,_.ptr)},btIDebugDraw.prototype.drawArc=function(e,t,i,n,_,r,o,s,a,p){void 0===p?_emscripten_bind_btIDebugDraw__drawArc_p9(this.ptr,e.ptr,t.ptr,i.ptr,n,_,r,o,s.ptr,a):_emscripten_bind_btIDebugDraw__drawArc_p10(this.ptr,e.ptr,t.ptr,i.ptr,n,_,r,o,s.ptr,a,p)},btIDebugDraw.prototype.drawLine=function(e,t,i,n){void 0===n?_emscripten_bind_btIDebugDraw__drawLine_p3(this.ptr,e.ptr,t.ptr,i.ptr):_emscripten_bind_btIDebugDraw__drawLine_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btIDebugDraw.prototype.reportErrorWarning=function(e){var t=Runtime.stackSave();try{_emscripten_bind_btIDebugDraw__reportErrorWarning_p1(this.ptr,ensureString(e))}finally{Runtime.stackRestore(t)}},btIDebugDraw.prototype.getDebugMode=function(){return _emscripten_bind_btIDebugDraw__getDebugMode_p0(this.ptr)},btIDebugDraw.prototype.drawCylinder=function(e,t,i,n,_){_emscripten_bind_btIDebugDraw__drawCylinder_p5(this.ptr,e,t,i,n.ptr,_.ptr)},btIDebugDraw.prototype.drawTransform=function(e,t){_emscripten_bind_btIDebugDraw__drawTransform_p2(this.ptr,e.ptr,t)},btIDebugDraw.prototype.drawAabb=function(e,t,i){_emscripten_bind_btIDebugDraw__drawAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btIDebugDraw.prototype.drawPlane=function(e,t,i,n){_emscripten_bind_btIDebugDraw__drawPlane_p4(this.ptr,e.ptr,t,i.ptr,n.ptr)},btIDebugDraw.prototype.drawCapsule=function(e,t,i,n,_){_emscripten_bind_btIDebugDraw__drawCapsule_p5(this.ptr,e,t,i,n.ptr,_.ptr)},btIDebugDraw.prototype.drawBox=function(e,t,i,n){void 0===n?_emscripten_bind_btIDebugDraw__drawBox_p3(this.ptr,e.ptr,t.ptr,i.ptr):_emscripten_bind_btIDebugDraw__drawBox_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btIDebugDraw.prototype.setDebugMode=function(e){_emscripten_bind_btIDebugDraw__setDebugMode_p1(this.ptr,e)},btIDebugDraw.prototype.drawSpherePatch=function(e,t,i,n,_,r,o,s,a,p){void 0===p?_emscripten_bind_btIDebugDraw__drawSpherePatch_p9(this.ptr,e.ptr,t.ptr,i.ptr,n,_,r,o,s,a.ptr):_emscripten_bind_btIDebugDraw__drawSpherePatch_p10(this.ptr,e.ptr,t.ptr,i.ptr,n,_,r,o,s,a.ptr,p)},btIDebugDraw.prototype.drawSphere=function(e,t,i){_emscripten_bind_btIDebugDraw__drawSphere_p3(this.ptr,e,t.ptr,i.ptr)},btDbvtBroadphase.prototype.set_m_pid=function(e){_emscripten_bind_btDbvtBroadphase__set_m_pid_p1(this.ptr,e)},btDbvtBroadphase.prototype.__cache__={},Module.btDbvtBroadphase=btDbvtBroadphase,btDbvtBroadphase.prototype.get_m_deferedcollide=function(){return _emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0(this.ptr)},btDbvtBroadphase.prototype.performDeferredRemoval=function(e){_emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1(this.ptr,e.ptr)},btDbvtBroadphase.prototype.set_m_releasepaircache=function(e){_emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1(this.ptr,e)},btDbvtBroadphase.prototype.get_m_dupdates=function(){return _emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_paircache=function(e){_emscripten_bind_btDbvtBroadphase__set_m_paircache_p1(this.ptr,e.ptr)},btDbvtBroadphase.prototype.calculateOverlappingPairs=function(e){_emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1(this.ptr,e.ptr)},btDbvtBroadphase.prototype.get_m_releasepaircache=function(){return _emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_fupdates=function(e){_emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1(this.ptr,e)},btDbvtBroadphase.prototype.set_m_deferedcollide=function(e){_emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1(this.ptr,e)},btDbvtBroadphase.prototype.set_m_cid=function(e){_emscripten_bind_btDbvtBroadphase__set_m_cid_p1(this.ptr,e)},btDbvtBroadphase.prototype.rayTest=function(e,t,i,n,_){void 0===n?_emscripten_bind_btDbvtBroadphase__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr):void 0===_?_emscripten_bind_btDbvtBroadphase__rayTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btDbvtBroadphase__rayTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btDbvtBroadphase.prototype.set_m_newpairs=function(e){_emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1(this.ptr,e)},btDbvtBroadphase.prototype.setAabb=function(e,t,i,n){_emscripten_bind_btDbvtBroadphase__setAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btDbvtBroadphase.prototype.get_m_fixedleft=function(){return _emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0(this.ptr)},btDbvtBroadphase.prototype.resetPool=function(e){_emscripten_bind_btDbvtBroadphase__resetPool_p1(this.ptr,e.ptr)},btDbvtBroadphase.prototype.set_m_gid=function(e){_emscripten_bind_btDbvtBroadphase__set_m_gid_p1(this.ptr,e)},btDbvtBroadphase.prototype.getAabb=function(e,t,i){_emscripten_bind_btDbvtBroadphase__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDbvtBroadphase.prototype.get_m_stageCurrent=function(){return _emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_updates_call=function(e){_emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1(this.ptr,e)},btDbvtBroadphase.prototype.set_m_needcleanup=function(e){_emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1(this.ptr,e)},btDbvtBroadphase.prototype.set_m_updates_done=function(e){_emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1(this.ptr,e)},btDbvtBroadphase.prototype.get_m_fupdates=function(){return _emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0(this.ptr)},btDbvtBroadphase.prototype.get_m_pid=function(){return _emscripten_bind_btDbvtBroadphase__get_m_pid_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_dupdates=function(e){_emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1(this.ptr,e)},btDbvtBroadphase.prototype.get_m_cid=function(){return _emscripten_bind_btDbvtBroadphase__get_m_cid_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_updates_ratio=function(e){_emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1(this.ptr,e)},btDbvtBroadphase.prototype.setVelocityPrediction=function(e){_emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1(this.ptr,e)},btDbvtBroadphase.prototype.benchmark=function(e){_emscripten_bind_btDbvtBroadphase__benchmark_p1(e.ptr)},btDbvtBroadphase.prototype.collide=function(e){_emscripten_bind_btDbvtBroadphase__collide_p1(this.ptr,e.ptr)},btDbvtBroadphase.prototype.get_m_updates_call=function(){return _emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0(this.ptr)},btDbvtBroadphase.prototype.printStats=function(){_emscripten_bind_btDbvtBroadphase__printStats_p0(this.ptr)},btDbvtBroadphase.prototype.createProxy=function(e,t,i,n,_,r,o,s){return wrapPointer(_emscripten_bind_btDbvtBroadphase__createProxy_p8(this.ptr,e.ptr,t.ptr,i,n,_,r,o.ptr,s),Module.btBroadphaseProxy)},btDbvtBroadphase.prototype.get_m_cupdates=function(){return _emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0(this.ptr)},btDbvtBroadphase.prototype.optimize=function(){_emscripten_bind_btDbvtBroadphase__optimize_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_cupdates=function(e){_emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1(this.ptr,e)},btDbvtBroadphase.prototype.get_m_prediction=function(){return _emscripten_bind_btDbvtBroadphase__get_m_prediction_p0(this.ptr)},btDbvtBroadphase.prototype.__destroy__=function(){_emscripten_bind_btDbvtBroadphase____destroy___p0(this.ptr)},btDbvtBroadphase.prototype.get_m_gid=function(){return _emscripten_bind_btDbvtBroadphase__get_m_gid_p0(this.ptr)},btDbvtBroadphase.prototype.get_m_needcleanup=function(){return _emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0(this.ptr)},btDbvtBroadphase.prototype.getOverlappingPairCache=function(){return wrapPointer(_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btDbvtBroadphase.prototype.get_m_newpairs=function(){return _emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0(this.ptr)},btDbvtBroadphase.prototype.get_m_updates_ratio=function(){return _emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0(this.ptr)},btDbvtBroadphase.prototype.setAabbForceUpdate=function(e,t,i,n){_emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btDbvtBroadphase.prototype.set_m_prediction=function(e){_emscripten_bind_btDbvtBroadphase__set_m_prediction_p1(this.ptr,e)},btDbvtBroadphase.prototype.aabbTest=function(e,t,i){_emscripten_bind_btDbvtBroadphase__aabbTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDbvtBroadphase.prototype.getVelocityPrediction=function(){return _emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0(this.ptr)},btDbvtBroadphase.prototype.get_m_paircache=function(){return wrapPointer(_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0(this.ptr),Module.btOverlappingPairCache)},btDbvtBroadphase.prototype.get_m_updates_done=function(){return _emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0(this.ptr)},btDbvtBroadphase.prototype.set_m_fixedleft=function(e){_emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1(this.ptr,e)},btDbvtBroadphase.prototype.set_m_stageCurrent=function(e){_emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1(this.ptr,e)},btDbvtBroadphase.prototype.getBroadphaseAabb=function(e,t){_emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2(this.ptr,e.ptr,t.ptr)},btDbvtBroadphase.prototype.destroyProxy=function(e,t){_emscripten_bind_btDbvtBroadphase__destroyProxy_p2(this.ptr,e.ptr,t.ptr)},btSimpleBroadphaseProxy.prototype.__cache__={},Module.btSimpleBroadphaseProxy=btSimpleBroadphaseProxy,btSimpleBroadphaseProxy.prototype.get_m_clientObject=function(){return _emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.isInfinite=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1(e)},btSimpleBroadphaseProxy.prototype.set_m_clientObject=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.SetNextFree=function(e){_emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.get_m_nextFree=function(){return _emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.set_m_multiSapParentProxy=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.isCompound=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1(e)},btSimpleBroadphaseProxy.prototype.isPolyhedral=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1(e)},btSimpleBroadphaseProxy.prototype.get_m_aabbMin=function(){return wrapPointer(_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0(this.ptr),Module.btVector3)},btSimpleBroadphaseProxy.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.set_m_uniqueId=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.isConvex=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1(e)},btSimpleBroadphaseProxy.prototype.GetNextFree=function(){return _emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.getUid=function(){return _emscripten_bind_btSimpleBroadphaseProxy__getUid_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.get_m_aabbMax=function(){return wrapPointer(_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0(this.ptr),Module.btVector3)},btSimpleBroadphaseProxy.prototype.isNonMoving=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1(e)},btSimpleBroadphaseProxy.prototype.set_m_aabbMin=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1(this.ptr,e.ptr)},btSimpleBroadphaseProxy.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.isConvex2d=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1(e)},btSimpleBroadphaseProxy.prototype.isSoftBody=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1(e)},btSimpleBroadphaseProxy.prototype.set_m_aabbMax=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1(this.ptr,e.ptr)},btSimpleBroadphaseProxy.prototype.__destroy__=function(){_emscripten_bind_btSimpleBroadphaseProxy____destroy___p0(this.ptr)},btSimpleBroadphaseProxy.prototype.get_m_uniqueId=function(){return _emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.set_m_nextFree=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1(this.ptr,e)},btSimpleBroadphaseProxy.prototype.isConcave=function(e){return _emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1(e)},btSimpleBroadphaseProxy.prototype.get_m_multiSapParentProxy=function(){return _emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0(this.ptr)},btSimpleBroadphaseProxy.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0(this.ptr)},btCollisionDispatcher.prototype.__cache__={},Module.btCollisionDispatcher=btCollisionDispatcher,btCollisionDispatcher.prototype.freeCollisionAlgorithm=function(e){_emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1(this.ptr,e)},btCollisionDispatcher.prototype.setNearCallback=function(e){_emscripten_bind_btCollisionDispatcher__setNearCallback_p1(this.ptr,e)},btCollisionDispatcher.prototype.getNearCallback=function(){return _emscripten_bind_btCollisionDispatcher__getNearCallback_p0(this.ptr)},btCollisionDispatcher.prototype.findAlgorithm=function(e,t,i){return wrapPointer(void 0===i?_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2(this.ptr,e.ptr,t.ptr):_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3(this.ptr,e.ptr,t.ptr,i.ptr),Module.btCollisionAlgorithm)},btCollisionDispatcher.prototype.needsResponse=function(e,t){return _emscripten_bind_btCollisionDispatcher__needsResponse_p2(this.ptr,e.ptr,t.ptr)},btCollisionDispatcher.prototype.releaseManifold=function(e){_emscripten_bind_btCollisionDispatcher__releaseManifold_p1(this.ptr,e.ptr)},btCollisionDispatcher.prototype.getDispatcherFlags=function(){return _emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0(this.ptr)},btCollisionDispatcher.prototype.setDispatcherFlags=function(e){_emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1(this.ptr,e)},btCollisionDispatcher.prototype.getManifoldByIndexInternal=function(e){return wrapPointer(_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1(this.ptr,e),Module.btPersistentManifold)},btCollisionDispatcher.prototype.registerCollisionCreateFunc=function(e,t,i){_emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3(this.ptr,e,t,i.ptr)},btCollisionDispatcher.prototype.needsCollision=function(e,t){return _emscripten_bind_btCollisionDispatcher__needsCollision_p2(this.ptr,e.ptr,t.ptr)},btCollisionDispatcher.prototype.getNumManifolds=function(){return _emscripten_bind_btCollisionDispatcher__getNumManifolds_p0(this.ptr)},btCollisionDispatcher.prototype.setCollisionConfiguration=function(e){_emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1(this.ptr,e.ptr)},btCollisionDispatcher.prototype.clearManifold=function(e){_emscripten_bind_btCollisionDispatcher__clearManifold_p1(this.ptr,e.ptr)},btCollisionDispatcher.prototype.getNewManifold=function(e,t){return wrapPointer(_emscripten_bind_btCollisionDispatcher__getNewManifold_p2(this.ptr,e,t),Module.btPersistentManifold)},btCollisionDispatcher.prototype.dispatchAllCollisionPairs=function(e,t,i){_emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCollisionDispatcher.prototype.allocateCollisionAlgorithm=function(e){return _emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1(this.ptr,e)},btCollisionDispatcher.prototype.__destroy__=function(){_emscripten_bind_btCollisionDispatcher____destroy___p0(this.ptr)},btCollisionDispatcher.prototype.getCollisionConfiguration=function(){return wrapPointer(_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0(this.ptr),Module.btCollisionConfiguration)},btCollisionDispatcher.prototype.getInternalManifoldPointer=function(){return wrapPointer(_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0(this.ptr),Module.btPersistentManifold)},btCollisionDispatcher.prototype.defaultNearCallback=function(e,t,i){_emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3(e.ptr,t.ptr,i.ptr)},btCollisionDispatcher.prototype.getInternalManifoldPool=function(){return _emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0(this.ptr)},btAxisSweep3.prototype.__cache__={},Module.btAxisSweep3=btAxisSweep3,btAxisSweep3.prototype.getNumHandles=function(){return _emscripten_bind_btAxisSweep3__getNumHandles_p0(this.ptr)},btAxisSweep3.prototype.addHandle=function(e,t,i,n,_,r,o){return _emscripten_bind_btAxisSweep3__addHandle_p7(this.ptr,e.ptr,t.ptr,i,n,_,r.ptr,o)},btAxisSweep3.prototype.quantize=function(e,t,i){_emscripten_bind_btAxisSweep3__quantize_p3(this.ptr,e,t.ptr,i)},btAxisSweep3.prototype.removeHandle=function(e,t){_emscripten_bind_btAxisSweep3__removeHandle_p2(this.ptr,e,t.ptr)},btAxisSweep3.prototype.getOverlappingPairUserCallback=function(){return wrapPointer(_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0(this.ptr),Module.btOverlappingPairCallback)},btAxisSweep3.prototype.processAllOverlappingPairs=function(e){_emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1(this.ptr,e.ptr)},btAxisSweep3.prototype.rayTest=function(e,t,i,n,_){void 0===n?_emscripten_bind_btAxisSweep3__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr):void 0===_?_emscripten_bind_btAxisSweep3__rayTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btAxisSweep3__rayTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btAxisSweep3.prototype.setAabb=function(e,t,i,n){_emscripten_bind_btAxisSweep3__setAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btAxisSweep3.prototype.resetPool=function(e){_emscripten_bind_btAxisSweep3__resetPool_p1(this.ptr,e.ptr)},btAxisSweep3.prototype.testAabbOverlap=function(e,t){return _emscripten_bind_btAxisSweep3__testAabbOverlap_p2(this.ptr,e.ptr,t.ptr)},btAxisSweep3.prototype.getAabb=function(e,t,i){_emscripten_bind_btAxisSweep3__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btAxisSweep3.prototype.updateHandle=function(e,t,i,n){_emscripten_bind_btAxisSweep3__updateHandle_p4(this.ptr,e,t.ptr,i.ptr,n.ptr)},btAxisSweep3.prototype.printStats=function(){_emscripten_bind_btAxisSweep3__printStats_p0(this.ptr)},btAxisSweep3.prototype.createProxy=function(e,t,i,n,_,r,o,s){return wrapPointer(_emscripten_bind_btAxisSweep3__createProxy_p8(this.ptr,e.ptr,t.ptr,i,n,_,r,o.ptr,s),Module.btBroadphaseProxy)},btAxisSweep3.prototype.__destroy__=function(){_emscripten_bind_btAxisSweep3____destroy___p0(this.ptr)},btAxisSweep3.prototype.setOverlappingPairUserCallback=function(e){_emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1(this.ptr,e.ptr)},btAxisSweep3.prototype.calculateOverlappingPairs=function(e){_emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1(this.ptr,e.ptr)},btAxisSweep3.prototype.getOverlappingPairCache=function(){return wrapPointer(_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btAxisSweep3.prototype.unQuantize=function(e,t,i){_emscripten_bind_btAxisSweep3__unQuantize_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btAxisSweep3.prototype.aabbTest=function(e,t,i){_emscripten_bind_btAxisSweep3__aabbTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btAxisSweep3.prototype.getBroadphaseAabb=function(e,t){_emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2(this.ptr,e.ptr,t.ptr)},btAxisSweep3.prototype.destroyProxy=function(e,t){_emscripten_bind_btAxisSweep3__destroyProxy_p2(this.ptr,e.ptr,t.ptr)},btAxisSweep3.prototype.getHandle=function(e){return _emscripten_bind_btAxisSweep3__getHandle_p1(this.ptr,e)},btCollisionAlgorithmConstructionInfo.prototype.set_m_dispatcher1=function(e){_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1(this.ptr,e.ptr)},btCollisionAlgorithmConstructionInfo.prototype.__destroy__=function(){_emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0(this.ptr)},btCollisionAlgorithmConstructionInfo.prototype.__cache__={},Module.btCollisionAlgorithmConstructionInfo=btCollisionAlgorithmConstructionInfo,btCollisionAlgorithmConstructionInfo.prototype.get_m_dispatcher1=function(){return wrapPointer(_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0(this.ptr),Module.btDispatcher)},btCollisionAlgorithmConstructionInfo.prototype.set_m_manifold=function(e){_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1(this.ptr,e.ptr)},btCollisionAlgorithmConstructionInfo.prototype.get_m_manifold=function(){return wrapPointer(_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0(this.ptr),Module.btPersistentManifold)},btDiscreteDynamicsWorld.prototype.setGravity=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.addAction=function(e){_emscripten_bind_btDiscreteDynamicsWorld__addAction_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.getSolverInfo=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0(this.ptr),Module.btContactSolverInfo)},btDiscreteDynamicsWorld.prototype.getDebugDrawer=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0(this.ptr),Module.btIDebugDraw)},btDiscreteDynamicsWorld.prototype.applyGravity=function(){_emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.serialize=function(e){_emscripten_bind_btDiscreteDynamicsWorld__serialize_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.getDispatcher=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0(this.ptr),Module.btDispatcher)},btDiscreteDynamicsWorld.prototype.getCollisionWorld=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0(this.ptr),Module.btCollisionWorld)},btDiscreteDynamicsWorld.prototype.addRigidBody=function(e,t,i){void 0===t?_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1(this.ptr,e.ptr):_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3(this.ptr,e.ptr,t,i)},btDiscreteDynamicsWorld.prototype.clearForces=function(){_emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.removeVehicle=function(e){_emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.__cache__={},Module.btDiscreteDynamicsWorld=btDiscreteDynamicsWorld,btDiscreteDynamicsWorld.prototype.setBroadphase=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.getSynchronizeAllMotionStates=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.setNumTasks=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1(this.ptr,e)},btDiscreteDynamicsWorld.prototype.setSynchronizeAllMotionStates=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1(this.ptr,e)},btDiscreteDynamicsWorld.prototype.getCollisionObjectArray=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.debugDrawObject=function(e,t,i){_emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDiscreteDynamicsWorld.prototype.removeConstraint=function(e){_emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.rayTest=function(e,t,i){_emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDiscreteDynamicsWorld.prototype.getNumConstraints=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.addCollisionObject=function(e,t,i){void 0===t?_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1(this.ptr,e.ptr):void 0===i?_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2(this.ptr,e.ptr,t):_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3(this.ptr,e.ptr,t,i)},btDiscreteDynamicsWorld.prototype.removeRigidBody=function(e){_emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.contactTest=function(e,t){_emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2(this.ptr,e.ptr,t.ptr)},btDiscreteDynamicsWorld.prototype.performDiscreteCollisionDetection=function(){_emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.setInternalTickCallback=function(e,t,i){void 0===t?_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1(this.ptr,e):void 0===i?_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2(this.ptr,e,t):_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3(this.ptr,e,t,i)},btDiscreteDynamicsWorld.prototype.getForceUpdateAllAabbs=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.updateAabbs=function(){_emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.setDebugDrawer=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.debugDrawConstraint=function(e){_emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.debugDrawWorld=function(){_emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_)},btDiscreteDynamicsWorld.prototype.getNumCollisionObjects=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.setWorldUserInfo=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1(this.ptr,e)},btDiscreteDynamicsWorld.prototype.addConstraint=function(e,t){void 0===t?_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1(this.ptr,e.ptr):_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2(this.ptr,e.ptr,t)},btDiscreteDynamicsWorld.prototype.getWorldUserInfo=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.contactPairTest=function(e,t,i){_emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDiscreteDynamicsWorld.prototype.getGravity=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0(this.ptr),Module.btVector3)},btDiscreteDynamicsWorld.prototype.getBroadphase=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0(this.ptr),Module.btBroadphaseInterface)},btDiscreteDynamicsWorld.prototype.rayTestSingle=function(e,t,i,n,_,r){_emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr)},btDiscreteDynamicsWorld.prototype.removeAction=function(e){_emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.setForceUpdateAllAabbs=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr,e)},btDiscreteDynamicsWorld.prototype.__destroy__=function(){_emscripten_bind_btDiscreteDynamicsWorld____destroy___p0(this.ptr)},btDiscreteDynamicsWorld.prototype.removeCharacter=function(e){_emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.getConstraint=function(e){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1(this.ptr,e),Module.btTypedConstraint)},btDiscreteDynamicsWorld.prototype.getConstraintSolver=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0(this.ptr),Module.btConstraintSolver)},btDiscreteDynamicsWorld.prototype.stepSimulation=function(e,t,i){return void 0===t?_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1(this.ptr,e):void 0===i?_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2(this.ptr,e,t):_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3(this.ptr,e,t,i)},btDiscreteDynamicsWorld.prototype.addCharacter=function(e){_emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.getWorldType=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.updateSingleAabb=function(e){_emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.updateVehicles=function(e){_emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1(this.ptr,e)},btDiscreteDynamicsWorld.prototype.synchronizeSingleMotionState=function(e){_emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.addVehicle=function(e){_emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.getPairCache=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btDiscreteDynamicsWorld.prototype.synchronizeMotionStates=function(){_emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.getSimulationIslandManager=function(){return _emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0(this.ptr)},btDiscreteDynamicsWorld.prototype.removeCollisionObject=function(e){_emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.setConstraintSolver=function(e){_emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1(this.ptr,e.ptr)},btDiscreteDynamicsWorld.prototype.objectQuerySingle=function(e,t,i,n,_,r,o,s){_emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s)},btDiscreteDynamicsWorld.prototype.getDispatchInfo=function(){return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0(this.ptr),Module.btDispatcherInfo)},btTriangleCallback.prototype.__cache__={},Module.btTriangleCallback=btTriangleCallback,btTriangleCallback.prototype.processTriangle=function(e,t,i){_emscripten_bind_btTriangleCallback__processTriangle_p3(this.ptr,e.ptr,t,i)},btConeTwistConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btConeTwistConstraint.prototype.buildJacobian=function(){_emscripten_bind_btConeTwistConstraint__buildJacobian_p0(this.ptr)},btConeTwistConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btConeTwistConstraint.prototype.isPastSwingLimit=function(){return _emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0(this.ptr)},btConeTwistConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btConeTwistConstraint__set_m_objectType_p1(this.ptr,e)},btConeTwistConstraint.prototype.setEnabled=function(e){_emscripten_bind_btConeTwistConstraint__setEnabled_p1(this.ptr,e)},btConeTwistConstraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btConeTwistConstraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btConeTwistConstraint.prototype.getSwingSpan2=function(){return _emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0(this.ptr)},btConeTwistConstraint.prototype.getSwingSpan1=function(){return _emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0(this.ptr)},btConeTwistConstraint.prototype.calcAngleInfo2=function(e,t,i,n){_emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btConeTwistConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btConeTwistConstraint__get_m_objectType_p0(this.ptr)},btConeTwistConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btConeTwistConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btConeTwistConstraint__setParam_p3(this.ptr,e,t,i)},btConeTwistConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btConeTwistConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btConeTwistConstraint__getParam_p2(this.ptr,e,t)},btConeTwistConstraint.prototype.setDamping=function(e){_emscripten_bind_btConeTwistConstraint__setDamping_p1(this.ptr,e)},btConeTwistConstraint.prototype.getInfo1=function(e){_emscripten_bind_btConeTwistConstraint__getInfo1_p1(this.ptr,e.ptr)},btConeTwistConstraint.prototype.getInfo2=function(e){_emscripten_bind_btConeTwistConstraint__getInfo2_p1(this.ptr,e.ptr)},btConeTwistConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btConeTwistConstraint.prototype.__cache__={},Module.btConeTwistConstraint=btConeTwistConstraint,btConeTwistConstraint.prototype.setMotorTarget=function(e){_emscripten_bind_btConeTwistConstraint__setMotorTarget_p1(this.ptr,e.ptr)},btConeTwistConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0(this.ptr)},btConeTwistConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1(this.ptr,e)},btConeTwistConstraint.prototype.isEnabled=function(){return _emscripten_bind_btConeTwistConstraint__isEnabled_p0(this.ptr)},btConeTwistConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1(this.ptr,e)},btConeTwistConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btConeTwistConstraint__getConstraintType_p0(this.ptr)},btConeTwistConstraint.prototype.getTwistAngle=function(){return _emscripten_bind_btConeTwistConstraint__getTwistAngle_p0(this.ptr)},btConeTwistConstraint.prototype.setMaxMotorImpulseNormalized=function(e){_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1(this.ptr,e)},btConeTwistConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btConeTwistConstraint__enableFeedback_p1(this.ptr,e)},btConeTwistConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btConeTwistConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btConeTwistConstraint__needsFeedback_p0(this.ptr)},btConeTwistConstraint.prototype.getObjectType=function(){return _emscripten_bind_btConeTwistConstraint__getObjectType_p0(this.ptr)},btConeTwistConstraint.prototype.getSolveTwistLimit=function(){return _emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0(this.ptr)},btConeTwistConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0(this.ptr)},btConeTwistConstraint.prototype.enableMotor=function(e){_emscripten_bind_btConeTwistConstraint__enableMotor_p1(this.ptr,e)},btConeTwistConstraint.prototype.getBFrame=function(){return wrapPointer(_emscripten_bind_btConeTwistConstraint__getBFrame_p0(this.ptr),Module.btTransform)},btConeTwistConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btConeTwistConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btConeTwistConstraint__serialize_p2(this.ptr,e,t.ptr)},btConeTwistConstraint.prototype.getUid=function(){return _emscripten_bind_btConeTwistConstraint__getUid_p0(this.ptr)},btConeTwistConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0(this.ptr)},btConeTwistConstraint.prototype.__destroy__=function(){_emscripten_bind_btConeTwistConstraint____destroy___p0(this.ptr)},btConeTwistConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1(this.ptr,e)},btConeTwistConstraint.prototype.getFixThresh=function(){return _emscripten_bind_btConeTwistConstraint__getFixThresh_p0(this.ptr)},btConeTwistConstraint.prototype.getSolveSwingLimit=function(){return _emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0(this.ptr)},btConeTwistConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1(this.ptr,e)},btConeTwistConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0(this.ptr)},btConeTwistConstraint.prototype.setAngularOnly=function(e){_emscripten_bind_btConeTwistConstraint__setAngularOnly_p1(this.ptr,e)},btConeTwistConstraint.prototype.setFrames=function(e,t){_emscripten_bind_btConeTwistConstraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btConeTwistConstraint.prototype.setLimit=function(e,t,i,n,_,r){void 0===i?_emscripten_bind_btConeTwistConstraint__setLimit_p2(this.ptr,e,t):void 0===n?_emscripten_bind_btConeTwistConstraint__setLimit_p3(this.ptr,e,t,i):void 0===_?_emscripten_bind_btConeTwistConstraint__setLimit_p4(this.ptr,e,t,i,n):void 0===r?_emscripten_bind_btConeTwistConstraint__setLimit_p5(this.ptr,e,t,i,n,_):_emscripten_bind_btConeTwistConstraint__setLimit_p6(this.ptr,e,t,i,n,_,r)},btConeTwistConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0(this.ptr)},btConeTwistConstraint.prototype.getTwistLimitSign=function(){return _emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0(this.ptr)},btConeTwistConstraint.prototype.setMaxMotorImpulse=function(e){_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1(this.ptr,e)},btConeTwistConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btConeTwistConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0(this.ptr)},btConeTwistConstraint.prototype.updateRHS=function(e){_emscripten_bind_btConeTwistConstraint__updateRHS_p1(this.ptr,e)},btConeTwistConstraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_){_emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btConeTwistConstraint.prototype.setFixThresh=function(e){_emscripten_bind_btConeTwistConstraint__setFixThresh_p1(this.ptr,e)},btConeTwistConstraint.prototype.setMotorTargetInConstraintSpace=function(e){_emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1(this.ptr,e.ptr)},btConeTwistConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btConeTwistConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0(this.ptr)},btConeTwistConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btConeTwistConstraint.prototype.GetPointForAngle=function(e,t){return wrapPointer(_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2(this.ptr,e,t),Module.btVector3)},btConeTwistConstraint.prototype.calcAngleInfo=function(){_emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0(this.ptr)},btConeTwistConstraint.prototype.getTwistSpan=function(){return _emscripten_bind_btConeTwistConstraint__getTwistSpan_p0(this.ptr)},btConeTwistConstraint.prototype.getAFrame=function(){return wrapPointer(_emscripten_bind_btConeTwistConstraint__getAFrame_p0(this.ptr),Module.btTransform)},btHingeConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btHingeConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btHingeConstraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_){_emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btHingeConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btHingeConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btHingeConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btHingeConstraint__set_m_objectType_p1(this.ptr,e)},btHingeConstraint.prototype.getMotorTargetVelosity=function(){return _emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0(this.ptr)},btHingeConstraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btHingeConstraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btHingeConstraint.prototype.buildJacobian=function(){_emscripten_bind_btHingeConstraint__buildJacobian_p0(this.ptr)},btHingeConstraint.prototype.setMaxMotorImpulse=function(e){_emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1(this.ptr,e)},btHingeConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btHingeConstraint__get_m_objectType_p0(this.ptr)},btHingeConstraint.prototype.getHingeAngle=function(e,t){return void 0===e?_emscripten_bind_btHingeConstraint__getHingeAngle_p0(this.ptr):_emscripten_bind_btHingeConstraint__getHingeAngle_p2(this.ptr,e.ptr,t.ptr)},btHingeConstraint.prototype.testLimit=function(e,t){_emscripten_bind_btHingeConstraint__testLimit_p2(this.ptr,e.ptr,t.ptr)},btHingeConstraint.prototype.getInfo1=function(e){_emscripten_bind_btHingeConstraint__getInfo1_p1(this.ptr,e.ptr)},btHingeConstraint.prototype.getInfo2Internal=function(e,t,i,n,_){_emscripten_bind_btHingeConstraint__getInfo2Internal_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btHingeConstraint.prototype.getInfo2=function(e){_emscripten_bind_btHingeConstraint__getInfo2_p1(this.ptr,e.ptr)},btHingeConstraint.prototype.getUpperLimit=function(){return _emscripten_bind_btHingeConstraint__getUpperLimit_p0(this.ptr)},btHingeConstraint.prototype.enableAngularMotor=function(e,t,i){_emscripten_bind_btHingeConstraint__enableAngularMotor_p3(this.ptr,e,t,i)},btHingeConstraint.prototype.getLimitSign=function(){return _emscripten_bind_btHingeConstraint__getLimitSign_p0(this.ptr)},btHingeConstraint.prototype.__cache__={},Module.btHingeConstraint=btHingeConstraint,btHingeConstraint.prototype.isEnabled=function(){return _emscripten_bind_btHingeConstraint__isEnabled_p0(this.ptr)},btHingeConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btHingeConstraint__setUserConstraintId_p1(this.ptr,e)},btHingeConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btHingeConstraint.prototype.setEnabled=function(e){_emscripten_bind_btHingeConstraint__setEnabled_p1(this.ptr,e)},btHingeConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btHingeConstraint__getConstraintType_p0(this.ptr)},btHingeConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btHingeConstraint__enableFeedback_p1(this.ptr,e)},btHingeConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1(this.ptr,e)},btHingeConstraint.prototype.getMaxMotorImpulse=function(){return _emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0(this.ptr)},btHingeConstraint.prototype.getLowerLimit=function(){return _emscripten_bind_btHingeConstraint__getLowerLimit_p0(this.ptr)},btHingeConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btHingeConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btHingeConstraint__setParam_p3(this.ptr,e,t,i)},btHingeConstraint.prototype.setUseFrameOffset=function(e){_emscripten_bind_btHingeConstraint__setUseFrameOffset_p1(this.ptr,e)},btHingeConstraint.prototype.getEnableAngularMotor=function(){return _emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0(this.ptr)},btHingeConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btHingeConstraint__needsFeedback_p0(this.ptr)},btHingeConstraint.prototype.getObjectType=function(){return _emscripten_bind_btHingeConstraint__getObjectType_p0(this.ptr)},btHingeConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0(this.ptr)},btHingeConstraint.prototype.enableMotor=function(e){_emscripten_bind_btHingeConstraint__enableMotor_p1(this.ptr,e)},btHingeConstraint.prototype.getBFrame=function(){return wrapPointer(_emscripten_bind_btHingeConstraint__getBFrame_p0(this.ptr),Module.btTransform)},btHingeConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btHingeConstraint.prototype.getInfo2InternalUsingFrameOffset=function(e,t,i,n,_){_emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btHingeConstraint.prototype.getUid=function(){return _emscripten_bind_btHingeConstraint__getUid_p0(this.ptr)},btHingeConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btHingeConstraint__getDbgDrawSize_p0(this.ptr)},btHingeConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btHingeConstraint__serialize_p2(this.ptr,e,t.ptr)},btHingeConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btHingeConstraint__setDbgDrawSize_p1(this.ptr,e)},btHingeConstraint.prototype.getUseFrameOffset=function(){return _emscripten_bind_btHingeConstraint__getUseFrameOffset_p0(this.ptr)},btHingeConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btHingeConstraint__setUserConstraintType_p1(this.ptr,e)},btHingeConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btHingeConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btHingeConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0(this.ptr)},btHingeConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0(this.ptr)},btHingeConstraint.prototype.setAngularOnly=function(e){_emscripten_bind_btHingeConstraint__setAngularOnly_p1(this.ptr,e)},btHingeConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btHingeConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btHingeConstraint__getParam_p2(this.ptr,e,t)},btHingeConstraint.prototype.setLimit=function(e,t,i,n,_){void 0===i?_emscripten_bind_btHingeConstraint__setLimit_p2(this.ptr,e,t):void 0===n?_emscripten_bind_btHingeConstraint__setLimit_p3(this.ptr,e,t,i):void 0===_?_emscripten_bind_btHingeConstraint__setLimit_p4(this.ptr,e,t,i,n):_emscripten_bind_btHingeConstraint__setLimit_p5(this.ptr,e,t,i,n,_)},btHingeConstraint.prototype.getSolveLimit=function(){return _emscripten_bind_btHingeConstraint__getSolveLimit_p0(this.ptr)},btHingeConstraint.prototype.__destroy__=function(){_emscripten_bind_btHingeConstraint____destroy___p0(this.ptr)},btHingeConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btHingeConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btHingeConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btHingeConstraint__getUserConstraintId_p0(this.ptr)},btHingeConstraint.prototype.updateRHS=function(e){_emscripten_bind_btHingeConstraint__updateRHS_p1(this.ptr,e)},btHingeConstraint.prototype.setMotorTarget=function(e,t){_emscripten_bind_btHingeConstraint__setMotorTarget_p2(this.ptr,e.ptr,t)},btHingeConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btHingeConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btHingeConstraint__getUserConstraintType_p0(this.ptr)},btHingeConstraint.prototype.getAngularOnly=function(){return _emscripten_bind_btHingeConstraint__getAngularOnly_p0(this.ptr)},btHingeConstraint.prototype.setFrames=function(e,t){_emscripten_bind_btHingeConstraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btHingeConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btHingeConstraint__getAppliedImpulse_p0(this.ptr)},btHingeConstraint.prototype.setAxis=function(e){_emscripten_bind_btHingeConstraint__setAxis_p1(this.ptr,e.ptr)},btHingeConstraint.prototype.getAFrame=function(){return wrapPointer(_emscripten_bind_btHingeConstraint__getAFrame_p0(this.ptr),Module.btTransform)},btRotationalLimitMotor.prototype.set_m_loLimit=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_currentLimitError=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_maxLimitForce=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1(this.ptr,e)},btRotationalLimitMotor.prototype.needApplyTorques=function(){return _emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_currentPosition=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1(this.ptr,e)},btRotationalLimitMotor.prototype.solveAngularLimits=function(e,t,i,n,_){return _emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5(this.ptr,e,t.ptr,i,n.ptr,_.ptr)},btRotationalLimitMotor.prototype.get_m_stopERP=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_stopERP=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_stopCFM=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1(this.ptr,e)},btRotationalLimitMotor.prototype.get_m_currentPosition=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_stopCFM=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0(this.ptr)},btRotationalLimitMotor.prototype.__cache__={},Module.btRotationalLimitMotor=btRotationalLimitMotor,btRotationalLimitMotor.prototype.get_m_enableMotor=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_enableMotor=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1(this.ptr,e)},btRotationalLimitMotor.prototype.testLimitValue=function(e){return _emscripten_bind_btRotationalLimitMotor__testLimitValue_p1(this.ptr,e)},btRotationalLimitMotor.prototype.get_m_currentLimitError=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_limitSoftness=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1(this.ptr,e)},btRotationalLimitMotor.prototype.get_m_loLimit=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_currentLimit=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_hiLimit=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1(this.ptr,e)},btRotationalLimitMotor.prototype.get_m_bounce=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_targetVelocity=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_accumulatedImpulse=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_damping=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_damping_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_maxMotorForce=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_normalCFM=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1(this.ptr,e)},btRotationalLimitMotor.prototype.__destroy__=function(){_emscripten_bind_btRotationalLimitMotor____destroy___p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_maxLimitForce=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_damping=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_damping_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_normalCFM=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_hiLimit=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_accumulatedImpulse=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_targetVelocity=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1(this.ptr,e)},btRotationalLimitMotor.prototype.isLimited=function(){return _emscripten_bind_btRotationalLimitMotor__isLimited_p0(this.ptr)},btRotationalLimitMotor.prototype.get_m_maxMotorForce=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0(this.ptr)},btRotationalLimitMotor.prototype.set_m_currentLimit=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1(this.ptr,e)},btRotationalLimitMotor.prototype.set_m_bounce=function(e){_emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1(this.ptr,e)},btRotationalLimitMotor.prototype.get_m_limitSoftness=function(){return _emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0(this.ptr)},btVehicleRaycaster.prototype.__cache__={},Module.btVehicleRaycaster=btVehicleRaycaster,btVehicleRaycaster.prototype.castRay=function(e,t,i){return _emscripten_bind_btVehicleRaycaster__castRay_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeZ.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConeShapeZ__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConeShapeZ.prototype.isCompound=function(){return _emscripten_bind_btConeShapeZ__isCompound_p0(this.ptr)},btConeShapeZ.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeZ.prototype.setUserPointer=function(e){_emscripten_bind_btConeShapeZ__setUserPointer_p1(this.ptr,e)},btConeShapeZ.prototype.getMarginNV=function(){return _emscripten_bind_btConeShapeZ__getMarginNV_p0(this.ptr)},btConeShapeZ.prototype.serialize=function(e,t){return _emscripten_bind_btConeShapeZ__serialize_p2(this.ptr,e,t.ptr)},btConeShapeZ.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConeShapeZ__getLocalScaling_p0(this.ptr),Module.btVector3)},btConeShapeZ.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0(this.ptr)},btConeShapeZ.prototype.isPolyhedral=function(){return _emscripten_bind_btConeShapeZ__isPolyhedral_p0(this.ptr)},btConeShapeZ.prototype.getRadius=function(){return _emscripten_bind_btConeShapeZ__getRadius_p0(this.ptr)},btConeShapeZ.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeZ.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0(this.ptr)},btConeShapeZ.prototype.__cache__={},Module.btConeShapeZ=btConeShapeZ,btConeShapeZ.prototype.getName=function(){return _emscripten_bind_btConeShapeZ__getName_p0(this.ptr)},btConeShapeZ.prototype.getHeight=function(){return _emscripten_bind_btConeShapeZ__getHeight_p0(this.ptr)},btConeShapeZ.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConeShapeZ.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeZ.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeZ.prototype.setConeUpIndex=function(e){_emscripten_bind_btConeShapeZ__setConeUpIndex_p1(this.ptr,e)},btConeShapeZ.prototype.setLocalScaling=function(e){_emscripten_bind_btConeShapeZ__setLocalScaling_p1(this.ptr,e.ptr)},btConeShapeZ.prototype.getAabb=function(e,t,i){_emscripten_bind_btConeShapeZ__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeZ.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeZ.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1(this.ptr,e)},btConeShapeZ.prototype.isConvex=function(){return _emscripten_bind_btConeShapeZ__isConvex_p0(this.ptr)},btConeShapeZ.prototype.isInfinite=function(){return _emscripten_bind_btConeShapeZ__isInfinite_p0(this.ptr)},btConeShapeZ.prototype.getUserPointer=function(){return _emscripten_bind_btConeShapeZ__getUserPointer_p0(this.ptr)},btConeShapeZ.prototype.isNonMoving=function(){return _emscripten_bind_btConeShapeZ__isNonMoving_p0(this.ptr)},btConeShapeZ.prototype.getMargin=function(){return _emscripten_bind_btConeShapeZ__getMargin_p0(this.ptr)},btConeShapeZ.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConeShapeZ.prototype.setMargin=function(e){_emscripten_bind_btConeShapeZ__setMargin_p1(this.ptr,e)},btConeShapeZ.prototype.isConvex2d=function(){return _emscripten_bind_btConeShapeZ__isConvex2d_p0(this.ptr)},btConeShapeZ.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConeShapeZ.prototype.isSoftBody=function(){return _emscripten_bind_btConeShapeZ__isSoftBody_p0(this.ptr)},btConeShapeZ.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0(this.ptr)},btConeShapeZ.prototype.__destroy__=function(){_emscripten_bind_btConeShapeZ____destroy___p0(this.ptr)},btConeShapeZ.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConeShapeZ.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConeShapeZ.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConeShapeZ__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConeShapeZ.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0(this.ptr)},btConeShapeZ.prototype.getConeUpIndex=function(){return _emscripten_bind_btConeShapeZ__getConeUpIndex_p0(this.ptr)},btConeShapeZ.prototype.serializeSingleShape=function(e){_emscripten_bind_btConeShapeZ__serializeSingleShape_p1(this.ptr,e.ptr)},btConeShapeZ.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConeShapeZ__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeZ.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConeShapeZ.prototype.isConcave=function(){return _emscripten_bind_btConeShapeZ__isConcave_p0(this.ptr)},btConeShapeZ.prototype.getShapeType=function(){return _emscripten_bind_btConeShapeZ__getShapeType_p0(this.ptr)},btConeShapeX.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConeShapeX__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConeShapeX.prototype.isCompound=function(){return _emscripten_bind_btConeShapeX__isCompound_p0(this.ptr)},btConeShapeX.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeX.prototype.setUserPointer=function(e){_emscripten_bind_btConeShapeX__setUserPointer_p1(this.ptr,e)},btConeShapeX.prototype.getMarginNV=function(){return _emscripten_bind_btConeShapeX__getMarginNV_p0(this.ptr)},btConeShapeX.prototype.serialize=function(e,t){return _emscripten_bind_btConeShapeX__serialize_p2(this.ptr,e,t.ptr)},btConeShapeX.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConeShapeX__getLocalScaling_p0(this.ptr),Module.btVector3)},btConeShapeX.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0(this.ptr)},btConeShapeX.prototype.isPolyhedral=function(){return _emscripten_bind_btConeShapeX__isPolyhedral_p0(this.ptr)},btConeShapeX.prototype.getRadius=function(){return _emscripten_bind_btConeShapeX__getRadius_p0(this.ptr)},btConeShapeX.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConeShapeX__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeX.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0(this.ptr)},btConeShapeX.prototype.__cache__={},Module.btConeShapeX=btConeShapeX,btConeShapeX.prototype.getHeight=function(){return _emscripten_bind_btConeShapeX__getHeight_p0(this.ptr)},btConeShapeX.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConeShapeX__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConeShapeX.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeX.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeX.prototype.setConeUpIndex=function(e){_emscripten_bind_btConeShapeX__setConeUpIndex_p1(this.ptr,e)},btConeShapeX.prototype.setLocalScaling=function(e){_emscripten_bind_btConeShapeX__setLocalScaling_p1(this.ptr,e.ptr)},btConeShapeX.prototype.getAabb=function(e,t,i){_emscripten_bind_btConeShapeX__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeX.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConeShapeX.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1(this.ptr,e)},btConeShapeX.prototype.isConvex=function(){return _emscripten_bind_btConeShapeX__isConvex_p0(this.ptr)},btConeShapeX.prototype.isInfinite=function(){return _emscripten_bind_btConeShapeX__isInfinite_p0(this.ptr)},btConeShapeX.prototype.isConcave=function(){return _emscripten_bind_btConeShapeX__isConcave_p0(this.ptr)},btConeShapeX.prototype.getUserPointer=function(){return _emscripten_bind_btConeShapeX__getUserPointer_p0(this.ptr)},btConeShapeX.prototype.isNonMoving=function(){return _emscripten_bind_btConeShapeX__isNonMoving_p0(this.ptr)},btConeShapeX.prototype.getMargin=function(){return _emscripten_bind_btConeShapeX__getMargin_p0(this.ptr)},btConeShapeX.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConeShapeX.prototype.setMargin=function(e){_emscripten_bind_btConeShapeX__setMargin_p1(this.ptr,e)},btConeShapeX.prototype.isConvex2d=function(){return _emscripten_bind_btConeShapeX__isConvex2d_p0(this.ptr)},btConeShapeX.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConeShapeX.prototype.isSoftBody=function(){return _emscripten_bind_btConeShapeX__isSoftBody_p0(this.ptr)},btConeShapeX.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConeShapeX__getMarginNonVirtual_p0(this.ptr)},btConeShapeX.prototype.__destroy__=function(){_emscripten_bind_btConeShapeX____destroy___p0(this.ptr)},btConeShapeX.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConeShapeX.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConeShapeX.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConeShapeX__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConeShapeX.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConeShapeX__getAngularMotionDisc_p0(this.ptr)},btConeShapeX.prototype.getConeUpIndex=function(){return _emscripten_bind_btConeShapeX__getConeUpIndex_p0(this.ptr)},btConeShapeX.prototype.serializeSingleShape=function(e){_emscripten_bind_btConeShapeX__serializeSingleShape_p1(this.ptr,e.ptr)},btConeShapeX.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConeShapeX__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShapeX.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConeShapeX__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConeShapeX.prototype.getName=function(){return _emscripten_bind_btConeShapeX__getName_p0(this.ptr)},btConeShapeX.prototype.getShapeType=function(){return _emscripten_bind_btConeShapeX__getShapeType_p0(this.ptr)},btTriangleMesh.prototype.get_m_weldingThreshold=function(){return _emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0(this.ptr)},btTriangleMesh.prototype.addIndex=function(e){_emscripten_bind_btTriangleMesh__addIndex_p1(this.ptr,e)},btTriangleMesh.prototype.preallocateVertices=function(e){_emscripten_bind_btTriangleMesh__preallocateVertices_p1(this.ptr,e)},btTriangleMesh.prototype.calculateAabbBruteForce=function(e,t){_emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2(this.ptr,e.ptr,t.ptr)},btTriangleMesh.prototype.findOrAddVertex=function(e,t){return _emscripten_bind_btTriangleMesh__findOrAddVertex_p2(this.ptr,e.ptr,t)},btTriangleMesh.prototype.addIndexedMesh=function(e,t){void 0===t?_emscripten_bind_btTriangleMesh__addIndexedMesh_p1(this.ptr,e.ptr):_emscripten_bind_btTriangleMesh__addIndexedMesh_p2(this.ptr,e.ptr,t)},btTriangleMesh.prototype.getPremadeAabb=function(e,t){_emscripten_bind_btTriangleMesh__getPremadeAabb_p2(this.ptr,e.ptr,t.ptr)},btTriangleMesh.prototype.getUse4componentVertices=function(){return _emscripten_bind_btTriangleMesh__getUse4componentVertices_p0(this.ptr)},btTriangleMesh.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0(this.ptr)},btTriangleMesh.prototype.__cache__={},Module.btTriangleMesh=btTriangleMesh,btTriangleMesh.prototype.getScaling=function(){return wrapPointer(_emscripten_bind_btTriangleMesh__getScaling_p0(this.ptr),Module.btVector3)},btTriangleMesh.prototype.setPremadeAabb=function(e,t){_emscripten_bind_btTriangleMesh__setPremadeAabb_p2(this.ptr,e.ptr,t.ptr)},btTriangleMesh.prototype.InternalProcessAllTriangles=function(e,t,i){_emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btTriangleMesh.prototype.setScaling=function(e){_emscripten_bind_btTriangleMesh__setScaling_p1(this.ptr,e.ptr)},btTriangleMesh.prototype.unLockReadOnlyVertexBase=function(e){_emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1(this.ptr,e)},btTriangleMesh.prototype.set_m_weldingThreshold=function(e){_emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1(this.ptr,e)},btTriangleMesh.prototype.getLockedReadOnlyVertexIndexBase=function(e,t,i,n,_,r,o,s,a){void 0===a?_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8(this.ptr,e,t,i,n,_,r,o,s):_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btTriangleMesh.prototype.preallocateIndices=function(e){_emscripten_bind_btTriangleMesh__preallocateIndices_p1(this.ptr,e)},btTriangleMesh.prototype.serialize=function(e,t){return _emscripten_bind_btTriangleMesh__serialize_p2(this.ptr,e,t.ptr)},btTriangleMesh.prototype.getUse32bitIndices=function(){return _emscripten_bind_btTriangleMesh__getUse32bitIndices_p0(this.ptr)},btTriangleMesh.prototype.unLockVertexBase=function(e){_emscripten_bind_btTriangleMesh__unLockVertexBase_p1(this.ptr,e)},btTriangleMesh.prototype.__destroy__=function(){_emscripten_bind_btTriangleMesh____destroy___p0(this.ptr)},btTriangleMesh.prototype.getNumTriangles=function(){return _emscripten_bind_btTriangleMesh__getNumTriangles_p0(this.ptr)},btTriangleMesh.prototype.getIndexedMeshArray=function(){return _emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0(this.ptr)},btTriangleMesh.prototype.getNumSubParts=function(){return _emscripten_bind_btTriangleMesh__getNumSubParts_p0(this.ptr)},btTriangleMesh.prototype.getLockedVertexIndexBase=function(e,t,i,n,_,r,o,s,a){void 0===a?_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8(this.ptr,e,t,i,n,_,r,o,s):_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btTriangleMesh.prototype.hasPremadeAabb=function(){return _emscripten_bind_btTriangleMesh__hasPremadeAabb_p0(this.ptr)},btTriangleMesh.prototype.addTriangle=function(e,t,i,n){void 0===n?_emscripten_bind_btTriangleMesh__addTriangle_p3(this.ptr,e.ptr,t.ptr,i.ptr):_emscripten_bind_btTriangleMesh__addTriangle_p4(this.ptr,e.ptr,t.ptr,i.ptr,n)},btBroadphaseAabbCallback.prototype.__cache__={},Module.btBroadphaseAabbCallback=btBroadphaseAabbCallback,btBroadphaseAabbCallback.prototype.process=function(e){return _emscripten_bind_btBroadphaseAabbCallback__process_p1(this.ptr,e.ptr)},btBroadphasePair.prototype.__destroy__=function(){_emscripten_bind_btBroadphasePair____destroy___p0(this.ptr)},btBroadphasePair.prototype.set_m_internalTmpValue=function(e){_emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1(this.ptr,e)},btBroadphasePair.prototype.get_m_pProxy0=function(){return wrapPointer(_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0(this.ptr),Module.btBroadphaseProxy)},btBroadphasePair.prototype.get_m_pProxy1=function(){return wrapPointer(_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0(this.ptr),Module.btBroadphaseProxy)},btBroadphasePair.prototype.set_m_pProxy0=function(e){_emscripten_bind_btBroadphasePair__set_m_pProxy0_p1(this.ptr,e.ptr)},btBroadphasePair.prototype.set_m_pProxy1=function(e){_emscripten_bind_btBroadphasePair__set_m_pProxy1_p1(this.ptr,e.ptr)},btBroadphasePair.prototype.__cache__={},Module.btBroadphasePair=btBroadphasePair,btBroadphasePair.prototype.get_m_internalTmpValue=function(){return _emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0(this.ptr)},btBroadphasePair.prototype.get_m_internalInfo1=function(){return _emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0(this.ptr)},btBroadphasePair.prototype.get_m_algorithm=function(){return wrapPointer(_emscripten_bind_btBroadphasePair__get_m_algorithm_p0(this.ptr),Module.btCollisionAlgorithm)},btBroadphasePair.prototype.set_m_internalInfo1=function(e){_emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1(this.ptr,e)},btBroadphasePair.prototype.set_m_algorithm=function(e){_emscripten_bind_btBroadphasePair__set_m_algorithm_p1(this.ptr,e.ptr)},btBroadphaseRayCallback.prototype.__cache__={},Module.btBroadphaseRayCallback=btBroadphaseRayCallback,btBroadphaseRayCallback.prototype.process=function(e){return _emscripten_bind_btBroadphaseRayCallback__process_p1(this.ptr,e.ptr)},btBroadphaseRayCallback.prototype.get_m_rayDirectionInverse=function(){return wrapPointer(_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0(this.ptr),Module.btVector3)},btBroadphaseRayCallback.prototype.set_m_rayDirectionInverse=function(e){_emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1(this.ptr,e.ptr)},btBroadphaseRayCallback.prototype.set_m_lambda_max=function(e){_emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1(this.ptr,e)},btBroadphaseRayCallback.prototype.get_m_lambda_max=function(){return _emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0(this.ptr)},ConvexResultCallback.prototype.__cache__={},Module.ConvexResultCallback=ConvexResultCallback,ConvexResultCallback.prototype.get_m_closestHitFraction=function(){return _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0(this.ptr)},ConvexResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},ConvexResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1(this.ptr,e.ptr)},ConvexResultCallback.prototype.set_m_closestHitFraction=function(e){_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1(this.ptr,e)},ConvexResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},ConvexResultCallback.prototype.hasHit=function(){return _emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0(this.ptr)},ConvexResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0(this.ptr)},ConvexResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},ConvexResultCallback.prototype.addSingleResult=function(e,t){return _emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2(this.ptr,e.ptr,t)},btDefaultMotionState.prototype.__destroy__=function(){_emscripten_bind_btDefaultMotionState____destroy___p0(this.ptr)},btDefaultMotionState.prototype.get_m_startWorldTrans=function(){return wrapPointer(_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0(this.ptr),Module.btTransform)},btDefaultMotionState.prototype.get_m_userPointer=function(){return _emscripten_bind_btDefaultMotionState__get_m_userPointer_p0(this.ptr)},btDefaultMotionState.prototype.getWorldTransform=function(e){_emscripten_bind_btDefaultMotionState__getWorldTransform_p1(this.ptr,e.ptr)},btDefaultMotionState.prototype.set_m_startWorldTrans=function(e){_emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1(this.ptr,e.ptr)},btDefaultMotionState.prototype.setWorldTransform=function(e){_emscripten_bind_btDefaultMotionState__setWorldTransform_p1(this.ptr,e.ptr)},btDefaultMotionState.prototype.get_m_graphicsWorldTrans=function(){return wrapPointer(_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0(this.ptr),Module.btTransform)},btDefaultMotionState.prototype.set_m_userPointer=function(e){_emscripten_bind_btDefaultMotionState__set_m_userPointer_p1(this.ptr,e)},btDefaultMotionState.prototype.set_m_graphicsWorldTrans=function(e){_emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1(this.ptr,e.ptr)},btDefaultMotionState.prototype.__cache__={},Module.btDefaultMotionState=btDefaultMotionState,btDefaultMotionState.prototype.get_m_centerOfMassOffset=function(){return wrapPointer(_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0(this.ptr),Module.btTransform)},btDefaultMotionState.prototype.set_m_centerOfMassOffset=function(e){_emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.setGravity=function(e){_emscripten_bind_btContinuousDynamicsWorld__setGravity_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.addAction=function(e){_emscripten_bind_btContinuousDynamicsWorld__addAction_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getSolverInfo=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0(this.ptr),Module.btContactSolverInfo)},btContinuousDynamicsWorld.prototype.getDebugDrawer=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0(this.ptr),Module.btIDebugDraw)},btContinuousDynamicsWorld.prototype.applyGravity=function(){_emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0(this.ptr)},btContinuousDynamicsWorld.prototype.serialize=function(e){_emscripten_bind_btContinuousDynamicsWorld__serialize_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getDispatcher=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0(this.ptr),Module.btDispatcher)},btContinuousDynamicsWorld.prototype.getCollisionWorld=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0(this.ptr),Module.btCollisionWorld)},btContinuousDynamicsWorld.prototype.addRigidBody=function(e,t,i){void 0===t?_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1(this.ptr,e.ptr):_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3(this.ptr,e.ptr,t,i)},btContinuousDynamicsWorld.prototype.clearForces=function(){_emscripten_bind_btContinuousDynamicsWorld__clearForces_p0(this.ptr)},btContinuousDynamicsWorld.prototype.removeVehicle=function(e){_emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.internalSingleStepSimulation=function(e){_emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.setBroadphase=function(e){_emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getSynchronizeAllMotionStates=function(){return _emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0(this.ptr)},btContinuousDynamicsWorld.prototype.setNumTasks=function(e){_emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.setSynchronizeAllMotionStates=function(e){_emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.calculateTimeOfImpacts=function(e){_emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.debugDrawObject=function(e,t,i){_emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btContinuousDynamicsWorld.prototype.removeConstraint=function(e){_emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.rayTest=function(e,t,i){_emscripten_bind_btContinuousDynamicsWorld__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btContinuousDynamicsWorld.prototype.getNumConstraints=function(){return _emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0(this.ptr)},btContinuousDynamicsWorld.prototype.addCollisionObject=function(e,t,i){void 0===t?_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1(this.ptr,e.ptr):void 0===i?_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2(this.ptr,e.ptr,t):_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3(this.ptr,e.ptr,t,i)},btContinuousDynamicsWorld.prototype.removeRigidBody=function(e){_emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.contactTest=function(e,t){_emscripten_bind_btContinuousDynamicsWorld__contactTest_p2(this.ptr,e.ptr,t.ptr)},btContinuousDynamicsWorld.prototype.performDiscreteCollisionDetection=function(){_emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr)},btContinuousDynamicsWorld.prototype.setInternalTickCallback=function(e,t,i){void 0===t?_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1(this.ptr,e):void 0===i?_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2(this.ptr,e,t):_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3(this.ptr,e,t,i)},btContinuousDynamicsWorld.prototype.getForceUpdateAllAabbs=function(){return _emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr)},btContinuousDynamicsWorld.prototype.updateAabbs=function(){_emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0(this.ptr)},btContinuousDynamicsWorld.prototype.setDebugDrawer=function(e){_emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.debugDrawConstraint=function(e){_emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.debugDrawWorld=function(){_emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0(this.ptr)},btContinuousDynamicsWorld.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_)},btContinuousDynamicsWorld.prototype.__cache__={},Module.btContinuousDynamicsWorld=btContinuousDynamicsWorld,btContinuousDynamicsWorld.prototype.getNumCollisionObjects=function(){return _emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0(this.ptr)},btContinuousDynamicsWorld.prototype.setWorldUserInfo=function(e){_emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.addConstraint=function(e,t){void 0===t?_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1(this.ptr,e.ptr):_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2(this.ptr,e.ptr,t)},btContinuousDynamicsWorld.prototype.getWorldUserInfo=function(){return _emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0(this.ptr)},btContinuousDynamicsWorld.prototype.contactPairTest=function(e,t,i){_emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btContinuousDynamicsWorld.prototype.getGravity=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0(this.ptr),Module.btVector3)},btContinuousDynamicsWorld.prototype.getBroadphase=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0(this.ptr),Module.btBroadphaseInterface)},btContinuousDynamicsWorld.prototype.rayTestSingle=function(e,t,i,n,_,r){_emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr)},btContinuousDynamicsWorld.prototype.removeAction=function(e){_emscripten_bind_btContinuousDynamicsWorld__removeAction_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.setForceUpdateAllAabbs=function(e){_emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.__destroy__=function(){_emscripten_bind_btContinuousDynamicsWorld____destroy___p0(this.ptr)},btContinuousDynamicsWorld.prototype.removeCharacter=function(e){_emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getConstraint=function(e){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1(this.ptr,e),Module.btTypedConstraint)},btContinuousDynamicsWorld.prototype.getConstraintSolver=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0(this.ptr),Module.btConstraintSolver)},btContinuousDynamicsWorld.prototype.stepSimulation=function(e,t,i){return void 0===t?_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1(this.ptr,e):void 0===i?_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2(this.ptr,e,t):_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3(this.ptr,e,t,i)},btContinuousDynamicsWorld.prototype.addCharacter=function(e){_emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getWorldType=function(){return _emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0(this.ptr)},btContinuousDynamicsWorld.prototype.updateSingleAabb=function(e){_emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.updateVehicles=function(e){_emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1(this.ptr,e)},btContinuousDynamicsWorld.prototype.synchronizeSingleMotionState=function(e){_emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getCollisionObjectArray=function(){return _emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0(this.ptr)},btContinuousDynamicsWorld.prototype.addVehicle=function(e){_emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.getPairCache=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btContinuousDynamicsWorld.prototype.synchronizeMotionStates=function(){_emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0(this.ptr)},btContinuousDynamicsWorld.prototype.getSimulationIslandManager=function(){return _emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0(this.ptr)},btContinuousDynamicsWorld.prototype.removeCollisionObject=function(e){_emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.setConstraintSolver=function(e){_emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1(this.ptr,e.ptr)},btContinuousDynamicsWorld.prototype.objectQuerySingle=function(e,t,i,n,_,r,o,s){_emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s)},btContinuousDynamicsWorld.prototype.getDispatchInfo=function(){return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0(this.ptr),Module.btDispatcherInfo)},btConeShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConeShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConeShape.prototype.isCompound=function(){return _emscripten_bind_btConeShape__isCompound_p0(this.ptr)},btConeShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConeShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConeShape.prototype.setUserPointer=function(e){_emscripten_bind_btConeShape__setUserPointer_p1(this.ptr,e)},btConeShape.prototype.getMarginNV=function(){return _emscripten_bind_btConeShape__getMarginNV_p0(this.ptr)},btConeShape.prototype.serialize=function(e,t){return _emscripten_bind_btConeShape__serialize_p2(this.ptr,e,t.ptr)},btConeShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConeShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConeShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btConeShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConeShape__isPolyhedral_p0(this.ptr)},btConeShape.prototype.getRadius=function(){return _emscripten_bind_btConeShape__getRadius_p0(this.ptr)},btConeShape.prototype.__cache__={},Module.btConeShape=btConeShape,btConeShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConeShape__calculateSerializeBufferSize_p0(this.ptr)},btConeShape.prototype.getName=function(){return _emscripten_bind_btConeShape__getName_p0(this.ptr)},btConeShape.prototype.getHeight=function(){return _emscripten_bind_btConeShape__getHeight_p0(this.ptr)},btConeShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConeShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConeShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConeShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConeShape.prototype.setConeUpIndex=function(e){_emscripten_bind_btConeShape__setConeUpIndex_p1(this.ptr,e)},btConeShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConeShape__setLocalScaling_p1(this.ptr,e.ptr)},btConeShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConeShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConeShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConeShape__getContactBreakingThreshold_p1(this.ptr,e)},btConeShape.prototype.isConvex=function(){return _emscripten_bind_btConeShape__isConvex_p0(this.ptr)},btConeShape.prototype.isInfinite=function(){return _emscripten_bind_btConeShape__isInfinite_p0(this.ptr)},btConeShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConeShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShape.prototype.getUserPointer=function(){return _emscripten_bind_btConeShape__getUserPointer_p0(this.ptr)},btConeShape.prototype.isNonMoving=function(){return _emscripten_bind_btConeShape__isNonMoving_p0(this.ptr)},btConeShape.prototype.getMargin=function(){return _emscripten_bind_btConeShape__getMargin_p0(this.ptr)},btConeShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConeShape.prototype.setMargin=function(e){_emscripten_bind_btConeShape__setMargin_p1(this.ptr,e)},btConeShape.prototype.isConvex2d=function(){return _emscripten_bind_btConeShape__isConvex2d_p0(this.ptr)},btConeShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConeShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConeShape.prototype.isSoftBody=function(){return _emscripten_bind_btConeShape__isSoftBody_p0(this.ptr)},btConeShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConeShape__getMarginNonVirtual_p0(this.ptr)},btConeShape.prototype.__destroy__=function(){_emscripten_bind_btConeShape____destroy___p0(this.ptr)},btConeShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConeShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConeShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConeShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConeShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConeShape__getAngularMotionDisc_p0(this.ptr)},btConeShape.prototype.getConeUpIndex=function(){return _emscripten_bind_btConeShape__getConeUpIndex_p0(this.ptr)},btConeShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConeShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConeShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConeShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConeShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConeShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConeShape.prototype.isConcave=function(){return _emscripten_bind_btConeShape__isConcave_p0(this.ptr)},btConeShape.prototype.getShapeType=function(){return _emscripten_bind_btConeShape__getShapeType_p0(this.ptr)},btWheelInfo.prototype.set_m_chassisConnectionPointCS=function(e){_emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1(this.ptr,e.ptr)},btWheelInfo.prototype.set_m_maxSuspensionTravelCm=function(e){_emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1(this.ptr,e)},btWheelInfo.prototype.get_m_wheelsRadius=function(){return _emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0(this.ptr)};function btConvexShape(){throw"btConvexShape is abstract!"}function btDiscreteCollisionDetectorInterface(){throw"btDiscreteCollisionDetectorInterface is abstract!"}function btDefaultCollisionConstructionInfo(){this.ptr=_emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0(),btDefaultCollisionConstructionInfo.prototype.__cache__[this.ptr]=this,this.__class__=btDefaultCollisionConstructionInfo}function btDispatcher(){throw"btDispatcher is abstract!"}function btJacobianEntry(e,t,i,n,_,r,o,s,a){this.ptr=void 0===e?_emscripten_bind_btJacobianEntry__btJacobianEntry_p0():void 0===_?_emscripten_bind_btJacobianEntry__btJacobianEntry_p4(e.ptr,t.ptr,i.ptr,n.ptr):void 0===r?_emscripten_bind_btJacobianEntry__btJacobianEntry_p5(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr):void 0===o?_emscripten_bind_btJacobianEntry__btJacobianEntry_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r):_emscripten_bind_btJacobianEntry__btJacobianEntry_p9(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o,s.ptr,a),btJacobianEntry.prototype.__cache__[this.ptr]=this,this.__class__=btJacobianEntry}function btOverlappingPairCallback(){throw"btOverlappingPairCallback is abstract!"}function btHashInt(e){this.ptr=_emscripten_bind_btHashInt__btHashInt_p1(e),btHashInt.prototype.__cache__[this.ptr]=this,this.__class__=btHashInt}function btCollisionAlgorithmCreateFunc(){this.ptr=_emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0(),btCollisionAlgorithmCreateFunc.prototype.__cache__[this.ptr]=this,this.__class__=btCollisionAlgorithmCreateFunc}function btCollisionWorld(e,t,i){this.ptr=_emscripten_bind_btCollisionWorld__btCollisionWorld_p3(e.ptr,t.ptr,i.ptr),btCollisionWorld.prototype.__cache__[this.ptr]=this,this.__class__=btCollisionWorld}function btTranslationalLimitMotor(e){this.ptr=void 0===e?_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0():_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1(e.ptr),btTranslationalLimitMotor.prototype.__cache__[this.ptr]=this,this.__class__=btTranslationalLimitMotor}function btInternalTriangleIndexCallback(){throw"btInternalTriangleIndexCallback is abstract!"}function btConvexInternalShape(){throw"btConvexInternalShape is abstract!"}function btHashPtr(e){this.ptr=_emscripten_bind_btHashPtr__btHashPtr_p1(e),btHashPtr.prototype.__cache__[this.ptr]=this,this.__class__=btHashPtr}function btPairCachingGhostObject(){this.ptr=_emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0(),btPairCachingGhostObject.prototype.__cache__[this.ptr]=this,this.__class__=btPairCachingGhostObject}function btOverlapCallback(){throw"btOverlapCallback is abstract!"}function btStaticPlaneShape(e,t){this.ptr=_emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2(e.ptr,t),btStaticPlaneShape.prototype.__cache__[this.ptr]=this,this.__class__=btStaticPlaneShape}function btOverlappingPairCache(){throw"btOverlappingPairCache is abstract!"}function btCollisionShape(){throw"btCollisionShape is abstract!"}function btGeneric6DofConstraint(e,t,i,n,_){this.ptr=void 0===n?_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3(e.ptr,t.ptr,i):_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5(e.ptr,t.ptr,i.ptr,n.ptr,_),btGeneric6DofConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btGeneric6DofConstraint}function btClock(e){this.ptr=void 0===e?_emscripten_bind_btClock__btClock_p0():_emscripten_bind_btClock__btClock_p1(e.ptr),btClock.prototype.__cache__[this.ptr]=this,this.__class__=btClock}function btTransform(e,t){this.ptr=void 0===e?_emscripten_bind_btTransform__btTransform_p0():void 0===t?_emscripten_bind_btTransform__btTransform_p1(e.ptr):_emscripten_bind_btTransform__btTransform_p2(e.ptr,t.ptr),btTransform.prototype.__cache__[this.ptr]=this,this.__class__=btTransform}function btRigidBodyConstructionInfo(e,t,i,n){this.ptr=void 0===n?_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3(e,t.ptr,i.ptr):_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4(e,t.ptr,i.ptr,n.ptr),btRigidBodyConstructionInfo.prototype.__cache__[this.ptr]=this,this.__class__=btRigidBodyConstructionInfo}function CProfileNode(e,t){var i=Runtime.stackSave();try{this.ptr=_emscripten_bind_CProfileNode__CProfileNode_p2(ensureString(e),t.ptr)}finally{Runtime.stackRestore(i)}CProfileNode.prototype.__cache__[this.ptr]=this,this.__class__=CProfileNode}function ClosestPointInput(){this.ptr=_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0(),ClosestPointInput.prototype.__cache__[this.ptr]=this,this.__class__=ClosestPointInput}function btBvhTriangleMeshShape(e,t,i,n,_){this.ptr=void 0===i?_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2(e.ptr,t):void 0===n?_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3(e.ptr,t,i):void 0===_?_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4(e.ptr,t,i.ptr,n.ptr):_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5(e.ptr,t,i.ptr,n.ptr,_),btBvhTriangleMeshShape.prototype.__cache__[this.ptr]=this,this.__class__=btBvhTriangleMeshShape}function btOverlapFilterCallback(){throw"btOverlapFilterCallback is abstract!"}function btActivatingCollisionAlgorithm(){throw"btActivatingCollisionAlgorithm is abstract!"}function btSliderConstraint(e,t,i,n,_){this.ptr=void 0===n?_emscripten_bind_btSliderConstraint__btSliderConstraint_p3(e.ptr,t.ptr,i):_emscripten_bind_btSliderConstraint__btSliderConstraint_p5(e.ptr,t.ptr,i.ptr,n.ptr,_),btSliderConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btSliderConstraint}function btVehicleTuning(){this.ptr=_emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0(),btVehicleTuning.prototype.__cache__[this.ptr]=this,this.__class__=btVehicleTuning}function btContactConstraint(){throw"btContactConstraint is abstract!"}function btManifoldPoint(e,t,i,n){this.ptr=void 0===e?_emscripten_bind_btManifoldPoint__btManifoldPoint_p0():_emscripten_bind_btManifoldPoint__btManifoldPoint_p4(e.ptr,t.ptr,i.ptr,n),btManifoldPoint.prototype.__cache__[this.ptr]=this,this.__class__=btManifoldPoint}btWheelInfo.prototype.get_m_suspensionRestLength1=function(){return _emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0(this.ptr)},btWheelInfo.prototype.set_m_suspensionStiffness=function(e){_emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1(this.ptr,e)},btWheelInfo.prototype.set_m_wheelsRadius=function(e){_emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1(this.ptr,e)},btWheelInfo.prototype.get_m_maxSuspensionForce=function(){return _emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0(this.ptr)},btWheelInfo.prototype.updateWheel=function(e,t){_emscripten_bind_btWheelInfo__updateWheel_p2(this.ptr,e.ptr,t.ptr)},btWheelInfo.prototype.get_m_wheelsDampingCompression=function(){return _emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0(this.ptr)},btWheelInfo.prototype.get_m_clippedInvContactDotSuspension=function(){return _emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0(this.ptr)},btWheelInfo.prototype.get_m_worldTransform=function(){return wrapPointer(_emscripten_bind_btWheelInfo__get_m_worldTransform_p0(this.ptr),Module.btTransform)},btWheelInfo.prototype.get_m_frictionSlip=function(){return _emscripten_bind_btWheelInfo__get_m_frictionSlip_p0(this.ptr)},btWheelInfo.prototype.get_m_bIsFrontWheel=function(){return _emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0(this.ptr)},btWheelInfo.prototype.set_m_engineForce=function(e){_emscripten_bind_btWheelInfo__set_m_engineForce_p1(this.ptr,e)},btWheelInfo.prototype.get_m_engineForce=function(){return _emscripten_bind_btWheelInfo__get_m_engineForce_p0(this.ptr)},btWheelInfo.prototype.get_m_steering=function(){return _emscripten_bind_btWheelInfo__get_m_steering_p0(this.ptr)},btWheelInfo.prototype.get_m_rollInfluence=function(){return _emscripten_bind_btWheelInfo__get_m_rollInfluence_p0(this.ptr)},btWheelInfo.prototype.get_m_suspensionRelativeVelocity=function(){return _emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0(this.ptr)},btWheelInfo.prototype.set_m_clientInfo=function(e){_emscripten_bind_btWheelInfo__set_m_clientInfo_p1(this.ptr,e)},btWheelInfo.prototype.set_m_brake=function(e){_emscripten_bind_btWheelInfo__set_m_brake_p1(this.ptr,e)},btWheelInfo.prototype.set_m_suspensionRelativeVelocity=function(e){_emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1(this.ptr,e)},btWheelInfo.prototype.set_m_bIsFrontWheel=function(e){_emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1(this.ptr,e)},btWheelInfo.prototype.set_m_wheelDirectionCS=function(e){_emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1(this.ptr,e.ptr)},btWheelInfo.prototype.set_m_wheelsDampingCompression=function(e){_emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1(this.ptr,e)},btWheelInfo.prototype.set_m_deltaRotation=function(e){_emscripten_bind_btWheelInfo__set_m_deltaRotation_p1(this.ptr,e)},btWheelInfo.prototype.get_m_clientInfo=function(){return _emscripten_bind_btWheelInfo__get_m_clientInfo_p0(this.ptr)},btWheelInfo.prototype.set_m_frictionSlip=function(e){_emscripten_bind_btWheelInfo__set_m_frictionSlip_p1(this.ptr,e)},btWheelInfo.prototype.get_m_skidInfo=function(){return _emscripten_bind_btWheelInfo__get_m_skidInfo_p0(this.ptr)},btWheelInfo.prototype.getSuspensionRestLength=function(){return _emscripten_bind_btWheelInfo__getSuspensionRestLength_p0(this.ptr)},btWheelInfo.prototype.get_m_wheelsDampingRelaxation=function(){return _emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0(this.ptr)},btWheelInfo.prototype.get_m_maxSuspensionTravelCm=function(){return _emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0(this.ptr)},btWheelInfo.prototype.set_m_steering=function(e){_emscripten_bind_btWheelInfo__set_m_steering_p1(this.ptr,e)},btWheelInfo.prototype.set_m_wheelAxleCS=function(e){_emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1(this.ptr,e.ptr)},btWheelInfo.prototype.__cache__={},Module.btWheelInfo=btWheelInfo,btWheelInfo.prototype.get_m_chassisConnectionPointCS=function(){return wrapPointer(_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0(this.ptr),Module.btVector3)},btWheelInfo.prototype.get_m_brake=function(){return _emscripten_bind_btWheelInfo__get_m_brake_p0(this.ptr)},btWheelInfo.prototype.set_m_skidInfo=function(e){_emscripten_bind_btWheelInfo__set_m_skidInfo_p1(this.ptr,e)},btWheelInfo.prototype.get_m_wheelsSuspensionForce=function(){return _emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0(this.ptr)},btWheelInfo.prototype.set_m_suspensionRestLength1=function(e){_emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1(this.ptr,e)},btWheelInfo.prototype.set_m_rollInfluence=function(e){_emscripten_bind_btWheelInfo__set_m_rollInfluence_p1(this.ptr,e)},btWheelInfo.prototype.__destroy__=function(){_emscripten_bind_btWheelInfo____destroy___p0(this.ptr)},btWheelInfo.prototype.get_m_rotation=function(){return _emscripten_bind_btWheelInfo__get_m_rotation_p0(this.ptr)},btWheelInfo.prototype.set_m_wheelsDampingRelaxation=function(e){_emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1(this.ptr,e)},btWheelInfo.prototype.get_m_wheelDirectionCS=function(){return wrapPointer(_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0(this.ptr),Module.btVector3)},btWheelInfo.prototype.get_m_suspensionStiffness=function(){return _emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0(this.ptr)},btWheelInfo.prototype.set_m_clippedInvContactDotSuspension=function(e){_emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1(this.ptr,e)},btWheelInfo.prototype.set_m_rotation=function(e){_emscripten_bind_btWheelInfo__set_m_rotation_p1(this.ptr,e)},btWheelInfo.prototype.get_m_wheelAxleCS=function(){return wrapPointer(_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0(this.ptr),Module.btVector3)},btWheelInfo.prototype.set_m_wheelsSuspensionForce=function(e){_emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1(this.ptr,e)},btWheelInfo.prototype.set_m_maxSuspensionForce=function(e){_emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1(this.ptr,e)},btWheelInfo.prototype.set_m_worldTransform=function(e){_emscripten_bind_btWheelInfo__set_m_worldTransform_p1(this.ptr,e.ptr)},btWheelInfo.prototype.get_m_deltaRotation=function(){return _emscripten_bind_btWheelInfo__get_m_deltaRotation_p0(this.ptr)},btBU_Simplex1to4.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btBU_Simplex1to4.prototype.getNumPlanes=function(){return _emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0(this.ptr)},btBU_Simplex1to4.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.setUserPointer=function(e){_emscripten_bind_btBU_Simplex1to4__setUserPointer_p1(this.ptr,e)},btBU_Simplex1to4.prototype.isInside=function(e,t){return _emscripten_bind_btBU_Simplex1to4__isInside_p2(this.ptr,e.ptr,t)},btBU_Simplex1to4.prototype.getNumVertices=function(){return _emscripten_bind_btBU_Simplex1to4__getNumVertices_p0(this.ptr)},btBU_Simplex1to4.prototype.addVertex=function(e){_emscripten_bind_btBU_Simplex1to4__addVertex_p1(this.ptr,e.ptr)},btBU_Simplex1to4.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0(this.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0(this.ptr)},btBU_Simplex1to4.prototype.isPolyhedral=function(){return _emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0(this.ptr)},btBU_Simplex1to4.prototype.getVertex=function(e,t){_emscripten_bind_btBU_Simplex1to4__getVertex_p2(this.ptr,e,t.ptr)},btBU_Simplex1to4.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.getIndex=function(e){return _emscripten_bind_btBU_Simplex1to4__getIndex_p1(this.ptr,e)},btBU_Simplex1to4.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBU_Simplex1to4.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0(this.ptr)},btBU_Simplex1to4.prototype.getNumEdges=function(){return _emscripten_bind_btBU_Simplex1to4__getNumEdges_p0(this.ptr)},btBU_Simplex1to4.prototype.getName=function(){return _emscripten_bind_btBU_Simplex1to4__getName_p0(this.ptr)},btBU_Simplex1to4.prototype.getEdge=function(e,t,i){_emscripten_bind_btBU_Simplex1to4__getEdge_p3(this.ptr,e,t.ptr,i.ptr)},btBU_Simplex1to4.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btBU_Simplex1to4.prototype.setLocalScaling=function(e){_emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1(this.ptr,e.ptr)},btBU_Simplex1to4.prototype.getAabb=function(e,t,i){_emscripten_bind_btBU_Simplex1to4__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBU_Simplex1to4.prototype.getMarginNV=function(){return _emscripten_bind_btBU_Simplex1to4__getMarginNV_p0(this.ptr)},btBU_Simplex1to4.prototype.isConvex2d=function(){return _emscripten_bind_btBU_Simplex1to4__isConvex2d_p0(this.ptr)},btBU_Simplex1to4.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1(this.ptr,e)},btBU_Simplex1to4.prototype.isConvex=function(){return _emscripten_bind_btBU_Simplex1to4__isConvex_p0(this.ptr)},btBU_Simplex1to4.prototype.isInfinite=function(){return _emscripten_bind_btBU_Simplex1to4__isInfinite_p0(this.ptr)},btBU_Simplex1to4.prototype.serialize=function(e,t){return _emscripten_bind_btBU_Simplex1to4__serialize_p2(this.ptr,e,t.ptr)},btBU_Simplex1to4.prototype.isNonMoving=function(){return _emscripten_bind_btBU_Simplex1to4__isNonMoving_p0(this.ptr)},btBU_Simplex1to4.prototype.getUserPointer=function(){return _emscripten_bind_btBU_Simplex1to4__getUserPointer_p0(this.ptr)},btBU_Simplex1to4.prototype.__cache__={},Module.btBU_Simplex1to4=btBU_Simplex1to4,btBU_Simplex1to4.prototype.getMargin=function(){return _emscripten_bind_btBU_Simplex1to4__getMargin_p0(this.ptr)},btBU_Simplex1to4.prototype.recalcLocalAabb=function(){_emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0(this.ptr)},btBU_Simplex1to4.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btBU_Simplex1to4.prototype.setMargin=function(e){_emscripten_bind_btBU_Simplex1to4__setMargin_p1(this.ptr,e)},btBU_Simplex1to4.prototype.initializePolyhedralFeatures=function(){return _emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0(this.ptr)},btBU_Simplex1to4.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.isSoftBody=function(){return _emscripten_bind_btBU_Simplex1to4__isSoftBody_p0(this.ptr)},btBU_Simplex1to4.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0(this.ptr)},btBU_Simplex1to4.prototype.reset=function(){_emscripten_bind_btBU_Simplex1to4__reset_p0(this.ptr)},btBU_Simplex1to4.prototype.__destroy__=function(){_emscripten_bind_btBU_Simplex1to4____destroy___p0(this.ptr)},btBU_Simplex1to4.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btBU_Simplex1to4.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btBU_Simplex1to4.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2(this.ptr,e.ptr,t)},btBU_Simplex1to4.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0(this.ptr)},btBU_Simplex1to4.prototype.serializeSingleShape=function(e){_emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1(this.ptr,e.ptr)},btBU_Simplex1to4.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBU_Simplex1to4.prototype.getPlane=function(e,t,i){_emscripten_bind_btBU_Simplex1to4__getPlane_p3(this.ptr,e.ptr,t.ptr,i)},btBU_Simplex1to4.prototype.isCompound=function(){return _emscripten_bind_btBU_Simplex1to4__isCompound_p0(this.ptr)},btBU_Simplex1to4.prototype.getConvexPolyhedron=function(){return _emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0(this.ptr)},btBU_Simplex1to4.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btBU_Simplex1to4.prototype.getShapeType=function(){return _emscripten_bind_btBU_Simplex1to4__getShapeType_p0(this.ptr)},btBU_Simplex1to4.prototype.isConcave=function(){return _emscripten_bind_btBU_Simplex1to4__isConcave_p0(this.ptr)},btBU_Simplex1to4.prototype.getNonvirtualAabb=function(e,t,i,n){_emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n)},btVector4.prototype.setMin=function(e){_emscripten_bind_btVector4__setMin_p1(this.ptr,e.ptr)},btVector4.prototype.getSkewSymmetricMatrix=function(e,t,i){_emscripten_bind_btVector4__getSkewSymmetricMatrix_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btVector4.prototype.serialize=function(e){_emscripten_bind_btVector4__serialize_p1(this.ptr,e.ptr)},btVector4.prototype.deSerializeDouble=function(e){_emscripten_bind_btVector4__deSerializeDouble_p1(this.ptr,e.ptr)},btVector4.prototype.getX=function(){return _emscripten_bind_btVector4__getX_p0(this.ptr)},btVector4.prototype.minAxis4=function(){return _emscripten_bind_btVector4__minAxis4_p0(this.ptr)},btVector4.prototype.getZ=function(){return _emscripten_bind_btVector4__getZ_p0(this.ptr)},btVector4.prototype.setInterpolate3=function(e,t,i){_emscripten_bind_btVector4__setInterpolate3_p3(this.ptr,e.ptr,t.ptr,i)},btVector4.prototype.triple=function(e,t){return _emscripten_bind_btVector4__triple_p2(this.ptr,e.ptr,t.ptr)},btVector4.prototype.absolute=function(){return wrapPointer(_emscripten_bind_btVector4__absolute_p0(this.ptr),Module.btVector3)},btVector4.prototype.normalize=function(){return wrapPointer(_emscripten_bind_btVector4__normalize_p0(this.ptr),Module.btVector3)},btVector4.prototype.angle=function(e){return _emscripten_bind_btVector4__angle_p1(this.ptr,e.ptr)},btVector4.prototype.deSerializeFloat=function(e){_emscripten_bind_btVector4__deSerializeFloat_p1(this.ptr,e.ptr)},btVector4.prototype.lerp=function(e,t){return wrapPointer(_emscripten_bind_btVector4__lerp_p2(this.ptr,e.ptr,t),Module.btVector3)},btVector4.prototype.setMax=function(e){_emscripten_bind_btVector4__setMax_p1(this.ptr,e.ptr)},btVector4.prototype.cross=function(e){return wrapPointer(_emscripten_bind_btVector4__cross_p1(this.ptr,e.ptr),Module.btVector3)},btVector4.prototype.serializeDouble=function(e){_emscripten_bind_btVector4__serializeDouble_p1(this.ptr,e.ptr)},btVector4.prototype.absolute4=function(){return wrapPointer(_emscripten_bind_btVector4__absolute4_p0(this.ptr),Module.btVector4)},btVector4.prototype.getW=function(){return _emscripten_bind_btVector4__getW_p0(this.ptr)},btVector4.prototype.distance2=function(e){return _emscripten_bind_btVector4__distance2_p1(this.ptr,e.ptr)},btVector4.prototype.closestAxis=function(){return _emscripten_bind_btVector4__closestAxis_p0(this.ptr)},btVector4.prototype.setValue=function(e,t,i,n){_emscripten_bind_btVector4__setValue_p4(this.ptr,e,t,i,n)},btVector4.prototype.fuzzyZero=function(){return _emscripten_bind_btVector4__fuzzyZero_p0(this.ptr)},btVector4.prototype.deSerialize=function(e){_emscripten_bind_btVector4__deSerialize_p1(this.ptr,e.ptr)},btVector4.prototype.distance=function(e){return _emscripten_bind_btVector4__distance_p1(this.ptr,e.ptr)},btVector4.prototype.minAxis=function(){return _emscripten_bind_btVector4__minAxis_p0(this.ptr)},btVector4.prototype.__cache__={},Module.btVector4=btVector4,btVector4.prototype.isZero=function(){return _emscripten_bind_btVector4__isZero_p0(this.ptr)},btVector4.prototype.safeNormalize=function(){return wrapPointer(_emscripten_bind_btVector4__safeNormalize_p0(this.ptr),Module.btVector3)},btVector4.prototype.normalized=function(){return wrapPointer(_emscripten_bind_btVector4__normalized_p0(this.ptr),Module.btVector3)},btVector4.prototype.serializeFloat=function(e){_emscripten_bind_btVector4__serializeFloat_p1(this.ptr,e.ptr)},btVector4.prototype.setX=function(e){_emscripten_bind_btVector4__setX_p1(this.ptr,e)},btVector4.prototype.setY=function(e){_emscripten_bind_btVector4__setY_p1(this.ptr,e)},btVector4.prototype.setZ=function(e){_emscripten_bind_btVector4__setZ_p1(this.ptr,e)},btVector4.prototype.maxAxis4=function(){return _emscripten_bind_btVector4__maxAxis4_p0(this.ptr)},btVector4.prototype.__destroy__=function(){_emscripten_bind_btVector4____destroy___p0(this.ptr)},btVector4.prototype.rotate=function(e,t){return wrapPointer(_emscripten_bind_btVector4__rotate_p2(this.ptr,e.ptr,t),Module.btVector3)},btVector4.prototype.maxAxis=function(){return _emscripten_bind_btVector4__maxAxis_p0(this.ptr)},btVector4.prototype.closestAxis4=function(){return _emscripten_bind_btVector4__closestAxis4_p0(this.ptr)},btVector4.prototype.getY=function(){return _emscripten_bind_btVector4__getY_p0(this.ptr)},btVector4.prototype.length2=function(){return _emscripten_bind_btVector4__length2_p0(this.ptr)},btVector4.prototype.setZero=function(){_emscripten_bind_btVector4__setZero_p0(this.ptr)},btVector4.prototype.length=function(){return _emscripten_bind_btVector4__length_p0(this.ptr)},btVector4.prototype.setW=function(e){_emscripten_bind_btVector4__setW_p1(this.ptr,e)},btVector4.prototype.furthestAxis=function(){return _emscripten_bind_btVector4__furthestAxis_p0(this.ptr)},btVector4.prototype.w=function(){return _emscripten_bind_btVector4__w_p0(this.ptr)},btVector4.prototype.y=function(){return _emscripten_bind_btVector4__y_p0(this.ptr)},btVector4.prototype.x=function(){return _emscripten_bind_btVector4__x_p0(this.ptr)},btVector4.prototype.z=function(){return _emscripten_bind_btVector4__z_p0(this.ptr)},btVector4.prototype.dot=function(e){return _emscripten_bind_btVector4__dot_p1(this.ptr,e.ptr)},btActionInterface.prototype.__cache__={},Module.btActionInterface=btActionInterface,btActionInterface.prototype.updateAction=function(e,t){_emscripten_bind_btActionInterface__updateAction_p2(this.ptr,e.ptr,t)},btActionInterface.prototype.debugDraw=function(e){_emscripten_bind_btActionInterface__debugDraw_p1(this.ptr,e.ptr)},btVector3.prototype.setMin=function(e){_emscripten_bind_btVector3__setMin_p1(this.ptr,e.ptr)},btVector3.prototype.getSkewSymmetricMatrix=function(e,t,i){_emscripten_bind_btVector3__getSkewSymmetricMatrix_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btVector3.prototype.serialize=function(e){_emscripten_bind_btVector3__serialize_p1(this.ptr,e.ptr)},btVector3.prototype.deSerializeDouble=function(e){_emscripten_bind_btVector3__deSerializeDouble_p1(this.ptr,e.ptr)},btVector3.prototype.getX=function(){return _emscripten_bind_btVector3__getX_p0(this.ptr)},btVector3.prototype.getY=function(){return _emscripten_bind_btVector3__getY_p0(this.ptr)},btVector3.prototype.getZ=function(){return _emscripten_bind_btVector3__getZ_p0(this.ptr)},btVector3.prototype.setInterpolate3=function(e,t,i){_emscripten_bind_btVector3__setInterpolate3_p3(this.ptr,e.ptr,t.ptr,i)},btVector3.prototype.triple=function(e,t){return _emscripten_bind_btVector3__triple_p2(this.ptr,e.ptr,t.ptr)},btVector3.prototype.op_sub=function(e){return wrapPointer(_emscripten_bind_btVector3__op_sub_p1(this.ptr,e.ptr),Module.btVector3)},btVector3.prototype.absolute=function(){return wrapPointer(_emscripten_bind_btVector3__absolute_p0(this.ptr),Module.btVector3)},btVector3.prototype.normalize=function(){return wrapPointer(_emscripten_bind_btVector3__normalize_p0(this.ptr),Module.btVector3)},btVector3.prototype.angle=function(e){return _emscripten_bind_btVector3__angle_p1(this.ptr,e.ptr)},btVector3.prototype.lerp=function(e,t){return wrapPointer(_emscripten_bind_btVector3__lerp_p2(this.ptr,e.ptr,t),Module.btVector3)},btVector3.prototype.setMax=function(e){_emscripten_bind_btVector3__setMax_p1(this.ptr,e.ptr)},btVector3.prototype.cross=function(e){return wrapPointer(_emscripten_bind_btVector3__cross_p1(this.ptr,e.ptr),Module.btVector3)},btVector3.prototype.op_add=function(e){return wrapPointer(_emscripten_bind_btVector3__op_add_p1(this.ptr,e.ptr),Module.btVector3)},btVector3.prototype.op_comp=function(e){return _emscripten_bind_btVector3__op_comp_p1(this.ptr,e.ptr)},btVector3.prototype.__destroy__=function(){_emscripten_bind_btVector3____destroy___p0(this.ptr)},btVector3.prototype.op_mul=function(e){return wrapPointer(_emscripten_bind_btVector3__op_mul_p1(this.ptr,e),Module.btVector3)},btVector3.prototype.serializeDouble=function(e){_emscripten_bind_btVector3__serializeDouble_p1(this.ptr,e.ptr)},btVector3.prototype.isZero=function(){return _emscripten_bind_btVector3__isZero_p0(this.ptr)},btVector3.prototype.op_set=function(e){return _emscripten_bind_btVector3__op_set_p1(this.ptr,e.ptr)},btVector3.prototype.distance2=function(e){return _emscripten_bind_btVector3__distance2_p1(this.ptr,e.ptr)},btVector3.prototype.closestAxis=function(){return _emscripten_bind_btVector3__closestAxis_p0(this.ptr)},btVector3.prototype.setValue=function(e,t,i){_emscripten_bind_btVector3__setValue_p3(this.ptr,e,t,i)},btVector3.prototype.fuzzyZero=function(){return _emscripten_bind_btVector3__fuzzyZero_p0(this.ptr)},btVector3.prototype.deSerialize=function(e){_emscripten_bind_btVector3__deSerialize_p1(this.ptr,e.ptr)},btVector3.prototype.op_div=function(e){return wrapPointer(_emscripten_bind_btVector3__op_div_p1(this.ptr,e),Module.btVector3)},btVector3.prototype.minAxis=function(){return _emscripten_bind_btVector3__minAxis_p0(this.ptr)},btVector3.prototype.safeNormalize=function(){return wrapPointer(_emscripten_bind_btVector3__safeNormalize_p0(this.ptr),Module.btVector3)},btVector3.prototype.normalized=function(){return wrapPointer(_emscripten_bind_btVector3__normalized_p0(this.ptr),Module.btVector3)},btVector3.prototype.__cache__={},Module.btVector3=btVector3,btVector3.prototype.serializeFloat=function(e){_emscripten_bind_btVector3__serializeFloat_p1(this.ptr,e.ptr)},btVector3.prototype.setX=function(e){_emscripten_bind_btVector3__setX_p1(this.ptr,e)},btVector3.prototype.setY=function(e){_emscripten_bind_btVector3__setY_p1(this.ptr,e)},btVector3.prototype.setZ=function(e){_emscripten_bind_btVector3__setZ_p1(this.ptr,e)},btVector3.prototype.distance=function(e){return _emscripten_bind_btVector3__distance_p1(this.ptr,e.ptr)},btVector3.prototype.rotate=function(e,t){return wrapPointer(_emscripten_bind_btVector3__rotate_p2(this.ptr,e.ptr,t),Module.btVector3)},btVector3.prototype.maxAxis=function(){return _emscripten_bind_btVector3__maxAxis_p0(this.ptr)},btVector3.prototype.deSerializeFloat=function(e){_emscripten_bind_btVector3__deSerializeFloat_p1(this.ptr,e.ptr)},btVector3.prototype.length2=function(){return _emscripten_bind_btVector3__length2_p0(this.ptr)},btVector3.prototype.setZero=function(){_emscripten_bind_btVector3__setZero_p0(this.ptr)},btVector3.prototype.length=function(){return _emscripten_bind_btVector3__length_p0(this.ptr)},btVector3.prototype.setW=function(e){_emscripten_bind_btVector3__setW_p1(this.ptr,e)},btVector3.prototype.dot=function(e){return _emscripten_bind_btVector3__dot_p1(this.ptr,e.ptr)},btVector3.prototype.w=function(){return _emscripten_bind_btVector3__w_p0(this.ptr)},btVector3.prototype.y=function(){return _emscripten_bind_btVector3__y_p0(this.ptr)},btVector3.prototype.x=function(){return _emscripten_bind_btVector3__x_p0(this.ptr)},btVector3.prototype.z=function(){return _emscripten_bind_btVector3__z_p0(this.ptr)},btVector3.prototype.furthestAxis=function(){return _emscripten_bind_btVector3__furthestAxis_p0(this.ptr)},btSerializer.prototype.__cache__={},Module.btSerializer=btSerializer,btSerializer.prototype.setSerializationFlags=function(e){_emscripten_bind_btSerializer__setSerializationFlags_p1(this.ptr,e)},btSerializer.prototype.findNameForPointer=function(e){return _emscripten_bind_btSerializer__findNameForPointer_p1(this.ptr,e)},btSerializer.prototype.startSerialization=function(){_emscripten_bind_btSerializer__startSerialization_p0(this.ptr)},btSerializer.prototype.getSerializationFlags=function(){return _emscripten_bind_btSerializer__getSerializationFlags_p0(this.ptr)},btSerializer.prototype.finishSerialization=function(){_emscripten_bind_btSerializer__finishSerialization_p0(this.ptr)},btSerializer.prototype.getUniquePointer=function(e){return _emscripten_bind_btSerializer__getUniquePointer_p1(this.ptr,e)},btSerializer.prototype.getBufferPointer=function(){return _emscripten_bind_btSerializer__getBufferPointer_p0(this.ptr)},btSerializer.prototype.getCurrentBufferSize=function(){return _emscripten_bind_btSerializer__getCurrentBufferSize_p0(this.ptr)},btSerializer.prototype.finalizeChunk=function(e,t,i,n){var _=Runtime.stackSave();try{_emscripten_bind_btSerializer__finalizeChunk_p4(this.ptr,e.ptr,ensureString(t),i,n)}finally{Runtime.stackRestore(_)}},btSerializer.prototype.serializeName=function(e){var t=Runtime.stackSave();try{_emscripten_bind_btSerializer__serializeName_p1(this.ptr,ensureString(e))}finally{Runtime.stackRestore(t)}},btSerializer.prototype.findPointer=function(e){return _emscripten_bind_btSerializer__findPointer_p1(this.ptr,e)},btSerializer.prototype.registerNameForPointer=function(e,t){var i=Runtime.stackSave();try{_emscripten_bind_btSerializer__registerNameForPointer_p2(this.ptr,e,ensureString(t))}finally{Runtime.stackRestore(i)}},btSerializer.prototype.allocate=function(e,t){return wrapPointer(_emscripten_bind_btSerializer__allocate_p2(this.ptr,e,t),Module.btChunk)},btTriangleInfo.prototype.set_m_edgeV2V0Angle=function(e){_emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1(this.ptr,e)},btTriangleInfo.prototype.__destroy__=function(){_emscripten_bind_btTriangleInfo____destroy___p0(this.ptr)},btTriangleInfo.prototype.get_m_edgeV1V2Angle=function(){return _emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0(this.ptr)},btTriangleInfo.prototype.get_m_edgeV0V1Angle=function(){return _emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0(this.ptr)},btTriangleInfo.prototype.set_m_flags=function(e){_emscripten_bind_btTriangleInfo__set_m_flags_p1(this.ptr,e)},btTriangleInfo.prototype.set_m_edgeV0V1Angle=function(e){_emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1(this.ptr,e)},btTriangleInfo.prototype.get_m_edgeV2V0Angle=function(){return _emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0(this.ptr)},btTriangleInfo.prototype.set_m_edgeV1V2Angle=function(e){_emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1(this.ptr,e)},btTriangleInfo.prototype.get_m_flags=function(){return _emscripten_bind_btTriangleInfo__get_m_flags_p0(this.ptr)},btTriangleInfo.prototype.__cache__={},Module.btTriangleInfo=btTriangleInfo,ClosestRayResultCallback.prototype.addSingleResult=function(e,t){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2(this.ptr,e.ptr,t)},ClosestRayResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},ClosestRayResultCallback.prototype.get_m_rayToWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0(this.ptr),Module.btVector3)},ClosestRayResultCallback.prototype.get_m_hitPointWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0(this.ptr),Module.btVector3)},ClosestRayResultCallback.prototype.set_m_collisionObject=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1(this.ptr,e.ptr)},ClosestRayResultCallback.prototype.get_m_collisionObject=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0(this.ptr),Module.btCollisionObject)},ClosestRayResultCallback.prototype.set_m_flags=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1(this.ptr,e)},ClosestRayResultCallback.prototype.set_m_rayToWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1(this.ptr,e.ptr)},ClosestRayResultCallback.prototype.get_m_rayFromWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0(this.ptr),Module.btVector3)},ClosestRayResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1(this.ptr,e.ptr)},ClosestRayResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0(this.ptr)},ClosestRayResultCallback.prototype.get_m_closestHitFraction=function(){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0(this.ptr)},ClosestRayResultCallback.prototype.set_m_hitNormalWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1(this.ptr,e.ptr)},ClosestRayResultCallback.prototype.set_m_hitPointWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1(this.ptr,e.ptr)},ClosestRayResultCallback.prototype.__destroy__=function(){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0(this.ptr)},ClosestRayResultCallback.prototype.get_m_flags=function(){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0(this.ptr)},ClosestRayResultCallback.prototype.set_m_closestHitFraction=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1(this.ptr,e)},ClosestRayResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},ClosestRayResultCallback.prototype.hasHit=function(){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0(this.ptr)},ClosestRayResultCallback.prototype.get_m_hitNormalWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0(this.ptr),Module.btVector3)},ClosestRayResultCallback.prototype.__cache__={},Module.ClosestRayResultCallback=ClosestRayResultCallback,ClosestRayResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},ClosestRayResultCallback.prototype.set_m_rayFromWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1(this.ptr,e.ptr)},LocalRayResult.prototype.__destroy__=function(){_emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0(this.ptr)},LocalRayResult.prototype.set_m_localShapeInfo=function(e){_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1(this.ptr,e.ptr)},LocalRayResult.prototype.get_m_hitNormalLocal=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0(this.ptr),Module.btVector3)},LocalRayResult.prototype.set_m_hitNormalLocal=function(e){_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1(this.ptr,e.ptr)},LocalRayResult.prototype.set_m_hitFraction=function(e){_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1(this.ptr,e)},LocalRayResult.prototype.get_m_hitFraction=function(){return _emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0(this.ptr)},LocalRayResult.prototype.__cache__={},Module.LocalRayResult=LocalRayResult,LocalRayResult.prototype.get_m_localShapeInfo=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0(this.ptr),Module.LocalShapeInfo)},LocalRayResult.prototype.set_m_collisionObject=function(e){_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1(this.ptr,e.ptr)},LocalRayResult.prototype.get_m_collisionObject=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0(this.ptr),Module.btCollisionObject)},btHinge2Constraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btHinge2Constraint.prototype.buildJacobian=function(){_emscripten_bind_btHinge2Constraint__buildJacobian_p0(this.ptr)},btHinge2Constraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btHinge2Constraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btHinge2Constraint__setParam_p3(this.ptr,e,t,i)},btHinge2Constraint.prototype.getUid=function(){return _emscripten_bind_btHinge2Constraint__getUid_p0(this.ptr)},btHinge2Constraint.prototype.set_m_objectType=function(e){_emscripten_bind_btHinge2Constraint__set_m_objectType_p1(this.ptr,e)},btHinge2Constraint.prototype.setEnabled=function(e){_emscripten_bind_btHinge2Constraint__setEnabled_p1(this.ptr,e)},btHinge2Constraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btHinge2Constraint.prototype.getRelativePivotPosition=function(e){return _emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1(this.ptr,e)},btHinge2Constraint.prototype.serialize=function(e,t){return _emscripten_bind_btHinge2Constraint__serialize_p2(this.ptr,e,t.ptr)},btHinge2Constraint.prototype.getCalculatedTransformB=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0(this.ptr),Module.btTransform)},btHinge2Constraint.prototype.getCalculatedTransformA=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0(this.ptr),Module.btTransform)},btHinge2Constraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btHinge2Constraint__getUserConstraintId_p0(this.ptr)},btHinge2Constraint.prototype.setUpperLimit=function(e){_emscripten_bind_btHinge2Constraint__setUpperLimit_p1(this.ptr,e)},btHinge2Constraint.prototype.get_m_objectType=function(){return _emscripten_bind_btHinge2Constraint__get_m_objectType_p0(this.ptr)},btHinge2Constraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btHinge2Constraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0(this.ptr)},btHinge2Constraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btHinge2Constraint__getParam_p1(this.ptr,e):_emscripten_bind_btHinge2Constraint__getParam_p2(this.ptr,e,t)},btHinge2Constraint.prototype.setDamping=function(e,t){_emscripten_bind_btHinge2Constraint__setDamping_p2(this.ptr,e,t)},btHinge2Constraint.prototype.getInfo1=function(e){_emscripten_bind_btHinge2Constraint__getInfo1_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.getInfo2=function(e){_emscripten_bind_btHinge2Constraint__getInfo2_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.calcAnchorPos=function(){_emscripten_bind_btHinge2Constraint__calcAnchorPos_p0(this.ptr)},btHinge2Constraint.prototype.getAngularLowerLimit=function(e){_emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0(this.ptr)},btHinge2Constraint.prototype.setEquilibriumPoint=function(e,t){void 0===e?_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0(this.ptr):void 0===t?_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1(this.ptr,e):_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2(this.ptr,e,t)},btHinge2Constraint.prototype.getAxis=function(e){return wrapPointer(_emscripten_bind_btHinge2Constraint__getAxis_p1(this.ptr,e),Module.btVector3)},btHinge2Constraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0(this.ptr)},btHinge2Constraint.prototype.isEnabled=function(){return _emscripten_bind_btHinge2Constraint__isEnabled_p0(this.ptr)},btHinge2Constraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btHinge2Constraint__setUserConstraintId_p1(this.ptr,e)},btHinge2Constraint.prototype.getLinearUpperLimit=function(e){_emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.getConstraintType=function(){return _emscripten_bind_btHinge2Constraint__getConstraintType_p0(this.ptr)},btHinge2Constraint.prototype.enableFeedback=function(e){_emscripten_bind_btHinge2Constraint__enableFeedback_p1(this.ptr,e)},btHinge2Constraint.prototype.getAnchor=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getAnchor_p0(this.ptr),Module.btVector3)},btHinge2Constraint.prototype.setUseFrameOffset=function(e){_emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1(this.ptr,e)},btHinge2Constraint.prototype.isLimited=function(e){return _emscripten_bind_btHinge2Constraint__isLimited_p1(this.ptr,e)},btHinge2Constraint.prototype.getAngle2=function(){return _emscripten_bind_btHinge2Constraint__getAngle2_p0(this.ptr)},btHinge2Constraint.prototype.getRotationalLimitMotor=function(e){return wrapPointer(_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1(this.ptr,e),Module.btRotationalLimitMotor)},btHinge2Constraint.prototype.getAngle1=function(){return _emscripten_bind_btHinge2Constraint__getAngle1_p0(this.ptr)},btHinge2Constraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btHinge2Constraint.prototype.setLinearLowerLimit=function(e){_emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.getAnchor2=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getAnchor2_p0(this.ptr),Module.btVector3)},btHinge2Constraint.prototype.__destroy__=function(){_emscripten_bind_btHinge2Constraint____destroy___p0(this.ptr)},btHinge2Constraint.prototype.getLinearLowerLimit=function(e){_emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1(this.ptr,e)},btHinge2Constraint.prototype.setFrames=function(e,t){_emscripten_bind_btHinge2Constraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btHinge2Constraint.prototype.getUseFrameOffset=function(){return _emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0(this.ptr)},btHinge2Constraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btHinge2Constraint__setUserConstraintType_p1(this.ptr,e)},btHinge2Constraint.prototype.enableSpring=function(e,t){_emscripten_bind_btHinge2Constraint__enableSpring_p2(this.ptr,e,t)},btHinge2Constraint.prototype.calculateTransforms=function(e,t){void 0===e?_emscripten_bind_btHinge2Constraint__calculateTransforms_p0(this.ptr):_emscripten_bind_btHinge2Constraint__calculateTransforms_p2(this.ptr,e.ptr,t.ptr)},btHinge2Constraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1(this.ptr,e)},btHinge2Constraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btHinge2Constraint.prototype.setStiffness=function(e,t){_emscripten_bind_btHinge2Constraint__setStiffness_p2(this.ptr,e,t)},btHinge2Constraint.prototype.get_limit_motor_info2=function(e,t,i,n,_,r,o,s,a,p,l,d){return void 0===d?_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l):_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l,d)},btHinge2Constraint.prototype.get_m_useSolveConstraintObsolete=function(){return _emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0(this.ptr)},btHinge2Constraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0(this.ptr)},btHinge2Constraint.prototype.setLimit=function(e,t,i){_emscripten_bind_btHinge2Constraint__setLimit_p3(this.ptr,e,t,i)},btHinge2Constraint.prototype.set_m_useSolveConstraintObsolete=function(e){_emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1(this.ptr,e)},btHinge2Constraint.prototype.getTranslationalLimitMotor=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0(this.ptr),Module.btTranslationalLimitMotor)},btHinge2Constraint.prototype.setLowerLimit=function(e){_emscripten_bind_btHinge2Constraint__setLowerLimit_p1(this.ptr,e)},btHinge2Constraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btHinge2Constraint.prototype.needsFeedback=function(){return _emscripten_bind_btHinge2Constraint__needsFeedback_p0(this.ptr)},btHinge2Constraint.prototype.getAngle=function(e){return _emscripten_bind_btHinge2Constraint__getAngle_p1(this.ptr,e)},btHinge2Constraint.prototype.updateRHS=function(e){_emscripten_bind_btHinge2Constraint__updateRHS_p1(this.ptr,e)},btHinge2Constraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_,r,o){_emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr)},btHinge2Constraint.prototype.getAngularUpperLimit=function(e){_emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.setAngularLowerLimit=function(e){_emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.getObjectType=function(){return _emscripten_bind_btHinge2Constraint__getObjectType_p0(this.ptr)},btHinge2Constraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btHinge2Constraint__getUserConstraintType_p0(this.ptr)},btHinge2Constraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btHinge2Constraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0(this.ptr)},btHinge2Constraint.prototype.getAxis1=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getAxis1_p0(this.ptr),Module.btVector3)},btHinge2Constraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0(this.ptr)},btHinge2Constraint.prototype.getAxis2=function(){return wrapPointer(_emscripten_bind_btHinge2Constraint__getAxis2_p0(this.ptr),Module.btVector3)},btHinge2Constraint.prototype.__cache__={},Module.btHinge2Constraint=btHinge2Constraint,btHinge2Constraint.prototype.setLinearUpperLimit=function(e){_emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.setAngularUpperLimit=function(e){_emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1(this.ptr,e.ptr)},btHinge2Constraint.prototype.setAxis=function(e,t){_emscripten_bind_btHinge2Constraint__setAxis_p2(this.ptr,e.ptr,t.ptr)},btHinge2Constraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1(this.ptr,e)},btHinge2Constraint.prototype.testAngularLimitMotor=function(e){return _emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1(this.ptr,e)},btConstraintSolver.prototype.__cache__={},Module.btConstraintSolver=btConstraintSolver,btConstraintSolver.prototype.reset=function(){_emscripten_bind_btConstraintSolver__reset_p0(this.ptr)},btConstraintSolver.prototype.allSolved=function(e,t,i){_emscripten_bind_btConstraintSolver__allSolved_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConstraintSolver.prototype.solveGroup=function(e,t,i,n,_,r,o,s,a,p){return _emscripten_bind_btConstraintSolver__solveGroup_p10(this.ptr,e.ptr,t,i.ptr,n,_.ptr,r,o.ptr,s.ptr,a.ptr,p.ptr)},btConstraintSolver.prototype.prepareSolve=function(e,t){_emscripten_bind_btConstraintSolver__prepareSolve_p2(this.ptr,e,t)},btRaycastVehicle.prototype.updateSuspension=function(e){_emscripten_bind_btRaycastVehicle__updateSuspension_p1(this.ptr,e)},btRaycastVehicle.prototype.getRigidBody=function(){return wrapPointer(_emscripten_bind_btRaycastVehicle__getRigidBody_p0(this.ptr),Module.btRigidBody)},btRaycastVehicle.prototype.getUserConstraintId=function(){return _emscripten_bind_btRaycastVehicle__getUserConstraintId_p0(this.ptr)},btRaycastVehicle.prototype.getWheelTransformWS=function(e){return wrapPointer(_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1(this.ptr,e),Module.btTransform)},btRaycastVehicle.prototype.addWheel=function(e,t,i,n,_,r,o){return wrapPointer(_emscripten_bind_btRaycastVehicle__addWheel_p7(this.ptr,e.ptr,t.ptr,i.ptr,n,_,r.ptr,o),Module.btWheelInfo)},btRaycastVehicle.prototype.updateWheelTransform=function(e,t){void 0===t?_emscripten_bind_btRaycastVehicle__updateWheelTransform_p1(this.ptr,e):_emscripten_bind_btRaycastVehicle__updateWheelTransform_p2(this.ptr,e,t)},btRaycastVehicle.prototype.setUserConstraintId=function(e){_emscripten_bind_btRaycastVehicle__setUserConstraintId_p1(this.ptr,e)},btRaycastVehicle.prototype.getNumWheels=function(){return _emscripten_bind_btRaycastVehicle__getNumWheels_p0(this.ptr)},btRaycastVehicle.prototype.rayCast=function(e){return _emscripten_bind_btRaycastVehicle__rayCast_p1(this.ptr,e.ptr)},btRaycastVehicle.prototype.getRightAxis=function(){return _emscripten_bind_btRaycastVehicle__getRightAxis_p0(this.ptr)},btRaycastVehicle.prototype.applyEngineForce=function(e,t){_emscripten_bind_btRaycastVehicle__applyEngineForce_p2(this.ptr,e,t)},btRaycastVehicle.prototype.getForwardVector=function(){return wrapPointer(_emscripten_bind_btRaycastVehicle__getForwardVector_p0(this.ptr),Module.btVector3)},btRaycastVehicle.prototype.getWheelInfo=function(e){return wrapPointer(_emscripten_bind_btRaycastVehicle__getWheelInfo_p1(this.ptr,e),Module.btWheelInfo)},btRaycastVehicle.prototype.getChassisWorldTransform=function(){return wrapPointer(_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0(this.ptr),Module.btTransform)},btRaycastVehicle.prototype.updateWheelTransformsWS=function(e,t){void 0===t?_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1(this.ptr,e.ptr):_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2(this.ptr,e.ptr,t)},btRaycastVehicle.prototype.resetSuspension=function(){_emscripten_bind_btRaycastVehicle__resetSuspension_p0(this.ptr)},btRaycastVehicle.prototype.setCoordinateSystem=function(e,t,i){_emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3(this.ptr,e,t,i)},btRaycastVehicle.prototype.setUserConstraintType=function(e){_emscripten_bind_btRaycastVehicle__setUserConstraintType_p1(this.ptr,e)},btRaycastVehicle.prototype.debugDraw=function(e){_emscripten_bind_btRaycastVehicle__debugDraw_p1(this.ptr,e.ptr)},btRaycastVehicle.prototype.__destroy__=function(){_emscripten_bind_btRaycastVehicle____destroy___p0(this.ptr)},btRaycastVehicle.prototype.updateFriction=function(e){_emscripten_bind_btRaycastVehicle__updateFriction_p1(this.ptr,e)},btRaycastVehicle.prototype.__cache__={},Module.btRaycastVehicle=btRaycastVehicle,btRaycastVehicle.prototype.getForwardAxis=function(){return _emscripten_bind_btRaycastVehicle__getForwardAxis_p0(this.ptr)},btRaycastVehicle.prototype.getSteeringValue=function(e){return _emscripten_bind_btRaycastVehicle__getSteeringValue_p1(this.ptr,e)},btRaycastVehicle.prototype.getUserConstraintType=function(){return _emscripten_bind_btRaycastVehicle__getUserConstraintType_p0(this.ptr)},btRaycastVehicle.prototype.getUpAxis=function(){return _emscripten_bind_btRaycastVehicle__getUpAxis_p0(this.ptr)},btRaycastVehicle.prototype.setPitchControl=function(e){_emscripten_bind_btRaycastVehicle__setPitchControl_p1(this.ptr,e)},btRaycastVehicle.prototype.getCurrentSpeedKmHour=function(){return _emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0(this.ptr)},btRaycastVehicle.prototype.setBrake=function(e,t){_emscripten_bind_btRaycastVehicle__setBrake_p2(this.ptr,e,t)},btRaycastVehicle.prototype.setSteeringValue=function(e,t){_emscripten_bind_btRaycastVehicle__setSteeringValue_p2(this.ptr,e,t)},btRaycastVehicle.prototype.updateVehicle=function(e){_emscripten_bind_btRaycastVehicle__updateVehicle_p1(this.ptr,e)},btRaycastVehicle.prototype.updateAction=function(e,t){_emscripten_bind_btRaycastVehicle__updateAction_p2(this.ptr,e.ptr,t)},AllHitsRayResultCallback.prototype.__destroy__=function(){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0(this.ptr)},AllHitsRayResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},AllHitsRayResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1(this.ptr,e.ptr)},AllHitsRayResultCallback.prototype.set_m_closestHitFraction=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1(this.ptr,e)},AllHitsRayResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},AllHitsRayResultCallback.prototype.get_m_closestHitFraction=function(){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0(this.ptr)},AllHitsRayResultCallback.prototype.addSingleResult=function(e,t){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2(this.ptr,e.ptr,t)},AllHitsRayResultCallback.prototype.set_m_rayToWorld=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1(this.ptr,e.ptr)},AllHitsRayResultCallback.prototype.set_m_flags=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1(this.ptr,e)},AllHitsRayResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0(this.ptr)},AllHitsRayResultCallback.prototype.get_m_rayToWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0(this.ptr),Module.btVector3)},AllHitsRayResultCallback.prototype.get_m_flags=function(){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0(this.ptr)},AllHitsRayResultCallback.prototype.get_m_rayFromWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0(this.ptr),Module.btVector3)},AllHitsRayResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},AllHitsRayResultCallback.prototype.hasHit=function(){return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0(this.ptr)},AllHitsRayResultCallback.prototype.set_m_collisionObject=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1(this.ptr,e.ptr)},AllHitsRayResultCallback.prototype.set_m_rayFromWorld=function(e){_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1(this.ptr,e.ptr)},AllHitsRayResultCallback.prototype.__cache__={},Module.AllHitsRayResultCallback=AllHitsRayResultCallback,AllHitsRayResultCallback.prototype.get_m_collisionObject=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0(this.ptr),Module.btCollisionObject)},btCylinderShapeX.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCylinderShapeX.prototype.isCompound=function(){return _emscripten_bind_btCylinderShapeX__isCompound_p0(this.ptr)},btCylinderShapeX.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeX.prototype.setUserPointer=function(e){_emscripten_bind_btCylinderShapeX__setUserPointer_p1(this.ptr,e)},btCylinderShapeX.prototype.getUpAxis=function(){return _emscripten_bind_btCylinderShapeX__getUpAxis_p0(this.ptr)},btCylinderShapeX.prototype.serialize=function(e,t){return _emscripten_bind_btCylinderShapeX__serialize_p2(this.ptr,e,t.ptr)},btCylinderShapeX.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCylinderShapeX__getLocalScaling_p0(this.ptr),Module.btVector3)},btCylinderShapeX.prototype.serializeSingleShape=function(e){_emscripten_bind_btCylinderShapeX__serializeSingleShape_p1(this.ptr,e.ptr)},btCylinderShapeX.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0(this.ptr)},btCylinderShapeX.prototype.isPolyhedral=function(){return _emscripten_bind_btCylinderShapeX__isPolyhedral_p0(this.ptr)},btCylinderShapeX.prototype.getRadius=function(){return _emscripten_bind_btCylinderShapeX__getRadius_p0(this.ptr)},btCylinderShapeX.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShapeX.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0(this.ptr)},btCylinderShapeX.prototype.getName=function(){return _emscripten_bind_btCylinderShapeX__getName_p0(this.ptr)},btCylinderShapeX.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btCylinderShapeX.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeX.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeX.prototype.setLocalScaling=function(e){_emscripten_bind_btCylinderShapeX__setLocalScaling_p1(this.ptr,e.ptr)},btCylinderShapeX.prototype.getAabb=function(e,t,i){_emscripten_bind_btCylinderShapeX__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShapeX.prototype.getMarginNV=function(){return _emscripten_bind_btCylinderShapeX__getMarginNV_p0(this.ptr)},btCylinderShapeX.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeX.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1(this.ptr,e)},btCylinderShapeX.prototype.isConvex=function(){return _emscripten_bind_btCylinderShapeX__isConvex_p0(this.ptr)},btCylinderShapeX.prototype.isInfinite=function(){return _emscripten_bind_btCylinderShapeX__isInfinite_p0(this.ptr)},btCylinderShapeX.prototype.getUserPointer=function(){return _emscripten_bind_btCylinderShapeX__getUserPointer_p0(this.ptr)},btCylinderShapeX.prototype.isNonMoving=function(){return _emscripten_bind_btCylinderShapeX__isNonMoving_p0(this.ptr)},btCylinderShapeX.prototype.getMargin=function(){return _emscripten_bind_btCylinderShapeX__getMargin_p0(this.ptr)},btCylinderShapeX.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btCylinderShapeX.prototype.getHalfExtentsWithoutMargin=function(){return wrapPointer(_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0(this.ptr),Module.btVector3)},btCylinderShapeX.prototype.isConvex2d=function(){return _emscripten_bind_btCylinderShapeX__isConvex2d_p0(this.ptr)},btCylinderShapeX.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btCylinderShapeX.prototype.isSoftBody=function(){return _emscripten_bind_btCylinderShapeX__isSoftBody_p0(this.ptr)},btCylinderShapeX.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0(this.ptr)},btCylinderShapeX.prototype.__destroy__=function(){_emscripten_bind_btCylinderShapeX____destroy___p0(this.ptr)},btCylinderShapeX.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btCylinderShapeX.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btCylinderShapeX.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCylinderShapeX__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCylinderShapeX.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0(this.ptr)},btCylinderShapeX.prototype.__cache__={},Module.btCylinderShapeX=btCylinderShapeX,btCylinderShapeX.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btCylinderShapeX__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShapeX.prototype.setMargin=function(e){_emscripten_bind_btCylinderShapeX__setMargin_p1(this.ptr,e)},btCylinderShapeX.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCylinderShapeX.prototype.getHalfExtentsWithMargin=function(){return wrapPointer(_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0(this.ptr),Module.btVector3)},btCylinderShapeX.prototype.isConcave=function(){return _emscripten_bind_btCylinderShapeX__isConcave_p0(this.ptr)},btCylinderShapeX.prototype.getShapeType=function(){return _emscripten_bind_btCylinderShapeX__getShapeType_p0(this.ptr)},RayResultCallback.prototype.__cache__={},Module.RayResultCallback=RayResultCallback,RayResultCallback.prototype.get_m_closestHitFraction=function(){return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0(this.ptr)},RayResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},RayResultCallback.prototype.get_m_flags=function(){return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0(this.ptr)},RayResultCallback.prototype.set_m_closestHitFraction=function(e){_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1(this.ptr,e)},RayResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},RayResultCallback.prototype.set_m_flags=function(e){_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1(this.ptr,e)},RayResultCallback.prototype.hasHit=function(){return _emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0(this.ptr)},RayResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0(this.ptr)},RayResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},RayResultCallback.prototype.addSingleResult=function(e,t){return _emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2(this.ptr,e.ptr,t)},RayResultCallback.prototype.set_m_collisionObject=function(e){_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1(this.ptr,e.ptr)},RayResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1(this.ptr,e.ptr)},RayResultCallback.prototype.get_m_collisionObject=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0(this.ptr),Module.btCollisionObject)},btUniformScalingShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btUniformScalingShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btUniformScalingShape.prototype.setUserPointer=function(e){_emscripten_bind_btUniformScalingShape__setUserPointer_p1(this.ptr,e)},btUniformScalingShape.prototype.serialize=function(e,t){return _emscripten_bind_btUniformScalingShape__serialize_p2(this.ptr,e,t.ptr)},btUniformScalingShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btUniformScalingShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btUniformScalingShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btUniformScalingShape.prototype.isPolyhedral=function(){return _emscripten_bind_btUniformScalingShape__isPolyhedral_p0(this.ptr)},btUniformScalingShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btUniformScalingShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btUniformScalingShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0(this.ptr)},btUniformScalingShape.prototype.getName=function(){return _emscripten_bind_btUniformScalingShape__getName_p0(this.ptr)},btUniformScalingShape.prototype.isCompound=function(){return _emscripten_bind_btUniformScalingShape__isCompound_p0(this.ptr)},btUniformScalingShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btUniformScalingShape.prototype.setLocalScaling=function(e){_emscripten_bind_btUniformScalingShape__setLocalScaling_p1(this.ptr,e.ptr)},btUniformScalingShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btUniformScalingShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btUniformScalingShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1(this.ptr,e)},btUniformScalingShape.prototype.getChildShape=function(){return wrapPointer(_emscripten_bind_btUniformScalingShape__getChildShape_p0(this.ptr),Module.btConvexShape)},btUniformScalingShape.prototype.isConvex=function(){return _emscripten_bind_btUniformScalingShape__isConvex_p0(this.ptr)},btUniformScalingShape.prototype.isInfinite=function(){return _emscripten_bind_btUniformScalingShape__isInfinite_p0(this.ptr)},btUniformScalingShape.prototype.__destroy__=function(){_emscripten_bind_btUniformScalingShape____destroy___p0(this.ptr)},btUniformScalingShape.prototype.getUserPointer=function(){return _emscripten_bind_btUniformScalingShape__getUserPointer_p0(this.ptr)},btUniformScalingShape.prototype.isNonMoving=function(){return _emscripten_bind_btUniformScalingShape__isNonMoving_p0(this.ptr)},btUniformScalingShape.prototype.getMargin=function(){return _emscripten_bind_btUniformScalingShape__getMargin_p0(this.ptr)},btUniformScalingShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btUniformScalingShape.prototype.setMargin=function(e){_emscripten_bind_btUniformScalingShape__setMargin_p1(this.ptr,e)},btUniformScalingShape.prototype.isConvex2d=function(){return _emscripten_bind_btUniformScalingShape__isConvex2d_p0(this.ptr)},btUniformScalingShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btUniformScalingShape.prototype.isSoftBody=function(){return _emscripten_bind_btUniformScalingShape__isSoftBody_p0(this.ptr)},btUniformScalingShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0(this.ptr)},btUniformScalingShape.prototype.getUniformScalingFactor=function(){return _emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0(this.ptr)},btUniformScalingShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btUniformScalingShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btUniformScalingShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btUniformScalingShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btUniformScalingShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0(this.ptr)},btUniformScalingShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btUniformScalingShape__serializeSingleShape_p1(this.ptr,e.ptr)},btUniformScalingShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btUniformScalingShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btUniformScalingShape.prototype.__cache__={},Module.btUniformScalingShape=btUniformScalingShape,btUniformScalingShape.prototype.isConcave=function(){return _emscripten_bind_btUniformScalingShape__isConcave_p0(this.ptr)},btUniformScalingShape.prototype.getShapeType=function(){return _emscripten_bind_btUniformScalingShape__getShapeType_p0(this.ptr)},btVehicleRaycasterResult.prototype.__destroy__=function(){_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0(this.ptr)},btVehicleRaycasterResult.prototype.__cache__={},Module.btVehicleRaycasterResult=btVehicleRaycasterResult,btVehicleRaycasterResult.prototype.set_m_distFraction=function(e){_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1(this.ptr,e)},btVehicleRaycasterResult.prototype.get_m_hitNormalInWorld=function(){return wrapPointer(_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0(this.ptr),Module.btVector3)},btVehicleRaycasterResult.prototype.get_m_hitPointInWorld=function(){return wrapPointer(_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0(this.ptr),Module.btVector3)},btVehicleRaycasterResult.prototype.get_m_distFraction=function(){return _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0(this.ptr)},btVehicleRaycasterResult.prototype.set_m_hitNormalInWorld=function(e){_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1(this.ptr,e.ptr)},btVehicleRaycasterResult.prototype.set_m_hitPointInWorld=function(e){_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1(this.ptr,e.ptr)},btQuadWord.prototype.__destroy__=function(){_emscripten_bind_btQuadWord____destroy___p0(this.ptr)},btQuadWord.prototype.setMin=function(e){_emscripten_bind_btQuadWord__setMin_p1(this.ptr,e.ptr)},btQuadWord.prototype.setValue=function(e,t,i,n){void 0===n?_emscripten_bind_btQuadWord__setValue_p3(this.ptr,e,t,i):_emscripten_bind_btQuadWord__setValue_p4(this.ptr,e,t,i,n)},btQuadWord.prototype.setMax=function(e){_emscripten_bind_btQuadWord__setMax_p1(this.ptr,e.ptr)},btQuadWord.prototype.op_comp=function(e){return _emscripten_bind_btQuadWord__op_comp_p1(this.ptr,e.ptr)},btQuadWord.prototype.getX=function(){return _emscripten_bind_btQuadWord__getX_p0(this.ptr)},btQuadWord.prototype.getY=function(){return _emscripten_bind_btQuadWord__getY_p0(this.ptr)},btQuadWord.prototype.getZ=function(){return _emscripten_bind_btQuadWord__getZ_p0(this.ptr)},btQuadWord.prototype.setW=function(e){_emscripten_bind_btQuadWord__setW_p1(this.ptr,e)},btQuadWord.prototype.op_set=function(e){return _emscripten_bind_btQuadWord__op_set_p1(this.ptr,e.ptr)},btQuadWord.prototype.w=function(){return _emscripten_bind_btQuadWord__w_p0(this.ptr)},btQuadWord.prototype.y=function(){return _emscripten_bind_btQuadWord__y_p0(this.ptr)},btQuadWord.prototype.x=function(){return _emscripten_bind_btQuadWord__x_p0(this.ptr)},btQuadWord.prototype.z=function(){return _emscripten_bind_btQuadWord__z_p0(this.ptr)},btQuadWord.prototype.setX=function(e){_emscripten_bind_btQuadWord__setX_p1(this.ptr,e)},btQuadWord.prototype.setY=function(e){_emscripten_bind_btQuadWord__setY_p1(this.ptr,e)},btQuadWord.prototype.setZ=function(e){_emscripten_bind_btQuadWord__setZ_p1(this.ptr,e)},btQuadWord.prototype.__cache__={},Module.btQuadWord=btQuadWord,btCylinderShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCylinderShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCylinderShape.prototype.isCompound=function(){return _emscripten_bind_btCylinderShape__isCompound_p0(this.ptr)},btCylinderShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShape.prototype.setUserPointer=function(e){_emscripten_bind_btCylinderShape__setUserPointer_p1(this.ptr,e)},btCylinderShape.prototype.getUpAxis=function(){return _emscripten_bind_btCylinderShape__getUpAxis_p0(this.ptr)},btCylinderShape.prototype.serialize=function(e,t){return _emscripten_bind_btCylinderShape__serialize_p2(this.ptr,e,t.ptr)},btCylinderShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCylinderShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btCylinderShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btCylinderShape.prototype.isPolyhedral=function(){return _emscripten_bind_btCylinderShape__isPolyhedral_p0(this.ptr)},btCylinderShape.prototype.getRadius=function(){return _emscripten_bind_btCylinderShape__getRadius_p0(this.ptr)},btCylinderShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btCylinderShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0(this.ptr)},btCylinderShape.prototype.getName=function(){return _emscripten_bind_btCylinderShape__getName_p0(this.ptr)},btCylinderShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btCylinderShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btCylinderShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShape.prototype.setLocalScaling=function(e){_emscripten_bind_btCylinderShape__setLocalScaling_p1(this.ptr,e.ptr)},btCylinderShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btCylinderShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShape.prototype.getMarginNV=function(){return _emscripten_bind_btCylinderShape__getMarginNV_p0(this.ptr)},btCylinderShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1(this.ptr,e)},btCylinderShape.prototype.isConvex=function(){return _emscripten_bind_btCylinderShape__isConvex_p0(this.ptr)},btCylinderShape.prototype.isInfinite=function(){return _emscripten_bind_btCylinderShape__isInfinite_p0(this.ptr)},btCylinderShape.prototype.getUserPointer=function(){return _emscripten_bind_btCylinderShape__getUserPointer_p0(this.ptr)},btCylinderShape.prototype.isNonMoving=function(){return _emscripten_bind_btCylinderShape__isNonMoving_p0(this.ptr)},btCylinderShape.prototype.getMargin=function(){return _emscripten_bind_btCylinderShape__getMargin_p0(this.ptr)},btCylinderShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btCylinderShape.prototype.getHalfExtentsWithoutMargin=function(){return wrapPointer(_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0(this.ptr),Module.btVector3)},btCylinderShape.prototype.isConvex2d=function(){return _emscripten_bind_btCylinderShape__isConvex2d_p0(this.ptr)},btCylinderShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btCylinderShape.prototype.isSoftBody=function(){return _emscripten_bind_btCylinderShape__isSoftBody_p0(this.ptr)},btCylinderShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btCylinderShape__getMarginNonVirtual_p0(this.ptr)},btCylinderShape.prototype.__destroy__=function(){_emscripten_bind_btCylinderShape____destroy___p0(this.ptr)},btCylinderShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btCylinderShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btCylinderShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCylinderShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCylinderShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCylinderShape__getAngularMotionDisc_p0(this.ptr)},btCylinderShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btCylinderShape__serializeSingleShape_p1(this.ptr,e.ptr)},btCylinderShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btCylinderShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShape.prototype.setMargin=function(e){_emscripten_bind_btCylinderShape__setMargin_p1(this.ptr,e)},btCylinderShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCylinderShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCylinderShape.prototype.__cache__={},Module.btCylinderShape=btCylinderShape,btCylinderShape.prototype.getHalfExtentsWithMargin=function(){return wrapPointer(_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0(this.ptr),Module.btVector3)},btCylinderShape.prototype.isConcave=function(){return _emscripten_bind_btCylinderShape__isConcave_p0(this.ptr)},btCylinderShape.prototype.getShapeType=function(){return _emscripten_bind_btCylinderShape__getShapeType_p0(this.ptr)},btStorageResult.prototype.__cache__={},Module.btStorageResult=btStorageResult,btStorageResult.prototype.set_m_distance=function(e){_emscripten_bind_btStorageResult__set_m_distance_p1(this.ptr,e)},btStorageResult.prototype.set_m_closestPointInB=function(e){_emscripten_bind_btStorageResult__set_m_closestPointInB_p1(this.ptr,e.ptr)},btStorageResult.prototype.addContactPoint=function(e,t,i){_emscripten_bind_btStorageResult__addContactPoint_p3(this.ptr,e.ptr,t.ptr,i)},btStorageResult.prototype.set_m_normalOnSurfaceB=function(e){_emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1(this.ptr,e.ptr)},btStorageResult.prototype.get_m_distance=function(){return _emscripten_bind_btStorageResult__get_m_distance_p0(this.ptr)},btStorageResult.prototype.setShapeIdentifiersB=function(e,t){_emscripten_bind_btStorageResult__setShapeIdentifiersB_p2(this.ptr,e,t)},btStorageResult.prototype.setShapeIdentifiersA=function(e,t){_emscripten_bind_btStorageResult__setShapeIdentifiersA_p2(this.ptr,e,t)},btStorageResult.prototype.get_m_closestPointInB=function(){return wrapPointer(_emscripten_bind_btStorageResult__get_m_closestPointInB_p0(this.ptr),Module.btVector3)},btStorageResult.prototype.get_m_normalOnSurfaceB=function(){return wrapPointer(_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0(this.ptr),Module.btVector3)},btDbvtProxy.prototype.get_m_clientObject=function(){return _emscripten_bind_btDbvtProxy__get_m_clientObject_p0(this.ptr)},btDbvtProxy.prototype.get_stage=function(){return _emscripten_bind_btDbvtProxy__get_stage_p0(this.ptr)},btDbvtProxy.prototype.set_stage=function(e){_emscripten_bind_btDbvtProxy__set_stage_p1(this.ptr,e)},btDbvtProxy.prototype.set_m_clientObject=function(e){_emscripten_bind_btDbvtProxy__set_m_clientObject_p1(this.ptr,e)},btDbvtProxy.prototype.get_leaf=function(){return wrapPointer(_emscripten_bind_btDbvtProxy__get_leaf_p0(this.ptr),Module.btDbvtNode)},btDbvtProxy.prototype.isCompound=function(e){return _emscripten_bind_btDbvtProxy__isCompound_p1(e)},btDbvtProxy.prototype.isPolyhedral=function(e){return _emscripten_bind_btDbvtProxy__isPolyhedral_p1(e)},btDbvtProxy.prototype.get_m_aabbMin=function(){return wrapPointer(_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0(this.ptr),Module.btVector3)},btDbvtProxy.prototype.set_m_uniqueId=function(e){_emscripten_bind_btDbvtProxy__set_m_uniqueId_p1(this.ptr,e)},btDbvtProxy.prototype.isConvex=function(e){return _emscripten_bind_btDbvtProxy__isConvex_p1(e)},btDbvtProxy.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0(this.ptr)},btDbvtProxy.prototype.getUid=function(){return _emscripten_bind_btDbvtProxy__getUid_p0(this.ptr)},btDbvtProxy.prototype.get_m_aabbMax=function(){return wrapPointer(_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0(this.ptr),Module.btVector3)},btDbvtProxy.prototype.isNonMoving=function(e){return _emscripten_bind_btDbvtProxy__isNonMoving_p1(e)},btDbvtProxy.prototype.set_m_aabbMin=function(e){_emscripten_bind_btDbvtProxy__set_m_aabbMin_p1(this.ptr,e.ptr)},btDbvtProxy.prototype.set_m_multiSapParentProxy=function(e){_emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1(this.ptr,e)},btDbvtProxy.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1(this.ptr,e)},btDbvtProxy.prototype.__cache__={},Module.btDbvtProxy=btDbvtProxy,btDbvtProxy.prototype.isSoftBody=function(e){return _emscripten_bind_btDbvtProxy__isSoftBody_p1(e)},btDbvtProxy.prototype.set_m_aabbMax=function(e){_emscripten_bind_btDbvtProxy__set_m_aabbMax_p1(this.ptr,e.ptr)},btDbvtProxy.prototype.__destroy__=function(){_emscripten_bind_btDbvtProxy____destroy___p0(this.ptr)},btDbvtProxy.prototype.get_m_uniqueId=function(){return _emscripten_bind_btDbvtProxy__get_m_uniqueId_p0(this.ptr)},btDbvtProxy.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1(this.ptr,e)},btDbvtProxy.prototype.set_leaf=function(e){_emscripten_bind_btDbvtProxy__set_leaf_p1(this.ptr,e.ptr)},btDbvtProxy.prototype.isInfinite=function(e){return _emscripten_bind_btDbvtProxy__isInfinite_p1(e)},btDbvtProxy.prototype.isConcave=function(e){return _emscripten_bind_btDbvtProxy__isConcave_p1(e)},btDbvtProxy.prototype.get_m_multiSapParentProxy=function(){return _emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0(this.ptr)},btDbvtProxy.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0(this.ptr)},btDbvtProxy.prototype.isConvex2d=function(e){return _emscripten_bind_btDbvtProxy__isConvex2d_p1(e)},ConcreteContactResultCallback.prototype.__cache__={},Module.ConcreteContactResultCallback=ConcreteContactResultCallback,ConcreteContactResultCallback.prototype.__destroy__=function(){_emscripten_bind_ConcreteContactResultCallback____destroy___p0(this.ptr)},ConcreteContactResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},ConcreteContactResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},ConcreteContactResultCallback.prototype.addSingleResult=function(e,t,i,n,_,r,o){return _emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7(this.ptr,e.ptr,t.ptr,i,n,_.ptr,r,o)},ConcreteContactResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0(this.ptr)},ConcreteContactResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},ConcreteContactResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_ConcreteContactResultCallback__needsCollision_p1(this.ptr,e.ptr)},btSequentialImpulseConstraintSolver.prototype.reset=function(){_emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0(this.ptr)},btSequentialImpulseConstraintSolver.prototype.__destroy__=function(){_emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0(this.ptr)},btSequentialImpulseConstraintSolver.prototype.__cache__={},Module.btSequentialImpulseConstraintSolver=btSequentialImpulseConstraintSolver,btSequentialImpulseConstraintSolver.prototype.prepareSolve=function(e,t){_emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2(this.ptr,e,t)},btSequentialImpulseConstraintSolver.prototype.btRand2=function(){return _emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0(this.ptr)},btSequentialImpulseConstraintSolver.prototype.getRandSeed=function(){return _emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0(this.ptr)},btSequentialImpulseConstraintSolver.prototype.setRandSeed=function(e){_emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1(this.ptr,e)},btSequentialImpulseConstraintSolver.prototype.allSolved=function(e,t,i){_emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSequentialImpulseConstraintSolver.prototype.solveGroup=function(e,t,i,n,_,r,o,s,a,p){return _emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10(this.ptr,e.ptr,t,i.ptr,n,_.ptr,r,o.ptr,s.ptr,a.ptr,p.ptr)},btSequentialImpulseConstraintSolver.prototype.btRandInt2=function(e){return _emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1(this.ptr,e)},btSimpleDynamicsWorld.prototype.setGravity=function(e){_emscripten_bind_btSimpleDynamicsWorld__setGravity_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.addAction=function(e){_emscripten_bind_btSimpleDynamicsWorld__addAction_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.getSolverInfo=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0(this.ptr),Module.btContactSolverInfo)},btSimpleDynamicsWorld.prototype.serialize=function(e){_emscripten_bind_btSimpleDynamicsWorld__serialize_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.getDispatcher=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0(this.ptr),Module.btDispatcher)},btSimpleDynamicsWorld.prototype.addRigidBody=function(e,t,i){void 0===t?_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1(this.ptr,e.ptr):_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3(this.ptr,e.ptr,t,i)},btSimpleDynamicsWorld.prototype.clearForces=function(){_emscripten_bind_btSimpleDynamicsWorld__clearForces_p0(this.ptr)},btSimpleDynamicsWorld.prototype.removeVehicle=function(e){_emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.getDebugDrawer=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0(this.ptr),Module.btIDebugDraw)},btSimpleDynamicsWorld.prototype.setBroadphase=function(e){_emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.performDiscreteCollisionDetection=function(){_emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr)},btSimpleDynamicsWorld.prototype.getCollisionObjectArray=function(){return _emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0(this.ptr)},btSimpleDynamicsWorld.prototype.debugDrawObject=function(e,t,i){_emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSimpleDynamicsWorld.prototype.removeConstraint=function(e){_emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.rayTest=function(e,t,i){_emscripten_bind_btSimpleDynamicsWorld__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSimpleDynamicsWorld.prototype.getNumConstraints=function(){return _emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0(this.ptr)},btSimpleDynamicsWorld.prototype.addCollisionObject=function(e,t,i){void 0===t?_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1(this.ptr,e.ptr):void 0===i?_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2(this.ptr,e.ptr,t):_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3(this.ptr,e.ptr,t,i)},btSimpleDynamicsWorld.prototype.removeRigidBody=function(e){_emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.contactTest=function(e,t){_emscripten_bind_btSimpleDynamicsWorld__contactTest_p2(this.ptr,e.ptr,t.ptr)},btSimpleDynamicsWorld.prototype.setInternalTickCallback=function(e,t,i){void 0===t?_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1(this.ptr,e):void 0===i?_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2(this.ptr,e,t):_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3(this.ptr,e,t,i)},btSimpleDynamicsWorld.prototype.getForceUpdateAllAabbs=function(){return _emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr)},btSimpleDynamicsWorld.prototype.updateAabbs=function(){_emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0(this.ptr)},btSimpleDynamicsWorld.prototype.setDebugDrawer=function(e){_emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.debugDrawWorld=function(){_emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0(this.ptr)},btSimpleDynamicsWorld.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_)},btSimpleDynamicsWorld.prototype.getNumCollisionObjects=function(){return _emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0(this.ptr)},btSimpleDynamicsWorld.prototype.setWorldUserInfo=function(e){_emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1(this.ptr,e)},btSimpleDynamicsWorld.prototype.addConstraint=function(e,t){void 0===t?_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1(this.ptr,e.ptr):_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2(this.ptr,e.ptr,t)},btSimpleDynamicsWorld.prototype.getWorldUserInfo=function(){return _emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0(this.ptr)},btSimpleDynamicsWorld.prototype.contactPairTest=function(e,t,i){_emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSimpleDynamicsWorld.prototype.getGravity=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0(this.ptr),Module.btVector3)},btSimpleDynamicsWorld.prototype.__cache__={},Module.btSimpleDynamicsWorld=btSimpleDynamicsWorld,btSimpleDynamicsWorld.prototype.getBroadphase=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0(this.ptr),Module.btBroadphaseInterface)},btSimpleDynamicsWorld.prototype.rayTestSingle=function(e,t,i,n,_,r){_emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr)},btSimpleDynamicsWorld.prototype.removeAction=function(e){_emscripten_bind_btSimpleDynamicsWorld__removeAction_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.setForceUpdateAllAabbs=function(e){_emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr,e)},btSimpleDynamicsWorld.prototype.__destroy__=function(){_emscripten_bind_btSimpleDynamicsWorld____destroy___p0(this.ptr)},btSimpleDynamicsWorld.prototype.removeCharacter=function(e){_emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.getConstraint=function(e){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1(this.ptr,e),Module.btTypedConstraint)},btSimpleDynamicsWorld.prototype.getConstraintSolver=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0(this.ptr),Module.btConstraintSolver)},btSimpleDynamicsWorld.prototype.stepSimulation=function(e,t,i){return void 0===t?_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1(this.ptr,e):void 0===i?_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2(this.ptr,e,t):_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3(this.ptr,e,t,i)},btSimpleDynamicsWorld.prototype.addCharacter=function(e){_emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.getWorldType=function(){return _emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0(this.ptr)},btSimpleDynamicsWorld.prototype.updateSingleAabb=function(e){_emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.addVehicle=function(e){_emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.getPairCache=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btSimpleDynamicsWorld.prototype.synchronizeMotionStates=function(){_emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0(this.ptr)},btSimpleDynamicsWorld.prototype.removeCollisionObject=function(e){_emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.setConstraintSolver=function(e){_emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1(this.ptr,e.ptr)},btSimpleDynamicsWorld.prototype.objectQuerySingle=function(e,t,i,n,_,r,o,s){_emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s)},btSimpleDynamicsWorld.prototype.getDispatchInfo=function(){return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0(this.ptr),Module.btDispatcherInfo)},btManifoldResult.prototype.__destroy__=function(){_emscripten_bind_btManifoldResult____destroy___p0(this.ptr)},btManifoldResult.prototype.getPersistentManifold=function(){return wrapPointer(_emscripten_bind_btManifoldResult__getPersistentManifold_p0(this.ptr),Module.btPersistentManifold)},btManifoldResult.prototype.getBody0Internal=function(){return wrapPointer(_emscripten_bind_btManifoldResult__getBody0Internal_p0(this.ptr),Module.btCollisionObject)},btManifoldResult.prototype.addContactPoint=function(e,t,i){_emscripten_bind_btManifoldResult__addContactPoint_p3(this.ptr,e.ptr,t.ptr,i)},btManifoldResult.prototype.getBody1Internal=function(){return wrapPointer(_emscripten_bind_btManifoldResult__getBody1Internal_p0(this.ptr),Module.btCollisionObject)},btManifoldResult.prototype.__cache__={},Module.btManifoldResult=btManifoldResult,btManifoldResult.prototype.setShapeIdentifiersB=function(e,t){_emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2(this.ptr,e,t)},btManifoldResult.prototype.setShapeIdentifiersA=function(e,t){_emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2(this.ptr,e,t)},btManifoldResult.prototype.refreshContactPoints=function(){_emscripten_bind_btManifoldResult__refreshContactPoints_p0(this.ptr)},btManifoldResult.prototype.setPersistentManifold=function(e){_emscripten_bind_btManifoldResult__setPersistentManifold_p1(this.ptr,e.ptr)},btMultiSphereShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btMultiSphereShape.prototype.isCompound=function(){return _emscripten_bind_btMultiSphereShape__isCompound_p0(this.ptr)},btMultiSphereShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btMultiSphereShape.prototype.setUserPointer=function(e){_emscripten_bind_btMultiSphereShape__setUserPointer_p1(this.ptr,e)},btMultiSphereShape.prototype.getMarginNV=function(){return _emscripten_bind_btMultiSphereShape__getMarginNV_p0(this.ptr)},btMultiSphereShape.prototype.serialize=function(e,t){return _emscripten_bind_btMultiSphereShape__serialize_p2(this.ptr,e,t.ptr)},btMultiSphereShape.prototype.__cache__={},Module.btMultiSphereShape=btMultiSphereShape,btMultiSphereShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btMultiSphereShape.prototype.isPolyhedral=function(){return _emscripten_bind_btMultiSphereShape__isPolyhedral_p0(this.ptr)},btMultiSphereShape.prototype.getSphereRadius=function(e){return _emscripten_bind_btMultiSphereShape__getSphereRadius_p1(this.ptr,e)},btMultiSphereShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btMultiSphereShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btMultiSphereShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0(this.ptr)},btMultiSphereShape.prototype.getSphereCount=function(){return _emscripten_bind_btMultiSphereShape__getSphereCount_p0(this.ptr)},btMultiSphereShape.prototype.getName=function(){return _emscripten_bind_btMultiSphereShape__getName_p0(this.ptr)},btMultiSphereShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btMultiSphereShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btMultiSphereShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btMultiSphereShape.prototype.setLocalScaling=function(e){_emscripten_bind_btMultiSphereShape__setLocalScaling_p1(this.ptr,e.ptr)},btMultiSphereShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btMultiSphereShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btMultiSphereShape.prototype.getSpherePosition=function(e){return wrapPointer(_emscripten_bind_btMultiSphereShape__getSpherePosition_p1(this.ptr,e),Module.btVector3)},btMultiSphereShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1(this.ptr,e)},btMultiSphereShape.prototype.isConvex=function(){return _emscripten_bind_btMultiSphereShape__isConvex_p0(this.ptr)},btMultiSphereShape.prototype.isInfinite=function(){return _emscripten_bind_btMultiSphereShape__isInfinite_p0(this.ptr)},btMultiSphereShape.prototype.getUserPointer=function(){return _emscripten_bind_btMultiSphereShape__getUserPointer_p0(this.ptr)},btMultiSphereShape.prototype.isNonMoving=function(){return _emscripten_bind_btMultiSphereShape__isNonMoving_p0(this.ptr)},btMultiSphereShape.prototype.getMargin=function(){return _emscripten_bind_btMultiSphereShape__getMargin_p0(this.ptr)},btMultiSphereShape.prototype.recalcLocalAabb=function(){_emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0(this.ptr)},btMultiSphereShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btMultiSphereShape.prototype.setMargin=function(e){_emscripten_bind_btMultiSphereShape__setMargin_p1(this.ptr,e)},btMultiSphereShape.prototype.isConvex2d=function(){return _emscripten_bind_btMultiSphereShape__isConvex2d_p0(this.ptr)},btMultiSphereShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btMultiSphereShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btMultiSphereShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btMultiSphereShape.prototype.isSoftBody=function(){return _emscripten_bind_btMultiSphereShape__isSoftBody_p0(this.ptr)},btMultiSphereShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0(this.ptr)},btMultiSphereShape.prototype.__destroy__=function(){_emscripten_bind_btMultiSphereShape____destroy___p0(this.ptr)},btMultiSphereShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btMultiSphereShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btMultiSphereShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btMultiSphereShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btMultiSphereShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0(this.ptr)},btMultiSphereShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btMultiSphereShape__serializeSingleShape_p1(this.ptr,e.ptr)},btMultiSphereShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btMultiSphereShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btMultiSphereShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btMultiSphereShape.prototype.isConcave=function(){return _emscripten_bind_btMultiSphereShape__isConcave_p0(this.ptr)},btMultiSphereShape.prototype.getShapeType=function(){return _emscripten_bind_btMultiSphereShape__getShapeType_p0(this.ptr)},btHeightfieldTerrainShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btHeightfieldTerrainShape.prototype.setUserPointer=function(e){_emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1(this.ptr,e)},btHeightfieldTerrainShape.prototype.serialize=function(e,t){return _emscripten_bind_btHeightfieldTerrainShape__serialize_p2(this.ptr,e,t.ptr)},btHeightfieldTerrainShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btHeightfieldTerrainShape.prototype.__cache__={},Module.btHeightfieldTerrainShape=btHeightfieldTerrainShape,btHeightfieldTerrainShape.prototype.processAllTriangles=function(e,t,i){_emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btHeightfieldTerrainShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0(this.ptr)},btHeightfieldTerrainShape.prototype.getName=function(){return _emscripten_bind_btHeightfieldTerrainShape__getName_p0(this.ptr)},btHeightfieldTerrainShape.prototype.isCompound=function(){return _emscripten_bind_btHeightfieldTerrainShape__isCompound_p0(this.ptr)},btHeightfieldTerrainShape.prototype.isPolyhedral=function(){return _emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0(this.ptr)},btHeightfieldTerrainShape.prototype.setLocalScaling=function(e){_emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1(this.ptr,e.ptr)},btHeightfieldTerrainShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btHeightfieldTerrainShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btHeightfieldTerrainShape.prototype.setUseDiamondSubdivision=function(e){void 0===e?_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0(this.ptr):_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1(this.ptr,e)},btHeightfieldTerrainShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1(this.ptr,e)},btHeightfieldTerrainShape.prototype.isConvex=function(){return _emscripten_bind_btHeightfieldTerrainShape__isConvex_p0(this.ptr)},btHeightfieldTerrainShape.prototype.isInfinite=function(){return _emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0(this.ptr)},btHeightfieldTerrainShape.prototype.getUserPointer=function(){return _emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0(this.ptr)},btHeightfieldTerrainShape.prototype.isNonMoving=function(){return _emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0(this.ptr)},btHeightfieldTerrainShape.prototype.getMargin=function(){return _emscripten_bind_btHeightfieldTerrainShape__getMargin_p0(this.ptr)},btHeightfieldTerrainShape.prototype.setMargin=function(e){_emscripten_bind_btHeightfieldTerrainShape__setMargin_p1(this.ptr,e)},btHeightfieldTerrainShape.prototype.isConvex2d=function(){return _emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0(this.ptr)},btHeightfieldTerrainShape.prototype.isSoftBody=function(){return _emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0(this.ptr)},btHeightfieldTerrainShape.prototype.__destroy__=function(){_emscripten_bind_btHeightfieldTerrainShape____destroy___p0(this.ptr)},btHeightfieldTerrainShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btHeightfieldTerrainShape.prototype.isConcave=function(){return _emscripten_bind_btHeightfieldTerrainShape__isConcave_p0(this.ptr)},btHeightfieldTerrainShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0(this.ptr)},btHeightfieldTerrainShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1(this.ptr,e.ptr)},btHeightfieldTerrainShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btHeightfieldTerrainShape.prototype.getShapeType=function(){return _emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.__cache__={},Module.btConvexInternalAabbCachingShape=btConvexInternalAabbCachingShape,btConvexInternalAabbCachingShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConvexInternalAabbCachingShape.prototype.isCompound=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalAabbCachingShape.prototype.setUserPointer=function(e){_emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1(this.ptr,e)},btConvexInternalAabbCachingShape.prototype.getMarginNV=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.serialize=function(e,t){return _emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2(this.ptr,e,t.ptr)},btConvexInternalAabbCachingShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConvexInternalAabbCachingShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)};function btStridingMeshInterface(){throw"btStridingMeshInterface is abstract!"}function btPoint2PointConstraint(e,t,i,n){this.ptr=void 0===i?_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2(e.ptr,t.ptr):_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4(e.ptr,t.ptr,i.ptr,n.ptr),btPoint2PointConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btPoint2PointConstraint}function btCylinderShapeZ(e){this.ptr=_emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1(e.ptr),btCylinderShapeZ.prototype.__cache__[this.ptr]=this,this.__class__=btCylinderShapeZ}function btBvhSubtreeInfo(){this.ptr=_emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0(),btBvhSubtreeInfo.prototype.__cache__[this.ptr]=this,this.__class__=btBvhSubtreeInfo}function btMotionState(){throw"btMotionState is abstract!"}function ClosestConvexResultCallback(e,t){this.ptr=_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2(e.ptr,t.ptr),ClosestConvexResultCallback.prototype.__cache__[this.ptr]=this,this.__class__=ClosestConvexResultCallback}function btConvexSeparatingDistanceUtil(e,t){this.ptr=_emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2(e,t),btConvexSeparatingDistanceUtil.prototype.__cache__[this.ptr]=this,this.__class__=btConvexSeparatingDistanceUtil}function btGeneric6DofSpringConstraint(e,t,i,n,_){this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5(e.ptr,t.ptr,i.ptr,n.ptr,_),btGeneric6DofSpringConstraint.prototype.__cache__[this.ptr]=this,this.__class__=btGeneric6DofSpringConstraint}function btBroadphaseProxy(e,t,i,n,_,r){this.ptr=void 0===e?_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0():void 0===r?_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5(e.ptr,t.ptr,i,n,_):_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6(e.ptr,t.ptr,i,n,_,r),btBroadphaseProxy.prototype.__cache__[this.ptr]=this,this.__class__=btBroadphaseProxy}function btTriangleIndexVertexArray(e,t,i,n,_,r){this.ptr=void 0===e?_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0():_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6(e,t,i,n,_,r),btTriangleIndexVertexArray.prototype.__cache__[this.ptr]=this,this.__class__=btTriangleIndexVertexArray}function btBoxShape(e){this.ptr=_emscripten_bind_btBoxShape__btBoxShape_p1(e.ptr),btBoxShape.prototype.__cache__[this.ptr]=this,this.__class__=btBoxShape}function Result(){throw"Result is abstract!"}function btPolyhedralConvexAabbCachingShape(){throw"btPolyhedralConvexAabbCachingShape is abstract!"}function CProfileSample(e){var t=Runtime.stackSave();try{this.ptr=_emscripten_bind_CProfileSample__CProfileSample_p1(ensureString(e))}finally{Runtime.stackRestore(t)}CProfileSample.prototype.__cache__[this.ptr]=this,this.__class__=CProfileSample}function btCapsuleShapeX(e,t){this.ptr=_emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2(e,t),btCapsuleShapeX.prototype.__cache__[this.ptr]=this,this.__class__=btCapsuleShapeX}function btQuaternion(e,t,i,n){this.ptr=void 0===e?_emscripten_bind_btQuaternion__btQuaternion_p0():void 0===i?_emscripten_bind_btQuaternion__btQuaternion_p2(e.ptr,t):void 0===n?_emscripten_bind_btQuaternion__btQuaternion_p3(e,t,i):_emscripten_bind_btQuaternion__btQuaternion_p4(e,t,i,n),btQuaternion.prototype.__cache__[this.ptr]=this,this.__class__=btQuaternion}function btCapsuleShapeZ(e,t){this.ptr=_emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2(e,t),btCapsuleShapeZ.prototype.__cache__[this.ptr]=this,this.__class__=btCapsuleShapeZ}function btGhostObject(){this.ptr=_emscripten_bind_btGhostObject__btGhostObject_p0(),btGhostObject.prototype.__cache__[this.ptr]=this,this.__class__=btGhostObject}function btConcaveShape(){throw"btConcaveShape is abstract!"}function btTriangleInfoMap(){throw"btTriangleInfoMap is abstract!"}function LocalConvexResult(e,t,i,n,_){this.ptr=_emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5(e.ptr,t.ptr,i.ptr,n.ptr,_),LocalConvexResult.prototype.__cache__[this.ptr]=this,this.__class__=LocalConvexResult}function bt32BitAxisSweep3(e,t,i,n,_){this.ptr=void 0===i?_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2(e.ptr,t.ptr):void 0===n?_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3(e.ptr,t.ptr,i):void 0===_?_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4(e.ptr,t.ptr,i,n.ptr):_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5(e.ptr,t.ptr,i,n.ptr,_),bt32BitAxisSweep3.prototype.__cache__[this.ptr]=this,this.__class__=bt32BitAxisSweep3}function btCollisionAlgorithm(){throw"btCollisionAlgorithm is abstract!"}function btSphereShape(e){this.ptr=_emscripten_bind_btSphereShape__btSphereShape_p1(e),btSphereShape.prototype.__cache__[this.ptr]=this,this.__class__=btSphereShape}function btQuantizedBvh(){this.ptr=_emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0(),btQuantizedBvh.prototype.__cache__[this.ptr]=this,this.__class__=btQuantizedBvh}function btHashString(e){var t=Runtime.stackSave();try{this.ptr=_emscripten_bind_btHashString__btHashString_p1(ensureString(e))}finally{Runtime.stackRestore(t)}btHashString.prototype.__cache__[this.ptr]=this,this.__class__=btHashString}function btGhostPairCallback(){this.ptr=_emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0(),btGhostPairCallback.prototype.__cache__[this.ptr]=this,this.__class__=btGhostPairCallback}btConvexInternalAabbCachingShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexInternalAabbCachingShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getName=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getName_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConvexInternalAabbCachingShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalAabbCachingShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConvexInternalAabbCachingShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1(this.ptr,e.ptr)},btConvexInternalAabbCachingShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexInternalAabbCachingShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1(this.ptr,e)},btConvexInternalAabbCachingShape.prototype.isConvex=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.isInfinite=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getUserPointer=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.isNonMoving=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getMargin=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.recalcLocalAabb=function(){_emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConvexInternalAabbCachingShape.prototype.setMargin=function(e){_emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1(this.ptr,e)},btConvexInternalAabbCachingShape.prototype.isConvex2d=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalAabbCachingShape.prototype.isSoftBody=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.__destroy__=function(){_emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConvexInternalAabbCachingShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConvexInternalAabbCachingShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConvexInternalAabbCachingShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConvexInternalAabbCachingShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexInternalAabbCachingShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConvexInternalAabbCachingShape.prototype.isConcave=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0(this.ptr)},btConvexInternalAabbCachingShape.prototype.getShapeType=function(){return _emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0(this.ptr)},btConvexShape.prototype.__cache__={},Module.btConvexShape=btConvexShape,btConvexShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConvexShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConvexShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConvexShape.prototype.setUserPointer=function(e){_emscripten_bind_btConvexShape__setUserPointer_p1(this.ptr,e)},btConvexShape.prototype.serialize=function(e,t){return _emscripten_bind_btConvexShape__serialize_p2(this.ptr,e,t.ptr)},btConvexShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConvexShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConvexShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btConvexShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConvexShape__isPolyhedral_p0(this.ptr)},btConvexShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConvexShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0(this.ptr)},btConvexShape.prototype.getName=function(){return _emscripten_bind_btConvexShape__getName_p0(this.ptr)},btConvexShape.prototype.isCompound=function(){return _emscripten_bind_btConvexShape__isCompound_p0(this.ptr)},btConvexShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConvexShape__setLocalScaling_p1(this.ptr,e.ptr)},btConvexShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConvexShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConvexShape__getContactBreakingThreshold_p1(this.ptr,e)},btConvexShape.prototype.isConvex=function(){return _emscripten_bind_btConvexShape__isConvex_p0(this.ptr)},btConvexShape.prototype.isInfinite=function(){return _emscripten_bind_btConvexShape__isInfinite_p0(this.ptr)},btConvexShape.prototype.getUserPointer=function(){return _emscripten_bind_btConvexShape__getUserPointer_p0(this.ptr)},btConvexShape.prototype.isNonMoving=function(){return _emscripten_bind_btConvexShape__isNonMoving_p0(this.ptr)},btConvexShape.prototype.getMargin=function(){return _emscripten_bind_btConvexShape__getMargin_p0(this.ptr)},btConvexShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConvexShape.prototype.setMargin=function(e){_emscripten_bind_btConvexShape__setMargin_p1(this.ptr,e)},btConvexShape.prototype.isConvex2d=function(){return _emscripten_bind_btConvexShape__isConvex2d_p0(this.ptr)},btConvexShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConvexShape.prototype.isSoftBody=function(){return _emscripten_bind_btConvexShape__isSoftBody_p0(this.ptr)},btConvexShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConvexShape__getMarginNonVirtual_p0(this.ptr)},btConvexShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConvexShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConvexShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConvexShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConvexShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConvexShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConvexShape__getAngularMotionDisc_p0(this.ptr)},btConvexShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConvexShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConvexShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConvexShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexShape.prototype.isConcave=function(){return _emscripten_bind_btConvexShape__isConcave_p0(this.ptr)},btConvexShape.prototype.getShapeType=function(){return _emscripten_bind_btConvexShape__getShapeType_p0(this.ptr)},btDiscreteCollisionDetectorInterface.prototype.__cache__={},Module.btDiscreteCollisionDetectorInterface=btDiscreteCollisionDetectorInterface,btDiscreteCollisionDetectorInterface.prototype.getClosestPoints=function(e,t,i,n){void 0===n?_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3(this.ptr,e.ptr,t.ptr,i.ptr):_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4(this.ptr,e.ptr,t.ptr,i.ptr,n)},btDefaultCollisionConstructionInfo.prototype.set_m_customCollisionAlgorithmMaxElementSize=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1(this.ptr,e)},btDefaultCollisionConstructionInfo.prototype.set_m_collisionAlgorithmPool=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1(this.ptr,e)},btDefaultCollisionConstructionInfo.prototype.get_m_customCollisionAlgorithmMaxElementSize=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.get_m_persistentManifoldPool=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.set_m_useEpaPenetrationAlgorithm=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1(this.ptr,e)},btDefaultCollisionConstructionInfo.prototype.__destroy__=function(){_emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.get_m_defaultStackAllocatorSize=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.set_m_defaultStackAllocatorSize=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1(this.ptr,e)},btDefaultCollisionConstructionInfo.prototype.get_m_defaultMaxCollisionAlgorithmPoolSize=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.set_m_defaultMaxPersistentManifoldPoolSize=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1(this.ptr,e)},btDefaultCollisionConstructionInfo.prototype.get_m_useEpaPenetrationAlgorithm=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.set_m_stackAlloc=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1(this.ptr,e.ptr)},btDefaultCollisionConstructionInfo.prototype.get_m_collisionAlgorithmPool=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.get_m_stackAlloc=function(){return wrapPointer(_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0(this.ptr),Module.btStackAlloc)},btDefaultCollisionConstructionInfo.prototype.set_m_defaultMaxCollisionAlgorithmPoolSize=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1(this.ptr,e)},btDefaultCollisionConstructionInfo.prototype.__cache__={},Module.btDefaultCollisionConstructionInfo=btDefaultCollisionConstructionInfo,btDefaultCollisionConstructionInfo.prototype.get_m_defaultMaxPersistentManifoldPoolSize=function(){return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0(this.ptr)},btDefaultCollisionConstructionInfo.prototype.set_m_persistentManifoldPool=function(e){_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1(this.ptr,e)},btDispatcher.prototype.__cache__={},Module.btDispatcher=btDispatcher,btDispatcher.prototype.allocateCollisionAlgorithm=function(e){return _emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1(this.ptr,e)},btDispatcher.prototype.getManifoldByIndexInternal=function(e){return wrapPointer(_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1(this.ptr,e),Module.btPersistentManifold)},btDispatcher.prototype.getNumManifolds=function(){return _emscripten_bind_btDispatcher__getNumManifolds_p0(this.ptr)},btDispatcher.prototype.clearManifold=function(e){_emscripten_bind_btDispatcher__clearManifold_p1(this.ptr,e.ptr)},btDispatcher.prototype.freeCollisionAlgorithm=function(e){_emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1(this.ptr,e)},btDispatcher.prototype.getInternalManifoldPointer=function(){return wrapPointer(_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0(this.ptr),Module.btPersistentManifold)},btDispatcher.prototype.findAlgorithm=function(e,t,i){return wrapPointer(void 0===i?_emscripten_bind_btDispatcher__findAlgorithm_p2(this.ptr,e.ptr,t.ptr):_emscripten_bind_btDispatcher__findAlgorithm_p3(this.ptr,e.ptr,t.ptr,i.ptr),Module.btCollisionAlgorithm)},btDispatcher.prototype.needsResponse=function(e,t){return _emscripten_bind_btDispatcher__needsResponse_p2(this.ptr,e.ptr,t.ptr)},btDispatcher.prototype.getNewManifold=function(e,t){return wrapPointer(_emscripten_bind_btDispatcher__getNewManifold_p2(this.ptr,e,t),Module.btPersistentManifold)},btDispatcher.prototype.dispatchAllCollisionPairs=function(e,t,i){_emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btDispatcher.prototype.getInternalManifoldPool=function(){return _emscripten_bind_btDispatcher__getInternalManifoldPool_p0(this.ptr)},btDispatcher.prototype.needsCollision=function(e,t){return _emscripten_bind_btDispatcher__needsCollision_p2(this.ptr,e.ptr,t.ptr)},btDispatcher.prototype.releaseManifold=function(e){_emscripten_bind_btDispatcher__releaseManifold_p1(this.ptr,e.ptr)},btJacobianEntry.prototype.__destroy__=function(){_emscripten_bind_btJacobianEntry____destroy___p0(this.ptr)},btJacobianEntry.prototype.set_m_linearJointAxis=function(e){_emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1(this.ptr,e.ptr)},btJacobianEntry.prototype.get_m_bJ=function(){return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_bJ_p0(this.ptr),Module.btVector3)},btJacobianEntry.prototype.__cache__={},Module.btJacobianEntry=btJacobianEntry,btJacobianEntry.prototype.get_m_linearJointAxis=function(){return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0(this.ptr),Module.btVector3)},btJacobianEntry.prototype.set_m_aJ=function(e){_emscripten_bind_btJacobianEntry__set_m_aJ_p1(this.ptr,e.ptr)},btJacobianEntry.prototype.getDiagonal=function(){return _emscripten_bind_btJacobianEntry__getDiagonal_p0(this.ptr)},btJacobianEntry.prototype.set_m_Adiag=function(e){_emscripten_bind_btJacobianEntry__set_m_Adiag_p1(this.ptr,e)},btJacobianEntry.prototype.getRelativeVelocity=function(e,t,i,n){return _emscripten_bind_btJacobianEntry__getRelativeVelocity_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btJacobianEntry.prototype.set_m_bJ=function(e){_emscripten_bind_btJacobianEntry__set_m_bJ_p1(this.ptr,e.ptr)},btJacobianEntry.prototype.get_m_Adiag=function(){return _emscripten_bind_btJacobianEntry__get_m_Adiag_p0(this.ptr)},btJacobianEntry.prototype.getNonDiagonal=function(e,t,i){return void 0===i?_emscripten_bind_btJacobianEntry__getNonDiagonal_p2(this.ptr,e.ptr,t):_emscripten_bind_btJacobianEntry__getNonDiagonal_p3(this.ptr,e.ptr,t,i)},btJacobianEntry.prototype.set_m_1MinvJt=function(e){_emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1(this.ptr,e.ptr)},btJacobianEntry.prototype.get_m_0MinvJt=function(){return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0(this.ptr),Module.btVector3)},btJacobianEntry.prototype.set_m_0MinvJt=function(e){_emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1(this.ptr,e.ptr)},btJacobianEntry.prototype.get_m_aJ=function(){return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_aJ_p0(this.ptr),Module.btVector3)},btJacobianEntry.prototype.get_m_1MinvJt=function(){return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0(this.ptr),Module.btVector3)},btOverlappingPairCallback.prototype.__cache__={},Module.btOverlappingPairCallback=btOverlappingPairCallback,btOverlappingPairCallback.prototype.addOverlappingPair=function(e,t){return wrapPointer(_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2(this.ptr,e.ptr,t.ptr),Module.btBroadphasePair)},btOverlappingPairCallback.prototype.removeOverlappingPair=function(e,t,i){return _emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btOverlappingPairCallback.prototype.removeOverlappingPairsContainingProxy=function(e,t){_emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2(this.ptr,e.ptr,t.ptr)},btHashInt.prototype.__destroy__=function(){_emscripten_bind_btHashInt____destroy___p0(this.ptr)},btHashInt.prototype.setUid1=function(e){_emscripten_bind_btHashInt__setUid1_p1(this.ptr,e)},btHashInt.prototype.__cache__={},Module.btHashInt=btHashInt,btHashInt.prototype.equals=function(e){return _emscripten_bind_btHashInt__equals_p1(this.ptr,e.ptr)},btHashInt.prototype.getUid1=function(){return _emscripten_bind_btHashInt__getUid1_p0(this.ptr)},btHashInt.prototype.getHash=function(){return _emscripten_bind_btHashInt__getHash_p0(this.ptr)},btCollisionAlgorithmCreateFunc.prototype.get_m_swapped=function(){return _emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0(this.ptr)},btCollisionAlgorithmCreateFunc.prototype.__destroy__=function(){_emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0(this.ptr)},btCollisionAlgorithmCreateFunc.prototype.CreateCollisionAlgorithm=function(e,t,i){return wrapPointer(_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3(this.ptr,e.ptr,t.ptr,i.ptr),Module.btCollisionAlgorithm)},btCollisionAlgorithmCreateFunc.prototype.set_m_swapped=function(e){_emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1(this.ptr,e)},btCollisionAlgorithmCreateFunc.prototype.__cache__={},Module.btCollisionAlgorithmCreateFunc=btCollisionAlgorithmCreateFunc,btCollisionWorld.prototype.setBroadphase=function(e){_emscripten_bind_btCollisionWorld__setBroadphase_p1(this.ptr,e.ptr)},btCollisionWorld.prototype.serialize=function(e){_emscripten_bind_btCollisionWorld__serialize_p1(this.ptr,e.ptr)},btCollisionWorld.prototype.getDispatcher=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__getDispatcher_p0(this.ptr),Module.btDispatcher)},btCollisionWorld.prototype.getDispatchInfo=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__getDispatchInfo_p0(this.ptr),Module.btDispatcherInfo)},btCollisionWorld.prototype.getDebugDrawer=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__getDebugDrawer_p0(this.ptr),Module.btIDebugDraw)},btCollisionWorld.prototype.performDiscreteCollisionDetection=function(){_emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0(this.ptr)},btCollisionWorld.prototype.getCollisionObjectArray=function(){return _emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0(this.ptr)},btCollisionWorld.prototype.debugDrawObject=function(e,t,i){_emscripten_bind_btCollisionWorld__debugDrawObject_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCollisionWorld.prototype.rayTest=function(e,t,i){_emscripten_bind_btCollisionWorld__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCollisionWorld.prototype.addCollisionObject=function(e,t,i){void 0===t?_emscripten_bind_btCollisionWorld__addCollisionObject_p1(this.ptr,e.ptr):void 0===i?_emscripten_bind_btCollisionWorld__addCollisionObject_p2(this.ptr,e.ptr,t):_emscripten_bind_btCollisionWorld__addCollisionObject_p3(this.ptr,e.ptr,t,i)},btCollisionWorld.prototype.__cache__={},Module.btCollisionWorld=btCollisionWorld,btCollisionWorld.prototype.contactTest=function(e,t){_emscripten_bind_btCollisionWorld__contactTest_p2(this.ptr,e.ptr,t.ptr)},btCollisionWorld.prototype.getForceUpdateAllAabbs=function(){return _emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0(this.ptr)},btCollisionWorld.prototype.updateAabbs=function(){_emscripten_bind_btCollisionWorld__updateAabbs_p0(this.ptr)},btCollisionWorld.prototype.setDebugDrawer=function(e){_emscripten_bind_btCollisionWorld__setDebugDrawer_p1(this.ptr,e.ptr)},btCollisionWorld.prototype.debugDrawWorld=function(){_emscripten_bind_btCollisionWorld__debugDrawWorld_p0(this.ptr)},btCollisionWorld.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btCollisionWorld__convexSweepTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_btCollisionWorld__convexSweepTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_)},btCollisionWorld.prototype.getNumCollisionObjects=function(){return _emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0(this.ptr)},btCollisionWorld.prototype.contactPairTest=function(e,t,i){_emscripten_bind_btCollisionWorld__contactPairTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCollisionWorld.prototype.getBroadphase=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__getBroadphase_p0(this.ptr),Module.btBroadphaseInterface)},btCollisionWorld.prototype.rayTestSingle=function(e,t,i,n,_,r){_emscripten_bind_btCollisionWorld__rayTestSingle_p6(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr)},btCollisionWorld.prototype.setForceUpdateAllAabbs=function(e){_emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1(this.ptr,e)},btCollisionWorld.prototype.__destroy__=function(){_emscripten_bind_btCollisionWorld____destroy___p0(this.ptr)},btCollisionWorld.prototype.objectQuerySingle=function(e,t,i,n,_,r,o,s){_emscripten_bind_btCollisionWorld__objectQuerySingle_p8(e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s)},btCollisionWorld.prototype.updateSingleAabb=function(e){_emscripten_bind_btCollisionWorld__updateSingleAabb_p1(this.ptr,e.ptr)},btCollisionWorld.prototype.getPairCache=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__getPairCache_p0(this.ptr),Module.btOverlappingPairCache)},btCollisionWorld.prototype.removeCollisionObject=function(e){_emscripten_bind_btCollisionWorld__removeCollisionObject_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.set_m_currentLimitError=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.needApplyForce=function(e){return _emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1(this.ptr,e)},btTranslationalLimitMotor.prototype.get_m_currentLimitError=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.get_m_currentLinearDiff=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.get_m_stopERP=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.set_m_stopERP=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.set_m_stopCFM=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.get_m_stopCFM=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.get_m_lowerLimit=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.set_m_maxMotorForce=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.testLimitValue=function(e,t){return _emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2(this.ptr,e,t)},btTranslationalLimitMotor.prototype.set_m_restitution=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1(this.ptr,e)},btTranslationalLimitMotor.prototype.set_m_limitSoftness=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1(this.ptr,e)},btTranslationalLimitMotor.prototype.set_m_currentLinearDiff=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.get_m_restitution=function(){return _emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0(this.ptr)},btTranslationalLimitMotor.prototype.get_m_targetVelocity=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.get_m_maxMotorForce=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.set_m_damping=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1(this.ptr,e)},btTranslationalLimitMotor.prototype.get_m_upperLimit=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.set_m_accumulatedImpulse=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.__cache__={},Module.btTranslationalLimitMotor=btTranslationalLimitMotor,btTranslationalLimitMotor.prototype.set_m_upperLimit=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.__destroy__=function(){_emscripten_bind_btTranslationalLimitMotor____destroy___p0(this.ptr)},btTranslationalLimitMotor.prototype.set_m_normalCFM=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.get_m_damping=function(){return _emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0(this.ptr)},btTranslationalLimitMotor.prototype.get_m_normalCFM=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.set_m_targetVelocity=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.isLimited=function(e){return _emscripten_bind_btTranslationalLimitMotor__isLimited_p1(this.ptr,e)},btTranslationalLimitMotor.prototype.get_m_accumulatedImpulse=function(){return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0(this.ptr),Module.btVector3)},btTranslationalLimitMotor.prototype.set_m_lowerLimit=function(e){_emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1(this.ptr,e.ptr)},btTranslationalLimitMotor.prototype.get_m_limitSoftness=function(){return _emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0(this.ptr)},btTranslationalLimitMotor.prototype.solveLinearAxis=function(e,t,i,n,_,r,o,s,a){return _emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9(this.ptr,e,t,i.ptr,n.ptr,_.ptr,r.ptr,o,s.ptr,a.ptr)},btInternalTriangleIndexCallback.prototype.__cache__={},Module.btInternalTriangleIndexCallback=btInternalTriangleIndexCallback,btInternalTriangleIndexCallback.prototype.internalProcessTriangleIndex=function(e,t,i){_emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3(this.ptr,e.ptr,t,i)},btConvexInternalShape.prototype.__cache__={},Module.btConvexInternalShape=btConvexInternalShape,btConvexInternalShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConvexInternalShape.prototype.isCompound=function(){return _emscripten_bind_btConvexInternalShape__isCompound_p0(this.ptr)},btConvexInternalShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalShape.prototype.setUserPointer=function(e){_emscripten_bind_btConvexInternalShape__setUserPointer_p1(this.ptr,e)},btConvexInternalShape.prototype.getMarginNV=function(){return _emscripten_bind_btConvexInternalShape__getMarginNV_p0(this.ptr)},btConvexInternalShape.prototype.serialize=function(e,t){return _emscripten_bind_btConvexInternalShape__serialize_p2(this.ptr,e,t.ptr)},btConvexInternalShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConvexInternalShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConvexInternalShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btConvexInternalShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConvexInternalShape__isPolyhedral_p0(this.ptr)},btConvexInternalShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexInternalShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0(this.ptr)},btConvexInternalShape.prototype.getName=function(){return _emscripten_bind_btConvexInternalShape__getName_p0(this.ptr)},btConvexInternalShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btConvexInternalShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btConvexInternalShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConvexInternalShape__setLocalScaling_p1(this.ptr,e.ptr)},btConvexInternalShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConvexInternalShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexInternalShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1(this.ptr,e)},btConvexInternalShape.prototype.isConvex=function(){return _emscripten_bind_btConvexInternalShape__isConvex_p0(this.ptr)},btConvexInternalShape.prototype.isInfinite=function(){return _emscripten_bind_btConvexInternalShape__isInfinite_p0(this.ptr)},btConvexInternalShape.prototype.getUserPointer=function(){return _emscripten_bind_btConvexInternalShape__getUserPointer_p0(this.ptr)},btConvexInternalShape.prototype.isNonMoving=function(){return _emscripten_bind_btConvexInternalShape__isNonMoving_p0(this.ptr)},btConvexInternalShape.prototype.getMargin=function(){return _emscripten_bind_btConvexInternalShape__getMargin_p0(this.ptr)},btConvexInternalShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btConvexInternalShape.prototype.setMargin=function(e){_emscripten_bind_btConvexInternalShape__setMargin_p1(this.ptr,e)},btConvexInternalShape.prototype.isConvex2d=function(){return _emscripten_bind_btConvexInternalShape__isConvex2d_p0(this.ptr)},btConvexInternalShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btConvexInternalShape.prototype.isSoftBody=function(){return _emscripten_bind_btConvexInternalShape__isSoftBody_p0(this.ptr)},btConvexInternalShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0(this.ptr)},btConvexInternalShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btConvexInternalShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btConvexInternalShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConvexInternalShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConvexInternalShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0(this.ptr)},btConvexInternalShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConvexInternalShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConvexInternalShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btConvexInternalShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConvexInternalShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConvexInternalShape.prototype.isConcave=function(){return _emscripten_bind_btConvexInternalShape__isConcave_p0(this.ptr)},btConvexInternalShape.prototype.getShapeType=function(){return _emscripten_bind_btConvexInternalShape__getShapeType_p0(this.ptr)},btHashPtr.prototype.__destroy__=function(){_emscripten_bind_btHashPtr____destroy___p0(this.ptr)},btHashPtr.prototype.equals=function(e){return _emscripten_bind_btHashPtr__equals_p1(this.ptr,e.ptr)},btHashPtr.prototype.getHash=function(){return _emscripten_bind_btHashPtr__getHash_p0(this.ptr)},btHashPtr.prototype.__cache__={},Module.btHashPtr=btHashPtr,btHashPtr.prototype.getPointer=function(){return _emscripten_bind_btHashPtr__getPointer_p0(this.ptr)},btPairCachingGhostObject.prototype.removeOverlappingObjectInternal=function(e,t,i){void 0===i?_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2(this.ptr,e.ptr,t.ptr):_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPairCachingGhostObject.prototype.getFriction=function(){return _emscripten_bind_btPairCachingGhostObject__getFriction_p0(this.ptr)},btPairCachingGhostObject.prototype.setInterpolationLinearVelocity=function(e){_emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.getDeactivationTime=function(){return _emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0(this.ptr)},btPairCachingGhostObject.prototype.setCompanionId=function(e){_emscripten_bind_btPairCachingGhostObject__setCompanionId_p1(this.ptr,e)},btPairCachingGhostObject.prototype.setInterpolationAngularVelocity=function(e){_emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.__cache__={},Module.btPairCachingGhostObject=btPairCachingGhostObject,btPairCachingGhostObject.prototype.getCcdSweptSphereRadius=function(){return _emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0(this.ptr)},btPairCachingGhostObject.prototype.setFriction=function(e){_emscripten_bind_btPairCachingGhostObject__setFriction_p1(this.ptr,e)},btPairCachingGhostObject.prototype.internalSetExtensionPointer=function(e){_emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1(this.ptr,e)},btPairCachingGhostObject.prototype.setContactProcessingThreshold=function(e){_emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1(this.ptr,e)},btPairCachingGhostObject.prototype.setInterpolationWorldTransform=function(e){_emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.getInterpolationLinearVelocity=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0(this.ptr),Module.btVector3)},btPairCachingGhostObject.prototype.mergesSimulationIslands=function(){return _emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0(this.ptr)},btPairCachingGhostObject.prototype.setCollisionShape=function(e){_emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.setCcdMotionThreshold=function(e){_emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1(this.ptr,e)},btPairCachingGhostObject.prototype.getIslandTag=function(){return _emscripten_bind_btPairCachingGhostObject__getIslandTag_p0(this.ptr)},btPairCachingGhostObject.prototype.getNumOverlappingObjects=function(){return _emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0(this.ptr)},btPairCachingGhostObject.prototype.addOverlappingObjectInternal=function(e,t){void 0===t?_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1(this.ptr,e.ptr):_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2(this.ptr,e.ptr,t.ptr)},btPairCachingGhostObject.prototype.setUserPointer=function(e){_emscripten_bind_btPairCachingGhostObject__setUserPointer_p1(this.ptr,e)},btPairCachingGhostObject.prototype.checkCollideWith=function(e){return _emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.rayTest=function(e,t,i){_emscripten_bind_btPairCachingGhostObject__rayTest_p3(this.ptr,e.ptr,t.ptr,i)},btPairCachingGhostObject.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0(this.ptr)},btPairCachingGhostObject.prototype.getInterpolationAngularVelocity=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0(this.ptr),Module.btVector3)},btPairCachingGhostObject.prototype.forceActivationState=function(e){_emscripten_bind_btPairCachingGhostObject__forceActivationState_p1(this.ptr,e)},btPairCachingGhostObject.prototype.activate=function(e){void 0===e?_emscripten_bind_btPairCachingGhostObject__activate_p0(this.ptr):_emscripten_bind_btPairCachingGhostObject__activate_p1(this.ptr,e)},btPairCachingGhostObject.prototype.setIslandTag=function(e){_emscripten_bind_btPairCachingGhostObject__setIslandTag_p1(this.ptr,e)},btPairCachingGhostObject.prototype.setHitFraction=function(e){_emscripten_bind_btPairCachingGhostObject__setHitFraction_p1(this.ptr,e)},btPairCachingGhostObject.prototype.getInterpolationWorldTransform=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0(this.ptr),Module.btTransform)},btPairCachingGhostObject.prototype.getHitFraction=function(){return _emscripten_bind_btPairCachingGhostObject__getHitFraction_p0(this.ptr)},btPairCachingGhostObject.prototype.getOverlappingObject=function(e){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1(this.ptr,e),Module.btCollisionObject)},btPairCachingGhostObject.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4(this.ptr,e,t.ptr,i.ptr,n):_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5(this.ptr,e,t.ptr,i.ptr,n,_)},btPairCachingGhostObject.prototype.isStaticObject=function(){return _emscripten_bind_btPairCachingGhostObject__isStaticObject_p0(this.ptr)},btPairCachingGhostObject.prototype.getCollisionShape=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0(this.ptr),Module.btCollisionShape)},btPairCachingGhostObject.prototype.setAnisotropicFriction=function(e){_emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.getActivationState=function(){return _emscripten_bind_btPairCachingGhostObject__getActivationState_p0(this.ptr)},btPairCachingGhostObject.prototype.getBroadphaseHandle=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0(this.ptr),Module.btBroadphaseProxy)},btPairCachingGhostObject.prototype.getRestitution=function(){return _emscripten_bind_btPairCachingGhostObject__getRestitution_p0(this.ptr)},btPairCachingGhostObject.prototype.getUserPointer=function(){return _emscripten_bind_btPairCachingGhostObject__getUserPointer_p0(this.ptr)},btPairCachingGhostObject.prototype.setCcdSweptSphereRadius=function(e){_emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1(this.ptr,e)},btPairCachingGhostObject.prototype.getWorldTransform=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0(this.ptr),Module.btTransform)},btPairCachingGhostObject.prototype.getCcdSquareMotionThreshold=function(){return _emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0(this.ptr)},btPairCachingGhostObject.prototype.setWorldTransform=function(e){_emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.internalSetTemporaryCollisionShape=function(e){_emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.serialize=function(e,t){return _emscripten_bind_btPairCachingGhostObject__serialize_p2(this.ptr,e,t.ptr)},btPairCachingGhostObject.prototype.getCcdMotionThreshold=function(){return _emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0(this.ptr)},btPairCachingGhostObject.prototype.getCompanionId=function(){return _emscripten_bind_btPairCachingGhostObject__getCompanionId_p0(this.ptr)},btPairCachingGhostObject.prototype.serializeSingleObject=function(e){_emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.isActive=function(){return _emscripten_bind_btPairCachingGhostObject__isActive_p0(this.ptr)},btPairCachingGhostObject.prototype.getInternalType=function(){return _emscripten_bind_btPairCachingGhostObject__getInternalType_p0(this.ptr)},btPairCachingGhostObject.prototype.__destroy__=function(){_emscripten_bind_btPairCachingGhostObject____destroy___p0(this.ptr)},btPairCachingGhostObject.prototype.hasContactResponse=function(){return _emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0(this.ptr)},btPairCachingGhostObject.prototype.upcast=function(e){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__upcast_p1(e.ptr),Module.btGhostObject)},btPairCachingGhostObject.prototype.setActivationState=function(e){_emscripten_bind_btPairCachingGhostObject__setActivationState_p1(this.ptr,e)},btPairCachingGhostObject.prototype.getRootCollisionShape=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0(this.ptr),Module.btCollisionShape)},btPairCachingGhostObject.prototype.getContactProcessingThreshold=function(){return _emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0(this.ptr)},btPairCachingGhostObject.prototype.getCollisionFlags=function(){return _emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0(this.ptr)},btPairCachingGhostObject.prototype.getOverlappingPairCache=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0(this.ptr),Module.btHashedOverlappingPairCache)},btPairCachingGhostObject.prototype.getAnisotropicFriction=function(){return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0(this.ptr),Module.btVector3)},btPairCachingGhostObject.prototype.setDeactivationTime=function(e){_emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1(this.ptr,e)},btPairCachingGhostObject.prototype.internalGetExtensionPointer=function(){return _emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0(this.ptr)},btPairCachingGhostObject.prototype.setCollisionFlags=function(e){_emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1(this.ptr,e)},btPairCachingGhostObject.prototype.isStaticOrKinematicObject=function(){return _emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0(this.ptr)},btPairCachingGhostObject.prototype.setRestitution=function(e){_emscripten_bind_btPairCachingGhostObject__setRestitution_p1(this.ptr,e)},btPairCachingGhostObject.prototype.hasAnisotropicFriction=function(){return _emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0(this.ptr)},btPairCachingGhostObject.prototype.setBroadphaseHandle=function(e){_emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1(this.ptr,e.ptr)},btPairCachingGhostObject.prototype.isKinematicObject=function(){return _emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0(this.ptr)},btOverlapCallback.prototype.__cache__={},Module.btOverlapCallback=btOverlapCallback,btOverlapCallback.prototype.processOverlap=function(e){return _emscripten_bind_btOverlapCallback__processOverlap_p1(this.ptr,e.ptr)},btStaticPlaneShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btStaticPlaneShape.prototype.setUserPointer=function(e){_emscripten_bind_btStaticPlaneShape__setUserPointer_p1(this.ptr,e)},btStaticPlaneShape.prototype.serialize=function(e,t){return _emscripten_bind_btStaticPlaneShape__serialize_p2(this.ptr,e,t.ptr)},btStaticPlaneShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btStaticPlaneShape.prototype.processAllTriangles=function(e,t,i){_emscripten_bind_btStaticPlaneShape__processAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btStaticPlaneShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0(this.ptr)},btStaticPlaneShape.prototype.getName=function(){return _emscripten_bind_btStaticPlaneShape__getName_p0(this.ptr)},btStaticPlaneShape.prototype.isCompound=function(){return _emscripten_bind_btStaticPlaneShape__isCompound_p0(this.ptr)},btStaticPlaneShape.prototype.isPolyhedral=function(){return _emscripten_bind_btStaticPlaneShape__isPolyhedral_p0(this.ptr)},btStaticPlaneShape.prototype.getPlaneNormal=function(){return wrapPointer(_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0(this.ptr),Module.btVector3)},btStaticPlaneShape.prototype.setLocalScaling=function(e){_emscripten_bind_btStaticPlaneShape__setLocalScaling_p1(this.ptr,e.ptr)},btStaticPlaneShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btStaticPlaneShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btStaticPlaneShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1(this.ptr,e)},btStaticPlaneShape.prototype.isConvex=function(){return _emscripten_bind_btStaticPlaneShape__isConvex_p0(this.ptr)},btStaticPlaneShape.prototype.isInfinite=function(){return _emscripten_bind_btStaticPlaneShape__isInfinite_p0(this.ptr)},btStaticPlaneShape.prototype.getUserPointer=function(){return _emscripten_bind_btStaticPlaneShape__getUserPointer_p0(this.ptr)},btStaticPlaneShape.prototype.isNonMoving=function(){return _emscripten_bind_btStaticPlaneShape__isNonMoving_p0(this.ptr)},btStaticPlaneShape.prototype.getMargin=function(){return _emscripten_bind_btStaticPlaneShape__getMargin_p0(this.ptr)},btStaticPlaneShape.prototype.getPlaneConstant=function(){return _emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0(this.ptr)},btStaticPlaneShape.prototype.setMargin=function(e){_emscripten_bind_btStaticPlaneShape__setMargin_p1(this.ptr,e)},btStaticPlaneShape.prototype.isConvex2d=function(){return _emscripten_bind_btStaticPlaneShape__isConvex2d_p0(this.ptr)},btStaticPlaneShape.prototype.isSoftBody=function(){return _emscripten_bind_btStaticPlaneShape__isSoftBody_p0(this.ptr)},btStaticPlaneShape.prototype.__destroy__=function(){_emscripten_bind_btStaticPlaneShape____destroy___p0(this.ptr)},btStaticPlaneShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btStaticPlaneShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btStaticPlaneShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0(this.ptr)},btStaticPlaneShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1(this.ptr,e.ptr)},btStaticPlaneShape.prototype.__cache__={},Module.btStaticPlaneShape=btStaticPlaneShape,btStaticPlaneShape.prototype.isConcave=function(){return _emscripten_bind_btStaticPlaneShape__isConcave_p0(this.ptr)},btStaticPlaneShape.prototype.getShapeType=function(){return _emscripten_bind_btStaticPlaneShape__getShapeType_p0(this.ptr)},btOverlappingPairCache.prototype.__cache__={},Module.btOverlappingPairCache=btOverlappingPairCache,btOverlappingPairCache.prototype.sortOverlappingPairs=function(e){_emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1(this.ptr,e.ptr)},btOverlappingPairCache.prototype.setInternalGhostPairCallback=function(e){_emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1(this.ptr,e.ptr)},btOverlappingPairCache.prototype.addOverlappingPair=function(e,t){return wrapPointer(_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2(this.ptr,e.ptr,t.ptr),Module.btBroadphasePair)},btOverlappingPairCache.prototype.removeOverlappingPairsContainingProxy=function(e,t){_emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2(this.ptr,e.ptr,t.ptr)},btOverlappingPairCache.prototype.hasDeferredRemoval=function(){return _emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0(this.ptr)},btOverlappingPairCache.prototype.getOverlappingPairArray=function(){return _emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0(this.ptr)},btOverlappingPairCache.prototype.findPair=function(e,t){return wrapPointer(_emscripten_bind_btOverlappingPairCache__findPair_p2(this.ptr,e.ptr,t.ptr),Module.btBroadphasePair)},btOverlappingPairCache.prototype.cleanProxyFromPairs=function(e,t){_emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2(this.ptr,e.ptr,t.ptr)},btOverlappingPairCache.prototype.cleanOverlappingPair=function(e,t){_emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2(this.ptr,e.ptr,t.ptr)},btOverlappingPairCache.prototype.getNumOverlappingPairs=function(){return _emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0(this.ptr)},btOverlappingPairCache.prototype.removeOverlappingPair=function(e,t,i){return _emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btOverlappingPairCache.prototype.setOverlapFilterCallback=function(e){_emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1(this.ptr,e.ptr)},btOverlappingPairCache.prototype.getOverlappingPairArrayPtr=function(){return wrapPointer(_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0(this.ptr),Module.btBroadphasePair)},btOverlappingPairCache.prototype.processAllOverlappingPairs=function(e,t){_emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2(this.ptr,e.ptr,t.ptr)},btCollisionShape.prototype.__cache__={},Module.btCollisionShape=btCollisionShape,btCollisionShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCollisionShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCollisionShape.prototype.setUserPointer=function(e){_emscripten_bind_btCollisionShape__setUserPointer_p1(this.ptr,e)},btCollisionShape.prototype.serialize=function(e,t){return _emscripten_bind_btCollisionShape__serialize_p2(this.ptr,e,t.ptr)},btCollisionShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCollisionShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btCollisionShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0(this.ptr)},btCollisionShape.prototype.getName=function(){return _emscripten_bind_btCollisionShape__getName_p0(this.ptr)},btCollisionShape.prototype.isCompound=function(){return _emscripten_bind_btCollisionShape__isCompound_p0(this.ptr)},btCollisionShape.prototype.isPolyhedral=function(){return _emscripten_bind_btCollisionShape__isPolyhedral_p0(this.ptr)},btCollisionShape.prototype.setLocalScaling=function(e){_emscripten_bind_btCollisionShape__setLocalScaling_p1(this.ptr,e.ptr)},btCollisionShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btCollisionShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCollisionShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1(this.ptr,e)},btCollisionShape.prototype.isConvex=function(){return _emscripten_bind_btCollisionShape__isConvex_p0(this.ptr)},btCollisionShape.prototype.isInfinite=function(){return _emscripten_bind_btCollisionShape__isInfinite_p0(this.ptr)},btCollisionShape.prototype.getUserPointer=function(){return _emscripten_bind_btCollisionShape__getUserPointer_p0(this.ptr)},btCollisionShape.prototype.isNonMoving=function(){return _emscripten_bind_btCollisionShape__isNonMoving_p0(this.ptr)},btCollisionShape.prototype.getMargin=function(){return _emscripten_bind_btCollisionShape__getMargin_p0(this.ptr)},btCollisionShape.prototype.setMargin=function(e){_emscripten_bind_btCollisionShape__setMargin_p1(this.ptr,e)},btCollisionShape.prototype.isConvex2d=function(){return _emscripten_bind_btCollisionShape__isConvex2d_p0(this.ptr)},btCollisionShape.prototype.isSoftBody=function(){return _emscripten_bind_btCollisionShape__isSoftBody_p0(this.ptr)},btCollisionShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCollisionShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCollisionShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCollisionShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCollisionShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCollisionShape__getAngularMotionDisc_p0(this.ptr)},btCollisionShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btCollisionShape__serializeSingleShape_p1(this.ptr,e.ptr)},btCollisionShape.prototype.isConcave=function(){return _emscripten_bind_btCollisionShape__isConcave_p0(this.ptr)},btCollisionShape.prototype.getShapeType=function(){return _emscripten_bind_btCollisionShape__getShapeType_p0(this.ptr)},btGeneric6DofConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btGeneric6DofConstraint.prototype.buildJacobian=function(){_emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0(this.ptr)},btGeneric6DofConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btGeneric6DofConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btGeneric6DofConstraint__setParam_p3(this.ptr,e,t,i)},btGeneric6DofConstraint.prototype.getUid=function(){return _emscripten_bind_btGeneric6DofConstraint__getUid_p0(this.ptr)},btGeneric6DofConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.setEnabled=function(e){_emscripten_bind_btGeneric6DofConstraint__setEnabled_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btGeneric6DofConstraint.prototype.getRelativePivotPosition=function(e){return _emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btGeneric6DofConstraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_,r,o){_emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr)},btGeneric6DofConstraint.prototype.getCalculatedTransformA=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0(this.ptr),Module.btTransform)},btGeneric6DofConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0(this.ptr)},btGeneric6DofConstraint.prototype.__cache__={},Module.btGeneric6DofConstraint=btGeneric6DofConstraint,btGeneric6DofConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btGeneric6DofConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btGeneric6DofConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btGeneric6DofConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btGeneric6DofConstraint__getParam_p2(this.ptr,e,t)},btGeneric6DofConstraint.prototype.getInfo1=function(e){_emscripten_bind_btGeneric6DofConstraint__getInfo1_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.getInfo2=function(e){_emscripten_bind_btGeneric6DofConstraint__getInfo2_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.calcAnchorPos=function(){_emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0(this.ptr)},btGeneric6DofConstraint.prototype.getAngularLowerLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0(this.ptr)},btGeneric6DofConstraint.prototype.getAxis=function(e){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getAxis_p1(this.ptr,e),Module.btVector3)},btGeneric6DofConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0(this.ptr)},btGeneric6DofConstraint.prototype.isEnabled=function(){return _emscripten_bind_btGeneric6DofConstraint__isEnabled_p0(this.ptr)},btGeneric6DofConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getLinearUpperLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0(this.ptr)},btGeneric6DofConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.setUseFrameOffset=function(e){_emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0(this.ptr)},btGeneric6DofConstraint.prototype.getObjectType=function(){return _emscripten_bind_btGeneric6DofConstraint__getObjectType_p0(this.ptr)},btGeneric6DofConstraint.prototype.getRotationalLimitMotor=function(e){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1(this.ptr,e),Module.btRotationalLimitMotor)},btGeneric6DofConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btGeneric6DofConstraint__serialize_p2(this.ptr,e,t.ptr)},btGeneric6DofConstraint.prototype.setLinearLowerLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0(this.ptr)},btGeneric6DofConstraint.prototype.getLinearLowerLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.isLimited=function(e){return _emscripten_bind_btGeneric6DofConstraint__isLimited_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getUseFrameOffset=function(){return _emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0(this.ptr)},btGeneric6DofConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getCalculatedTransformB=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0(this.ptr),Module.btTransform)},btGeneric6DofConstraint.prototype.calculateTransforms=function(e,t){void 0===e?_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0(this.ptr):_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2(this.ptr,e.ptr,t.ptr)},btGeneric6DofConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.get_limit_motor_info2=function(e,t,i,n,_,r,o,s,a,p,l,d){return void 0===d?_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l):_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l,d)},btGeneric6DofConstraint.prototype.get_m_useSolveConstraintObsolete=function(){return _emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr)},btGeneric6DofConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0(this.ptr)},btGeneric6DofConstraint.prototype.setLimit=function(e,t,i){_emscripten_bind_btGeneric6DofConstraint__setLimit_p3(this.ptr,e,t,i)},btGeneric6DofConstraint.prototype.set_m_useSolveConstraintObsolete=function(e){_emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getTranslationalLimitMotor=function(){return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0(this.ptr),Module.btTranslationalLimitMotor)},btGeneric6DofConstraint.prototype.__destroy__=function(){_emscripten_bind_btGeneric6DofConstraint____destroy___p0(this.ptr)},btGeneric6DofConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btGeneric6DofConstraint.prototype.getAngle=function(e){return _emscripten_bind_btGeneric6DofConstraint__getAngle_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.updateRHS=function(e){_emscripten_bind_btGeneric6DofConstraint__updateRHS_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.getAngularUpperLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0(this.ptr)},btGeneric6DofConstraint.prototype.setAngularLowerLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0(this.ptr)},btGeneric6DofConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btGeneric6DofConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0(this.ptr)},btGeneric6DofConstraint.prototype.setFrames=function(e,t){_emscripten_bind_btGeneric6DofConstraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btGeneric6DofConstraint.prototype.setLinearUpperLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.setAngularUpperLimit=function(e){_emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofConstraint.prototype.setAxis=function(e,t){_emscripten_bind_btGeneric6DofConstraint__setAxis_p2(this.ptr,e.ptr,t.ptr)},btGeneric6DofConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1(this.ptr,e)},btGeneric6DofConstraint.prototype.testAngularLimitMotor=function(e){return _emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1(this.ptr,e)},btClock.prototype.reset=function(){_emscripten_bind_btClock__reset_p0(this.ptr)},btClock.prototype.__destroy__=function(){_emscripten_bind_btClock____destroy___p0(this.ptr)},btClock.prototype.getTimeMilliseconds=function(){return _emscripten_bind_btClock__getTimeMilliseconds_p0(this.ptr)},btClock.prototype.getTimeMicroseconds=function(){return _emscripten_bind_btClock__getTimeMicroseconds_p0(this.ptr)},btClock.prototype.__cache__={},Module.btClock=btClock,btClock.prototype.op_set=function(e){return wrapPointer(_emscripten_bind_btClock__op_set_p1(this.ptr,e.ptr),Module.btClock)},btTransform.prototype.setFromOpenGLMatrix=function(e){_emscripten_bind_btTransform__setFromOpenGLMatrix_p1(this.ptr,e)},btTransform.prototype.setBasis=function(e){_emscripten_bind_btTransform__setBasis_p1(this.ptr,e.ptr)},btTransform.prototype.getOrigin=function(){return wrapPointer(_emscripten_bind_btTransform__getOrigin_p0(this.ptr),Module.btVector3)},btTransform.prototype.deSerializeDouble=function(e){_emscripten_bind_btTransform__deSerializeDouble_p1(this.ptr,e.ptr)},btTransform.prototype.deSerializeFloat=function(e){_emscripten_bind_btTransform__deSerializeFloat_p1(this.ptr,e.ptr)},btTransform.prototype.getRotation=function(){return wrapPointer(_emscripten_bind_btTransform__getRotation_p0(this.ptr),Module.btQuaternion)},btTransform.prototype.inverse=function(){return wrapPointer(_emscripten_bind_btTransform__inverse_p0(this.ptr),Module.btTransform)},btTransform.prototype.getIdentity=function(){return wrapPointer(_emscripten_bind_btTransform__getIdentity_p0(),Module.btTransform)},btTransform.prototype.inverseTimes=function(e){return wrapPointer(_emscripten_bind_btTransform__inverseTimes_p1(this.ptr,e.ptr),Module.btTransform)},btTransform.prototype.op_mul=function(e){return wrapPointer(_emscripten_bind_btTransform__op_mul_p1(this.ptr,e.ptr),Module.btVector3)},btTransform.prototype.setRotation=function(e){_emscripten_bind_btTransform__setRotation_p1(this.ptr,e.ptr)},btTransform.prototype.setIdentity=function(){_emscripten_bind_btTransform__setIdentity_p0(this.ptr)},btTransform.prototype.op_set=function(e){return wrapPointer(_emscripten_bind_btTransform__op_set_p1(this.ptr,e.ptr),Module.btTransform)},btTransform.prototype.getOpenGLMatrix=function(e){_emscripten_bind_btTransform__getOpenGLMatrix_p1(this.ptr,e)},btTransform.prototype.serialize=function(e){_emscripten_bind_btTransform__serialize_p1(this.ptr,e.ptr)},btTransform.prototype.deSerialize=function(e){_emscripten_bind_btTransform__deSerialize_p1(this.ptr,e.ptr)},btTransform.prototype.invXform=function(e){return wrapPointer(_emscripten_bind_btTransform__invXform_p1(this.ptr,e.ptr),Module.btVector3)},btTransform.prototype.serializeFloat=function(e){_emscripten_bind_btTransform__serializeFloat_p1(this.ptr,e.ptr)},btTransform.prototype.mult=function(e,t){_emscripten_bind_btTransform__mult_p2(this.ptr,e.ptr,t.ptr)},btTransform.prototype.__destroy__=function(){_emscripten_bind_btTransform____destroy___p0(this.ptr)},btTransform.prototype.getBasis=function(){return wrapPointer(_emscripten_bind_btTransform__getBasis_p0(this.ptr),Module.btMatrix3x3)},btTransform.prototype.setOrigin=function(e){_emscripten_bind_btTransform__setOrigin_p1(this.ptr,e.ptr)},btTransform.prototype.__cache__={},Module.btTransform=btTransform,btRigidBodyConstructionInfo.prototype.get_m_restitution=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.get_m_additionalDamping=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_mass=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.set_m_additionalDamping=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.set_m_angularSleepingThreshold=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.set_m_angularDamping=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.get_m_linearSleepingThreshold=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_friction=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.get_m_linearDamping=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.get_m_angularDamping=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.get_m_mass=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_linearDamping=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.__cache__={},Module.btRigidBodyConstructionInfo=btRigidBodyConstructionInfo,btRigidBodyConstructionInfo.prototype.set_m_restitution=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.get_m_additionalAngularDampingFactor=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_startWorldTransform=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1(this.ptr,e.ptr)},btRigidBodyConstructionInfo.prototype.get_m_additionalAngularDampingThresholdSqr=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_collisionShape=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1(this.ptr,e.ptr)},btRigidBodyConstructionInfo.prototype.set_m_additionalAngularDampingThresholdSqr=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.set_m_localInertia=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1(this.ptr,e.ptr)},btRigidBodyConstructionInfo.prototype.set_m_additionalLinearDampingThresholdSqr=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.get_m_collisionShape=function(){return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0(this.ptr),Module.btCollisionShape)},btRigidBodyConstructionInfo.prototype.set_m_motionState=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1(this.ptr,e.ptr)},btRigidBodyConstructionInfo.prototype.get_m_friction=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_linearSleepingThreshold=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.get_m_startWorldTransform=function(){return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0(this.ptr),Module.btTransform)},btRigidBodyConstructionInfo.prototype.get_m_localInertia=function(){return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0(this.ptr),Module.btVector3)},btRigidBodyConstructionInfo.prototype.get_m_motionState=function(){return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0(this.ptr),Module.btMotionState)},btRigidBodyConstructionInfo.prototype.__destroy__=function(){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0(this.ptr)},btRigidBodyConstructionInfo.prototype.get_m_additionalDampingFactor=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.get_m_additionalLinearDampingThresholdSqr=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_additionalDampingFactor=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1(this.ptr,e)},btRigidBodyConstructionInfo.prototype.get_m_angularSleepingThreshold=function(){return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0(this.ptr)},btRigidBodyConstructionInfo.prototype.set_m_additionalAngularDampingFactor=function(e){_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1(this.ptr,e)},CProfileNode.prototype.Reset=function(){_emscripten_bind_CProfileNode__Reset_p0(this.ptr)},CProfileNode.prototype.__destroy__=function(){_emscripten_bind_CProfileNode____destroy___p0(this.ptr)},CProfileNode.prototype.Return=function(){return _emscripten_bind_CProfileNode__Return_p0(this.ptr)},CProfileNode.prototype.Get_Sub_Node=function(e){var t=Runtime.stackSave();try{return wrapPointer(_emscripten_bind_CProfileNode__Get_Sub_Node_p1(this.ptr,ensureString(e)),Module.CProfileNode)}finally{Runtime.stackRestore(t)}},CProfileNode.prototype.CleanupMemory=function(){_emscripten_bind_CProfileNode__CleanupMemory_p0(this.ptr)},CProfileNode.prototype.Get_Parent=function(){return wrapPointer(_emscripten_bind_CProfileNode__Get_Parent_p0(this.ptr),Module.CProfileNode)},CProfileNode.prototype.Get_Total_Calls=function(){return _emscripten_bind_CProfileNode__Get_Total_Calls_p0(this.ptr)},CProfileNode.prototype.Get_Name=function(){return _emscripten_bind_CProfileNode__Get_Name_p0(this.ptr)},CProfileNode.prototype.Get_Total_Time=function(){return _emscripten_bind_CProfileNode__Get_Total_Time_p0(this.ptr)},CProfileNode.prototype.Get_Sibling=function(){return wrapPointer(_emscripten_bind_CProfileNode__Get_Sibling_p0(this.ptr),Module.CProfileNode)},CProfileNode.prototype.Call=function(){_emscripten_bind_CProfileNode__Call_p0(this.ptr)},CProfileNode.prototype.Get_Child=function(){return wrapPointer(_emscripten_bind_CProfileNode__Get_Child_p0(this.ptr),Module.CProfileNode)},CProfileNode.prototype.__cache__={},Module.CProfileNode=CProfileNode,ClosestPointInput.prototype.set_m_transformB=function(e){_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1(this.ptr,e.ptr)},ClosestPointInput.prototype.__cache__={},Module.ClosestPointInput=ClosestPointInput,ClosestPointInput.prototype.get_m_maximumDistanceSquared=function(){return _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0(this.ptr)},ClosestPointInput.prototype.set_m_transformA=function(e){_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1(this.ptr,e.ptr)},ClosestPointInput.prototype.get_m_transformA=function(){return wrapPointer(_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0(this.ptr),Module.btTransform)},ClosestPointInput.prototype.get_m_transformB=function(){return wrapPointer(_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0(this.ptr),Module.btTransform)},ClosestPointInput.prototype.__destroy__=function(){_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0(this.ptr)},ClosestPointInput.prototype.set_m_stackAlloc=function(e){_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1(this.ptr,e.ptr)},ClosestPointInput.prototype.get_m_stackAlloc=function(){return wrapPointer(_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0(this.ptr),Module.btStackAlloc)},ClosestPointInput.prototype.set_m_maximumDistanceSquared=function(e){_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1(this.ptr,e)},btBvhTriangleMeshShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btBvhTriangleMeshShape.prototype.getLocalAabbMax=function(){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0(this.ptr),Module.btVector3)},btBvhTriangleMeshShape.prototype.__cache__={},Module.btBvhTriangleMeshShape=btBvhTriangleMeshShape,btBvhTriangleMeshShape.prototype.serializeSingleTriangleInfoMap=function(e){_emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1(this.ptr,e.ptr)},btBvhTriangleMeshShape.prototype.serialize=function(e,t){return _emscripten_bind_btBvhTriangleMeshShape__serialize_p2(this.ptr,e,t.ptr)},btBvhTriangleMeshShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btBvhTriangleMeshShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btBvhTriangleMeshShape.prototype.getOwnsBvh=function(){return _emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0(this.ptr)},btBvhTriangleMeshShape.prototype.getMeshInterface=function(){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0(this.ptr),Module.btStridingMeshInterface)},btBvhTriangleMeshShape.prototype.processAllTriangles=function(e,t,i){_emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBvhTriangleMeshShape.prototype.refitTree=function(e,t){_emscripten_bind_btBvhTriangleMeshShape__refitTree_p2(this.ptr,e.ptr,t.ptr)},btBvhTriangleMeshShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0(this.ptr)},btBvhTriangleMeshShape.prototype.setUserPointer=function(e){_emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1(this.ptr,e)},btBvhTriangleMeshShape.prototype.performRaycast=function(e,t,i){_emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBvhTriangleMeshShape.prototype.setTriangleInfoMap=function(e){_emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1(this.ptr,e.ptr)},btBvhTriangleMeshShape.prototype.usesQuantizedAabbCompression=function(){return _emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0(this.ptr)},btBvhTriangleMeshShape.prototype.getName=function(){return _emscripten_bind_btBvhTriangleMeshShape__getName_p0(this.ptr)},btBvhTriangleMeshShape.prototype.getTriangleInfoMap=function(){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0(this.ptr),Module.btTriangleInfoMap)},btBvhTriangleMeshShape.prototype.isCompound=function(){return _emscripten_bind_btBvhTriangleMeshShape__isCompound_p0(this.ptr)},btBvhTriangleMeshShape.prototype.isPolyhedral=function(){return _emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0(this.ptr)},btBvhTriangleMeshShape.prototype.setLocalScaling=function(e){_emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1(this.ptr,e.ptr)},btBvhTriangleMeshShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btBvhTriangleMeshShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBvhTriangleMeshShape.prototype.getOptimizedBvh=function(){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0(this.ptr),Module.btOptimizedBvh)},btBvhTriangleMeshShape.prototype.getLocalAabbMin=function(){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0(this.ptr),Module.btVector3)},btBvhTriangleMeshShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1(this.ptr,e)},btBvhTriangleMeshShape.prototype.isConvex=function(){return _emscripten_bind_btBvhTriangleMeshShape__isConvex_p0(this.ptr)},btBvhTriangleMeshShape.prototype.isInfinite=function(){return _emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0(this.ptr)},btBvhTriangleMeshShape.prototype.buildOptimizedBvh=function(){_emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0(this.ptr)},btBvhTriangleMeshShape.prototype.isConcave=function(){return _emscripten_bind_btBvhTriangleMeshShape__isConcave_p0(this.ptr)},btBvhTriangleMeshShape.prototype.getUserPointer=function(){return _emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0(this.ptr)},btBvhTriangleMeshShape.prototype.isNonMoving=function(){return _emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0(this.ptr)},btBvhTriangleMeshShape.prototype.getMargin=function(){return _emscripten_bind_btBvhTriangleMeshShape__getMargin_p0(this.ptr)},btBvhTriangleMeshShape.prototype.recalcLocalAabb=function(){_emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0(this.ptr)},btBvhTriangleMeshShape.prototype.setMargin=function(e){_emscripten_bind_btBvhTriangleMeshShape__setMargin_p1(this.ptr,e)},btBvhTriangleMeshShape.prototype.partialRefitTree=function(e,t){_emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2(this.ptr,e.ptr,t.ptr)},btBvhTriangleMeshShape.prototype.performConvexcast=function(e,t,i,n,_){_emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btBvhTriangleMeshShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btBvhTriangleMeshShape.prototype.isSoftBody=function(){return _emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0(this.ptr)},btBvhTriangleMeshShape.prototype.__destroy__=function(){_emscripten_bind_btBvhTriangleMeshShape____destroy___p0(this.ptr)},btBvhTriangleMeshShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btBvhTriangleMeshShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btBvhTriangleMeshShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0(this.ptr)},btBvhTriangleMeshShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1(this.ptr,e.ptr)},btBvhTriangleMeshShape.prototype.getShapeType=function(){return _emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0(this.ptr)},btBvhTriangleMeshShape.prototype.serializeSingleBvh=function(e){_emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1(this.ptr,e.ptr)},btBvhTriangleMeshShape.prototype.setOptimizedBvh=function(e,t){void 0===t?_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1(this.ptr,e.ptr):_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2(this.ptr,e.ptr,t.ptr)},btBvhTriangleMeshShape.prototype.isConvex2d=function(){return _emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0(this.ptr)},btOverlapFilterCallback.prototype.__cache__={},Module.btOverlapFilterCallback=btOverlapFilterCallback,btOverlapFilterCallback.prototype.needBroadphaseCollision=function(e,t){return _emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2(this.ptr,e.ptr,t.ptr)},btActivatingCollisionAlgorithm.prototype.__cache__={},Module.btActivatingCollisionAlgorithm=btActivatingCollisionAlgorithm,btActivatingCollisionAlgorithm.prototype.getAllContactManifolds=function(e){_emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1(this.ptr,e)},btActivatingCollisionAlgorithm.prototype.calculateTimeOfImpact=function(e,t,i,n){return _emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btActivatingCollisionAlgorithm.prototype.processCollision=function(e,t,i,n){_emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btSliderConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btSliderConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btSliderConstraint.prototype.getAngDepth=function(){return _emscripten_bind_btSliderConstraint__getAngDepth_p0(this.ptr)},btSliderConstraint.prototype.buildJacobian=function(){_emscripten_bind_btSliderConstraint__buildJacobian_p0(this.ptr)},btSliderConstraint.prototype.getTargetAngMotorVelocity=function(){return _emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0(this.ptr)},btSliderConstraint.prototype.getAngularPos=function(){return _emscripten_bind_btSliderConstraint__getAngularPos_p0(this.ptr)},btSliderConstraint.prototype.setRestitutionLimAng=function(e){_emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1(this.ptr,e)},btSliderConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btSliderConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btSliderConstraint__getParam_p2(this.ptr,e,t)},btSliderConstraint.prototype.getInfo1=function(e){_emscripten_bind_btSliderConstraint__getInfo1_p1(this.ptr,e.ptr)},btSliderConstraint.prototype.getInfo2=function(e){_emscripten_bind_btSliderConstraint__getInfo2_p1(this.ptr,e.ptr)},btSliderConstraint.prototype.isEnabled=function(){return _emscripten_bind_btSliderConstraint__isEnabled_p0(this.ptr)},btSliderConstraint.prototype.getPoweredLinMotor=function(){return _emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0(this.ptr)},btSliderConstraint.prototype.setUseFrameOffset=function(e){_emscripten_bind_btSliderConstraint__setUseFrameOffset_p1(this.ptr,e)},btSliderConstraint.prototype.setSoftnessLimLin=function(e){_emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1(this.ptr,e)},btSliderConstraint.prototype.getAncorInA=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getAncorInA_p0(this.ptr),Module.btVector3)},btSliderConstraint.prototype.getAncorInB=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getAncorInB_p0(this.ptr),Module.btVector3)},btSliderConstraint.prototype.setDampingDirAng=function(e){_emscripten_bind_btSliderConstraint__setDampingDirAng_p1(this.ptr,e)},btSliderConstraint.prototype.getSolveLinLimit=function(){return _emscripten_bind_btSliderConstraint__getSolveLinLimit_p0(this.ptr)},btSliderConstraint.prototype.getUseFrameOffset=function(){return _emscripten_bind_btSliderConstraint__getUseFrameOffset_p0(this.ptr)},btSliderConstraint.prototype.getMaxAngMotorForce=function(){return _emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0(this.ptr)},btSliderConstraint.prototype.setRestitutionDirAng=function(e){_emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1(this.ptr,e)},btSliderConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btSliderConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btSliderConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btSliderConstraint__needsFeedback_p0(this.ptr)},btSliderConstraint.prototype.getMaxLinMotorForce=function(){return _emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0(this.ptr)},btSliderConstraint.prototype.getObjectType=function(){return _emscripten_bind_btSliderConstraint__getObjectType_p0(this.ptr)},btSliderConstraint.prototype.setDampingOrthoLin=function(e){_emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1(this.ptr,e)},btSliderConstraint.prototype.getSolveAngLimit=function(){return _emscripten_bind_btSliderConstraint__getSolveAngLimit_p0(this.ptr)},btSliderConstraint.prototype.setPoweredAngMotor=function(e){_emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1(this.ptr,e)},btSliderConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btSliderConstraint__enableFeedback_p1(this.ptr,e)},btSliderConstraint.prototype.getLinearPos=function(){return _emscripten_bind_btSliderConstraint__getLinearPos_p0(this.ptr)},btSliderConstraint.prototype.getCalculatedTransformB=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0(this.ptr),Module.btTransform)},btSliderConstraint.prototype.getCalculatedTransformA=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0(this.ptr),Module.btTransform)},btSliderConstraint.prototype.testAngLimits=function(){_emscripten_bind_btSliderConstraint__testAngLimits_p0(this.ptr)},btSliderConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btSliderConstraint__get_m_objectType_p0(this.ptr)},btSliderConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btSliderConstraint.prototype.setDampingDirLin=function(e){_emscripten_bind_btSliderConstraint__setDampingDirLin_p1(this.ptr,e)},btSliderConstraint.prototype.getUpperAngLimit=function(){return _emscripten_bind_btSliderConstraint__getUpperAngLimit_p0(this.ptr)},btSliderConstraint.prototype.setUpperAngLimit=function(e){_emscripten_bind_btSliderConstraint__setUpperAngLimit_p1(this.ptr,e)},btSliderConstraint.prototype.getRestitutionLimAng=function(){return _emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0(this.ptr)},btSliderConstraint.prototype.getSoftnessOrthoLin=function(){return _emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0(this.ptr)},btSliderConstraint.prototype.setLowerLinLimit=function(e){_emscripten_bind_btSliderConstraint__setLowerLinLimit_p1(this.ptr,e)},btSliderConstraint.prototype.getRestitutionDirLin=function(){return _emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0(this.ptr)},btSliderConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btSliderConstraint.prototype.setRestitutionLimLin=function(e){_emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1(this.ptr,e)},btSliderConstraint.prototype.getUid=function(){return _emscripten_bind_btSliderConstraint__getUid_p0(this.ptr)},btSliderConstraint.prototype.setTargetLinMotorVelocity=function(e){_emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1(this.ptr,e)},btSliderConstraint.prototype.getUpperLinLimit=function(){return _emscripten_bind_btSliderConstraint__getUpperLinLimit_p0(this.ptr)},btSliderConstraint.prototype.setMaxLinMotorForce=function(e){_emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1(this.ptr,e)},btSliderConstraint.prototype.getLowerAngLimit=function(){return _emscripten_bind_btSliderConstraint__getLowerAngLimit_p0(this.ptr)},btSliderConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btSliderConstraint.prototype.setSoftnessDirLin=function(e){_emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1(this.ptr,e)},btSliderConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1(this.ptr,e)},btSliderConstraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_,r,o){_emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r,o)},btSliderConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btSliderConstraint__set_m_objectType_p1(this.ptr,e)},btSliderConstraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btSliderConstraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btSliderConstraint.prototype.getDampingDirAng=function(){return _emscripten_bind_btSliderConstraint__getDampingDirAng_p0(this.ptr)},btSliderConstraint.prototype.getRestitutionLimLin=function(){return _emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0(this.ptr)},btSliderConstraint.prototype.getSoftnessOrthoAng=function(){return _emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0(this.ptr)},btSliderConstraint.prototype.setSoftnessOrthoLin=function(e){_emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1(this.ptr,e)},btSliderConstraint.prototype.setSoftnessLimAng=function(e){_emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1(this.ptr,e)},btSliderConstraint.prototype.getDampingDirLin=function(){return _emscripten_bind_btSliderConstraint__getDampingDirLin_p0(this.ptr)},btSliderConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btSliderConstraint__getDbgDrawSize_p0(this.ptr)},btSliderConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0(this.ptr)},btSliderConstraint.prototype.getSoftnessLimLin=function(){return _emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0(this.ptr)},btSliderConstraint.prototype.setEnabled=function(e){_emscripten_bind_btSliderConstraint__setEnabled_p1(this.ptr,e)},btSliderConstraint.prototype.setPoweredLinMotor=function(e){_emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1(this.ptr,e)},btSliderConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btSliderConstraint__setDbgDrawSize_p1(this.ptr,e)},btSliderConstraint.prototype.calculateTransforms=function(e,t){_emscripten_bind_btSliderConstraint__calculateTransforms_p2(this.ptr,e.ptr,t.ptr)},btSliderConstraint.prototype.getLinDepth=function(){return _emscripten_bind_btSliderConstraint__getLinDepth_p0(this.ptr)},btSliderConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btSliderConstraint__serialize_p2(this.ptr,e,t.ptr)},btSliderConstraint.prototype.getDampingLimLin=function(){return _emscripten_bind_btSliderConstraint__getDampingLimLin_p0(this.ptr)},btSliderConstraint.prototype.getRestitutionDirAng=function(){return _emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0(this.ptr)},btSliderConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btSliderConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btSliderConstraint__getAppliedImpulse_p0(this.ptr)},btSliderConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btSliderConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btSliderConstraint__setParam_p3(this.ptr,e,t,i)},btSliderConstraint.prototype.getDampingLimAng=function(){return _emscripten_bind_btSliderConstraint__getDampingLimAng_p0(this.ptr)},btSliderConstraint.prototype.setRestitutionOrthoLin=function(e){_emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1(this.ptr,e)},btSliderConstraint.prototype.setRestitutionDirLin=function(e){_emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1(this.ptr,e)},btSliderConstraint.prototype.setDampingLimAng=function(e){_emscripten_bind_btSliderConstraint__setDampingLimAng_p1(this.ptr,e)},btSliderConstraint.prototype.__cache__={},Module.btSliderConstraint=btSliderConstraint,btSliderConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btSliderConstraint__getUserConstraintId_p0(this.ptr)},btSliderConstraint.prototype.setSoftnessDirAng=function(e){_emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1(this.ptr,e)},btSliderConstraint.prototype.setUpperLinLimit=function(e){_emscripten_bind_btSliderConstraint__setUpperLinLimit_p1(this.ptr,e)},btSliderConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0(this.ptr)},btSliderConstraint.prototype.setTargetAngMotorVelocity=function(e){_emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1(this.ptr,e)},btSliderConstraint.prototype.getSoftnessDirAng=function(){return _emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0(this.ptr)},btSliderConstraint.prototype.setMaxAngMotorForce=function(e){_emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1(this.ptr,e)},btSliderConstraint.prototype.setLowerAngLimit=function(e){_emscripten_bind_btSliderConstraint__setLowerAngLimit_p1(this.ptr,e)},btSliderConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btSliderConstraint__setUserConstraintId_p1(this.ptr,e)},btSliderConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btSliderConstraint__getConstraintType_p0(this.ptr)},btSliderConstraint.prototype.getPoweredAngMotor=function(){return _emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0(this.ptr)},btSliderConstraint.prototype.getDampingOrthoAng=function(){return _emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0(this.ptr)},btSliderConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btSliderConstraint.prototype.getRestitutionOrthoLin=function(){return _emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0(this.ptr)},btSliderConstraint.prototype.getTargetLinMotorVelocity=function(){return _emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0(this.ptr)},btSliderConstraint.prototype.testLinLimits=function(){_emscripten_bind_btSliderConstraint__testLinLimits_p0(this.ptr)},btSliderConstraint.prototype.getLowerLinLimit=function(){return _emscripten_bind_btSliderConstraint__getLowerLinLimit_p0(this.ptr)},btSliderConstraint.prototype.setDampingOrthoAng=function(e){_emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1(this.ptr,e)},btSliderConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btSliderConstraint__getUserConstraintType_p0(this.ptr)},btSliderConstraint.prototype.setRestitutionOrthoAng=function(e){_emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1(this.ptr,e)},btSliderConstraint.prototype.getRestitutionOrthoAng=function(){return _emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0(this.ptr)},btSliderConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btSliderConstraint__setUserConstraintType_p1(this.ptr,e)},btSliderConstraint.prototype.getDampingOrthoLin=function(){return _emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0(this.ptr)},btSliderConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0(this.ptr)},btSliderConstraint.prototype.getSoftnessLimAng=function(){return _emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0(this.ptr)},btSliderConstraint.prototype.__destroy__=function(){_emscripten_bind_btSliderConstraint____destroy___p0(this.ptr)},btSliderConstraint.prototype.setSoftnessOrthoAng=function(e){_emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1(this.ptr,e)},btSliderConstraint.prototype.setDampingLimLin=function(e){_emscripten_bind_btSliderConstraint__setDampingLimLin_p1(this.ptr,e)},btSliderConstraint.prototype.setFrames=function(e,t){_emscripten_bind_btSliderConstraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btSliderConstraint.prototype.getSoftnessDirLin=function(){return _emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0(this.ptr)},btSliderConstraint.prototype.getUseLinearReferenceFrameA=function(){return _emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0(this.ptr)},btVehicleTuning.prototype.set_m_suspensionCompression=function(e){_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1(this.ptr,e)},btVehicleTuning.prototype.set_m_maxSuspensionTravelCm=function(e){_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1(this.ptr,e)},btVehicleTuning.prototype.get_m_maxSuspensionTravelCm=function(){return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0(this.ptr)},btVehicleTuning.prototype.set_m_suspensionStiffness=function(e){_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1(this.ptr,e)},btVehicleTuning.prototype.get_m_frictionSlip=function(){return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0(this.ptr)},btVehicleTuning.prototype.get_m_suspensionDamping=function(){return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0(this.ptr)},btVehicleTuning.prototype.get_m_suspensionStiffness=function(){return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0(this.ptr)},btVehicleTuning.prototype.get_m_suspensionCompression=function(){return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0(this.ptr)},btVehicleTuning.prototype.set_m_suspensionDamping=function(e){_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1(this.ptr,e)},btVehicleTuning.prototype.__cache__={},Module.btVehicleTuning=btVehicleTuning,btVehicleTuning.prototype.__destroy__=function(){_emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0(this.ptr)},btVehicleTuning.prototype.set_m_frictionSlip=function(e){_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1(this.ptr,e)},btVehicleTuning.prototype.set_m_maxSuspensionForce=function(e){_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1(this.ptr,e)},btVehicleTuning.prototype.get_m_maxSuspensionForce=function(){return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0(this.ptr)},btContactConstraint.prototype.__cache__={},Module.btContactConstraint=btContactConstraint,btContactConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btContactConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btContactConstraint.prototype.buildJacobian=function(){_emscripten_bind_btContactConstraint__buildJacobian_p0(this.ptr)},btContactConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btContactConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btContactConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btContactConstraint__set_m_objectType_p1(this.ptr,e)},btContactConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btContactConstraint__serialize_p2(this.ptr,e,t.ptr)},btContactConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btContactConstraint__enableFeedback_p1(this.ptr,e)},btContactConstraint.prototype.getContactManifold=function(){return wrapPointer(_emscripten_bind_btContactConstraint__getContactManifold_p0(this.ptr),Module.btPersistentManifold)},btContactConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btContactConstraint__getUserConstraintId_p0(this.ptr)},btContactConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btContactConstraint__get_m_objectType_p0(this.ptr)},btContactConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btContactConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btContactConstraint__setParam_p3(this.ptr,e,t,i)},btContactConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btContactConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btContactConstraint__getParam_p2(this.ptr,e,t)},btContactConstraint.prototype.getInfo1=function(e){_emscripten_bind_btContactConstraint__getInfo1_p1(this.ptr,e.ptr)},btContactConstraint.prototype.getInfo2=function(e){_emscripten_bind_btContactConstraint__getInfo2_p1(this.ptr,e.ptr)},btContactConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btContactConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0(this.ptr)},btContactConstraint.prototype.isEnabled=function(){return _emscripten_bind_btContactConstraint__isEnabled_p0(this.ptr)},btContactConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btContactConstraint__setUserConstraintId_p1(this.ptr,e)},btContactConstraint.prototype.setContactManifold=function(e){_emscripten_bind_btContactConstraint__setContactManifold_p1(this.ptr,e.ptr)},btContactConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btContactConstraint__getConstraintType_p0(this.ptr)},btContactConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btContactConstraint__getDbgDrawSize_p0(this.ptr)},btContactConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btContactConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btContactConstraint__needsFeedback_p0(this.ptr)},btContactConstraint.prototype.getObjectType=function(){return _emscripten_bind_btContactConstraint__getObjectType_p0(this.ptr)},btContactConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btContactConstraint__getUserConstraintPtr_p0(this.ptr)},btContactConstraint.prototype.setEnabled=function(e){_emscripten_bind_btContactConstraint__setEnabled_p1(this.ptr,e)},btContactConstraint.prototype.getUid=function(){return _emscripten_bind_btContactConstraint__getUid_p0(this.ptr)},btContactConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btContactConstraint__setDbgDrawSize_p1(this.ptr,e)},btContactConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btContactConstraint__setUserConstraintType_p1(this.ptr,e)},btContactConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0(this.ptr)},btContactConstraint.prototype.__destroy__=function(){_emscripten_bind_btContactConstraint____destroy___p0(this.ptr)},btContactConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btContactConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btContactConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btContactConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btContactConstraint__getUserConstraintType_p0(this.ptr)},btContactConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btContactConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btContactConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btContactConstraint__getAppliedImpulse_p0(this.ptr)},btContactConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btContactConstraint__setUserConstraintPtr_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_contactCFM1=function(){return _emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0(this.ptr)},btManifoldPoint.prototype.get_m_contactCFM2=function(){return _emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0(this.ptr)},btManifoldPoint.prototype.set_m_appliedImpulse=function(e){_emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_contactCFM1=function(e){_emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_combinedFriction=function(){return _emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0(this.ptr)},btManifoldPoint.prototype.__cache__={},Module.btManifoldPoint=btManifoldPoint,btManifoldPoint.prototype.get_m_partId0=function(){return _emscripten_bind_btManifoldPoint__get_m_partId0_p0(this.ptr)},btManifoldPoint.prototype.get_m_partId1=function(){return _emscripten_bind_btManifoldPoint__get_m_partId1_p0(this.ptr)},btManifoldPoint.prototype.get_m_normalWorldOnB=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.set_m_combinedFriction=function(e){_emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_lateralFrictionDir1=function(e){_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.get_m_index1=function(){return _emscripten_bind_btManifoldPoint__get_m_index1_p0(this.ptr)},btManifoldPoint.prototype.get_m_index0=function(){return _emscripten_bind_btManifoldPoint__get_m_index0_p0(this.ptr)},btManifoldPoint.prototype.set_m_userPersistentData=function(e){_emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_contactCFM2=function(e){_emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_appliedImpulse=function(){return _emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0(this.ptr)},btManifoldPoint.prototype.get_m_userPersistentData=function(){return _emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0(this.ptr)},btManifoldPoint.prototype.getDistance=function(){return _emscripten_bind_btManifoldPoint__getDistance_p0(this.ptr)},btManifoldPoint.prototype.get_m_lifeTime=function(){return _emscripten_bind_btManifoldPoint__get_m_lifeTime_p0(this.ptr)},btManifoldPoint.prototype.getPositionWorldOnB=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.getPositionWorldOnA=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0(this.ptr),Module.btVector3)};btManifoldPoint.prototype.set_m_partId0=function(e){_emscripten_bind_btManifoldPoint__set_m_partId0_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_partId1=function(e){_emscripten_bind_btManifoldPoint__set_m_partId1_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_positionWorldOnA=function(e){_emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.setDistance=function(e){_emscripten_bind_btManifoldPoint__setDistance_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_positionWorldOnB=function(e){_emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.get_m_appliedImpulseLateral1=function(){return _emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0(this.ptr)},btManifoldPoint.prototype.get_m_appliedImpulseLateral2=function(){return _emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0(this.ptr)},btManifoldPoint.prototype.__destroy__=function(){_emscripten_bind_btManifoldPoint____destroy___p0(this.ptr)},btManifoldPoint.prototype.set_m_lateralFrictionInitialized=function(e){_emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1(this.ptr,e)},btManifoldPoint.prototype.getLifeTime=function(){return _emscripten_bind_btManifoldPoint__getLifeTime_p0(this.ptr)},btManifoldPoint.prototype.set_m_index0=function(e){_emscripten_bind_btManifoldPoint__set_m_index0_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_contactMotion1=function(){return _emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0(this.ptr)},btManifoldPoint.prototype.get_m_contactMotion2=function(){return _emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0(this.ptr)},btManifoldPoint.prototype.set_m_index1=function(e){_emscripten_bind_btManifoldPoint__set_m_index1_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_lateralFrictionDir1=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.set_m_normalWorldOnB=function(e){_emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.set_m_combinedRestitution=function(e){_emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_positionWorldOnA=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.get_m_lateralFrictionDir2=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.get_m_positionWorldOnB=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.set_m_lateralFrictionDir2=function(e){_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.set_m_appliedImpulseLateral1=function(e){_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_appliedImpulseLateral2=function(e){_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_lateralFrictionInitialized=function(){return _emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0(this.ptr)},btManifoldPoint.prototype.set_m_localPointB=function(e){_emscripten_bind_btManifoldPoint__set_m_localPointB_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.set_m_localPointA=function(e){_emscripten_bind_btManifoldPoint__set_m_localPointA_p1(this.ptr,e.ptr)},btManifoldPoint.prototype.get_m_combinedRestitution=function(){return _emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0(this.ptr)},btManifoldPoint.prototype.set_m_contactMotion1=function(e){_emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1(this.ptr,e)},btManifoldPoint.prototype.set_m_contactMotion2=function(e){_emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_localPointB=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_localPointB_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.get_m_localPointA=function(){return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_localPointA_p0(this.ptr),Module.btVector3)},btManifoldPoint.prototype.set_m_distance1=function(e){_emscripten_bind_btManifoldPoint__set_m_distance1_p1(this.ptr,e)},btManifoldPoint.prototype.get_m_distance1=function(){return _emscripten_bind_btManifoldPoint__get_m_distance1_p0(this.ptr)},btManifoldPoint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btManifoldPoint__getAppliedImpulse_p0(this.ptr)},btManifoldPoint.prototype.set_m_lifeTime=function(e){_emscripten_bind_btManifoldPoint__set_m_lifeTime_p1(this.ptr,e)},btStridingMeshInterface.prototype.__cache__={},Module.btStridingMeshInterface=btStridingMeshInterface,btStridingMeshInterface.prototype.getLockedReadOnlyVertexIndexBase=function(e,t,i,n,_,r,o,s,a){void 0===a?_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8(this.ptr,e,t,i,n,_,r,o,s):_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btStridingMeshInterface.prototype.preallocateIndices=function(e){_emscripten_bind_btStridingMeshInterface__preallocateIndices_p1(this.ptr,e)},btStridingMeshInterface.prototype.calculateAabbBruteForce=function(e,t){_emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2(this.ptr,e.ptr,t.ptr)},btStridingMeshInterface.prototype.serialize=function(e,t){return _emscripten_bind_btStridingMeshInterface__serialize_p2(this.ptr,e,t.ptr)},btStridingMeshInterface.prototype.preallocateVertices=function(e){_emscripten_bind_btStridingMeshInterface__preallocateVertices_p1(this.ptr,e)},btStridingMeshInterface.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0(this.ptr)},btStridingMeshInterface.prototype.setScaling=function(e){_emscripten_bind_btStridingMeshInterface__setScaling_p1(this.ptr,e.ptr)},btStridingMeshInterface.prototype.getScaling=function(){return wrapPointer(_emscripten_bind_btStridingMeshInterface__getScaling_p0(this.ptr),Module.btVector3)},btStridingMeshInterface.prototype.setPremadeAabb=function(e,t){_emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2(this.ptr,e.ptr,t.ptr)},btStridingMeshInterface.prototype.InternalProcessAllTriangles=function(e,t,i){_emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btStridingMeshInterface.prototype.getPremadeAabb=function(e,t){_emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2(this.ptr,e.ptr,t.ptr)},btStridingMeshInterface.prototype.getNumSubParts=function(){return _emscripten_bind_btStridingMeshInterface__getNumSubParts_p0(this.ptr)},btStridingMeshInterface.prototype.getLockedVertexIndexBase=function(e,t,i,n,_,r,o,s,a){void 0===a?_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8(this.ptr,e,t,i,n,_,r,o,s):_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btStridingMeshInterface.prototype.hasPremadeAabb=function(){return _emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0(this.ptr)},btStridingMeshInterface.prototype.unLockVertexBase=function(e){_emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1(this.ptr,e)},btStridingMeshInterface.prototype.unLockReadOnlyVertexBase=function(e){_emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1(this.ptr,e)},btPoint2PointConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btPoint2PointConstraint.prototype.getInfo2NonVirtual=function(e,t,i){_emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPoint2PointConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btPoint2PointConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btPoint2PointConstraint__setParam_p3(this.ptr,e,t,i)},btPoint2PointConstraint.prototype.getUid=function(){return _emscripten_bind_btPoint2PointConstraint__getUid_p0(this.ptr)},btPoint2PointConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1(this.ptr,e)},btPoint2PointConstraint.prototype.setEnabled=function(e){_emscripten_bind_btPoint2PointConstraint__setEnabled_p1(this.ptr,e)},btPoint2PointConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1(this.ptr,e)},btPoint2PointConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btPoint2PointConstraint__serialize_p2(this.ptr,e,t.ptr)},btPoint2PointConstraint.prototype.buildJacobian=function(){_emscripten_bind_btPoint2PointConstraint__buildJacobian_p0(this.ptr)},btPoint2PointConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0(this.ptr)},btPoint2PointConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0(this.ptr)},btPoint2PointConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btPoint2PointConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btPoint2PointConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btPoint2PointConstraint__getParam_p2(this.ptr,e,t)},btPoint2PointConstraint.prototype.set_m_useSolveConstraintObsolete=function(e){_emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr,e)},btPoint2PointConstraint.prototype.__cache__={},Module.btPoint2PointConstraint=btPoint2PointConstraint,btPoint2PointConstraint.prototype.getObjectType=function(){return _emscripten_bind_btPoint2PointConstraint__getObjectType_p0(this.ptr)},btPoint2PointConstraint.prototype.getInfo2=function(e){_emscripten_bind_btPoint2PointConstraint__getInfo2_p1(this.ptr,e.ptr)},btPoint2PointConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0(this.ptr)},btPoint2PointConstraint.prototype.getPivotInA=function(){return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0(this.ptr),Module.btVector3)},btPoint2PointConstraint.prototype.getPivotInB=function(){return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0(this.ptr),Module.btVector3)},btPoint2PointConstraint.prototype.get_m_setting=function(){return wrapPointer(_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0(this.ptr),Module.btConstraintSetting)},btPoint2PointConstraint.prototype.isEnabled=function(){return _emscripten_bind_btPoint2PointConstraint__isEnabled_p0(this.ptr)},btPoint2PointConstraint.prototype.set_m_setting=function(e){_emscripten_bind_btPoint2PointConstraint__set_m_setting_p1(this.ptr,e.ptr)},btPoint2PointConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btPoint2PointConstraint__getConstraintType_p0(this.ptr)},btPoint2PointConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btPoint2PointConstraint__enableFeedback_p1(this.ptr,e)},btPoint2PointConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btPoint2PointConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btPoint2PointConstraint__needsFeedback_p0(this.ptr)},btPoint2PointConstraint.prototype.setPivotA=function(e){_emscripten_bind_btPoint2PointConstraint__setPivotA_p1(this.ptr,e.ptr)},btPoint2PointConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0(this.ptr)},btPoint2PointConstraint.prototype.setPivotB=function(e){_emscripten_bind_btPoint2PointConstraint__setPivotB_p1(this.ptr,e.ptr)},btPoint2PointConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btPoint2PointConstraint.prototype.getInfo1=function(e){_emscripten_bind_btPoint2PointConstraint__getInfo1_p1(this.ptr,e.ptr)},btPoint2PointConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0(this.ptr)},btPoint2PointConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1(this.ptr,e)},btPoint2PointConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1(this.ptr,e)},btPoint2PointConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btPoint2PointConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0(this.ptr)},btPoint2PointConstraint.prototype.get_m_useSolveConstraintObsolete=function(){return _emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr)},btPoint2PointConstraint.prototype.__destroy__=function(){_emscripten_bind_btPoint2PointConstraint____destroy___p0(this.ptr)},btPoint2PointConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btPoint2PointConstraint.prototype.updateRHS=function(e){_emscripten_bind_btPoint2PointConstraint__updateRHS_p1(this.ptr,e)},btPoint2PointConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btPoint2PointConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0(this.ptr)},btPoint2PointConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btPoint2PointConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0(this.ptr)},btPoint2PointConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1(this.ptr,e)},btCylinderShapeZ.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCylinderShapeZ.prototype.isCompound=function(){return _emscripten_bind_btCylinderShapeZ__isCompound_p0(this.ptr)},btCylinderShapeZ.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeZ.prototype.setUserPointer=function(e){_emscripten_bind_btCylinderShapeZ__setUserPointer_p1(this.ptr,e)},btCylinderShapeZ.prototype.getUpAxis=function(){return _emscripten_bind_btCylinderShapeZ__getUpAxis_p0(this.ptr)},btCylinderShapeZ.prototype.serialize=function(e,t){return _emscripten_bind_btCylinderShapeZ__serialize_p2(this.ptr,e,t.ptr)},btCylinderShapeZ.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0(this.ptr),Module.btVector3)},btCylinderShapeZ.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0(this.ptr)},btCylinderShapeZ.prototype.isPolyhedral=function(){return _emscripten_bind_btCylinderShapeZ__isPolyhedral_p0(this.ptr)},btCylinderShapeZ.prototype.getRadius=function(){return _emscripten_bind_btCylinderShapeZ__getRadius_p0(this.ptr)},btCylinderShapeZ.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShapeZ.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0(this.ptr)},btCylinderShapeZ.prototype.getName=function(){return _emscripten_bind_btCylinderShapeZ__getName_p0(this.ptr)},btCylinderShapeZ.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btCylinderShapeZ.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeZ.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btCylinderShapeZ.prototype.setLocalScaling=function(e){_emscripten_bind_btCylinderShapeZ__setLocalScaling_p1(this.ptr,e.ptr)},btCylinderShapeZ.prototype.getAabb=function(e,t,i){_emscripten_bind_btCylinderShapeZ__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShapeZ.prototype.getMarginNV=function(){return _emscripten_bind_btCylinderShapeZ__getMarginNV_p0(this.ptr)},btCylinderShapeZ.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeZ.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1(this.ptr,e)},btCylinderShapeZ.prototype.isConvex=function(){return _emscripten_bind_btCylinderShapeZ__isConvex_p0(this.ptr)},btCylinderShapeZ.prototype.isInfinite=function(){return _emscripten_bind_btCylinderShapeZ__isInfinite_p0(this.ptr)},btCylinderShapeZ.prototype.getUserPointer=function(){return _emscripten_bind_btCylinderShapeZ__getUserPointer_p0(this.ptr)},btCylinderShapeZ.prototype.isNonMoving=function(){return _emscripten_bind_btCylinderShapeZ__isNonMoving_p0(this.ptr)},btCylinderShapeZ.prototype.getMargin=function(){return _emscripten_bind_btCylinderShapeZ__getMargin_p0(this.ptr)},btCylinderShapeZ.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btCylinderShapeZ.prototype.getHalfExtentsWithoutMargin=function(){return wrapPointer(_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0(this.ptr),Module.btVector3)},btCylinderShapeZ.prototype.isConvex2d=function(){return _emscripten_bind_btCylinderShapeZ__isConvex2d_p0(this.ptr)},btCylinderShapeZ.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btCylinderShapeZ.prototype.isSoftBody=function(){return _emscripten_bind_btCylinderShapeZ__isSoftBody_p0(this.ptr)},btCylinderShapeZ.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0(this.ptr)},btCylinderShapeZ.prototype.__destroy__=function(){_emscripten_bind_btCylinderShapeZ____destroy___p0(this.ptr)},btCylinderShapeZ.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btCylinderShapeZ.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btCylinderShapeZ.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCylinderShapeZ.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0(this.ptr)},btCylinderShapeZ.prototype.serializeSingleShape=function(e){_emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1(this.ptr,e.ptr)},btCylinderShapeZ.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btCylinderShapeZ__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCylinderShapeZ.prototype.__cache__={},Module.btCylinderShapeZ=btCylinderShapeZ,btCylinderShapeZ.prototype.setMargin=function(e){_emscripten_bind_btCylinderShapeZ__setMargin_p1(this.ptr,e)},btCylinderShapeZ.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCylinderShapeZ.prototype.getHalfExtentsWithMargin=function(){return wrapPointer(_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0(this.ptr),Module.btVector3)},btCylinderShapeZ.prototype.isConcave=function(){return _emscripten_bind_btCylinderShapeZ__isConcave_p0(this.ptr)},btCylinderShapeZ.prototype.getShapeType=function(){return _emscripten_bind_btCylinderShapeZ__getShapeType_p0(this.ptr)},btBvhSubtreeInfo.prototype.get_m_subtreeSize=function(){return _emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0(this.ptr)},btBvhSubtreeInfo.prototype.get_m_rootNodeIndex=function(){return _emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0(this.ptr)},btBvhSubtreeInfo.prototype.__destroy__=function(){_emscripten_bind_btBvhSubtreeInfo____destroy___p0(this.ptr)},btBvhSubtreeInfo.prototype.set_m_rootNodeIndex=function(e){_emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1(this.ptr,e)},btBvhSubtreeInfo.prototype.setAabbFromQuantizeNode=function(e){_emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1(this.ptr,e.ptr)},btBvhSubtreeInfo.prototype.__cache__={},Module.btBvhSubtreeInfo=btBvhSubtreeInfo,btBvhSubtreeInfo.prototype.set_m_subtreeSize=function(e){_emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1(this.ptr,e)},btMotionState.prototype.__cache__={},Module.btMotionState=btMotionState,btMotionState.prototype.setWorldTransform=function(e){_emscripten_bind_btMotionState__setWorldTransform_p1(this.ptr,e.ptr)},btMotionState.prototype.getWorldTransform=function(e){_emscripten_bind_btMotionState__getWorldTransform_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.get_m_convexToWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0(this.ptr),Module.btVector3)},ClosestConvexResultCallback.prototype.__destroy__=function(){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0(this.ptr)},ClosestConvexResultCallback.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1(this.ptr,e)},ClosestConvexResultCallback.prototype.needsCollision=function(e){return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.set_m_closestHitFraction=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1(this.ptr,e)},ClosestConvexResultCallback.prototype.get_m_closestHitFraction=function(){return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0(this.ptr)},ClosestConvexResultCallback.prototype.get_m_hitCollisionObject=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0(this.ptr),Module.btCollisionObject)},ClosestConvexResultCallback.prototype.addSingleResult=function(e,t){return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2(this.ptr,e.ptr,t)},ClosestConvexResultCallback.prototype.set_m_hitCollisionObject=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.get_m_hitNormalWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0(this.ptr),Module.btVector3)},ClosestConvexResultCallback.prototype.get_m_hitPointWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0(this.ptr),Module.btVector3)},ClosestConvexResultCallback.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0(this.ptr)},ClosestConvexResultCallback.prototype.hasHit=function(){return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0(this.ptr)},ClosestConvexResultCallback.prototype.set_m_hitPointWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.set_m_convexToWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.__cache__={},Module.ClosestConvexResultCallback=ClosestConvexResultCallback,ClosestConvexResultCallback.prototype.set_m_hitNormalWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.get_m_convexFromWorld=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0(this.ptr),Module.btVector3)},ClosestConvexResultCallback.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0(this.ptr)},ClosestConvexResultCallback.prototype.set_m_convexFromWorld=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1(this.ptr,e.ptr)},ClosestConvexResultCallback.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1(this.ptr,e)},btConvexSeparatingDistanceUtil.prototype.updateSeparatingDistance=function(e,t){_emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2(this.ptr,e.ptr,t.ptr)},btConvexSeparatingDistanceUtil.prototype.__destroy__=function(){_emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0(this.ptr)},btConvexSeparatingDistanceUtil.prototype.__cache__={},Module.btConvexSeparatingDistanceUtil=btConvexSeparatingDistanceUtil,btConvexSeparatingDistanceUtil.prototype.getConservativeSeparatingDistance=function(){return _emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0(this.ptr)},btConvexSeparatingDistanceUtil.prototype.initSeparatingDistance=function(e,t,i,n){_emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4(this.ptr,e.ptr,t,i.ptr,n.ptr)},btGeneric6DofSpringConstraint.prototype.getRigidBodyB=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0(this.ptr),Module.btRigidBody)},btGeneric6DofSpringConstraint.prototype.buildJacobian=function(){_emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.setParam=function(e,t,i){void 0===i?_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2(this.ptr,e,t):_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3(this.ptr,e,t,i)},btGeneric6DofSpringConstraint.prototype.getUid=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.set_m_objectType=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.setEnabled=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.getFrameOffsetA=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0(this.ptr),Module.btTransform)},btGeneric6DofSpringConstraint.prototype.getRelativePivotPosition=function(e){return _emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.getFrameOffsetB=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0(this.ptr),Module.btTransform)},btGeneric6DofSpringConstraint.prototype.getInfo2NonVirtual=function(e,t,i,n,_,r,o){_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr)},btGeneric6DofSpringConstraint.prototype.getCalculatedTransformA=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0(this.ptr),Module.btTransform)},btGeneric6DofSpringConstraint.prototype.getUserConstraintId=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.get_m_objectType=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getRigidBodyA=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0(this.ptr),Module.btRigidBody)},btGeneric6DofSpringConstraint.prototype.getBreakingImpulseThreshold=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getParam=function(e,t){return void 0===t?_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1(this.ptr,e):_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2(this.ptr,e,t)},btGeneric6DofSpringConstraint.prototype.setDamping=function(e,t){_emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2(this.ptr,e,t)},btGeneric6DofSpringConstraint.prototype.getInfo1=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.getInfo2=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.calcAnchorPos=function(){_emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getAngularLowerLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.__cache__={},Module.btGeneric6DofSpringConstraint=btGeneric6DofSpringConstraint,btGeneric6DofSpringConstraint.prototype.setEquilibriumPoint=function(e,t){void 0===e?_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0(this.ptr):void 0===t?_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1(this.ptr,e):_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2(this.ptr,e,t)},btGeneric6DofSpringConstraint.prototype.getAxis=function(e){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1(this.ptr,e),Module.btVector3)},btGeneric6DofSpringConstraint.prototype.internalGetAppliedImpulse=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.isEnabled=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.setUserConstraintId=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.getLinearUpperLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.getConstraintType=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.enableFeedback=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.setUseFrameOffset=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.needsFeedback=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getObjectType=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getRotationalLimitMotor=function(e){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1(this.ptr,e),Module.btRotationalLimitMotor)},btGeneric6DofSpringConstraint.prototype.getInfo1NonVirtual=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.serialize=function(e,t){return _emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2(this.ptr,e,t.ptr)},btGeneric6DofSpringConstraint.prototype.setLinearLowerLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.getDbgDrawSize=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getLinearLowerLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.setDbgDrawSize=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.isLimited=function(e){return _emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.getUseFrameOffset=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.setUserConstraintType=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.enableSpring=function(e,t){_emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2(this.ptr,e,t)},btGeneric6DofSpringConstraint.prototype.getCalculatedTransformB=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0(this.ptr),Module.btTransform)},btGeneric6DofSpringConstraint.prototype.calculateTransforms=function(e,t){void 0===e?_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0(this.ptr):_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2(this.ptr,e.ptr,t.ptr)},btGeneric6DofSpringConstraint.prototype.internalSetAppliedImpulse=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.setBreakingImpulseThreshold=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.get_limit_motor_info2=function(e,t,i,n,_,r,o,s,a,p,l,d){return void 0===d?_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l):_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr,r.ptr,o.ptr,s.ptr,a,p.ptr,l,d)},btGeneric6DofSpringConstraint.prototype.get_m_useSolveConstraintObsolete=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.getAppliedImpulse=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.setLimit=function(e,t,i){_emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3(this.ptr,e,t,i)},btGeneric6DofSpringConstraint.prototype.set_m_useSolveConstraintObsolete=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.getTranslationalLimitMotor=function(){return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0(this.ptr),Module.btTranslationalLimitMotor)},btGeneric6DofSpringConstraint.prototype.__destroy__=function(){_emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.setupSolverConstraint=function(e,t,i,n){_emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4(this.ptr,e,t,i,n)},btGeneric6DofSpringConstraint.prototype.getAngle=function(e){return _emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.updateRHS=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.getAngularUpperLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.setAngularLowerLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.getUserConstraintType=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.solveConstraintObsolete=function(e,t,i){_emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3(this.ptr,e.ptr,t.ptr,i)},btGeneric6DofSpringConstraint.prototype.setStiffness=function(e,t){_emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2(this.ptr,e,t)},btGeneric6DofSpringConstraint.prototype.getUserConstraintPtr=function(){return _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0(this.ptr)},btGeneric6DofSpringConstraint.prototype.setFrames=function(e,t){_emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2(this.ptr,e.ptr,t.ptr)},btGeneric6DofSpringConstraint.prototype.setLinearUpperLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.setAngularUpperLimit=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1(this.ptr,e.ptr)},btGeneric6DofSpringConstraint.prototype.setAxis=function(e,t){_emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2(this.ptr,e.ptr,t.ptr)},btGeneric6DofSpringConstraint.prototype.setUserConstraintPtr=function(e){_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1(this.ptr,e)},btGeneric6DofSpringConstraint.prototype.testAngularLimitMotor=function(e){return _emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1(this.ptr,e)},btBroadphaseProxy.prototype.get_m_clientObject=function(){return _emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0(this.ptr)},btBroadphaseProxy.prototype.isInfinite=function(e){return _emscripten_bind_btBroadphaseProxy__isInfinite_p1(e)},btBroadphaseProxy.prototype.set_m_clientObject=function(e){_emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1(this.ptr,e)},btBroadphaseProxy.prototype.set_m_multiSapParentProxy=function(e){_emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1(this.ptr,e)},btBroadphaseProxy.prototype.__cache__={},Module.btBroadphaseProxy=btBroadphaseProxy,btBroadphaseProxy.prototype.isCompound=function(e){return _emscripten_bind_btBroadphaseProxy__isCompound_p1(e)},btBroadphaseProxy.prototype.isPolyhedral=function(e){return _emscripten_bind_btBroadphaseProxy__isPolyhedral_p1(e)},btBroadphaseProxy.prototype.get_m_aabbMin=function(){return wrapPointer(_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0(this.ptr),Module.btVector3)},btBroadphaseProxy.prototype.set_m_uniqueId=function(e){_emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1(this.ptr,e)},btBroadphaseProxy.prototype.isConvex=function(e){return _emscripten_bind_btBroadphaseProxy__isConvex_p1(e)},btBroadphaseProxy.prototype.get_m_collisionFilterMask=function(){return _emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0(this.ptr)},btBroadphaseProxy.prototype.getUid=function(){return _emscripten_bind_btBroadphaseProxy__getUid_p0(this.ptr)},btBroadphaseProxy.prototype.get_m_aabbMax=function(){return wrapPointer(_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0(this.ptr),Module.btVector3)},btBroadphaseProxy.prototype.isNonMoving=function(e){return _emscripten_bind_btBroadphaseProxy__isNonMoving_p1(e)},btBroadphaseProxy.prototype.set_m_aabbMin=function(e){_emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1(this.ptr,e.ptr)},btBroadphaseProxy.prototype.set_m_collisionFilterGroup=function(e){_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1(this.ptr,e)},btBroadphaseProxy.prototype.isConvex2d=function(e){return _emscripten_bind_btBroadphaseProxy__isConvex2d_p1(e)},btBroadphaseProxy.prototype.isSoftBody=function(e){return _emscripten_bind_btBroadphaseProxy__isSoftBody_p1(e)},btBroadphaseProxy.prototype.set_m_aabbMax=function(e){_emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1(this.ptr,e.ptr)},btBroadphaseProxy.prototype.__destroy__=function(){_emscripten_bind_btBroadphaseProxy____destroy___p0(this.ptr)},btBroadphaseProxy.prototype.get_m_uniqueId=function(){return _emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0(this.ptr)},btBroadphaseProxy.prototype.set_m_collisionFilterMask=function(e){_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1(this.ptr,e)},btBroadphaseProxy.prototype.isConcave=function(e){return _emscripten_bind_btBroadphaseProxy__isConcave_p1(e)},btBroadphaseProxy.prototype.get_m_multiSapParentProxy=function(){return _emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0(this.ptr)},btBroadphaseProxy.prototype.get_m_collisionFilterGroup=function(){return _emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0(this.ptr)},btTriangleIndexVertexArray.prototype.getLockedReadOnlyVertexIndexBase=function(e,t,i,n,_,r,o,s,a){void 0===a?_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8(this.ptr,e,t,i,n,_,r,o,s):_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btTriangleIndexVertexArray.prototype.preallocateIndices=function(e){_emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1(this.ptr,e)},btTriangleIndexVertexArray.prototype.calculateAabbBruteForce=function(e,t){_emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2(this.ptr,e.ptr,t.ptr)},btTriangleIndexVertexArray.prototype.__destroy__=function(){_emscripten_bind_btTriangleIndexVertexArray____destroy___p0(this.ptr)},btTriangleIndexVertexArray.prototype.preallocateVertices=function(e){_emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1(this.ptr,e)},btTriangleIndexVertexArray.prototype.serialize=function(e,t){return _emscripten_bind_btTriangleIndexVertexArray__serialize_p2(this.ptr,e,t.ptr)},btTriangleIndexVertexArray.prototype.getIndexedMeshArray=function(){return _emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0(this.ptr)},btTriangleIndexVertexArray.prototype.__cache__={},Module.btTriangleIndexVertexArray=btTriangleIndexVertexArray,btTriangleIndexVertexArray.prototype.setScaling=function(e){_emscripten_bind_btTriangleIndexVertexArray__setScaling_p1(this.ptr,e.ptr)},btTriangleIndexVertexArray.prototype.getScaling=function(){return wrapPointer(_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0(this.ptr),Module.btVector3)},btTriangleIndexVertexArray.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0(this.ptr)},btTriangleIndexVertexArray.prototype.setPremadeAabb=function(e,t){_emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2(this.ptr,e.ptr,t.ptr)},btTriangleIndexVertexArray.prototype.InternalProcessAllTriangles=function(e,t,i){_emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btTriangleIndexVertexArray.prototype.getPremadeAabb=function(e,t){_emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2(this.ptr,e.ptr,t.ptr)},btTriangleIndexVertexArray.prototype.addIndexedMesh=function(e,t){void 0===t?_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1(this.ptr,e.ptr):_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2(this.ptr,e.ptr,t)},btTriangleIndexVertexArray.prototype.getNumSubParts=function(){return _emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0(this.ptr)},btTriangleIndexVertexArray.prototype.getLockedVertexIndexBase=function(e,t,i,n,_,r,o,s,a){void 0===a?_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8(this.ptr,e,t,i,n,_,r,o,s):_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9(this.ptr,e,t,i,n,_,r,o,s,a)},btTriangleIndexVertexArray.prototype.hasPremadeAabb=function(){return _emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0(this.ptr)},btTriangleIndexVertexArray.prototype.unLockVertexBase=function(e){_emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1(this.ptr,e)},btTriangleIndexVertexArray.prototype.unLockReadOnlyVertexBase=function(e){_emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1(this.ptr,e)},btBoxShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btBoxShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btBoxShape.prototype.getNumPlanes=function(){return _emscripten_bind_btBoxShape__getNumPlanes_p0(this.ptr)},btBoxShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btBoxShape.prototype.setUserPointer=function(e){_emscripten_bind_btBoxShape__setUserPointer_p1(this.ptr,e)},btBoxShape.prototype.isInside=function(e,t){return _emscripten_bind_btBoxShape__isInside_p2(this.ptr,e.ptr,t)},btBoxShape.prototype.getNumVertices=function(){return _emscripten_bind_btBoxShape__getNumVertices_p0(this.ptr)},btBoxShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btBoxShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btBoxShape.prototype.isPolyhedral=function(){return _emscripten_bind_btBoxShape__isPolyhedral_p0(this.ptr)},btBoxShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btBoxShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btBoxShape.prototype.getVertex=function(e,t){_emscripten_bind_btBoxShape__getVertex_p2(this.ptr,e,t.ptr)},btBoxShape.prototype.getPlaneEquation=function(e,t){_emscripten_bind_btBoxShape__getPlaneEquation_p2(this.ptr,e.ptr,t)},btBoxShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btBoxShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btBoxShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBoxShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0(this.ptr)},btBoxShape.prototype.getNumEdges=function(){return _emscripten_bind_btBoxShape__getNumEdges_p0(this.ptr)},btBoxShape.prototype.getName=function(){return _emscripten_bind_btBoxShape__getName_p0(this.ptr)},btBoxShape.prototype.getEdge=function(e,t,i){_emscripten_bind_btBoxShape__getEdge_p3(this.ptr,e,t.ptr,i.ptr)},btBoxShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btBoxShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btBoxShape.prototype.__cache__={},Module.btBoxShape=btBoxShape,btBoxShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btBoxShape.prototype.isCompound=function(){return _emscripten_bind_btBoxShape__isCompound_p0(this.ptr)},btBoxShape.prototype.setLocalScaling=function(e){_emscripten_bind_btBoxShape__setLocalScaling_p1(this.ptr,e.ptr)},btBoxShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btBoxShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBoxShape.prototype.getMarginNV=function(){return _emscripten_bind_btBoxShape__getMarginNV_p0(this.ptr)},btBoxShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btBoxShape__getContactBreakingThreshold_p1(this.ptr,e)},btBoxShape.prototype.isConvex=function(){return _emscripten_bind_btBoxShape__isConvex_p0(this.ptr)},btBoxShape.prototype.isInfinite=function(){return _emscripten_bind_btBoxShape__isInfinite_p0(this.ptr)},btBoxShape.prototype.serialize=function(e,t){return _emscripten_bind_btBoxShape__serialize_p2(this.ptr,e,t.ptr)},btBoxShape.prototype.getUserPointer=function(){return _emscripten_bind_btBoxShape__getUserPointer_p0(this.ptr)},btBoxShape.prototype.isNonMoving=function(){return _emscripten_bind_btBoxShape__isNonMoving_p0(this.ptr)},btBoxShape.prototype.getMargin=function(){return _emscripten_bind_btBoxShape__getMargin_p0(this.ptr)},btBoxShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btBoxShape.prototype.getHalfExtentsWithoutMargin=function(){return wrapPointer(_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0(this.ptr),Module.btVector3)},btBoxShape.prototype.initializePolyhedralFeatures=function(){return _emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0(this.ptr)},btBoxShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btBoxShape.prototype.isSoftBody=function(){return _emscripten_bind_btBoxShape__isSoftBody_p0(this.ptr)},btBoxShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btBoxShape__getMarginNonVirtual_p0(this.ptr)},btBoxShape.prototype.__destroy__=function(){_emscripten_bind_btBoxShape____destroy___p0(this.ptr)},btBoxShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btBoxShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btBoxShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btBoxShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btBoxShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btBoxShape__getAngularMotionDisc_p0(this.ptr)},btBoxShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btBoxShape__serializeSingleShape_p1(this.ptr,e.ptr)},btBoxShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btBoxShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btBoxShape.prototype.getPlane=function(e,t,i){_emscripten_bind_btBoxShape__getPlane_p3(this.ptr,e.ptr,t.ptr,i)},btBoxShape.prototype.setMargin=function(e){_emscripten_bind_btBoxShape__setMargin_p1(this.ptr,e)},btBoxShape.prototype.getConvexPolyhedron=function(){return _emscripten_bind_btBoxShape__getConvexPolyhedron_p0(this.ptr)},btBoxShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btBoxShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btBoxShape.prototype.getShapeType=function(){return _emscripten_bind_btBoxShape__getShapeType_p0(this.ptr)},btBoxShape.prototype.getHalfExtentsWithMargin=function(){return wrapPointer(_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0(this.ptr),Module.btVector3)},btBoxShape.prototype.isConcave=function(){return _emscripten_bind_btBoxShape__isConcave_p0(this.ptr)},btBoxShape.prototype.isConvex2d=function(){return _emscripten_bind_btBoxShape__isConvex2d_p0(this.ptr)},Result.prototype.__cache__={},Module.Result=Result,Result.prototype.setShapeIdentifiersB=function(e,t){_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2(this.ptr,e,t)},Result.prototype.setShapeIdentifiersA=function(e,t){_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2(this.ptr,e,t)},Result.prototype.addContactPoint=function(e,t,i){_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3(this.ptr,e.ptr,t.ptr,i)},btPolyhedralConvexAabbCachingShape.prototype.__cache__={},Module.btPolyhedralConvexAabbCachingShape=btPolyhedralConvexAabbCachingShape,btPolyhedralConvexAabbCachingShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getNumPlanes=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.setUserPointer=function(e){_emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1(this.ptr,e)},btPolyhedralConvexAabbCachingShape.prototype.isInside=function(e,t){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2(this.ptr,e.ptr,t)},btPolyhedralConvexAabbCachingShape.prototype.getNumVertices=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.isPolyhedral=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getVertex=function(e,t){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2(this.ptr,e,t.ptr)},btPolyhedralConvexAabbCachingShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPolyhedralConvexAabbCachingShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getNumEdges=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getName=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getEdge=function(e,t,i){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3(this.ptr,e,t.ptr,i.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.setLocalScaling=function(e){_emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1(this.ptr,e.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPolyhedralConvexAabbCachingShape.prototype.isConvex2d=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1(this.ptr,e)},btPolyhedralConvexAabbCachingShape.prototype.isConvex=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.isInfinite=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.serialize=function(e,t){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2(this.ptr,e,t.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getUserPointer=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.isNonMoving=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getMargin=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.recalcLocalAabb=function(){_emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btPolyhedralConvexAabbCachingShape.prototype.setMargin=function(e){_emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1(this.ptr,e)},btPolyhedralConvexAabbCachingShape.prototype.initializePolyhedralFeatures=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getMarginNV=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btPolyhedralConvexAabbCachingShape.prototype.isSoftBody=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btPolyhedralConvexAabbCachingShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btPolyhedralConvexAabbCachingShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btPolyhedralConvexAabbCachingShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1(this.ptr,e.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getPlane=function(e,t,i){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3(this.ptr,e.ptr,t.ptr,i)},btPolyhedralConvexAabbCachingShape.prototype.isCompound=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getConvexPolyhedron=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getShapeType=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.isConcave=function(){return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0(this.ptr)},btPolyhedralConvexAabbCachingShape.prototype.getNonvirtualAabb=function(e,t,i,n){_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n)},CProfileSample.prototype.__destroy__=function(){_emscripten_bind_CProfileSample____destroy___p0(this.ptr)},CProfileSample.prototype.__cache__={},Module.CProfileSample=CProfileSample,btCapsuleShapeX.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCapsuleShapeX.prototype.isCompound=function(){return _emscripten_bind_btCapsuleShapeX__isCompound_p0(this.ptr)},btCapsuleShapeX.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeX.prototype.setUserPointer=function(e){_emscripten_bind_btCapsuleShapeX__setUserPointer_p1(this.ptr,e)},btCapsuleShapeX.prototype.getUpAxis=function(){return _emscripten_bind_btCapsuleShapeX__getUpAxis_p0(this.ptr)},btCapsuleShapeX.prototype.serialize=function(e,t){return _emscripten_bind_btCapsuleShapeX__serialize_p2(this.ptr,e,t.ptr)},btCapsuleShapeX.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0(this.ptr),Module.btVector3)},btCapsuleShapeX.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0(this.ptr)},btCapsuleShapeX.prototype.isPolyhedral=function(){return _emscripten_bind_btCapsuleShapeX__isPolyhedral_p0(this.ptr)},btCapsuleShapeX.prototype.getRadius=function(){return _emscripten_bind_btCapsuleShapeX__getRadius_p0(this.ptr)},btCapsuleShapeX.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShapeX.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0(this.ptr)},btCapsuleShapeX.prototype.getName=function(){return _emscripten_bind_btCapsuleShapeX__getName_p0(this.ptr)},btCapsuleShapeX.prototype.getHalfHeight=function(){return _emscripten_bind_btCapsuleShapeX__getHalfHeight_p0(this.ptr)},btCapsuleShapeX.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btCapsuleShapeX.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeX.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeX.prototype.setLocalScaling=function(e){_emscripten_bind_btCapsuleShapeX__setLocalScaling_p1(this.ptr,e.ptr)},btCapsuleShapeX.prototype.getAabb=function(e,t,i){_emscripten_bind_btCapsuleShapeX__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShapeX.prototype.getMarginNV=function(){return _emscripten_bind_btCapsuleShapeX__getMarginNV_p0(this.ptr)},btCapsuleShapeX.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeX.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1(this.ptr,e)},btCapsuleShapeX.prototype.isConvex=function(){return _emscripten_bind_btCapsuleShapeX__isConvex_p0(this.ptr)},btCapsuleShapeX.prototype.isInfinite=function(){return _emscripten_bind_btCapsuleShapeX__isInfinite_p0(this.ptr)},btCapsuleShapeX.prototype.__cache__={},Module.btCapsuleShapeX=btCapsuleShapeX,btCapsuleShapeX.prototype.getUserPointer=function(){return _emscripten_bind_btCapsuleShapeX__getUserPointer_p0(this.ptr)},btCapsuleShapeX.prototype.isNonMoving=function(){return _emscripten_bind_btCapsuleShapeX__isNonMoving_p0(this.ptr)},btCapsuleShapeX.prototype.getMargin=function(){return _emscripten_bind_btCapsuleShapeX__getMargin_p0(this.ptr)},btCapsuleShapeX.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btCapsuleShapeX.prototype.setMargin=function(e){_emscripten_bind_btCapsuleShapeX__setMargin_p1(this.ptr,e)},btCapsuleShapeX.prototype.isConvex2d=function(){return _emscripten_bind_btCapsuleShapeX__isConvex2d_p0(this.ptr)},btCapsuleShapeX.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btCapsuleShapeX.prototype.isSoftBody=function(){return _emscripten_bind_btCapsuleShapeX__isSoftBody_p0(this.ptr)},btCapsuleShapeX.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0(this.ptr)},btCapsuleShapeX.prototype.__destroy__=function(){_emscripten_bind_btCapsuleShapeX____destroy___p0(this.ptr)},btCapsuleShapeX.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btCapsuleShapeX.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btCapsuleShapeX.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCapsuleShapeX.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0(this.ptr)},btCapsuleShapeX.prototype.serializeSingleShape=function(e){_emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1(this.ptr,e.ptr)},btCapsuleShapeX.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btCapsuleShapeX__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShapeX.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCapsuleShapeX.prototype.isConcave=function(){return _emscripten_bind_btCapsuleShapeX__isConcave_p0(this.ptr)},btCapsuleShapeX.prototype.getShapeType=function(){return _emscripten_bind_btCapsuleShapeX__getShapeType_p0(this.ptr)},btQuaternion.prototype.nearest=function(e){return wrapPointer(_emscripten_bind_btQuaternion__nearest_p1(this.ptr,e.ptr),Module.btQuaternion)},btQuaternion.prototype.setMin=function(e){_emscripten_bind_btQuaternion__setMin_p1(this.ptr,e.ptr)},btQuaternion.prototype.farthest=function(e){return wrapPointer(_emscripten_bind_btQuaternion__farthest_p1(this.ptr,e.ptr),Module.btQuaternion)},btQuaternion.prototype.getX=function(){return _emscripten_bind_btQuaternion__getX_p0(this.ptr)},btQuaternion.prototype.getY=function(){return _emscripten_bind_btQuaternion__getY_p0(this.ptr)},btQuaternion.prototype.getZ=function(){return _emscripten_bind_btQuaternion__getZ_p0(this.ptr)},btQuaternion.prototype.setEuler=function(e,t,i){_emscripten_bind_btQuaternion__setEuler_p3(this.ptr,e,t,i)},btQuaternion.prototype.op_sub=function(e){return wrapPointer(_emscripten_bind_btQuaternion__op_sub_p1(this.ptr,e.ptr),Module.btQuaternion)},btQuaternion.prototype.getW=function(){return _emscripten_bind_btQuaternion__getW_p0(this.ptr)},btQuaternion.prototype.normalize=function(){return wrapPointer(_emscripten_bind_btQuaternion__normalize_p0(this.ptr),Module.btQuaternion)},btQuaternion.prototype.slerp=function(e,t){return wrapPointer(_emscripten_bind_btQuaternion__slerp_p2(this.ptr,e.ptr,t),Module.btQuaternion)},btQuaternion.prototype.inverse=function(){return wrapPointer(_emscripten_bind_btQuaternion__inverse_p0(this.ptr),Module.btQuaternion)},btQuaternion.prototype.angle=function(e){return _emscripten_bind_btQuaternion__angle_p1(this.ptr,e.ptr)},btQuaternion.prototype.getAxis=function(){return wrapPointer(_emscripten_bind_btQuaternion__getAxis_p0(this.ptr),Module.btVector3)},btQuaternion.prototype.getIdentity=function(){return wrapPointer(_emscripten_bind_btQuaternion__getIdentity_p0(),Module.btQuaternion)},btQuaternion.prototype.setMax=function(e){_emscripten_bind_btQuaternion__setMax_p1(this.ptr,e.ptr)},btQuaternion.prototype.op_add=function(e){return wrapPointer(_emscripten_bind_btQuaternion__op_add_p1(this.ptr,e.ptr),Module.btQuaternion)},btQuaternion.prototype.op_mul=function(e){return wrapPointer(_emscripten_bind_btQuaternion__op_mul_p1(this.ptr,e),Module.btQuaternion)},btQuaternion.prototype.setRotation=function(e,t){_emscripten_bind_btQuaternion__setRotation_p2(this.ptr,e.ptr,t)},btQuaternion.prototype.setEulerZYX=function(e,t,i){_emscripten_bind_btQuaternion__setEulerZYX_p3(this.ptr,e,t,i)},btQuaternion.prototype.setValue=function(e,t,i,n){void 0===n?_emscripten_bind_btQuaternion__setValue_p3(this.ptr,e,t,i):_emscripten_bind_btQuaternion__setValue_p4(this.ptr,e,t,i,n)},btQuaternion.prototype.__cache__={},Module.btQuaternion=btQuaternion,btQuaternion.prototype.op_div=function(e){return wrapPointer(_emscripten_bind_btQuaternion__op_div_p1(this.ptr,e),Module.btQuaternion)},btQuaternion.prototype.setW=function(e){_emscripten_bind_btQuaternion__setW_p1(this.ptr,e)},btQuaternion.prototype.normalized=function(){return wrapPointer(_emscripten_bind_btQuaternion__normalized_p0(this.ptr),Module.btQuaternion)},btQuaternion.prototype.setX=function(e){_emscripten_bind_btQuaternion__setX_p1(this.ptr,e)},btQuaternion.prototype.setY=function(e){_emscripten_bind_btQuaternion__setY_p1(this.ptr,e)},btQuaternion.prototype.setZ=function(e){_emscripten_bind_btQuaternion__setZ_p1(this.ptr,e)},btQuaternion.prototype.__destroy__=function(){_emscripten_bind_btQuaternion____destroy___p0(this.ptr)},btQuaternion.prototype.getAngle=function(){return _emscripten_bind_btQuaternion__getAngle_p0(this.ptr)},btQuaternion.prototype.length2=function(){return _emscripten_bind_btQuaternion__length2_p0(this.ptr)},btQuaternion.prototype.length=function(){return _emscripten_bind_btQuaternion__length_p0(this.ptr)},btQuaternion.prototype.w=function(){return _emscripten_bind_btQuaternion__w_p0(this.ptr)},btQuaternion.prototype.y=function(){return _emscripten_bind_btQuaternion__y_p0(this.ptr)},btQuaternion.prototype.x=function(){return _emscripten_bind_btQuaternion__x_p0(this.ptr)},btQuaternion.prototype.z=function(){return _emscripten_bind_btQuaternion__z_p0(this.ptr)},btQuaternion.prototype.dot=function(e){return _emscripten_bind_btQuaternion__dot_p1(this.ptr,e.ptr)},btCapsuleShapeZ.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btCapsuleShapeZ.prototype.isCompound=function(){return _emscripten_bind_btCapsuleShapeZ__isCompound_p0(this.ptr)},btCapsuleShapeZ.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.setUserPointer=function(e){_emscripten_bind_btCapsuleShapeZ__setUserPointer_p1(this.ptr,e)},btCapsuleShapeZ.prototype.getUpAxis=function(){return _emscripten_bind_btCapsuleShapeZ__getUpAxis_p0(this.ptr)},btCapsuleShapeZ.prototype.serialize=function(e,t){return _emscripten_bind_btCapsuleShapeZ__serialize_p2(this.ptr,e,t.ptr)},btCapsuleShapeZ.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0(this.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0(this.ptr)},btCapsuleShapeZ.prototype.isPolyhedral=function(){return _emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0(this.ptr)},btCapsuleShapeZ.prototype.getRadius=function(){return _emscripten_bind_btCapsuleShapeZ__getRadius_p0(this.ptr)},btCapsuleShapeZ.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShapeZ.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0(this.ptr)},btCapsuleShapeZ.prototype.getName=function(){return _emscripten_bind_btCapsuleShapeZ__getName_p0(this.ptr)},btCapsuleShapeZ.prototype.getHalfHeight=function(){return _emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0(this.ptr)},btCapsuleShapeZ.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.setLocalScaling=function(e){_emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1(this.ptr,e.ptr)},btCapsuleShapeZ.prototype.getAabb=function(e,t,i){_emscripten_bind_btCapsuleShapeZ__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShapeZ.prototype.getMarginNV=function(){return _emscripten_bind_btCapsuleShapeZ__getMarginNV_p0(this.ptr)},btCapsuleShapeZ.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1(this.ptr,e)},btCapsuleShapeZ.prototype.isConvex=function(){return _emscripten_bind_btCapsuleShapeZ__isConvex_p0(this.ptr)},btCapsuleShapeZ.prototype.isInfinite=function(){return _emscripten_bind_btCapsuleShapeZ__isInfinite_p0(this.ptr)},btCapsuleShapeZ.prototype.__cache__={},Module.btCapsuleShapeZ=btCapsuleShapeZ,btCapsuleShapeZ.prototype.getUserPointer=function(){return _emscripten_bind_btCapsuleShapeZ__getUserPointer_p0(this.ptr)},btCapsuleShapeZ.prototype.isNonMoving=function(){return _emscripten_bind_btCapsuleShapeZ__isNonMoving_p0(this.ptr)},btCapsuleShapeZ.prototype.getMargin=function(){return _emscripten_bind_btCapsuleShapeZ__getMargin_p0(this.ptr)},btCapsuleShapeZ.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btCapsuleShapeZ.prototype.setMargin=function(e){_emscripten_bind_btCapsuleShapeZ__setMargin_p1(this.ptr,e)},btCapsuleShapeZ.prototype.isConvex2d=function(){return _emscripten_bind_btCapsuleShapeZ__isConvex2d_p0(this.ptr)},btCapsuleShapeZ.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btCapsuleShapeZ.prototype.isSoftBody=function(){return _emscripten_bind_btCapsuleShapeZ__isSoftBody_p0(this.ptr)},btCapsuleShapeZ.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0(this.ptr)},btCapsuleShapeZ.prototype.__destroy__=function(){_emscripten_bind_btCapsuleShapeZ____destroy___p0(this.ptr)},btCapsuleShapeZ.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btCapsuleShapeZ.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btCapsuleShapeZ.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2(this.ptr,e.ptr,t)},btCapsuleShapeZ.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0(this.ptr)},btCapsuleShapeZ.prototype.serializeSingleShape=function(e){_emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1(this.ptr,e.ptr)},btCapsuleShapeZ.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btCapsuleShapeZ.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btCapsuleShapeZ.prototype.isConcave=function(){return _emscripten_bind_btCapsuleShapeZ__isConcave_p0(this.ptr)},btCapsuleShapeZ.prototype.getShapeType=function(){return _emscripten_bind_btCapsuleShapeZ__getShapeType_p0(this.ptr)},btGhostObject.prototype.removeOverlappingObjectInternal=function(e,t,i){void 0===i?_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2(this.ptr,e.ptr,t.ptr):_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btGhostObject.prototype.getFriction=function(){return _emscripten_bind_btGhostObject__getFriction_p0(this.ptr)},btGhostObject.prototype.setInterpolationLinearVelocity=function(e){_emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1(this.ptr,e.ptr)},btGhostObject.prototype.getDeactivationTime=function(){return _emscripten_bind_btGhostObject__getDeactivationTime_p0(this.ptr)},btGhostObject.prototype.setCompanionId=function(e){_emscripten_bind_btGhostObject__setCompanionId_p1(this.ptr,e)},btGhostObject.prototype.setInterpolationAngularVelocity=function(e){_emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1(this.ptr,e.ptr)},btGhostObject.prototype.serialize=function(e,t){return _emscripten_bind_btGhostObject__serialize_p2(this.ptr,e,t.ptr)},btGhostObject.prototype.getCcdSweptSphereRadius=function(){return _emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0(this.ptr)},btGhostObject.prototype.setFriction=function(e){_emscripten_bind_btGhostObject__setFriction_p1(this.ptr,e)},btGhostObject.prototype.internalSetExtensionPointer=function(e){_emscripten_bind_btGhostObject__internalSetExtensionPointer_p1(this.ptr,e)},btGhostObject.prototype.setContactProcessingThreshold=function(e){_emscripten_bind_btGhostObject__setContactProcessingThreshold_p1(this.ptr,e)},btGhostObject.prototype.setInterpolationWorldTransform=function(e){_emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1(this.ptr,e.ptr)},btGhostObject.prototype.getInterpolationLinearVelocity=function(){return wrapPointer(_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0(this.ptr),Module.btVector3)},btGhostObject.prototype.mergesSimulationIslands=function(){return _emscripten_bind_btGhostObject__mergesSimulationIslands_p0(this.ptr)},btGhostObject.prototype.setCollisionShape=function(e){_emscripten_bind_btGhostObject__setCollisionShape_p1(this.ptr,e.ptr)},btGhostObject.prototype.setCcdMotionThreshold=function(e){_emscripten_bind_btGhostObject__setCcdMotionThreshold_p1(this.ptr,e)},btGhostObject.prototype.getIslandTag=function(){return _emscripten_bind_btGhostObject__getIslandTag_p0(this.ptr)},btGhostObject.prototype.getNumOverlappingObjects=function(){return _emscripten_bind_btGhostObject__getNumOverlappingObjects_p0(this.ptr)},btGhostObject.prototype.addOverlappingObjectInternal=function(e,t){void 0===t?_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1(this.ptr,e.ptr):_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2(this.ptr,e.ptr,t.ptr)},btGhostObject.prototype.setUserPointer=function(e){_emscripten_bind_btGhostObject__setUserPointer_p1(this.ptr,e)},btGhostObject.prototype.checkCollideWith=function(e){return _emscripten_bind_btGhostObject__checkCollideWith_p1(this.ptr,e.ptr)},btGhostObject.prototype.rayTest=function(e,t,i){_emscripten_bind_btGhostObject__rayTest_p3(this.ptr,e.ptr,t.ptr,i)},btGhostObject.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0(this.ptr)},btGhostObject.prototype.getInterpolationAngularVelocity=function(){return wrapPointer(_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0(this.ptr),Module.btVector3)},btGhostObject.prototype.forceActivationState=function(e){_emscripten_bind_btGhostObject__forceActivationState_p1(this.ptr,e)},btGhostObject.prototype.activate=function(e){void 0===e?_emscripten_bind_btGhostObject__activate_p0(this.ptr):_emscripten_bind_btGhostObject__activate_p1(this.ptr,e)},btGhostObject.prototype.setIslandTag=function(e){_emscripten_bind_btGhostObject__setIslandTag_p1(this.ptr,e)},btGhostObject.prototype.setHitFraction=function(e){_emscripten_bind_btGhostObject__setHitFraction_p1(this.ptr,e)},btGhostObject.prototype.setCcdSweptSphereRadius=function(e){_emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1(this.ptr,e)},btGhostObject.prototype.getInterpolationWorldTransform=function(){return wrapPointer(_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0(this.ptr),Module.btTransform)},btGhostObject.prototype.serializeSingleObject=function(e){_emscripten_bind_btGhostObject__serializeSingleObject_p1(this.ptr,e.ptr)},btGhostObject.prototype.getOverlappingObject=function(e){return wrapPointer(_emscripten_bind_btGhostObject__getOverlappingObject_p1(this.ptr,e),Module.btCollisionObject)},btGhostObject.prototype.convexSweepTest=function(e,t,i,n,_){void 0===_?_emscripten_bind_btGhostObject__convexSweepTest_p4(this.ptr,e,t.ptr,i.ptr,n):_emscripten_bind_btGhostObject__convexSweepTest_p5(this.ptr,e,t.ptr,i.ptr,n,_)},btGhostObject.prototype.isStaticObject=function(){return _emscripten_bind_btGhostObject__isStaticObject_p0(this.ptr)},btGhostObject.prototype.getCollisionShape=function(){return wrapPointer(_emscripten_bind_btGhostObject__getCollisionShape_p0(this.ptr),Module.btCollisionShape)},btGhostObject.prototype.setAnisotropicFriction=function(e){_emscripten_bind_btGhostObject__setAnisotropicFriction_p1(this.ptr,e.ptr)},btGhostObject.prototype.getActivationState=function(){return _emscripten_bind_btGhostObject__getActivationState_p0(this.ptr)},btGhostObject.prototype.getBroadphaseHandle=function(){return wrapPointer(_emscripten_bind_btGhostObject__getBroadphaseHandle_p0(this.ptr),Module.btBroadphaseProxy)},btGhostObject.prototype.getRestitution=function(){return _emscripten_bind_btGhostObject__getRestitution_p0(this.ptr)},btGhostObject.prototype.getUserPointer=function(){return _emscripten_bind_btGhostObject__getUserPointer_p0(this.ptr)},btGhostObject.prototype.__cache__={},Module.btGhostObject=btGhostObject,btGhostObject.prototype.getWorldTransform=function(){return wrapPointer(_emscripten_bind_btGhostObject__getWorldTransform_p0(this.ptr),Module.btTransform)},btGhostObject.prototype.getCcdSquareMotionThreshold=function(){return _emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0(this.ptr)},btGhostObject.prototype.setWorldTransform=function(e){_emscripten_bind_btGhostObject__setWorldTransform_p1(this.ptr,e.ptr)},btGhostObject.prototype.internalSetTemporaryCollisionShape=function(e){_emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1(this.ptr,e.ptr)},btGhostObject.prototype.getCcdMotionThreshold=function(){return _emscripten_bind_btGhostObject__getCcdMotionThreshold_p0(this.ptr)},btGhostObject.prototype.getCompanionId=function(){return _emscripten_bind_btGhostObject__getCompanionId_p0(this.ptr)},btGhostObject.prototype.isActive=function(){return _emscripten_bind_btGhostObject__isActive_p0(this.ptr)},btGhostObject.prototype.getInternalType=function(){return _emscripten_bind_btGhostObject__getInternalType_p0(this.ptr)},btGhostObject.prototype.__destroy__=function(){_emscripten_bind_btGhostObject____destroy___p0(this.ptr)},btGhostObject.prototype.hasContactResponse=function(){return _emscripten_bind_btGhostObject__hasContactResponse_p0(this.ptr)},btGhostObject.prototype.upcast=function(e){return wrapPointer(_emscripten_bind_btGhostObject__upcast_p1(e.ptr),Module.btGhostObject)},btGhostObject.prototype.setActivationState=function(e){_emscripten_bind_btGhostObject__setActivationState_p1(this.ptr,e)},btGhostObject.prototype.getRootCollisionShape=function(){return wrapPointer(_emscripten_bind_btGhostObject__getRootCollisionShape_p0(this.ptr),Module.btCollisionShape)},btGhostObject.prototype.getContactProcessingThreshold=function(){return _emscripten_bind_btGhostObject__getContactProcessingThreshold_p0(this.ptr)},btGhostObject.prototype.getCollisionFlags=function(){return _emscripten_bind_btGhostObject__getCollisionFlags_p0(this.ptr)},btGhostObject.prototype.getHitFraction=function(){return _emscripten_bind_btGhostObject__getHitFraction_p0(this.ptr)},btGhostObject.prototype.getAnisotropicFriction=function(){return wrapPointer(_emscripten_bind_btGhostObject__getAnisotropicFriction_p0(this.ptr),Module.btVector3)},btGhostObject.prototype.setDeactivationTime=function(e){_emscripten_bind_btGhostObject__setDeactivationTime_p1(this.ptr,e)},btGhostObject.prototype.internalGetExtensionPointer=function(){return _emscripten_bind_btGhostObject__internalGetExtensionPointer_p0(this.ptr)},btGhostObject.prototype.setCollisionFlags=function(e){_emscripten_bind_btGhostObject__setCollisionFlags_p1(this.ptr,e)},btGhostObject.prototype.isStaticOrKinematicObject=function(){return _emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0(this.ptr)},btGhostObject.prototype.setRestitution=function(e){_emscripten_bind_btGhostObject__setRestitution_p1(this.ptr,e)},btGhostObject.prototype.hasAnisotropicFriction=function(){return _emscripten_bind_btGhostObject__hasAnisotropicFriction_p0(this.ptr)},btGhostObject.prototype.setBroadphaseHandle=function(e){_emscripten_bind_btGhostObject__setBroadphaseHandle_p1(this.ptr,e.ptr)},btGhostObject.prototype.isKinematicObject=function(){return _emscripten_bind_btGhostObject__isKinematicObject_p0(this.ptr)},btConcaveShape.prototype.__cache__={},Module.btConcaveShape=btConcaveShape,btConcaveShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btConcaveShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btConcaveShape.prototype.setUserPointer=function(e){_emscripten_bind_btConcaveShape__setUserPointer_p1(this.ptr,e)},btConcaveShape.prototype.serialize=function(e,t){return _emscripten_bind_btConcaveShape__serialize_p2(this.ptr,e,t.ptr)},btConcaveShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btConcaveShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btConcaveShape.prototype.processAllTriangles=function(e,t,i){_emscripten_bind_btConcaveShape__processAllTriangles_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConcaveShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0(this.ptr)},btConcaveShape.prototype.getName=function(){return _emscripten_bind_btConcaveShape__getName_p0(this.ptr)},btConcaveShape.prototype.isCompound=function(){return _emscripten_bind_btConcaveShape__isCompound_p0(this.ptr)},btConcaveShape.prototype.isPolyhedral=function(){return _emscripten_bind_btConcaveShape__isPolyhedral_p0(this.ptr)},btConcaveShape.prototype.setLocalScaling=function(e){_emscripten_bind_btConcaveShape__setLocalScaling_p1(this.ptr,e.ptr)},btConcaveShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btConcaveShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btConcaveShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1(this.ptr,e)},btConcaveShape.prototype.isConvex=function(){return _emscripten_bind_btConcaveShape__isConvex_p0(this.ptr)},btConcaveShape.prototype.isInfinite=function(){return _emscripten_bind_btConcaveShape__isInfinite_p0(this.ptr)},btConcaveShape.prototype.getUserPointer=function(){return _emscripten_bind_btConcaveShape__getUserPointer_p0(this.ptr)},btConcaveShape.prototype.isNonMoving=function(){return _emscripten_bind_btConcaveShape__isNonMoving_p0(this.ptr)},btConcaveShape.prototype.getMargin=function(){return _emscripten_bind_btConcaveShape__getMargin_p0(this.ptr)},btConcaveShape.prototype.setMargin=function(e){_emscripten_bind_btConcaveShape__setMargin_p1(this.ptr,e)},btConcaveShape.prototype.isConvex2d=function(){return _emscripten_bind_btConcaveShape__isConvex2d_p0(this.ptr)},btConcaveShape.prototype.isSoftBody=function(){return _emscripten_bind_btConcaveShape__isSoftBody_p0(this.ptr)},btConcaveShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btConcaveShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btConcaveShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btConcaveShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btConcaveShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btConcaveShape__getAngularMotionDisc_p0(this.ptr)},btConcaveShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btConcaveShape__serializeSingleShape_p1(this.ptr,e.ptr)},btConcaveShape.prototype.isConcave=function(){return _emscripten_bind_btConcaveShape__isConcave_p0(this.ptr)},btConcaveShape.prototype.getShapeType=function(){return _emscripten_bind_btConcaveShape__getShapeType_p0(this.ptr)},btTriangleInfoMap.prototype.__cache__={},Module.btTriangleInfoMap=btTriangleInfoMap,btTriangleInfoMap.prototype.__destroy__=function(){_emscripten_bind_btTriangleInfoMap____destroy___p0(this.ptr)},btTriangleInfoMap.prototype.get_m_zeroAreaThreshold=function(){return _emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0(this.ptr)},btTriangleInfoMap.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0(this.ptr)},btTriangleInfoMap.prototype.get_m_maxEdgeAngleThreshold=function(){return _emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0(this.ptr)},btTriangleInfoMap.prototype.deSerialize=function(e){_emscripten_bind_btTriangleInfoMap__deSerialize_p1(this.ptr,e.ptr)},btTriangleInfoMap.prototype.set_m_convexEpsilon=function(e){_emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1(this.ptr,e)},btTriangleInfoMap.prototype.get_m_edgeDistanceThreshold=function(){return _emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0(this.ptr)},btTriangleInfoMap.prototype.serialize=function(e,t){return _emscripten_bind_btTriangleInfoMap__serialize_p2(this.ptr,e,t.ptr)},btTriangleInfoMap.prototype.set_m_equalVertexThreshold=function(e){_emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1(this.ptr,e)},btTriangleInfoMap.prototype.set_m_planarEpsilon=function(e){_emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1(this.ptr,e)},btTriangleInfoMap.prototype.get_m_equalVertexThreshold=function(){return _emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0(this.ptr)},btTriangleInfoMap.prototype.get_m_convexEpsilon=function(){return _emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0(this.ptr)},btTriangleInfoMap.prototype.set_m_edgeDistanceThreshold=function(e){_emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1(this.ptr,e)},btTriangleInfoMap.prototype.set_m_maxEdgeAngleThreshold=function(e){_emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1(this.ptr,e)},btTriangleInfoMap.prototype.set_m_zeroAreaThreshold=function(e){_emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1(this.ptr,e)},btTriangleInfoMap.prototype.get_m_planarEpsilon=function(){return _emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0(this.ptr)},LocalConvexResult.prototype.__destroy__=function(){_emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0(this.ptr)},LocalConvexResult.prototype.set_m_localShapeInfo=function(e){_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1(this.ptr,e.ptr)},LocalConvexResult.prototype.get_m_hitNormalLocal=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0(this.ptr),Module.btVector3)},LocalConvexResult.prototype.get_m_hitCollisionObject=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0(this.ptr),Module.btCollisionObject)},LocalConvexResult.prototype.set_m_hitNormalLocal=function(e){_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1(this.ptr,e.ptr)},LocalConvexResult.prototype.set_m_hitFraction=function(e){_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1(this.ptr,e)},LocalConvexResult.prototype.__cache__={},Module.LocalConvexResult=LocalConvexResult,LocalConvexResult.prototype.set_m_hitCollisionObject=function(e){_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1(this.ptr,e.ptr)},LocalConvexResult.prototype.get_m_hitFraction=function(){return _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0(this.ptr)},LocalConvexResult.prototype.set_m_hitPointLocal=function(e){_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1(this.ptr,e.ptr)},LocalConvexResult.prototype.get_m_localShapeInfo=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0(this.ptr),Module.LocalShapeInfo)},LocalConvexResult.prototype.get_m_hitPointLocal=function(){return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0(this.ptr),Module.btVector3)},bt32BitAxisSweep3.prototype.getNumHandles=function(){return _emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0(this.ptr)},bt32BitAxisSweep3.prototype.addHandle=function(e,t,i,n,_,r,o){return _emscripten_bind_bt32BitAxisSweep3__addHandle_p7(this.ptr,e.ptr,t.ptr,i,n,_,r.ptr,o)},bt32BitAxisSweep3.prototype.quantize=function(e,t,i){_emscripten_bind_bt32BitAxisSweep3__quantize_p3(this.ptr,e,t.ptr,i)},bt32BitAxisSweep3.prototype.removeHandle=function(e,t){_emscripten_bind_bt32BitAxisSweep3__removeHandle_p2(this.ptr,e,t.ptr)},bt32BitAxisSweep3.prototype.getOverlappingPairUserCallback=function(){return wrapPointer(_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0(this.ptr),Module.btOverlappingPairCallback)},bt32BitAxisSweep3.prototype.processAllOverlappingPairs=function(e){_emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1(this.ptr,e.ptr)},bt32BitAxisSweep3.prototype.rayTest=function(e,t,i,n,_){void 0===n?_emscripten_bind_bt32BitAxisSweep3__rayTest_p3(this.ptr,e.ptr,t.ptr,i.ptr):void 0===_?_emscripten_bind_bt32BitAxisSweep3__rayTest_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr):_emscripten_bind_bt32BitAxisSweep3__rayTest_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},bt32BitAxisSweep3.prototype.setAabb=function(e,t,i,n){_emscripten_bind_bt32BitAxisSweep3__setAabb_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},bt32BitAxisSweep3.prototype.resetPool=function(e){_emscripten_bind_bt32BitAxisSweep3__resetPool_p1(this.ptr,e.ptr)},bt32BitAxisSweep3.prototype.testAabbOverlap=function(e,t){return _emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2(this.ptr,e.ptr,t.ptr)},bt32BitAxisSweep3.prototype.getAabb=function(e,t,i){_emscripten_bind_bt32BitAxisSweep3__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},bt32BitAxisSweep3.prototype.updateHandle=function(e,t,i,n){_emscripten_bind_bt32BitAxisSweep3__updateHandle_p4(this.ptr,e,t.ptr,i.ptr,n.ptr)},bt32BitAxisSweep3.prototype.__cache__={},Module.bt32BitAxisSweep3=bt32BitAxisSweep3,bt32BitAxisSweep3.prototype.printStats=function(){_emscripten_bind_bt32BitAxisSweep3__printStats_p0(this.ptr)},bt32BitAxisSweep3.prototype.createProxy=function(e,t,i,n,_,r,o,s){return wrapPointer(_emscripten_bind_bt32BitAxisSweep3__createProxy_p8(this.ptr,e.ptr,t.ptr,i,n,_,r,o.ptr,s),Module.btBroadphaseProxy)},bt32BitAxisSweep3.prototype.__destroy__=function(){_emscripten_bind_bt32BitAxisSweep3____destroy___p0(this.ptr)},bt32BitAxisSweep3.prototype.setOverlappingPairUserCallback=function(e){_emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1(this.ptr,e.ptr)},bt32BitAxisSweep3.prototype.calculateOverlappingPairs=function(e){_emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1(this.ptr,e.ptr)},bt32BitAxisSweep3.prototype.getOverlappingPairCache=function(){return wrapPointer(_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0(this.ptr),Module.btOverlappingPairCache)},bt32BitAxisSweep3.prototype.unQuantize=function(e,t,i){_emscripten_bind_bt32BitAxisSweep3__unQuantize_p3(this.ptr,e.ptr,t.ptr,i.ptr)},bt32BitAxisSweep3.prototype.aabbTest=function(e,t,i){_emscripten_bind_bt32BitAxisSweep3__aabbTest_p3(this.ptr,e.ptr,t.ptr,i.ptr)},bt32BitAxisSweep3.prototype.getBroadphaseAabb=function(e,t){_emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2(this.ptr,e.ptr,t.ptr)},bt32BitAxisSweep3.prototype.destroyProxy=function(e,t){_emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2(this.ptr,e.ptr,t.ptr)},bt32BitAxisSweep3.prototype.getHandle=function(e){return _emscripten_bind_bt32BitAxisSweep3__getHandle_p1(this.ptr,e)},btCollisionAlgorithm.prototype.__cache__={},Module.btCollisionAlgorithm=btCollisionAlgorithm,btCollisionAlgorithm.prototype.getAllContactManifolds=function(e){_emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1(this.ptr,e)},btCollisionAlgorithm.prototype.calculateTimeOfImpact=function(e,t,i,n){return _emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btCollisionAlgorithm.prototype.processCollision=function(e,t,i,n){_emscripten_bind_btCollisionAlgorithm__processCollision_p4(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr)},btSphereShape.prototype.calculateLocalInertia=function(e,t){_emscripten_bind_btSphereShape__calculateLocalInertia_p2(this.ptr,e,t.ptr)},btSphereShape.prototype.isCompound=function(){return _emscripten_bind_btSphereShape__isCompound_p0(this.ptr)},btSphereShape.prototype.localGetSupportingVertex=function(e){return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportingVertex_p1(this.ptr,e.ptr),Module.btVector3)},btSphereShape.prototype.setUserPointer=function(e){_emscripten_bind_btSphereShape__setUserPointer_p1(this.ptr,e)},btSphereShape.prototype.getMarginNV=function(){return _emscripten_bind_btSphereShape__getMarginNV_p0(this.ptr)},btSphereShape.prototype.serialize=function(e,t){return _emscripten_bind_btSphereShape__serialize_p2(this.ptr,e,t.ptr)},btSphereShape.prototype.getLocalScaling=function(){return wrapPointer(_emscripten_bind_btSphereShape__getLocalScaling_p0(this.ptr),Module.btVector3)},btSphereShape.prototype.getNumPreferredPenetrationDirections=function(){return _emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0(this.ptr)},btSphereShape.prototype.isPolyhedral=function(){return _emscripten_bind_btSphereShape__isPolyhedral_p0(this.ptr)},btSphereShape.prototype.getRadius=function(){return _emscripten_bind_btSphereShape__getRadius_p0(this.ptr)},btSphereShape.prototype.getAabbNonVirtual=function(e,t,i){_emscripten_bind_btSphereShape__getAabbNonVirtual_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSphereShape.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0(this.ptr)},btSphereShape.prototype.getName=function(){return _emscripten_bind_btSphereShape__getName_p0(this.ptr)},btSphereShape.prototype.getLocalScalingNV=function(){return wrapPointer(_emscripten_bind_btSphereShape__getLocalScalingNV_p0(this.ptr),Module.btVector3)},btSphereShape.prototype.localGetSupportVertexWithoutMarginNonVirtual=function(e){return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btSphereShape.prototype.setImplicitShapeDimensions=function(e){_emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1(this.ptr,e.ptr)},btSphereShape.prototype.setLocalScaling=function(e){_emscripten_bind_btSphereShape__setLocalScaling_p1(this.ptr,e.ptr)},btSphereShape.prototype.getAabb=function(e,t,i){_emscripten_bind_btSphereShape__getAabb_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSphereShape.prototype.setUnscaledRadius=function(e){_emscripten_bind_btSphereShape__setUnscaledRadius_p1(this.ptr,e)},btSphereShape.prototype.localGetSupportVertexNonVirtual=function(e){return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1(this.ptr,e.ptr),Module.btVector3)},btSphereShape.prototype.getContactBreakingThreshold=function(e){return _emscripten_bind_btSphereShape__getContactBreakingThreshold_p1(this.ptr,e)},btSphereShape.prototype.isConvex=function(){return _emscripten_bind_btSphereShape__isConvex_p0(this.ptr)},btSphereShape.prototype.isInfinite=function(){return _emscripten_bind_btSphereShape__isInfinite_p0(this.ptr)},btSphereShape.prototype.getUserPointer=function(){return _emscripten_bind_btSphereShape__getUserPointer_p0(this.ptr)},btSphereShape.prototype.isNonMoving=function(){return _emscripten_bind_btSphereShape__isNonMoving_p0(this.ptr)},btSphereShape.prototype.getMargin=function(){return _emscripten_bind_btSphereShape__getMargin_p0(this.ptr)},btSphereShape.prototype.getPreferredPenetrationDirection=function(e,t){_emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2(this.ptr,e,t.ptr)},btSphereShape.prototype.setMargin=function(e){_emscripten_bind_btSphereShape__setMargin_p1(this.ptr,e)},btSphereShape.prototype.isConvex2d=function(){return _emscripten_bind_btSphereShape__isConvex2d_p0(this.ptr)},btSphereShape.prototype.__cache__={},Module.btSphereShape=btSphereShape,btSphereShape.prototype.localGetSupportingVertexWithoutMargin=function(e){return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1(this.ptr,e.ptr),Module.btVector3)},btSphereShape.prototype.isSoftBody=function(){return _emscripten_bind_btSphereShape__isSoftBody_p0(this.ptr)},btSphereShape.prototype.getMarginNonVirtual=function(){return _emscripten_bind_btSphereShape__getMarginNonVirtual_p0(this.ptr)},btSphereShape.prototype.__destroy__=function(){_emscripten_bind_btSphereShape____destroy___p0(this.ptr)},btSphereShape.prototype.batchedUnitVectorGetSupportingVertexWithoutMargin=function(e,t,i){_emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr,e.ptr,t.ptr,i)},btSphereShape.prototype.getImplicitShapeDimensions=function(){return wrapPointer(_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0(this.ptr),Module.btVector3)},btSphereShape.prototype.getBoundingSphere=function(e,t){_emscripten_bind_btSphereShape__getBoundingSphere_p2(this.ptr,e.ptr,t)},btSphereShape.prototype.getAngularMotionDisc=function(){return _emscripten_bind_btSphereShape__getAngularMotionDisc_p0(this.ptr)},btSphereShape.prototype.serializeSingleShape=function(e){_emscripten_bind_btSphereShape__serializeSingleShape_p1(this.ptr,e.ptr)},btSphereShape.prototype.getAabbSlow=function(e,t,i){_emscripten_bind_btSphereShape__getAabbSlow_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btSphereShape.prototype.calculateTemporalAabb=function(e,t,i,n,_,r){_emscripten_bind_btSphereShape__calculateTemporalAabb_p6(this.ptr,e.ptr,t.ptr,i.ptr,n,_.ptr,r.ptr)},btSphereShape.prototype.isConcave=function(){return _emscripten_bind_btSphereShape__isConcave_p0(this.ptr)},btSphereShape.prototype.getShapeType=function(){return _emscripten_bind_btSphereShape__getShapeType_p0(this.ptr)},btQuantizedBvh.prototype.setTraversalMode=function(e){_emscripten_bind_btQuantizedBvh__setTraversalMode_p1(this.ptr,e)},btQuantizedBvh.prototype.buildInternal=function(){_emscripten_bind_btQuantizedBvh__buildInternal_p0(this.ptr)},btQuantizedBvh.prototype.serialize=function(e,t,i){return void 0===i?_emscripten_bind_btQuantizedBvh__serialize_p2(this.ptr,e,t.ptr):_emscripten_bind_btQuantizedBvh__serialize_p3(this.ptr,e,t,i)},btQuantizedBvh.prototype.getLeafNodeArray=function(){return _emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0(this.ptr)},btQuantizedBvh.prototype.setQuantizationValues=function(e,t,i){void 0===i?_emscripten_bind_btQuantizedBvh__setQuantizationValues_p2(this.ptr,e.ptr,t.ptr):_emscripten_bind_btQuantizedBvh__setQuantizationValues_p3(this.ptr,e.ptr,t.ptr,i)},btQuantizedBvh.prototype.quantize=function(e,t,i){_emscripten_bind_btQuantizedBvh__quantize_p3(this.ptr,e,t.ptr,i)},btQuantizedBvh.prototype.isQuantized=function(){return _emscripten_bind_btQuantizedBvh__isQuantized_p0(this.ptr)},btQuantizedBvh.prototype.getAlignmentSerializationPadding=function(){return _emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0()},btQuantizedBvh.prototype.calculateSerializeBufferSize=function(){return _emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0(this.ptr)},btQuantizedBvh.prototype.getQuantizedNodeArray=function(){return _emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0(this.ptr)},btQuantizedBvh.prototype.reportAabbOverlappingNodex=function(e,t,i){_emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btQuantizedBvh.prototype.reportRayOverlappingNodex=function(e,t,i){_emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btQuantizedBvh.prototype.deSerializeInPlace=function(e,t,i){return wrapPointer(_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3(e,t,i),Module.btQuantizedBvh)},btQuantizedBvh.prototype.quantizeWithClamp=function(e,t,i){_emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3(this.ptr,e,t.ptr,i)},btQuantizedBvh.prototype.deSerializeDouble=function(e){_emscripten_bind_btQuantizedBvh__deSerializeDouble_p1(this.ptr,e.ptr)},btQuantizedBvh.prototype.calculateSerializeBufferSizeNew=function(){return _emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0(this.ptr)},btQuantizedBvh.prototype.__destroy__=function(){_emscripten_bind_btQuantizedBvh____destroy___p0(this.ptr)},btQuantizedBvh.prototype.__cache__={},Module.btQuantizedBvh=btQuantizedBvh,btQuantizedBvh.prototype.deSerializeFloat=function(e){_emscripten_bind_btQuantizedBvh__deSerializeFloat_p1(this.ptr,e.ptr)},btQuantizedBvh.prototype.getSubtreeInfoArray=function(){return _emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0(this.ptr)},btQuantizedBvh.prototype.unQuantize=function(e){return wrapPointer(_emscripten_bind_btQuantizedBvh__unQuantize_p1(this.ptr,e),Module.btVector3)},btQuantizedBvh.prototype.reportBoxCastOverlappingNodex=function(e,t,i,n,_){_emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5(this.ptr,e.ptr,t.ptr,i.ptr,n.ptr,_.ptr)},btHashString.prototype.get_m_string=function(){return _emscripten_bind_btHashString__get_m_string_p0(this.ptr)},btHashString.prototype.__destroy__=function(){_emscripten_bind_btHashString____destroy___p0(this.ptr)},btHashString.prototype.set_m_hash=function(e){_emscripten_bind_btHashString__set_m_hash_p1(this.ptr,e)},btHashString.prototype.set_m_string=function(e){var t=Runtime.stackSave();try{_emscripten_bind_btHashString__set_m_string_p1(this.ptr,ensureString(e))}finally{Runtime.stackRestore(t)}},btHashString.prototype.__cache__={},Module.btHashString=btHashString,btHashString.prototype.equals=function(e){return _emscripten_bind_btHashString__equals_p1(this.ptr,e.ptr)},btHashString.prototype.getHash=function(){return _emscripten_bind_btHashString__getHash_p0(this.ptr)},btHashString.prototype.portableStringCompare=function(e,t){var i=Runtime.stackSave();try{return _emscripten_bind_btHashString__portableStringCompare_p2(this.ptr,ensureString(e),ensureString(t))}finally{Runtime.stackRestore(i)}},btHashString.prototype.get_m_hash=function(){return _emscripten_bind_btHashString__get_m_hash_p0(this.ptr)},btGhostPairCallback.prototype.addOverlappingPair=function(e,t){return wrapPointer(_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2(this.ptr,e.ptr,t.ptr),Module.btBroadphasePair)},btGhostPairCallback.prototype.removeOverlappingPair=function(e,t,i){return _emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3(this.ptr,e.ptr,t.ptr,i.ptr)},btGhostPairCallback.prototype.__destroy__=function(){_emscripten_bind_btGhostPairCallback____destroy___p0(this.ptr)},btGhostPairCallback.prototype.__cache__={},Module.btGhostPairCallback=btGhostPairCallback,btGhostPairCallback.prototype.removeOverlappingPairsContainingProxy=function(e,t){_emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2(this.ptr,e.ptr,t.ptr)},this.Ammo=Module;